Forum: Mikrocontroller und Digitale Elektronik STM32F4 Ethernet Wlan modul


von Mischterx (Gast)


Lesenswert?

Hallo,

für unser aktuelles Autopilot Projekt für Modellboote entwickeln wir 
gerade eine neue Hardware. Wir wollen Wlan verwenden, da mehrere Boote 
und Groundstations(Laptop/Handy/Tablet) in einem Netzwerk arbeiten 
sollen und untereinander kommunizieren sollen.

Dafür sind wir jetzt auf der Suche nach Wlan Modulen. Sie sollten Adhoc 
Netzwerke erstellen können und ein Ethernet Interface haben, da wir das 
Ethernet Interface des Stm32F4 nutzen wollten. Außerdem sollte es über 
eine eigene IP angesprochen werden können und der Stm32 soll mit einer 
eigenen IP über das Modul ins Netz integriert werden. Der TCP/IP Stack 
wird dann auf dem Stm32 gecoded.

Natürlich soll es auch möglichst günstig sein. Habt ihr vielleicht Tipps 
oder noch andere Ideen wie man ein Netzwerk aufbauen könnte in dem jeder 
Client individuell angesprochen werden kann?

Danke schonmal im voraus,

MfG
Mischterx

von Chose (Gast)


Lesenswert?

Reichweite? Google?

von Chose (Gast)


Lesenswert?

Für Faule:


http://www.watterott.com/de/Roving-Networks-WiFly-GSX-Serial-Module


Spar dir das ST Ethernet Geschnipsel....guter Processor. Aber das hat er 
nicht richtig richtig drauf..

von Mischterx (Gast)


Lesenswert?

Hi,

gegoogelt habe ich schon, aber nichts passendes gefunden.
Rechweite: SO weit wie möglich ;) aber da die Boote sowieso im Adhoc 
Modus sind, kann die Verbindung ja auch von Boot zu Boot gehen, wenn das 
Ziel zu weit entfernt ist.

Das WiFly GSX wollten wir ursprünglich nehmen. Aber ich steige da nicht 
ganz durch. Das GSX hat nen TCP/IP Stack mit drin. Was für Daten kommen 
dann über SPI/USART? Nurnoch die Payload oder brauche ich auf dem Stm32 
dann trotzdem noch nen TCP/IP Stack? Ich kenne mich in die Richtung noch 
nicht so aus.

MfG
Mischterx

von hp-freund (Gast)


Lesenswert?

http://www.jann.cc/2012/08/07/eine_wlan_platine_zum_selber_bauen.html

Das GS1011MIE-SMP wird mit AT Befehlen gesteuert.

von jtag (Gast)


Lesenswert?


von hp-freund (Gast)


Lesenswert?

jtag schrieb:
> Oder das Carambola:

Hatte ich auch schon im Visier.
Dann wird der arme STM32 aber arbeitslos ;-)

von Mischterx (Gast)


Lesenswert?

Hi,

das GS1011MIE-SMP sieht wirklich sehr interessant aus. Mal ne Frage zum 
Verständnis. Das Modul leitet die gesamte Nachricht weiter und ich muss 
den TCP/IP Stack selbst übernehmen? Wenn die IP des Stm32 adressiert 
wird, leitet das ding weiter, und wenn die Netzwerk-Gateway IP, dann 
spricht man direkt das Modul an?

MfG
Philipp

von Christian J. (chrisj) Benutzerseite


Lesenswert?

Über AT-Befehle, die über die serielle Schnittstelle an das WLAN Modul 
gesendet werden kann das WLAN-Modul konfiguriert werden (IP, Gateway, 
DHCP, DNS, infrastructure/ad-hoc/access point mode), dann kann man über 
weitere AT-Befehle TCP oder UDP Ports auf dem WLAN Modul öffnen, wenn 
jetzt ein anderer PC Daten, z.B. den String "Hello World\n" an einen 
bestimmten Port des WLAN Moduls sendet leitet das WLAN Modul diese über 
die serielle Schnittstelle an den Mikrocontroller weiter, es fügt aber 
noch einen Header hinzu, damit man weiß von welcher IP:Port die Daten 
kommen, so das man dann eine Antwort zurückschicken kann.

Das Hello Word kommt dann so beim Mikrocontroller an:

"\x1bS1Hello World\n\x1bE"

"\x1b" markiert dabei den Start eines Datenpakets und "\x1bE" das Ende. 
"S1" ist die Connection ID, die angibt
von wo das Datenpaket kam, über einen anderen AT-Befehl kann man sich 
alle momentanen Verbindungen mit Port und IP anzeigen lassen.

Wenn man jetzt eine Antwort schicken will sendet man vom Mikrocontroller 
über die serielle Schnittstelle einfach:

"\x1bS1Antworttext\x1bE"

Der TCP/IP Stack ist auf dem Modul integriert, diese Daten vom WLAN 
Modul muss man dann nur noch verarbeiten.

Wenn man nur Daten an einen Webserver übermitteln/abrufen will oder für 
eine einfache Zweiwegekommunikation mit einer Handy App/PC Programm ist 
das WLAN Modul ganz praktisch, um einen kleinen Webserver zu betreiben 
der dann eine Web-App zum Fernsteuern zur Verfügung stellt würde ich 
allerdings das Carambola wählen.

Wegen der Reichweite würde ich mich nicht auf den Ad-Hoc Modus 
verlassen, dann lieber irgend so ein XBee das richtiges Mesh-Networking 
beherrscht. Außerdem gibt es noch XBee Module mit sehr großer Reichweite 
z.B. das XBee-PRO 868. Neuere Handys können sich sowieso standardmäßig 
nicht mehr mit Ad-Hoc Netzwerken verbinden.

Ich würde auf jeden Fall drüber nachdenken die Bote mit XBee 
auszustatten und in der Groundstation dann einen XBee<->WLAN Umsetzer 
betreiben:

https://www.adafruit.com/blog/2012/07/18/xbee-internet-gateway-released-for-macintosh-windows-and-linux/
https://www.adafruit.com/blog/2012/09/07/raspberry-pi-as-an-xbee-wireless-sensor-network-gateway-piday-raspberrypi-raspberry_pi/

Noch billiger geht es mit Funkmodulen von eBay, eins dieser Funkmodule 
muss dann nur noch mit der Groundstation verbunden werden, die die Daten 
per WLAN zur Verfügung stellt.

--
chris

von hp-freund (Gast)


Lesenswert?

Mischterx schrieb:
> Das Modul leitet die gesamte Nachricht weiter und ich muss
> den TCP/IP Stack selbst übernehmen?

Das würde ich nicht sagen. Mit den AT Befehlen wird konfiguriert und die 
Kommunikation im Boot erfolgt mit den anderen Modulen z.B. seriell.

Der Ganze Netzwerkzugriff telnet, http usw. erfolgt von der 
Gengenstation vom Ufer oder den anderen Booten aus. Leider verrät der 
Hersteller die komplette Liste der AT Befehle nur nach Registrierung. 
Ich denke aber das man auch einen AT Befehl zum senden und abfragen von 
Benuterdaten findet.
Diese werden dann (auf Anfrage) einfach zur Gegenstation gesendet.

von hp-freund (Gast)


Lesenswert?

@chris
Danke für die Infos...

von Mischterx (Gast)


Lesenswert?

Hi,

wir wollten ursprünglich dieses nehmen:
http://www.digi.com/products/wireless-wired-embedded-solutions/zigbee-rf-modules/point-multipoint-rfmodules/xbee-wi-fi#overview
Aber da muss man ne feste Destination IP setzen, die man nur über AT 
Befehle ändern kann und für eine dynamische Kommunikation zwischen 
mehrern Booten und Groundstations geht das gar nicht.

@Christian Jann: Viellen dank. Jetzt ist mir das erst so richtig klar, 
wie das läuft. Genau sowas ist perfekt für uns.

Das WiFly-GSX hat seine Sendeleistung von 100mW. Das mit vernünftiger 
Antenne(wir hebane jemanden im Team der sich mit Antennen usw auskennt).

Wobei auch das GS1011MIE-SMP ausreichen sollte. Da wir idr. nur auf 
Sicht arbeiten und die 200-300Meter auf sicht sollten denke ich mit 
guter antenne möglich sein.

XBEE Pro's haben wir in unser alten version verwendet, allerdings wüsste 
ich nicht, wie wir damit ein Netzwerk aufbauen könnten in dem sich alle 
Module untereinander ansprechen können.

MfG
Mischterx

von Mischterx (Gast)


Lesenswert?

Achja, Wlan würden wir außerdem bevorzugen, wegen der hohen 
Übertragungsrate. Die werden wir brauchen, da in z.B. Zukunft noch 
Live-Streaming von Kameras hinzukommen soll.

von Christian J. (chrisj) Benutzerseite


Lesenswert?

Die komplette WLAN Übertragungsrate kann aber nicht genutzt werden, da 
die USART oder SPI Schnittstelle des Moduls das gar nicht hergeben.

GainSpan hat auch noch ein paar andere WLAN Module im Angebot, mit 
Chipantenne oder Antennenkontakt, ich habe damals das GS1011MIC genommen 
weil ich sowieso nicht so eine große Übertragungsrate und Reichweite 
brauchte, dafür aber den Access Point Modus und wenig Zeit hatte.

GS1011MIC, IEEE 802.11b, http://www.gainspan.com/gs1011mxx
GS1500M, IEEE 802.11b/g/n, http://www.gainspan.com/gs1500m

Mist das GS1500M mit Antennenkontakt ist gar nicht mehr verfügbar, und 
bei Farnell steht Produkt abgekündigt, vielleicht kommt ja bald ein 
Nachfolger.

Wenn auch Bilder übertragen werden sollen würde ich gleich ein Carambola 
und eine USB Webcam oder ein Rapspberry Pi mit USB WLAN Stick und USB 
Webcam nehmen oder das neue Kameramodul, das setzt allerdings 
grundlegende Linux Kenntnisse voraus und der Stromverbrauch ist auch 
höher. Da das Carambola einen WLAN SoC nutzt der sonst in Routern zum 
Einsatz kommt und aufgrund der höheren Stromaufnahme würde ich mal 
tippen, dass auch die Sendeleistung/Reichweite größer ist und eine 
externe Antenne kann auch genutzt werden.

Das OLinuXino gibt es auch noch mit WLAN: 
https://www.olimex.com/Products/OLinuXino/iMX233/iMX233-OLinuXino-MINI-WiFi/

Mit XBee Modulen habe ich noch nicht so viel Erfahrung, googeln nach 
"xbee pro mesh" brachte allerdings:

XBee® & XBee-PRO® DigiMesh™ 2.4 RF Module: 
http://www.digieurope.de/de/products/wireless/zigbee-mesh/xbee-digimesh-2-4

was ziemlich stark nach Kommunikation der Module untereinander klingt.

Wie dem auch sei, viel Erfolg!

--
chris

von Mischterx (Gast)


Lesenswert?

Wir wollen am Funkmodul nicht mehr groß rumprogrammieren. Also eine 
Fertiglösung, die nur noch konfiguriert werden muss.

Spi/USART  können zwar nur mit einer niedrigeren Rate als das Wlan, aber 
die Wlan Übertragungsrate bezieht sich ja auch das ganze Netz, und wenn 
mehrere gleichzeitig senden wollen, macht eine höhere Rate wieder Sinn.

In einem Quadrokopter Projekt hatten die mal ausgerechnet und getestet, 
wie viele Datensätze mit einem XBEE Pro mit einer Datenrate von 
115600baud pro Zeit übertragen werden können. Die neuern Xbee können 
auch nur 200k baud. Das trifft ca. das was wir an Daten verschicken 
wollen. Mit einem Boot im Netzwerk geht das, aber sobald mehrere Boote 
in einem Xbee Mesh Netzwerk sind, wird es erhebliche Verzögerungen 
geben. Deswegen ziehen wir Wlan vor.

Ist es eigentlich auch möglich mehrere GS1011MIE im AP Modus in einem 
Netzwerk zu betreiben? Wie müsste man das konfigurieren?

MfG
Mischterx

von Christian J. (chrisj) Benutzerseite


Lesenswert?

Mischterx schrieb:
> Wir wollen am Funkmodul nicht mehr groß rumprogrammieren. Also eine
> Fertiglösung, die nur noch konfiguriert werden muss.

Ob das Routing in einem WLAN Ad-Hoc Netzwerk so gut funktioniert wage 
ich zu bezweifeln, es muss ja irgend einen Grund haben warum es so viele 
Mesh Networking Lösungen gibt, ich glaube das wird eher die Bastellösung 
bei der am meisten programmiert werden muss, bei mehr als 5 Geräten 
hätte ich dann schon Bedenken.

Studie: Kein Verlass auf Ad-hoc-Netze
Verlässliche Kommunikation in heutigen Ad-hoc-Netzen nahezu unmöglich
http://www.golem.de/0501/35756.html

"Der AdHoc-Modus benötigt keinen Access Point. Die beteiligten Computer 
verbinden sich direkt miteinander. Dabei sind, unabhängig vom 
verwendeten Standard, nur 11MBit/s möglich. Die Anzahl der Clients in 
einem AdHoc Netzwerk ist auf 8 beschränkt." 
http://www.netgear.de/support/faq/faqwireless.aspx

Leider konnte ich keine genauen verlässlichen 
Informationen/Spezifikationen zu den gängigen Ad-Hoc Netzwerken finden, 
aber für das Carambola gibt es noch eher brauchbare Software für Mesh 
Netzwerke:

http://wiki.openwrt.org/inbox/mesh.olsr
http://wiki.freifunk.net/Meshing

> Spi/USART  können zwar nur mit einer niedrigeren Rate als das Wlan, aber
> die Wlan Übertragungsrate bezieht sich ja auch das ganze Netz, und wenn
> mehrere gleichzeitig senden wollen, macht eine höhere Rate wieder Sinn.

Zum Übertragen von Bildern ist das GainSpan Modul aber zu langsam und es 
fehlen die passenden Schnittellen für die Kamera, oder ihr braucht noch 
eine zweite WLAN Kamera und auf kleinem Raum stören die sich dann 
gegenseitig und verbrauchen den doppelten Strom.

> In einem Quadrokopter Projekt hatten die mal ausgerechnet und getestet,
> wie viele Datensätze mit einem XBEE Pro mit einer Datenrate von
> 115600baud pro Zeit übertragen werden können. Die neuern Xbee können
> auch nur 200k baud. Das trifft ca. das was wir an Daten verschicken
> wollen. Mit einem Boot im Netzwerk geht das, aber sobald mehrere Boote
> in einem Xbee Mesh Netzwerk sind, wird es erhebliche Verzögerungen
> geben. Deswegen ziehen wir Wlan vor.

Das Mesh Routing bei einfachen Ad-Hoc Netzwerken ist aber nicht 
besonders effektiv implementiert, ihr könntet das mal mit vier Laptops 
im gleichen Ad-Hoc Netzwerk testen:

- 2 Laptops solange voneinander entfernen bis sie keine direkte WLAN 
Verbindungen mehr haben
- 3. Laptop in die Mitte bringen, funktioniert die Verbindung wieder?
- Einen der Laptops am Rand weiter entfernen und 4. Laptop in die Lücke

Wenn das nicht funktioniert sehe ich nicht viel Aussicht auf Erfolg mit 
den WLAN Modulen im Ad-Hoc Modus und ob der WLAN Stack in den GainSpan 
Modulen die Daten, die nicht für das jeweilige Modul bestimmt sind, 
genauso weiter leitet ist noch eine ganz andere Frage.

> Ist es eigentlich auch möglich mehrere GS1011MIE im AP Modus in einem
> Netzwerk zu betreiben? Wie müsste man das konfigurieren?

Das geht nicht.

http://www.carambola.cc/definition/
"Carambola provides extensive network capabilities: wired and the Wi-Fi 
wireless interfaces. It can be configured as access point, wireless 
client, or WDS mesh node. It can route or bridge interfaces. It can be 
VPN Client or server. Using a USB 3G Modem, It can connect to a cellular 
network."

Über "WDS mesh" würde ich mich mal informieren.

Das Carambola hat auch den Vorteil, dass die Software, die auf dem Modul 
läuft, Open Source ist, somit könnt ihr das Routing noch anpassen, das 
GainSpan Modul nutzt intern 2 ARM Prozessoren wobei die Firmware 
ziemlich limitiert ist und ich mir oft gewünscht habe sie anpassen zu 
können, das SDK ist allerdings ziemlich teuer, proprietär und die 
Lizenzen und NDAs sind einfach nur schrecklich.

Wie gesagt mit XBee, ZigBee und den ganzen Artverwandten seit ihr sicher 
schneller am Ziel.

--
chris

von Frank K. (fchk)


Lesenswert?

Mischterx schrieb:
> Achja, Wlan würden wir außerdem bevorzugen, wegen der hohen
> Übertragungsrate. Die werden wir brauchen, da in z.B. Zukunft noch
> Live-Streaming von Kameras hinzukommen soll.

Video und Steuerung solltet Ihr voneinander trennen. Wenn beim Video die 
Bandbreite knapp und die Delays groß werden, ist das zwar unschön, aber 
nicht weiter kritisch. Wenn aber die Steuerkommandos ebenfalls verzögert 
werden oder teilweise sogar verloren gehen, dann kann das kritisch 
werden. Daher würde ich eine schmalbandige Steuerverbindung im 
Sub-1GHz-Bereich und zusätzlich eine breitbandige Video/Daten-Verbindung 
im 2.4 GHz Bereich aufbauen.

fchk

von Mischterx (Gast)


Lesenswert?

Hi,

wir gucken uns gerade mal die Xbee DigiMesh an. Aber leider sind die für 
Europa auf 10mW beschränkt. Mit den Zigbees kann man allerdings auch ein 
Netzwerk aufbauen und soweit ich das sehe können die mit den vollen 63mW 
in Europa genutzt werden. Wobei ich das etwas komisch finde. Weiß da 
jemand etwas genaueres? Hier die Links zu den Specs:
http://www.digi.com/products/wireless-wired-embedded-solutions/zigbee-rf-modules/zigbee-mesh-module/xbee-zb-module#specs
http://www.digi.com/products/wireless-wired-embedded-solutions/zigbee-rf-modules/zigbee-mesh-module/xbee-digimesh-2-4#specs

@Frank: Zur primären Steuerung nutzen wir handelsübliche 35Mhz, 40Mhz 
und 2,4Ghu Modellbaufernsteuerungen. Über Wlan/Xbee's haben wir nur 
einen Backup-Steuerung. Ansonsten wird Xbee/Wlan für Routen Infos und 
Statutsmeldungen genutzt. Die allerdings mit ca. 10-20 Hz kommen.

MfG
Philipp

von Mischterx (Gast)


Lesenswert?

Hi,

wir haben uns jetzt mal die DigiMesh angeguckt. Im Manual haben die 
Testdaten aufgelistet.

Configuration                                 Data Throughput
1 hop, Encryption Disabled                     27.0 kbps
3 hop, Encryption Disabled                    10.9 kbps
6 hop, Encryption Disabled                     5.78 kbps
1 hop, Encryption Enabled                    20.5 kbps
3 hop, Encryption Enabled                     9.81 kbps
6 hop, Encryption Enabled                      4.7 kbps

Wenn wir alle 3 in einem Netzwerk unterwegs sind, jeweils Boot + Laptop, 
kommen wir auf 6 hops. Das heißt 5,78kbps effektive Datenrate. Das 
könnte knapp werden, aber wir wollen jetzt wahrscheinlich die erstmal 
probieren. Sollten die doch nicht passen, können wir immer noch das XBee 
Wlan Modul verwenden, da die Module Pinkompatibel sind. Sollte das Adhoc 
nicht funktionieren, können wir immernoch einen kleinen Router mit ins 
Netzwerk einbinden, bzw. Intel Wlan Karten können teilweise mitlerweile 
als Router fungieren.

MfG
Philipp

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.