Anleitung für Raspberry
24.04.2015, 01:11
Hallo liebe Gemeinde :)
Nachdem ich jetzt wirklich sehr lange daran gerätzelt habe und es jetzt erst nach Wochen hinbekommen habe (zugegeben, ich programmiere nicht viel), das FS20 US am Raspbeery zum laufen zu bringen (und auch die Beiträge hier haben mir nicht geholfen), mache ich jetzt hier eine kleine Schritt für Schritt Anleitung:
1)Richtige verkablung!!! Klingt banal, aber ich hatte die Dokumentation lange Zeit falsch verstanden. Der Pin am FS20 US direkt neben dem +5V ist der TxD Pin und muss an den RxD Pin am Raspberry. Das ist Pin 8. Der Pin neben dem GND ist demnach der RxD ist muss an Pin 10 am Raspberry.
2) Man muss die UART Schnutstelle im Rasberry erst "aktivieren". Dazu im Terminal
"sudo nano /boot/cmdline.txt"
eingeben um die Datei zu bearbeiten und den Teil
"console=ttyAMA0,115200 kgdboc=ttyAMA0,115200"
raus löschen. Danach sollte der Inhalt der Datei so aussehen:
"dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait"
Speichern und Schließen.
Danach noch
"sudo nano /etc/inittab"
eingeben zum bearbeiten dieser Datei und die Zeile mit dem Inhalt
"T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100"
durch ein # am Anfang der Zeile auskommentierne. Wieder speichern und schließen. Danach das RPi neustarten. Diese Schritte findet man auch wenn man nach Raspberry UART aktivieren googelt.
3) Nun brauchen wir die Python Serial Bibliothek. Dazu im Terminal eingeben: "sudo apt-get install python-serial"
4) mit z.B. Nano eine Python datei erstellen und folgenden Code eingeben:
import serial
port = serial.Serial("/dev/ttyAMA0", baudrate=9600, timeout=3.0)
string = "\x02\x06\xf1\x00\x00\x00\x00\x00"
port.write(string)
Aufgerufen wird die Datei normal mit "python dateiname.py"
Nebenbei, der im Code verwendete String schaltet ein Gerät mit dem Hauscode 0000 0000 und dem Gerätecode 0000 aus ;)
Wie der String aufgebaut wird steht ja in der Doku. Wichtig ist, dass die Teile des Strings nicht getrennt werden durch Leerzeichen oder so. Zudem mit \x statt 0x. So hat es bei mir funktioniert :)
Wenn wer Fragen dazu hat, versuche ich gerne sie zu beantworten. Wenn hier etwas nicht richtig oder nicht gut gemacht worden sein, bitte verbessert mich. Ich war gerade nur froh, es endlich hinbekommen zu haben
Nachdem ich jetzt wirklich sehr lange daran gerätzelt habe und es jetzt erst nach Wochen hinbekommen habe (zugegeben, ich programmiere nicht viel), das FS20 US am Raspbeery zum laufen zu bringen (und auch die Beiträge hier haben mir nicht geholfen), mache ich jetzt hier eine kleine Schritt für Schritt Anleitung:
1)Richtige verkablung!!! Klingt banal, aber ich hatte die Dokumentation lange Zeit falsch verstanden. Der Pin am FS20 US direkt neben dem +5V ist der TxD Pin und muss an den RxD Pin am Raspberry. Das ist Pin 8. Der Pin neben dem GND ist demnach der RxD ist muss an Pin 10 am Raspberry.
2) Man muss die UART Schnutstelle im Rasberry erst "aktivieren". Dazu im Terminal
"sudo nano /boot/cmdline.txt"
eingeben um die Datei zu bearbeiten und den Teil
"console=ttyAMA0,115200 kgdboc=ttyAMA0,115200"
raus löschen. Danach sollte der Inhalt der Datei so aussehen:
"dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait"
Speichern und Schließen.
Danach noch
"sudo nano /etc/inittab"
eingeben zum bearbeiten dieser Datei und die Zeile mit dem Inhalt
"T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100"
durch ein # am Anfang der Zeile auskommentierne. Wieder speichern und schließen. Danach das RPi neustarten. Diese Schritte findet man auch wenn man nach Raspberry UART aktivieren googelt.
3) Nun brauchen wir die Python Serial Bibliothek. Dazu im Terminal eingeben: "sudo apt-get install python-serial"
4) mit z.B. Nano eine Python datei erstellen und folgenden Code eingeben:
import serial
port = serial.Serial("/dev/ttyAMA0", baudrate=9600, timeout=3.0)
string = "\x02\x06\xf1\x00\x00\x00\x00\x00"
port.write(string)
Aufgerufen wird die Datei normal mit "python dateiname.py"
Nebenbei, der im Code verwendete String schaltet ein Gerät mit dem Hauscode 0000 0000 und dem Gerätecode 0000 aus ;)
Wie der String aufgebaut wird steht ja in der Doku. Wichtig ist, dass die Teile des Strings nicht getrennt werden durch Leerzeichen oder so. Zudem mit \x statt 0x. So hat es bei mir funktioniert :)
Wenn wer Fragen dazu hat, versuche ich gerne sie zu beantworten. Wenn hier etwas nicht richtig oder nicht gut gemacht worden sein, bitte verbessert mich. Ich war gerade nur froh, es endlich hinbekommen zu haben