Forum: Mikrocontroller und Digitale Elektronik mikrocontroller über raspberry pi per webinterface/handy steuern


von Stefan R. (stef9998)


Lesenswert?

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.

von stefan us (Gast)


Lesenswert?

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.

von Noch einer (Gast)


Lesenswert?

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.

von stefan us (Gast)


Lesenswert?

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.

von Stefan R. (stef9998)


Lesenswert?

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.

von Noch einer (Gast)


Lesenswert?

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.

von Stefan R. (stef9998)


Lesenswert?

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

von Noch einer (Gast)


Lesenswert?

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.

von Mick (Gast)


Lesenswert?

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.

von Stefan R. (stef9998)


Lesenswert?

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?

von Mick (Gast)


Lesenswert?

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/

von Stefan R. (stef9998)


Lesenswert?

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
Noch kein Account? Hier anmelden.