WLAN-Stainz mit WiFly Modul

Hier kann jeder sein Persönliches WLAN Projekt vorstellen
Benutzeravatar
ateshci
Senior
Beiträge: 193
Registriert: Mi 16. Jan 2013, 15:12
Wohnort: Friedberg(Hessen)
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

WLAN-Stainz mit WiFly Modul

Beitrag von ateshci » Di 21. Mai 2013, 17:50

Hallo allerseits,
in der Hardware-Abteilung habe ich den Einbau eines WiFly-Moduls in eine LGB-2020 beschrieben. Das ist erst mal die halbe Miete, denn man muss das Ganze ja auch noch über WLAN zum Fahren bringen. Es sind nebenher auch noch einige organisatorische Probleme des WLAN zu lösen.
So lange man 'nur' mit einer Lok herumfährt, ist der 'Adhoc'-Modus des WiFly das Einfachste. Zur Erinnerung: In dieser Betriebsart arbeitet die Lok als WLAN-Knotenpunkt, an den ein Steuergerät ( also das Smartphone z.B. ) andockt. Die Befehlsübermittlung und Rückmeldung läuft dann zwischen diesen beiden Teilnehmern ab.
Man hat damit den Vorteil, nicht noch zusätzliche Geräte mitnehmen zu müssen, um irgendwo zu fahren. Der gravierende Nachteil ist aber, dass bei vielen Smartphones die WLAN-Sendeleistung und auch Empfangsempfindlichkeit nicht gerade berauschend ist. Als Folge davon bricht die Verbindung möglicherweise schon beim Durchfahren eines kurzen Tunnels oder hinter einem Sichthindernis zusammen.
Stabilere Verbindungen erreicht man beim Einsatz eines Routers, der in einiger Höhe ( 1..2m ) aufgestellt werden kann. Vorteilhaft sind dabei die Modelle, die über ein Steckernetzteil mit 3,3 oder 5V= betrieben werden. Man kann anstelle des Netzteils einen 12V-Bleiakku von 7Ah benutzen, mit einem SNT-Baustein auf die Versorgungsspannung herabsetzen und hat alle Probleme der elektrischen Sicherheit im Freien erschlagen. Der Akku gestattet ca. 8h Dauerbetrieb, denn die Router haben eine Spitzenstrom von ca. 1,5A bei Nennspannung.
Die höhere Sendeleistung und auch Empfangsempfindlichkeit lassen das Eisenbahnspielen über WLAN dann mit dem RC-Betrieb vergleichbarer Zuverlässigkeit zu.
Hierbei muss man das WLAN anders einrichten: Der Router ist der Knotenpunkt und sowohl Lok als auch Smartphone/Tablet sind Teilnehmer.
Üblicherweise arbeitet so ein Knotenpunkt (Accesspoint, AP) mit dynamischer Adressvergabe für die Teilnehmer. In diesem Anwendungsfall darf das aber nicht sein. Alle bisher eingesetzten WLAN-Module arbeiten zum Senden und Empfangen der Daten über TelNet. Dieses muss beim Aufbau der Verbindung die Adresse des Gegenübers wissen. Bei dynamischer Adressvergabe (DHCP) durch den AP ist die aber unbekannt. Deshalb muss der AP so eingerichtet werden, dass der eingebaute DHCP-Server abgeschaltet ist und mit festen IP-Adressen gearbeitet wird. Dann hat jede Lok ihre feste Adresse und kann einfach über TelNet angesprochen werden.
Entsprechend muss das WLAN-Modul in der Lok ebenfalls für feste IP-Adresse eingerichtet werden. Das kommt aber im nächsten Beitrag, ich lasse jetzt erst mal im Garten einen fahren und steuere den über Router vom Tablet aus. Entfernung: So an die 20m.
Gruß vom Heizer

Benutzeravatar
ateshci
Senior
Beiträge: 193
Registriert: Mi 16. Jan 2013, 15:12
Wohnort: Friedberg(Hessen)
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: WLAN-Stainz mit WiFly Modul

Beitrag von ateshci » Di 21. Mai 2013, 20:07

Noch eine Korrektur zur Adressvergabe am Router.
Alle Smartphones sind auf DHCP eingestellt und lassen sich manchmal nur sehr umständlich auf feste IP umstellen. In den meisten Fällen ist es auch nicht nötig, wenn man folgendermaßen trickst:
Man lässt den DHCP-Server im Router eingeschaltet. Im Konfigurationsmenü im Webserver des Routers ( über Browser mit der IP-Adresse errreichbar ) stellt man die DHCP-Adressvergabe (RTFM!) so ein, dass z.B. bei einem Mini-Router von C.. diese ab 192.168.1.10 beginnen und bei 192.168.1.90 aufhören. Der Router selbst hat die feste Adresse 192.168.1.1. Der DHCP-Server vergibt nun diese nach der Reihenfolge der Anmeldung - d. h. bei einem Smartphone hat dieses die Adresse 192.168.1.10. Mehr als 90 Handys meldet wohl keiner an...
Die Lok steht auf fester IP, der DHCP-Modus dort muss abgeschaltet sein, denn sonst würden die voreingestellten Werte 'überfahren'. Die erste Lok (Stainz) bekommt bei mir die feste Adresse 192.168.1.254. , Host 192.168.1.1, Gateway 192.168.1.1. So gibt es keine Adresskollision, die manchmal zu frustrierendem Fehlersuchen führt. Also weiß ich, die Stainz ist fürs TelNet unter dieser Adresse ansprechbar und ums Handy brauche ich mich nicht zu kümmern.
Gruß vom Heizer

Benutzeravatar
ateshci
Senior
Beiträge: 193
Registriert: Mi 16. Jan 2013, 15:12
Wohnort: Friedberg(Hessen)
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: WLAN-Stainz mit WiFly Modul

Beitrag von ateshci » Mi 22. Mai 2013, 17:10

Jetzt kann man anfangen, das Netz zu erstellen.
Als erstes muss da WiFly-Modul der Stainz konfiguriert werden. Auf dem benutzten Rechner mit WiFi-Anschluss braucht man dazu TelNet. Bei Linux-Systemen ist das dabei, bei Windows-Rechnern muss man es aus dem Internet für lau herunterladen. Das Windows-Hyperterminal wird ausdrücklich von RN nicht empfohlen!
Das RN-XV-Modul kann auch über die serielle Schnittstelle angesprochen werden, wegen der eingesetzten 3,3V-Technik ist aber ein entsprechendes Interface zubauen, ausserdem ist da schon der Motortreiber dran. Es geht viel einfacher, wenn man den Jumper zu GPIO9 am Pin 8 steckt. Da kommt beim Einschalten das Modul automatisch als AP mit der Kennung WiFly-GSX-xx.
xx sind die beiden letzten Kennziffern der spezifiischen MAC-Adresse des Chips.
Es ist ein offenes Netzwerk ohne Beschränkung, man meldet seinen Rechner dort an. Wenn die Verbindung steht, ruft man TelNet auf mit IP: 169.154.1.1 Port: 2000.
Dann kommt als Antwort *HELLO*.
Im gleichen Augenblick ist die grüne Leuchtdiode auf dem WiFi-Modul auf Dauerlicht und alle anderen LEDs aus.
Keine Sorge, bei bestehender Verbindung kommt das IMMER - da kann nichts mehr schief laufen.
Das weitere Vorgehen ist in diesem Dokument beschrieben.
Man gibt ein
$$$
und zurück kommt 'CMD' als Bestätigung, dass man in der Kommandoebene des Moduls ist.
jetzt blinkt die grüne LED mit ca. 2Hz.
Mit dem Befehl
get everything
kann man sich sämtliche Einstellungen des RN-XV anzeigen lassen.
Die Kommandoebene wird mit
exit
verlassen. Die Rückmeldung des Moduls ist 'EXIT' und die grüne LED geht wieder auf Dauerlicht.
Weiter im nächsten Beitrag.
Ich würde auch gerne erfahren, ob jemand in Richtung 'Stainz' aktiv ist.....
Gruß vom Heizer

Benutzeravatar
ateshci
Senior
Beiträge: 193
Registriert: Mi 16. Jan 2013, 15:12
Wohnort: Friedberg(Hessen)
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: WLAN-Stainz mit WiFly Modul

Beitrag von ateshci » Mi 22. Mai 2013, 18:03

Wenn man die Kommandoebene, wie vorher beschrieben, aufgerufen hat, geht es ans Parametersetzen.
Also los:
1. set sys mask = 0x21fe
GPIOs 1,2,3 are used as outputs
2. set sys autoconn 1
Connect to the stored host IMMEDIATELY upon power up or wake from sleep state
3. set sys printlvl 2
Only critical NETWORK AP connection level status is output, "Associated!" or
"Disconnect from <ssid>"
4. set ip address 192.168.1.254
( hier als Beispiel, die meisten APs haben 192.168.1.1 ). Die Teilnehmeradressen
müssen dann im Bereich 192.168.1.2....255 liegen.
5. set ip dhcp 0
DHCP OFF, use stored static IP address
6. set ip gateway 192.168.1.1
7. set ip host 192.168.1.1
Dies ist die IP-Adresse des APs!
8. set wlan ssid <name>
sets the wlan ssid to associate with. 1-32 chars. E.g. WLAN-LOK
9. set wlan rate 0
(1MBit/sec). Erhöht die Reichweite des Moduls
10. set wlan join 1
Try to join the access point that matches the stored SSID, passkey and channel.
Channel can be set to 0 for scanning. (Default)
11. set wlan phrase 12345678
es wird der WPA2-Schlüssel benutzt. Dieser Wert ist nur als Beispiel dafür.
Im AP muss er entsprechend definiert werden!
12. save
speichert alles in der Konfiguration.
13. reboot
Neustart mit den geänderten Parametern. Da aber GPIO9 gejumpert ist, meldet sich das
Modul wieder wie vorher und man kann nach Neuverbinden des TelNet mit
get everything
die Konfiguration auf korrekte Werte überprüfen.
Gruß vom Heizer

Benutzeravatar
ateshci
Senior
Beiträge: 193
Registriert: Mi 16. Jan 2013, 15:12
Wohnort: Friedberg(Hessen)
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: WLAN-Stainz mit WiFly Modul

Beitrag von ateshci » Do 23. Mai 2013, 21:12

Der Pololu-Motorregler wurde ja schon vorher konfiguriert für ASCII-Kommandos. Da ja alles läuft, wird der Jumper entfernt und die Lok eingeschaltet. Der AP wird auch eingeschaltet und ebenso der Laptop/Notepad. Nachdem der sich bei 'WLAN-LOk' oder wie Ihr es halt genannt habt, angemeldet hat, ruft man Telnet auf und gibt ein 192.168.1.254 2000 und schon kommt das *HELLO* zurück.
Dann tippt man ein 'GO' , um den Pololu-Regler aus der Motorsperre zu holen. Er quittiert immer mit '.'
Vorwärtsfahren mit recht langsamer Geschwindigkeit zum Testen: 'F1500'
Anhalten mit 'F0'
Rückwärts das Gleiche 'R1500'
usw.
Während der Fahrt schaltet man die Lampen ein:
'$$$' (Antwort CMD)
set sys o 6 6
<AOK>
exit
<EXIT>
Und die beiden Lampen sind an.
Erklärung:
Der Befehl
set sys o <value> <mask>
ist ein Befehl, der einzelne GPIOs über eine Maske ein- und ausschaltet. Nur wenn das zum Ausgang gehörige Maskenbit den Wert 1 hat, passiert mit diesem Ausgang etwas.
da wir GPIO1..3 benutzen, sind die einzelnen Maskenwerte 2(A1), 4(A2), 8(A3) und in Kombination 6,10,12,14.
der Wert gibt an, welcher Ausgang Ein oder Aus sein soll, also auch hier 0,2,4,6,8,10,12,14.
dann schalten wir eine davon aus:
$$$
<CMD>
set sys o 0 2
<AOK>
exit
<EXIT>
Während der Zeit fährt die Lok munter weiter, da der Regler nichts mitkriegt.
Gruß vom Heizer

Benutzeravatar
ateshci
Senior
Beiträge: 193
Registriert: Mi 16. Jan 2013, 15:12
Wohnort: Friedberg(Hessen)
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: WLAN-Stainz mit WiFly Modul

Beitrag von ateshci » Mo 27. Mai 2013, 15:27

In die Kommandoebene kann man auch noch die Abfrage der Spannungswerte von SNT/Akku und Motor einfügen.
Dazu fragt man die Analogeingänge (Sensoren) ab:
show q 0x1<mask>
mit mask als Bitmaske der Kanäle
Z.B. für 2 und 5 sendet man :
show q 0x124
Die Antwort ist im Format: 8<chan2>, 8<chan5>
Gruß vom Heizer

Benutzeravatar
ateshci
Senior
Beiträge: 193
Registriert: Mi 16. Jan 2013, 15:12
Wohnort: Friedberg(Hessen)
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: WLAN-Stainz mit WiFly Modul

Beitrag von ateshci » Di 13. Mai 2014, 20:57

So, nach knapp einem Jahr mal ein Update:
Ich habe mit NetIO innerhalb von 30min die Verbindungsaufbau- und Fahrfunktionen in eine Android-App zusammengebaut, die auf Anhieb funktioniert. Jetzt müssen noch die Schaltfunktionen und das Rücklesen der Analogwerte gemacht werden, dann habe ich meine eigene 'Stainz-Oberfläche' fertig. Also noch mal ca. 1 Stunde Arbeit. Das geht ja wirklich wie's Katzenmachen...
Gruß vom Heizer

Benutzeravatar
ateshci
Senior
Beiträge: 193
Registriert: Mi 16. Jan 2013, 15:12
Wohnort: Friedberg(Hessen)
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: WLAN-Stainz mit WiFly Modul

Beitrag von ateshci » Di 20. Mai 2014, 14:37

Einige werden es mitbekommen haben: Ich war das vergangene Wochenende in Maasdorf zum 'Gleisstromlosfahren'.
Das Wetter war Samstag leicht unbeständig, am Sonntag regnete es mit einer kleinen Pause dann ununterbrochen, d. h. die Bepflanzung und der Boden des Areals waren ständig feucht.
Ich betrieb die Stainz mittels eines zentral auf einem Hügel gestellten Routers und das Ergebnis war einfach enttäuschend. Was unter Dach oder auch in einer Halle geht, funktioniert noch lange nicht gleich gut im Freiland! Das Problem lag sowohl in der schlechten Ablesbarkeit, lausiger WLAN-Fähigkeit der eingesetzten Handies ( ein kleiner Busch in der Sichtlinie und aus war's ) als auch in der mit NetIO erstellten Steuerapp, die sich nach Verbindungsabbruch und -wiederkehr nicht mehr mit der Lok verbinden wollte. Die Lok selbst hatte laut ihrer Statusanzeige keinerlei WLAN-Probleme auf dem ganzen Rundkurs.
Gruß vom Heizer

IPTRAIN
Senior
Beiträge: 202
Registriert: Di 15. Jan 2013, 20:20
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: WLAN-Stainz mit WiFly Modul

Beitrag von IPTRAIN » Mi 16. Jul 2014, 05:57

Hallo Helmut,

das WiFly Modul ist auch Schrott. Da ist das Wiznet um Klassen besser. Das Problem ist, dass Ihr immer nur halbfertige Billig-Hardware einsetzt - irgendwo kommt der Unterschied her.

Dir Reichweite des Wiznet ist auch wesentlich höher - anders kann es ja wohl nicht zu erklären sein, dass meine V60 mit dem Wiznet seit Jahren tadellos auf großen Anlagen ohne Funkabbrüche fährt. Und Funkabbrüche liegen oft auch daran, dass das Smartphone nicht richtig parametrisiert ist.

Noch komfortabler ist der Raspberry Ansatz - da kannst Du ja die USB- Antennen nach Geldbeutel aussuchen. Da gibt es gewaltige Unterschiede - habe ich feststellen müssen. Und vor allem kann man die Antennen jederzeit austauschen - z.B. auf 5 GHz und was da noch allem kommen wird. An Reichweite über 1.000 Meter laufen auch schon die Normierungen.

Ehrlich gesagt verstehe ich Deinen Buntbahn-Technologie- Ansatz nicht?? Da investierst Du -zig bis hunderte ? Stunden in WiFi Billig-Kram, der letztendlich sowieso in eine Sackgasse führt. Man wählt sich doch eine Hardwareplattform aus, wo man vorher die Leistungsfähigkeit der Hardware und vor allem des Herstellers geprüft hat - und zudem auch die Gewissheit hat, softwaremässig die volle Kontrolle über die Hardware zu haben.
Das ist soch von den Hinterhof-Anbietern, die Ihr verwendet, gar nicht gewollt. Und die Supportfrage steht noch einmal auf einem anderen Blatt. Was denkst Du, warum ich auf Raspberrry Pi gegangen bin? bestimmt nicht weil der so schön klein ist und in jede Lok rein passt .... :twisted:

WiFi ist Hochtechnologie- da muss man schon etwas mehr als spielerisch rangehen- sonst wird das nix. Man verwendet grundsätzlich in der IT-Technologie nur das, was millionenfach verwendet wird. An allem anderen holt man sich eine blutige Nase - rausgeworfenes Geld

Grüsse vom IPTRAIN

Benutzeravatar
gatzi
User
Beiträge: 97
Registriert: Di 15. Jan 2013, 21:00
Wohnort: Bremen
Kontaktdaten:

Re: WLAN-Stainz mit WiFly Modul

Beitrag von gatzi » Mi 16. Jul 2014, 07:15

ateshci hat geschrieben:Die Lok selbst hatte laut ihrer Statusanzeige keinerlei WLAN-Probleme auf dem ganzen Rundkurs.
Hallo Karl,

von Problemen mit dem WiFly hat Helmut nichts geschrieben, im Gegenteil, siehe oben. Soviel zur "Hinterhoftechnik". Dein Beitrag läuft von daher ins Leere ...

Es bleiben also die von ihm beschriebenen Erfahrungen mit Router, Smartphone und NetIO. Da der Router die Verbindung zur Stainz hielt, liegt der Verbindungsabbruch augenscheinlich auch weniger an ihm.

Problembären sind demnach weiterhin die von Helmut beschrieben Punkte mit Smartphone (Reichweite, Anzeige) und NetIO (Neustart), beide ebenfalls nicht von Hinterhofherstellern.

Übrigens kann ich weder an meinem Smartphone noch am Tablet die Sendeleistung einstellen, lediglich Wifi an- oder ausschalten und das Netz auswählen ...

Viele Grüße
Holger
Meine Gartenbahn-Website >>>
Mein Gartenbahn- und Modellbau-Blog >>>
Schmalspur 1:22,5 im Garten, Regelspur 1:160 im Haus

Antworten
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Zurück zu „WLAN Teilnehmerprojekte“