Wie kann ich wireless Informationen an Mikrocontroller versenden?

OP (Firma: Laboratorium_S1) #7318149
Lesenswert?

Hallo Forum,

ich möchte gerne Informationen von einem Computer an mehrere Mikrocontroller ca. 2-5 Meter weit versenden. Diese Mikrocontroller sollen alle von gleichem Typ sein und müssen nicht unbedingt Daten an den Computer zurücksenden. Als Maximalobergrenze habe ich mir 100 (wenn machbar) Mikrocontroller gesetzt. Die Mikrocontroller sollen auf Platinen mit GPIO-PINs befestigt sein. Bisher hielt ich den Raspberry Pi Pico (RP2040) für eine gute Idee.

Wie kann ich nun Informationen (wenige Bits groß) möglichst fehlerfrei an die RP2040-Chips senden?

Ich dachte erst an gepulsten Infrarot (wie z.B. IR-Fernbedienung). Aber das erwies sich als sehr kompliziert und scheint sehr fehleranfällig zu sein.

Dann kam die Pico W - Version, WIFI-fähig, auf den Markt. Ist es eine gute Idee, WIFI zu nehmen? Kann man das flächendeckend einsetzen? Ist es eine schnelle Möglichkeit der Datenübertragung? Was wären effektivere Varianten?

Viele Grüße! Euer Ernst H.

#7318340
Lesenswert?

Ernst H. schrieb:

Die Mikrocontroller sollen auf Platinen mit GPIO-PINs befestigt sein. Bisher hielt ich den Raspberry Pi Pico (RP2040) für eine gute Idee.

Wie kann ich nun Informationen (wenige Bits groß) möglichst fehlerfrei an die RP2040-Chips senden?

Dann kam die Pico W - Version, WIFI-fähig, auf den Markt. Ist es eine gute Idee, WIFI zu nehmen?

Hallo Ernst,

eventuell macht es Sinn, die Datenübertragung zusammen mit der Stromversorgung zu denken. WIFI ist ein Akkufresser, vor allem wenn es dauernd an sein soll. Und wenn du also eh ein Kabel brauchst, dann kann das Kabel auch die Datenübertragung übernehmen.

Wenn es allerdings akkubetrieben sein soll, dann muss etwas stromsparendes her. Und wenn die Richtung der Kommunikation PC->uCs ist, und nicht andersherum, dann muss es etwas sein, was beim aktiven Lauschen stromsparend ist. Da gibt es nicht so viele Möglichkeiten.

Also: Etwas mehr Info über die Rahmenbedingungen ist nötig!

LG, Sebastian

OP (Firma: Laboratorium_S1) #7318369
Lesenswert?

Sebastian W. schrieb:

Also: Etwas mehr Info über die Rahmenbedingungen ist nötig!

Die Controller soll tatsächlich akkubetrieben lauschen. Wobei ich, wenn ich das Programm etwas komplexer schreibe, auch eine Art "Ruhemodus" erzeugen kann, sodass die Mikrocontroller erst dann wieder anfangen zu lauschen, sofern einer ihrer GPIO-PINs Änderung vernahm. Dann jedoch muss es schnell gehen mit dem Sich-wieder-neu-Verbinden. Die Verbindung sollte innerhalb maximal 3 Sekunden wieder gegeben sein.

Ist das mit Wifi möglich?

Vielen Dank für bisherige Antworten und Hilfe sowie viele Grüße! Euer Ernst :-D

#7318399
Lesenswert?

Ernst H. schrieb:

Ist das mit Wifi möglich?

Ja, Beitrag "Re: Bauteilsuche? Stepup um 1,5V Batterien leer zu lutschen?"

Ich verwende 2 LS14500 Primary Lithium-Thionyl Chloride Primärzellen.

Die Batterien haben 3,6V und je 2,6Ah

Damit lässt sich der Melder 9 Monate betreiben.

In diesem zeitraum werden in jede Richtung ca. 6500 Telegramme ausgetauscht.

Eine Änderung eines Sensors weckt den MC (MSP430G2553) auf, dieser wiederum schaltet den WLAN Funkmodule ESP8266 an die Batterie an und sendet ein Telegramm an die Zentrale. Diese quittiert den richtigen Empfang durch Rücksendung des Telgramms inklusive etwaiger Steuerbefehle.

Für die Versorgung des MCs, des ESP8266 und der Sensoren wird kein Spannungswandler benötigt. Es wird alles direkt von den parallel geschalteten zwei Batterien (von 3,6V runter bis 2,6V) betrieben. Damit fallen Wandlerverluste weg.

Angehängte Dateien:
#7318427
Lesenswert?

Ernst H. schrieb:

Die Controller soll tatsächlich akkubetrieben lauschen.

Wifi ist nicht auf geringen Energiebedarf optimiert, sondern auf hohen Durchsatz.

Es gibt aber genug andere Technologie, die viel stromsparender ist. Beispielsweise IEEE 802.15.4. Wird von Zigbee, Thread, ANT, 6LowWPan und einigen anderen als Basis verwendet. Wifi hat auf 2.4 GHz 20 oder 40 MHz Bandbreite. 802.15.4 hat nur 2 MHz Bandbreite, kann also pro Sekunde viel weniger Daten übertragen, braucht dafür aber auch viel weniger Energie. Faktor 10 oder 20 kommt zwar nicht genau hin, aber die Größenordnung geht in die Richtung... Alternativ gibts auch 802.15.1 aka BLE, was ab Version 5 auch ein Mesh bilden kann.

Fur das alles gibts Chips und Module wie die hier:

https://www.silabs.com/wireless/zigbee/efr32mg21-series-2-modules/device.mgm210pa22jia?tab=specs https://www.silabs.com/wireless/zigbee/efr32mg13-series-1-modules

Dadrauf kannst Du auch Deinen eigenen Code laufen lassen.

Die drei wesentlichen Hersteller in diesem Bereich sind SiLabs, Nordic und TI.

Das ist normal nichts, was Bastler so anfassen, aber es ist bewährte, funktionierende Technik.

fchk

Gast #7318548
Lesenswert?

Frank K. schrieb:

Das ist normal nichts, was Bastler so anfassen

Für einige der passenden Controller von TI gibt es günstige Boards und einiges an Softwareunterstützung. Das sind cc2530 bzw. cc2531.

Beispiel: ebay 164736992365

Auch das dazu erforderliche Programmierinterface gibt es als günstigen China-Clone: ebay 274655067585 (cc debugger auswählen)

Software gibts bei TI selbst: https://www.ti.com/product/CC2530?keyMatch=CC2530&tisearch=search-everything&usecase=GPN#software-development

#7318709
Lesenswert?

DerEinzigeBernd schrieb:

Frank K. schrieb:

Das ist normal nichts, was Bastler so anfassen

Für einige der passenden Controller von TI gibt es günstige Boards und einiges an Softwareunterstützung. Das sind cc2530 bzw. cc2531.

Beispiel: ebay 164736992365

Auch das dazu erforderliche Programmierinterface gibt es als günstigen China-Clone: ebay 274655067585 (cc debugger auswählen)

Und den für die TI-Libs erforderlichen IAR EW8051 Compiler holst Du Dir gecrackt vom Russenserver?

Ich würde da eher auf was ARM-basiertes setzen (CC26xx).

fchk

#7318768
Lesenswert?

Ernst H. schrieb:

Ich dachte erst an gepulsten Infrarot (wie z.B. IR-Fernbedienung). Aber das erwies sich als sehr kompliziert und scheint sehr fehleranfällig zu sein.

Was war denn das Problem? Das scheint mir am prädestiniertesten zu sein! Simpel und störunanfällig! Hast Du es denn gemacht wie bei einer Fernbedienung? https://www.sprut.de/electronic/ir/rc5.htm

Gruss Chregu

#7319096
Lesenswert?

Als Billig-Lösung seien noch die nRF24-Dinger genannt. Platinchen damit gibt's immer noch günstig aus China, und die umgekehrte Richtung (also µC mit Sensor sendet Daten an den PC) geht sehr sehr stromsparend. In die Richtung: AVR + nRF24-Modul + Umweltsensor laufen Jahrelang an einer CR2032, obwohl sie minütlich Daten versenden.

Leider brauchen die bei Empfangsbereitschaft doch relativ viel Strom, d.H. da müsstest du tricksen. z.B. µC fragt regelmäßig aktiv nach, ob der PC Daten für ihn hat, wartet nur kurz auf die Antwort, und legt das Funkmodul danach wieder schlafen.

Gast #7319134
Lesenswert?

Ernst H. schrieb:

Als Maximalobergrenze habe ich mir 100 (wenn machbar) Mikrocontroller gesetzt.

100 ist eine komische Zahl. Wie kommst du darauf?

Bei kleinen Mikrocontrollern wäre eine Adresse in Form eines Bytes naheliegend, also z.B. 0x01 bis 0xFF und die 0x00 vielleicht als Broadcast an alle.

#7319159
Lesenswert?

Wolfgang schrieb:

Ernst H. schrieb:

Als Maximalobergrenze habe ich mir 100 (wenn machbar) Mikrocontroller gesetzt.

100 ist eine komische Zahl. Wie kommst du darauf?

Bei kleinen Mikrocontrollern wäre eine Adresse in Form eines Bytes naheliegend, also z.B. 0x01 bis 0xFF und die 0x00 vielleicht als Broadcast an alle.

100 WiFi-Clients an einem typischen Plastik-HomeRouter wird nicht funktionieren.

Gast #7319345
Lesenswert?

Ich dachte erst an gepulsten Infrarot (wie z.B. IR-Fernbedienung). Aber das erwies sich als sehr kompliziert und scheint sehr fehleranfällig zu sein.

Das ist weder fehleranfaellig noch kompliziert. Aber ein klein wenig Muehe muss man schon reinstecken.

Es gibt noch die JDY40: Beitrag "JDY-40 ein neuer Geniestreich aus China?"

Die wuerde ich als idiotensicher bezeichnen. Also nur Datenblatt lesen noetig.

Olaf

OP (Firma: Laboratorium_S1) #7319397
Lesenswert?

Wolfgang schrieb:

100 ist eine komische Zahl. Wie kommst du darauf?

Harry L. schrieb:

100 WiFi-Clients an einem typischen Plastik-HomeRouter wird nicht funktionieren.

Die Zahl ist tatsächlich etwas missverständlich. Falsch zugleich ist sie ebenso. Korrekterweise muss es lauten wie folgt: Es soll eine beliebige Anzahl an möglichen Clients, von denen maximal ca. 32 zur selben Zeit aktiv mit dem Sender verbunden sein sollen, in dem geplanten System verwendet werden. Würden 32 aktive Clients funktionieren?

Christian M. schrieb:

Was war denn das Problem? Das scheint mir am prädestiniertesten zu sein!

Das Problem an IR war zum einen der nötige Sichtkontakt zwischen Sender und Empfänger(n), der nicht gewehrleistet werden konnte, zum anderen aber die richtige Codierung und passende Umsetzung.

Viele Grüße und vielen Dank für bisher eingesandte Antworten! Euer Ernst

Gast #7320468
Lesenswert?

Jetzt wollen wir erstmal schauen, wie du 100 Stück in wenigen Metern Umkreis verteilst. WLAN ist die richtige Technologie, da sie auch die Gesamtkosten reduziert. Natürlich gibt es bessere Möglichkeiten, aber das wird teurer. Wenn ein Access Point nicht reicht, dann nimmt man eben mehrere, die sind so billig, dass sich das trotzdem lohnt. Andere Möglichkeiten wären günstige Funkmodule mit ASK/OOK auf 433 MHz oder 2.4 GHz, nur hast du da wieder sehr viel Aufwand mit der Software, um die ankommenden Daten zu decodieren. Bei WLAN schreiben andere Leute die Software und du kannst einfach nur die Bibliotheken einsetzen. Wenn Infrarot-Übertragung schon ein Problem war, kann ich das nur empfehlen. Allerdings solltest du Folgendes beachten: Es kostet relativ viel Energie, einen Empfänger empfangsbereit zu halten. Die Akkulaufzeit wird also entsprechend leiden. Bei WLAN ist das natürlich extrem, die Infrarot-Lösung wäre diesbezüglich sicher deutlich besser.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren