Verbinde 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.py
sudo reboot