Forum: Mikrocontroller und Digitale Elektronik WIFI für PI ohne USB


von döfd (Gast)


Lesenswert?

Ein wie ich finde sehr interessantes Projekt:

https://hackaday.io/project/8678-rpi-wifi

Das würde ja neben Kosten auch einen wertvollen USB Port beim PI -Zero 
einsparen.
Hat das schon mal jemand ausprobiert ?

von Wolfgang (Gast)


Lesenswert?

döfd schrieb:
> Hat das schon mal jemand ausprobiert ?

Warum sollte ein Modul, dass mit jedem Arduino funktioniert, mit einem 
Pi plötzlich den Dienst verweigern?

von döfd (Gast)


Lesenswert?

Wolfgang schrieb:
> Warum sollte ein Modul, dass mit jedem Arduino funktioniert, mit einem
> Pi plötzlich den Dienst verweigern?

Das Teil arbeitet in diesem Modus als echtes WLAN Modul nicht als USART 
Brücke oder ähnliches. Also eher wie einem USB Wlan Stick mit Einbindung 
in das Betriebsystem über Kernaltreiber das ist schon etwas anderes.

von Draco (Gast)


Lesenswert?

döfd schrieb:
> Das Teil arbeitet in diesem Modus als echtes WLAN Modul nicht als USART
> Brücke oder ähnliches. Also eher wie einem USB Wlan Stick mit Einbindung
> in das Betriebsystem über Kernaltreiber das ist schon etwas anderes.

Ähm nein, ist mit SPI angeschlossen, und kann auf UART umgestellt 
werden. Wie üblich bei den Dingern.

von Tom (Gast)


Lesenswert?

Draco schrieb:
> Ähm nein, ist mit SPI angeschlossen, und kann auf UART umgestellt
> werden. Wie üblich bei den Dingern.

Ähm doch, lies mal den Text. Der Flash der bei den Modulen üblicherweise 
die AT-Firmware enthält wird ausgelötet. Stattdessen wird der Chip mit 
einer vom Systemtreiber vorgegebenen Firmware gebootet die via SDIO 
hochgeladen wird.
Danach steht das W-LAN Modul direkt dem System zur verfügung, als wäre 
es ein PCI oder USB W-LAN Dongle.
Das ist schon eine etwas andere Verwendung für das Modul als bisher 
üblich ;)

von Draco (Gast)


Lesenswert?

Es geht doch hier um den ESP8266 oder nicht? Der junge Mann hat halt 
einfach die Kirche ums Dorf getragen, mehr nicht.

von döfd (Gast)


Lesenswert?

Der Flash muss nicht ausgelötet werden! Es wird neben dem  ESP-12F  nur 
eine Adapterplatine und 6 Widerstände gebnutzt.

Die Anbindung erfolgt über SDIO als 4 bit statt 1 bit (SPI).
Das verspricht deutlich höhere Datenraten - ob die halt auch praktisch 
erreicht werde interessiert mich.

Draco schrieb:
> Es geht doch hier um den ESP8266 oder nicht? Der junge Mann hat halt
> einfach die Kirche ums Dorf getragen, mehr nicht.

Der junge Mann hat praktisches reengeniering auf sehr hohem Niveau 
praktiziert und herausgefunden das sich die ESP8266 wie die Vorgänger 
ESP8089 verhalten (Sie sind wohl auch vom Design in weiten Teilen 
identisch). Dadurch kann man wohl den ESP8089 Linux Treiber nutzen und 
hat so ein ultra-lowbudget Linux WIFI Modul.

Wohl nicht gans so schnell wie ein moderner USB Stick.

Würde mich halt interessieren ob/wie praktisch funktioniert.
Habe leider kein ESP-12F hier

von Draco (Gast)


Lesenswert?

Ja aber der ESP8266 hat doch von Haus aus SDIO? Ganz offiziell, im 
Datenblatt stehend.

von döfd (Gast)


Lesenswert?

Draco schrieb:
> Ja aber der ESP8266 hat doch von Haus aus SDIO? Ganz offiziell, im
> Datenblatt stehend.

Klar aber woher nimmst man den Linuxtreiber ?

von Tom (Gast)


Lesenswert?

Draco schrieb:
> Ja aber der ESP8266 hat doch von Haus aus SDIO? Ganz offiziell, im
> Datenblatt stehend.

Aha, nur weil der Chip SDIO hat und W-LAN kann, denkst du automatisch es 
wäre normal dass man das W-LAN via SDIO nutzen kann?
Ganz schön weit hergeholt...

döfd schrieb:
> Der Flash muss nicht ausgelötet werden! Es wird neben dem  ESP-12F  nur
> eine Adapterplatine und 6 Widerstände gebnutzt.

Er schreibt:

"All available ESP8266 modules use all six pins of the SDIO interface 
for the SPI flash. That means that the SPI flash will need to be removed 
from the module to gain access to the SDIO bus. The ESP-12E would be 
ideal for this since it breaks out the 6 SDIO signals to castellations, 
but it has a soldered-down shield making it difficult to desolder the 
flash. The popular ESP-01 has no shield, but from the PCB art posted 
online also has GPIO15 strapped low via a trace under the QFN, making it 
impossible to boot into SDIO mode. I ended up with the ESP-03, which has 
no lid and brings all the GPIOs needed for boot mode strapping out to 
pads."

Hab ich am Ende was überlesen, dass der Flash bleiben kann, weil er 
nicht stört?

von Johannes S. (8n1)


Lesenswert?

Klick mal auf "Project log" da hat er alles genau beschrieben. Da hat 
sich jemand richtig mühe geben.

Hier der Teil bei dem er sagt dass es auch ohne klappt (bzw klappen 
sollte) 
https://hackaday.io/project/8678-rpi-wifi/log/32008-on-sdio-and-the-mysteries-of-the-universe

Ich werd das ganze auch mal versuchen hab alles da. Den flash löt ich 
aber aus.

von döfd (Gast)


Lesenswert?

Tom schrieb:
> Hab ich am Ende was überlesen, dass der Flash bleiben kann, weil er
> nicht stört?

Jetzt wo du den Text zitiert bin ich mir auch nicht mehr sicher. Ich 
hatte das nicht zuletzt wegen einem anderem Artikel so verstanden das 
der drin bleiben kann.
http://oshlab.com/esp8266-raspberry-pi-gpio-wifi/

Ich denke du hast recht und bei mir war mal wieder der Wunsch Vater des 
Gedankens .

von döfd (Gast)


Lesenswert?

Johannes S. schrieb:
> Hier der Teil bei dem er sagt dass es auch ohne klappt (bzw klappen
> sollte)
> 
https://hackaday.io/project/8678-rpi-wifi/log/32008-on-sdio-and-the-mysteries-of-the-universe

Cool das wäre ja super.
Bin mal wieder sehr langsam :-)

von Johannes S. (8n1)


Lesenswert?

Oh. :)

Nicht "Project log" sondern nur "LOG"

\*dass es auch ohne entlöten klappt*

: Bearbeitet durch User
von Mac L. (macload1)


Lesenswert?

Ich habe das Ganze mal getestet, und es funktionniert wunderbar bei mir.

Nur ein Problem hatte mich etwas länger aufgehalten: der GPIO (n° 21), 
den ich zum resetten (CH_PD) benutze, war als Input mit Pull-Down 
konfiguriert, und obwohl ich einen extra Absatz im Overlay für diesen 
GPIO habe, ging dieser nach dem Reset des Moduls sofort wieder auf Input 
mit Pull-Down.
Damit es funktionniert lasse ich das Modul nun über rc.local starten, 
nachdem ich mit dem Programm "raspi-gpio" den GPIO auf Pull-Up gesetzt 
habe, so etwa:

raspi-gpio set 21 pu & sudo modprobe esp8089

Schade dadurch ist, dass das WiFi etwas später erst einsatzbereit ist, 
aber für mein jetziges Projekt ist das nicht wirklich ein Problem.

: Bearbeitet durch User
von döfd (Gast)


Lesenswert?

Mac L. schrieb:
> Ich habe das Ganze mal getestet, und es funktionniert wunderbar bei mir.

Hast du den Flash ausgelötet? Ich warte noch auf die Teile und würde mir 
das gerne ersparen.
Kannst du abschätzen wie schnell die Datenübertragung ist?

von Mac L. (macload1)


Lesenswert?

Nein, den Flash brauchte ich nicht auszulöten. Habe wohl die 33 Ohm 
Resistenzen eingesetzt.

Ich habe noch keinen Test zur Datenübertragung gemacht. Ich warte dazu 
noch auf einen Kamerachip. Wollte testen wieviele FPS ich rübergeschoben 
bekomme.

Mit welchem Programm/Befehl könnte man solche Datentest am einfachsten 
testen?

Ich benutze oft "scp" um Daten von meinem PC auf den Raspberry zu 
übertragen, aber ich habe keine Ahnung, ob da nicht zu viel Overhead mit 
bei ist.

von döfd (Gast)


Lesenswert?

Danke für die Info.
Ich kenn scp zwar nicht aber da gibt es wohle ein Debugschalter -v
siehe:
http://www.tecmint.com/scp-commands-examples/

Damit sollte man die Tansferrate ermitteln können. Wobei die Berechnung 
der Verschlüsselung die Datenübertragung ausbremsen könnte.

von Liz (Gast)


Lesenswert?

1. Linux

nc -v -l 2222 > /dev/null

2. Linux.
dd if=/dev/zero bs=1024K count=512 | nc -v 192.168.1.14 2222

Ip ist anzupassen.

von Mac L. (macload1)


Lesenswert?

Bei scp sollte das eigentlich mit "-p" schon genügen. Aber halt wie 
gesagt, ich kenne nicht den genauen Overhead (selbst wenn ich denke, 
dass er nicht allzu groß sein sollte).

Danke Liz, ich werde auch deine netcat-Befehle versuchen. (frühestens 
heute Abend, spätestens am Sonntag). Verstehe ich es richtig, dass 
dadurch eine 512 MB große Datei von Nullen über den Port 2222 von einem 
Rechner zum anderen geschoben werden, und auf dem letzteren erst gar 
nicht gespeichert werden und so im Nichts verschwinden?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Mac L. schrieb:
> Verstehe ich es richtig, dass
> dadurch eine 512 MB große Datei von Nullen über den Port 2222 von einem
> Rechner zum anderen geschoben werden, und auf dem letzteren erst gar
> nicht gespeichert werden und so im Nichts verschwinden?

Das ist korrekt.

von Mac L. (macload1)


Lesenswert?

Also, der Transfer vom PC zum Raspberry hat das folgende ergeben:
536870912 Bytes (537 MB) kopiert, 200,911 s, 2,7 MB/s
Vom Raspberry zum PC gibt es die folgenden Werte:
536870912 bytes (537 MB) copied, 231.106 s, 2.3 MB/s

Beide Werte wurden durch die Netcat-Methode ausgegeben.

Mein PC hängt über Ethernet an einem Router, an dem der RPI über WiFi 
angeschlossen ist. Das sind zwar nicht so gute Werte, aber ich bin mir 
sicher, dass man da noch etwas dran herumwerkeln kann. Ich habe in dem 
Artikel von hackaday gelesen, dass man ein wenig optimieren kann...

von Schreiber (Gast)


Lesenswert?

Mac L. schrieb:
> Also, der Transfer vom PC zum Raspberry hat das folgende ergeben:
> 536870912 Bytes (537 MB) kopiert, 200,911 s, 2,7 MB/s
> Vom Raspberry zum PC gibt es die folgenden Werte:
> 536870912 bytes (537 MB) copied, 231.106 s, 2.3 MB/s

Mit einem WLAN-USB-Stick geht das definitiv schneller.

von Liz (Gast)


Lesenswert?

Nutzt die halbe Bandbreite, 54 Mbit vom g Protokoll. Interessant ware 
win weiterer test wenn man den Router auf exclusive n Protokoll 
configuriert sofern er das n protokoll Kennt.
Router welche g/n fahren limitieren n auf die g Geschwindigkeit sofern 
ein Klient g fahrt,
Oder etliche Modelle auch wenn kein g Klient vorhanden ist.

Wenn die Datenverbindung direkt geht, halbe Bandbreite, wenn es aber 
über den Router geht was ich stark vermute, dann nutzt es die volle 
Bandbreite.
Um das festzustellen braucht man eine WLAN Karte welche die Daten 
mitschneiden kann, promiscus mode, bzw abgeschaltet er mac filter.

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.