Erstmal Meine Vorgeschichte: Was ich zuerst vorhatte war mikrocontroller per handy fernzusteuern (LED-Strips und so weiter). Hab mir dann auch en bluetooth module für meinen arduino bestellt, welcher sich dann auch vom handy ohne probleme steuern gelassen hatte. Bloß ich bin kein freund von bluetooth und wollte deswegen meinen mikrocontroller per w-lan/heimnetz fernsteuern. Habe mir dann auch ein esp8266 geholt um w-lan verbindungen mit mikrocontrollern aufzubauen. Dies hat auch einigermasen geklappt finde aber nicht dass es so gut funktioniert. Nun meine Neue Idee wäre nun einen RaspberryPi sozusagen als zentrale Steuerung für die mikrocontroller zu verwenden. Auf diesen könnt ich dann einen schön funktionierenden webserver einrichten über den ich dann per handy und auch pc zugreifen kann. Der Pi soll dann mit den mikrocontrollern kommunizieren. Meine Frage wäre nun wie bzw. über was? Das erste was mir jetzt in den Sinn gekommen ist, nachdem ich keine lust auf w-lan mit mikrocontrollern habe, ist Funk. Ist Funk nun eine gute Idee zur Realisierung dieses Projektes oder sollte ich etwas anderes verwenden? Sollte auch nicht teuer werden.
Als Schnittstelle zwischen Raspberry Pi und AVR beiten sich I2C und SPI und, falls die Leitungen kurz sind. Du solltest Dir aber auch mal das CrumbX1 Modul anschauen. Da hast du einen AVR Mikrocontroller mit Ethernet.
Diese 433 und 868MHz Module sind auch nicht einfacher als esp8266. Und dann musst du auch noch so ein Modul an den Raspi dran basteln. Ich finde es am einfachsten 3,3 Volt Mikrocontroller mit SPI anschließen. USB ist auch recht einfach, musst aber die MC-Hauptschleife aus der USB-Library nehmen. Recht aufwendig, wenn das MC-Programm schon fertig ist. Und die Raspis mit WLan-Stick sind so billig - wenn die Kabel zu lang werden, nimmt man halt mehrere davon.
Zu Funk: Wer Funk kenn, nimmt Kabel. Funk heisst alles und nichts. WLAN und Bluetooth sind auch Funk. Es gibt Funkmodule, die eine Zuverlässige Datenübertragung sicherstellen (so wie es auch Bluetooth die Module tun). Und es gibt welche, die das nicht tun. Bei denen kommt es auf deine Software an. Funkmodule gibt es reichlich. Aber da du letzendlich mit Smartphones kommunizieren willst, sind Ethernet oder Bluetooth meiner Meinung nach die richtigen Wege.
Also Kabel ist für mich keine Option. Ich bräuchte etwas wo ich einfach an die tx/rx von meinen microkontrollern anschliese und dann über seriel funktioniert. Das bluetoothmodul funktionierte so, und ich dachte so funkmodule funktionieren genau so.
Bei Funk hast du nun mal einige Probleme. Der Empfänger muss wissen, ob die Nachricht für ihn bestimmt ist. Wenn 2 auf der gleichen Frequenz senden, kommt nichts Brauchbares an. Zieht dauernd Strom, hat diverse Kompromisse zum Batterie sparen. usw. Wenn nach deinen Maßstäben esp8266 nicht gut klappt - dann wirst du nichts finden, was wirklich gut klappt.
Bei empfänger adressierung dachte ich einfach dass der raspberry wenn er was sendet am anfang einfach mitschickt für welchen mikrocontroller es gedacht ist. mein problem beim esp8266 war einfach dass ich keine schöne weboberfläche habe sondern nur des bisschen was halt auf den chip passt. wie gesagt ich will irgendwas dass mein raspberrypi mit meinen mikrocontrollern ohne kabel kommuniziert
Wieso oder? Gäbe auch die Möglichkeit, du nutzt den Esp mit unveränderter Firmware nur als Wlan-Chip. Und die Oberfläche auf dem Raspi hat dann weitere TCP-Verbindungen zu den Controllern. Ist zwar mit Kanonen auf Spatzen geschossen, aber kostet nur mehr ein paar Euros und diese komplexe, umfangreiche Wlan-Software läuft problemlos.
Hallo Wir verwenden hier bei uns in der Firma ähnliche Ansätze, die sich auch im Langzeitbetrieb bewährt haben: - Raspberry Pi im LAN/WLAN, der über ein NRF24 Modul funkt. Empfänger ist dann ein AVR mit angeschlossenem NRF24 Modul. - Raspberry Pi im LAN/WLAN, an den unser Mikrocontroller Board über USB verbunden wird. Kommunikation geschieht dann über die virtuelle serielle Schnittstelle. Softwarebasis auf dem Raspberry Pi bilden node.js und C++ Programmteile. Webinterfaces basieren auf angular.js und socket.io Hoffe, das hilft dir ein wenig weiter.
Das von Mick wäre jetzt dass was ich mir vorgestellt habe. Eine Frage habe ich aber, du schreibst: > - Raspberry Pi im LAN/WLAN, der über ein NRF24 Modul funkt. Empfänger > ist dann ein AVR mit angeschlossenem NRF24 Modul. > - Raspberry Pi im LAN/WLAN, an den unser Mikrocontroller Board über USB > verbunden wird. Kommunikation geschieht dann über die virtuelle serielle > Schnittstelle. Hat also der Raspberry bei euch direkt das NRF24 Modul angeschlossen (hört sich bei ersten stichpnkt so für mich an) Oder hat das mikrocontroller-board, was über seriell mit raspi kommuniziert, das Modul angeschlossen?
Stefan R. schrieb: > Hat also der Raspberry bei euch direkt das NRF24 Modul angeschlossen Wir haben ein eigenes Aufsteckboard entwickelt, auf das dann das NRF24 Modul aufgesteckt wird. Aber du kannst das Funkmodul über Verbindungskabel direkt mit dem Raspberry Pi verbinden. Siehe Anhang. Die eingefügten Zahlen entsprechen den Pins eines nRF24L01(+). Zusätzlich benötigst du dann noch einen NRF24 Treiber. Z.B. den hier: http://tmrh20.github.io/RF24/
Danke Mick dass hat mir sehr weitergeholfen. Werde mir mal den Treiber anschauen und en paar nRF2401 bestellen, kosten ja pro stk. unter einem Dollar. Was andere Software und auf dem Raspi angeht hatte ich eigentlich eher an PHP als an note.js gedacht (kanns nicht), dürfte sich aber von den Funktionen nichts geben. Und ob das Webinterface jetzt mit angular.js und socket.io ist, wäre mir auch egal da es eh nur für mich ist und daher nur funktionell sein muss. Javascript, html & CSS reichen für meine Fälle völlig aus. Trotzdem nochmal Danke an alle die was geschrieben haben und vor allem an Mick der mir wirklich weitergeholfen hat.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.