Verbindung des LIME-Mikrocontrollers via UART mit MySQL auf RaspberryVerbinde LIME 2 via UART mit der MySQL-Datenbank des Raspberry Pi. Dazu benötigst du ein LIME-Mikrocontrollerboard, einen Raspberry Pi, auf dem LIME-Mikrocontrollerboard ein C-Programm und auf dem Raspberry Pi ein Python-Programm sowie die MySQL-Datenbank.
sudo nano serial_test.py
Folgenden Text in den Editor kopieren und mit Strg + O speichern:
Zeichenkette die mit \n oder mit byte Nr 13 (Enter) gesendet werden muss Timeout 2 Sec
#!/usr/bin/python
#-*- coding: utf-8 -*-
#UTF8 Kodierung aktivieren
import serial #Paket "Serial" importieren
#print(""" Der Controller hat 2 Sekunden Zeit um eine Ganze Zeichenkette
#zu senden 9600 Baud danach wird erneut abgefragt, der Wert kann
#bei Timeout erhöht werden. !!!! Wichtig die Zeichenkette muss mit
#'backslash n' im String abgeschlossen werden!!!!
#Weiter mit Enter!!""")
#leer=""
#raw_input(leer)
#Definition der Variablen
line="" #Konfiguration als String
zeichen="" #Konfiguration als String
wert=0 #wert als character
#Konfiguration der serirellen Schnittstelle
ser=serial.Serial()#Serial Laden
ser.baudrate = 9600
ser.timeout =2
ser.echo=0
#Auswahl der UART-Pins
ser.port = "/dev/ttyUSB0"
#ser.port = "/dev/ttyAMA0"
#Abrfrage der Konfiguration
print ser
ser.open()
print ser
while(1):
#lesen: Zeichenkette die mit \n oder mit byte Nr 13 (Enter) gesendet werden muss Timeout 2 Sec
line=ser.readline()
if line=="":
print("Nichts Angekommen")
else:
print("gelesen: "+line)
#write
s = "%d " % (wert)
ser.write(s) #send back the received data
print("gesendet: "+s)
wert=wert+1
if wert>=255:
wert=0
ser.close()
Den Editor mit Strg + X verlassen. sudo python serial_test.py
Lade die UART-Bibliotheken für Dein Lime Mikrocontrollerboard herunter.
Schreibe ein C-Programm für den Mikrocontroller und übertrage Messwerte über die serielle Schnittstelle.
1 Benutzer und gleichnamige Datenbank mit phpmyadmin anlegen:
Benutzer
Benutzer hinzufügen
Benutzername eingeben: lime
Passwort: lime
anklicken: Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte.
OK bestätigen
2 Tabelle anlegen
Datenbank lime auf der linken Seite anklicken
Erzeuge Tabelle:
Name: limedata
Anzahl der Spalten: 2
Felder bennenen und Datentyp angeben:
Laufende Nummer: nummer, Datentyp: SERIAL, Häckchen bei A_I
//automatische Nummernvergabe
gesendete Werte: werte, Datentyp: TEXT, Länge: 30
3 Python-MySQL-Bibliothek auf Raspberry Pi installieren
sudo apt-get install python-mysqldb
serial_test.py indem du folgenden Text
in den Editor kopieren und mit Strg + O speichern:
import MySQLdb as mdb #einbinden der mysql-Bibliothek
#Verbindung zur Datenbank herstellen
#neue Variable mit Angabe von Ort, Benutzername, Passwort, Datenbankname)
con = mdb.connect('localhost','lime','lime','lime')
Den Editor mit Strg + X verlassen.
#lesen: Zeichenkette die mit \n oder mit byte Nr 13 (Enter) gesendet werden$
line=ser.readline()
if line=="":
print("Nichts Angekommen")
else:
print("gelesen: "+line)
#Datenbankeintrag:
with con:
cur = con.cursor();
cur.execute("insert into limedata(werte) values('"+line+"')")
Den Editor mit Strg + X verlassen. python serial_test.pysudo reboot