Eingebettete Systeme Wi-Fi

Ich möchte ein Produkt entwickeln, um Wi-Fi zu machen, um PC <-> MCU <-> MCU zu verbinden. Ich fing an, nach Wi-Fi-Modulen mit dem bereits implementierten Stack und einer Art AT-Befehlsschnittstelle zu suchen, um sie zu konfigurieren, aber diese sind ein bisschen teuer.

Die nächste Idee ist es, einen 2,4-GHz-Transceiver und eine MCU mit den implementierten Stacks zu verwenden. Das wird viel billiger, aber ich weiß nicht, wo ich anfangen soll.

Mein Ziel ist es auch, dieses Modul an etwas anzuschließen (einen analogen Sensor, einen entfernten UART, was auch immer) und durch Senden eines Befehls über meinen PC oder eine andere MCU die im Sensor vorhandenen Daten abzurufen.

Könnt ihr mir bei den ersten Schritten helfen? Ich mache mir Sorgen um den Stack zu wählen.

BEARBEITEN

Ich weiß nicht, ob ich das hier machen kann, aber ich habe Carambola vor ein paar Monaten gefunden und im Moment haben sie ein noch billigeres Modul, das Carambola 2 , ich denke, dass es ein gutes Modul für Projekte ist, die Wi-Fi erfordern .

Antworten (3)

Ich hatte dieses Problem gelegentlich. Wie Sie sagen, sind die "ready to go" WiFi-Module teuer und in der Regel sehr eingeschränkt in dem, was Sie tun können. Die meisten versuchen zu viel zu tun, wie Ihnen eine UART-Schnittstelle zu einem einzelnen TCP-Stream zu geben. Das ist in Ordnung, wenn das alles ist, was Sie wollen, aber ich habe normalerweise mehrere TCP-Server oder -Clients oder brauche mehr Out-of-Band-Steuerung als das, was mir ein dummer Stream bietet.

Was Sie wollen, ist ein WiFi-Modul, das anstelle von Protokollen höherer Ebene eine Schnittstelle zur Transportschicht für rohe Netzwerkpakete bildet. Dies ist so etwas wie die MAC-Schicht für kabelgebundenes Ethernet. Jetzt können Sie Ihren eigenen Netzwerkstapel ausführen und darüber hinaus tun, was Sie wollen.

Genau das haben wir mit den ZeroG WiFi-Modulen von Microchip getan. Wir haben einen ZeroG-Packet-Layer-Treiber in unserem PIC 18-Netzwerkstack implementiert. Der Rest des Stapels weiß nicht, wie Paket-I/O ausgeführt wird, sodass Sie alle TCP-, UDP- und andere Verbindungen nach Belieben einrichten können.

Der Quellcode für unseren Netzwerk-Stack ist in der kostenlosen Version der PIC-Entwicklungstools unter http://www.embedinc.com/pic/dload.htm enthalten . Natürlich existiert der Stack im Rahmen unseres Firmware-Frameworks, aber es ist trotzdem eine gute Idee, all das zu verwenden. Alle Sachen, die ich hier erwähnt habe, sind kostenlos erhältlich.

Ich habe bereits Wi-Fi-Module von Microchip verwendet, suche aber nach etwas Billigerem. Ich habe Ralink gefunden, sie stellen Wi-Fi-USB-Chipsätze her, die in den meisten billigeren Wi-Fi-USB-Dongles bei eBay verwendet werden, aber ich kann keine Informationen darüber finden.
@rnunes: Billiger als 27 $ in kleinen Mengen für ein vollständig zertifiziertes WiFi-Modul!? Niedriger für wirklich große Mengen, aber darüber müssen Sie mit Microchip sprechen. Beachten Sie, dass ein Chipsatz nicht für die FCC-Konformität vorzertifiziert werden kann, machen Sie sich also auf eine Menge Ärger und Kosten und spezielle Fachkenntnisse gefasst, die erforderlich sind, wenn Sie diesen Weg einschlagen.

Mir scheint, dass WiFi für diese Art von Anwendung ein wenig übertrieben ist.

Ich habe vor kurzem eine sehr ähnliche Sache mit:

  1. Eine PIC-MCU über USB, die mit dem Computer verbunden ist.
  2. Ein ISM 868 MHz Transceiver (SPI) auf dem PIC.
  3. Ein weiterer PIC entfernt mit den Sensoren.
  4. Ein ISM 868 MHz Transceiver (SPI) auch auf diesem PIC.

Die beiden PICs kommunizieren über das ISM-Band unter Verwendung eines einfachen seriellen Protokolls. Es ist viel einfacher mit einem kleinen Mikrocontroller zu implementieren. Nicht so schnell wie WLAN, aber für die kleinen Datenmengen, um die es hier geht, spielt das wirklich keine Rolle.

Der verwendete ISM-Transceiver ist der MRF49XA von Microchip. Billig und erfordert nicht viel zusätzliche Hardware.

Ich habe das auch schon benutzt und MRF89XA, aber was ich hier will, ist etwas, auf das aus der Ferne zugegriffen werden kann, wenn dieser Raum eine Wi-Fi-Verbindung und eine Lösung hat, die keine neue Hardware für den Computer erfordert, um es zu hören.

Ich werde meine Antwort auf diese Frage wiederholen . Wenn Sie keine Strom- oder Platzbeschränkungen haben, können Sie einfach einen WLAN-Router kaufen, der Linux ausführen kann, und einige seiner IO-Pins herausziehen, um zu tun, was Sie wollen (sie haben mindestens einen UART und etwas GPIO). Ich bin mir ziemlich sicher, dass Sie immer noch kein Mikrocontroller + WiFi-Modul für weniger als einen vorgefertigten WRT54GL bekommen können, der alle Fehler behoben hat, und einen metrischen Haufen mehr CPU-Leistung, als Sie von einem PIC oder Arduino bekommen werden .

Überprüfen Sie die Bearbeitung meiner Antwort, dass der MCU + Wi-Fi-Transceiver ziemlich billig ist (ich denke, es ist derzeit die billigste Option, wenn Sie Wi-Fi in ein Projekt mit kleinen Mengen einbauen möchten).
Das ist derzeit die Hälfte des Preises eines WRT54GL und kommt nicht mit Strom, Antennen, Gehäuse oder Produkthistorie. Je nachdem, was Sie genau tun möchten, könnte es immer noch ein Wurf sein.