Ich würde gerne per WLAN I/Os steuern, z.B. mit einem Android Smartphone oder Tablet. Es gibt einen preisgünstigen (ca. 30€) kleinen WLAN-Router TL-MR3020, der von OpenWrt unterstützt wird. Der Router hat einen USB-Host-Anschluss sowie intern eine Uart-Schnittstelle. Die Idee ist, an die USB-Buchse dieses Routers eine Arduino Nano Hardware (mit integriertem FTDI USB-Seriell-Chip) anzuschließen. Vorteile: Der Router muss nicht geöffnet werden, der Arduino Nano ist klein und preiswert erhältlich, die I/O-Steuerung wird per AVR auf dem Nano übernommen. Auf dem Router müsste dann eine Art WLAN-Seriell-Bridge laufen. WLAN <=> TL-MR3020 <=> USB <=> Arduino Nano <=> I/Os Leider habe ich keinerlei Erfahrung mit Embedded Linux, ich stelle mir das in etwa so vor: 1) OpenWrt-Firmware auf dem Router installieren http://wiki.openwrt.org/toh/tp-link/tl-mr3020 2) WLAN-Parameter konfigurieren 3) per OPKG Package Manager die FTDI-Unterstützung installieren opkg update opkg install kmod-usb-serial-ftdi 4) Serverapplikation auf dem Router installieren, die Daten zwischen WLAN und USB-FTDI austauscht Die Punkte 1-3 würde ich mir mit etwas googeln und ausprobieren zutrauen. Aber wie sieht es mit Punkt 4 aus? Kann man mit C ein Programm schreiben und ein Package erzeugen, sodass es mit opkg installiert werden kann, ohne dass der Linux-Kernel neu kompiliert werden muss? Wenn ja, wie ist die genaue Vorgehensweise? Benötigt man zwingend eine Linux-Entwicklungsumgebung oder könnte man sowas auch unter Windows erstellen?
Hallo, die Frage ist wie du die Steuerung vom Smartphone machen willst? Selbst eine App schreiben, dann könnte Punkt 4 recht einfach ausfallen. Es gibt fertige Software, die dir die serielle Schnittstelle über IP weiterreicht (Telnet). Die App müsste dann einen kleinen Telnetclient enthalten der die entspechenden Daten sendet, oder auch empfängt wenn du das brauchst. Willst du keine App schreiben, sondern die Bedienung per Browser machen müsste auf dem Router erst mal ein HTTP-Server laufen (dürfte schon der Fall sein - für die Konfiguration) der dann per Script auf die Hardware zugreifen kann und entsprechenden Daten an die serielle (USB) weiterleitet. Sascha
Wie würde die Telnet-Lösung auf dem Router aussehen? Standardmäßig wird Telnet vermutlich auf die "echte" interne serielle Schnittstelle des Routers gehen, wie können die Daten auf dem USB (FTDI) weitergegeben werden? Müsste dann auf dem Arduino Nano das Telnet-Protokoll implementiert werden?
Recht einfach lässt sich sowas mit dem Flyport-Modul machen, siehe h http://www.openpicus.com. Das hat genau diese Funktionalität praktisch schon eingebaut, entsprechende Beispielprogramme gibt es auch...
M. G. schrieb: > Kann man mit C ein Programm schreiben und ein Package erzeugen, sodass > es mit opkg installiert werden kann, ohne dass der Linux-Kernel neu > kompiliert werden muss? > Wenn ja, wie ist die genaue Vorgehensweise? > > Benötigt man zwingend eine Linux-Entwicklungsumgebung oder könnte man > sowas auch unter Windows erstellen? Besorg dir das OpenWrt-SDK für deine Architektur und du kannst problemlos eigene Packages bauen. Dies sollte auch mittels cygwin unter Windows funktionieren. Wenn du nicht wirklich exotische Dinge 'treibst' muss der Kernel nicht neu kompiliert werden.
Du brauchst nur lighttpd und microperl. Mit Perl kannst du problemlos die Serielle Schnittstelle ansprechen. Auch über USB. Du erstellst z.b. eine html Seite mit einem Button der beim klicken ein Perl Script ausführt.
.. und ein Pollin Net-IO an einem beliebigen Wlan Router ist zu einfach ? k.
Klaus De lisson schrieb: > .. und ein Pollin Net-IO an einem beliebigen Wlan Router > ist zu einfach ? > > k. Ist halt im Vergleich zum Arduino Nano größer, teurer und braucht mehr Strom.
M. G. schrieb: > Wie würde die Telnet-Lösung auf dem Router aussehen? > Standardmäßig wird Telnet vermutlich auf die "echte" interne serielle > Schnittstelle des Routers gehen, wie können die Daten auf dem USB (FTDI) > weitergegeben werden? Schau mal nach "remserial" das scheint das passende zu sein um eine serielle oder bei dir eben virtuelle serielle Schnittstelle über TCP zu leiten. Das Port auf dem remserial den Dienst zur Verfügung stellt kannst du sicherlich einstellen um mit dem normalen Telnet nicht in die Quere zu kommen > Müsste dann auf dem Arduino Nano das Telnet-Protokoll implementiert > werden? nein auf dem Arduino hast du ja nach dem FTDI die serielle Schnittstelle µC <-> FTDI <-USB-> Virtuelle COM <-> remserial <-WLAN-> Telnetclient RS232 RS232 over USB RS232 RS232 over telnet +-- ARDUINO --+ +--------- WLAN-ROUTER -----------+ +--- SMARTPHONE Sascha
Sascha Weber schrieb: > Schau mal nach "remserial" das scheint das passende zu sein um eine > serielle oder bei dir eben virtuelle serielle Schnittstelle über TCP zu > leiten. Das hört sich gut an. Jetzt stellt sich mir noch die Frage, ob man remserial unter OpenWrt auf TL-MR3020 zum Laufen kriegt, möglichst im schon vorhandenen Flash?
M. G. schrieb: > Jetzt stellt sich mir noch die Frage, ob man remserial unter OpenWrt auf > TL-MR3020 zum Laufen kriegt, möglichst im schon vorhandenen Flash? Alternativ schau dir mal socat an, gibt es garantiert auch ein Paket für OpenWrt: http://www.dest-unreach.org/socat/
M. G. schrieb: > Sascha Weber schrieb: >> Schau mal nach "remserial" das scheint das passende zu sein um eine >> serielle oder bei dir eben virtuelle serielle Schnittstelle über TCP zu >> leiten. > > Das hört sich gut an. > Jetzt stellt sich mir noch die Frage, ob man remserial unter OpenWrt auf > TL-MR3020 zum Laufen kriegt, möglichst im schon vorhandenen Flash? such einfach mal bei G.., so wie ich es auch gemacht habe, unter OpenWrt läufts auf alle Fälle. Sascha
M. G. schrieb: >> .. und ein Pollin Net-IO an einem beliebigen Wlan Router >> ist zu einfach ? >> >> k. > > Ist halt im Vergleich zum Arduino Nano größer, teurer und braucht mehr > Strom. Da hast du wohl recht. Das Teil von Pollin zieht einiges an Saft. Meines habe ich zwar mit Hilfe von Schaltreglern etwas ruhiger machen können aber der Stromsparfuchs ist es nicht geworden. Gruss k.
... gibt es denn nicht auch irgend welche W-Lan Router, die direkt ein paar Pins frei haben? Da könnte man sich doch den ganzen Aufwand ausen rum sparen und die direkt schalten. Falls es sowas gibt --> suche ich auch. Ich selbst brauch das für ein simples Projekt, habe aber eigentlich wenig Lust an mehreren Stellen anzufangen zu programmieren.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.