Pico w, c-sdk und lwip

  • Moin!

    beschäftigt sich jemand, hier im Forum, mit dem Raspberry Pi Pico W und nutzt die C-SDK? Und im besonderen mit der Bibliothek lwip?
    Ich kann mich, mit dem Pico W, mit einem Server verbinden und sehe auch die Ausgabe des Servers, aber da sind so viele Unklarheiten.

    Eventuell kann man sich ja austauschen.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Auf dem pico_w hatte ich mal einen webserver mit cgi zum laufen bekomen, und ich glaube lwip benutzt zu haben. Der pico hatte einen accesspiont aufgemacht an dem man sich anmelden konnte und einen webserver, auf dem man das "home w-lan" eintragen konnte. Der pico hat sich dann auch mit dem "home w-lan" verbunden, aber die http-verbindung bricht dann ab und die Funktion liefert kein gültiges Return so das ich programmatisch nicht weiter kam und auf python umstieg.

    Ich hab Kapazitäten frei, was hast du genaueres im Sinn?

    Edit: Vielleicht macht es Sinn einen Hotspot und Webserver auf dem pico auf zu machen und die Analogeingänge -oder Anderes- per http grafisch anzeigen zu lassen? lwip läuft intern glaub ich über irq und dma. Meinen Code habe ich nicht mehr, da ich den pico_w mit dem c-sdk nicht einfach in den Griff bekan und nur einen ferngesteuerten ws2812-controller benötigte, und die schnelle python-lösung vorzog.

    Edited 2 times, last by HiddenSound70841 (May 10, 2025 at 11:48 PM).

  • Moin momefilo,

    danke für deine Antwort. Ich bastel gerade an einem http-Client.
    Wie geschrieben, kann ich mich mit dem Server verbinden und bekomme auch die Seite ausgeliefert. Aber erst nach gefühlten 5 Minuten. Das ist zwar Quatsch, aber es dauert. musste extra eine Wartefunktion einbauen, damit ich die Seite sehe. Mir ist aber nicht klar warum das so ist?
    Bei der funktionierenden Version nutze ich schon einige "Macros". Nun will ich das mal auf der "bare" Ebene probieren. Mal sehen ob das Verhalten gleich ist.

    Wenn es sich auch so verhält, dann steige ich auf einen ESP32 um. Wobei die auch lwip nutzen...

    Hilfe als solches benötigte ich nicht, war eher an einen Gedankenaustausch interessiert.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Zeig deinen Code, ich denke mit und frage wenn ich was nicht verstehe

    Edit: Wie verabeitest du empfangenen Daten? Sollen sie auf einem Display angezeigt werden?

  • Moin momefilo,

    Zeig deinen Code, ich denke mit und frage wenn ich was nicht verstehe

    Das war und ist nicht die Idee. Ich suche jemanden der sich schon mal etwas intensiver mit der lwip beschäftigt hat.

    Aber Danke für das Angebot!

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Es ist ja nicht das compilieren sondern das Portieren. Die lwipops.h parametriert -glaub ich- den Stack, dazu ist Detaillkenntnis dessen nötig. Du kannst theoretisch das TCP/IP Protokoll studieren und mit lwip praktisch umsetzen.

    Ich gehe lieber einem kronketem Ziel nach da ich den TCP/IP Stack vor 15Jahren studiert und im Detaill vergessen habe; ich müsste Kurose/Ross nochmachls lesen nur des Abstrakten wegen8|

    Edit: meiner Zeit hatte ich viatta genutzt um zumindest ein wenig von der noch abstrakteren "Windows Domänen" sicht weg zu kommen

  • Der Thread ist zwar schon über ein halbes Jahr alt, aber wenn noch immer Interesse besteht:

    Ich habe auf Github ein Projekt, das sich recht tief in das Thema LWIP einsteigt: https://github.com/Gerhard-Vienna/Pico-LibModbus. Mit einem HTTP-Client habe ich mich noch nicht beschäftigt, allerdings mit einem HTTP-Server: https://github.com/Gerhard-Vienna/Pico-W_Wi-Fi_Configure.

    Wenn Du Ewigkeiten auf die Ausgabe des Servers warten musst, liegt das mit großer Sicherheit an LWIP.
    Wenn ich Dir helfen kann, lass von Dir hören.

    Gerhard

  • Moin Gerhard-Vienna,

    danke für das Angebot!
    Mein http-Client ist schon länger fertig. Bin gerade dabei die Wartezeiten zu beseitigen.
    Was mich freut, das es noch mehr Menschen gibt die sich mit der C-SDK befassen und nicht den Python-Weg gehen.

    73 de Bernd

    //EDIT Mein Ziel war, die Leute zusammen zubringen, die sich mit der C-SDK des Raspberry Pi Pico beschäftigen. Man muss ja nicht alles allein machen...

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

    Edited once, last by Bernd666 (December 21, 2025 at 11:44 PM).

  • Moin Gerhard-Vienna,

    die Plauderecke ist ja immer da, man muss sich ja nicht am Donnerstag treffen.
    Im Moment habe ich den Pico etwas in die Ecke gelegt, weil mich lwip total nervt. Leider bin ich nicht soviel Programmierer um den Code auf der Schnelle zu verstehen.
    Zumindest habe ich einen NTP-Client hinbekommen. Nun bin ich soweit das ich aus einem Servernamen die IP Generieren kann und will nun die Daten holen..

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Im Moment habe ich den Pico etwas in die Ecke gelegt, weil mich lwip total nervt. Leider bin ich nicht soviel Programmierer um den Code auf der Schnelle zu verstehen.
    Zumindest habe ich einen NTP-Client hinbekommen. Nun bin ich soweit das ich aus einem Servernamen die IP Generieren kann und will nun die Daten holen..

    73 de Bernd

    Guten Morgen 73 de Bernd!

    Wenn Du einen NTP-Client hinbekommen hast, ist das Ziel nicht mehr weit entfernt!

    Nur um Missverständnisse zu vermeiden:

    Du verwendest lwip im "No-Sys-Mode" (#define NO_SYS  1 in lwip.h)?
    Und "PICO_CYW43_ARCH_POLL" ist nicht gesetzt (oder 0)?

    Das Beispiel in pico-examples/pico_w/wifi/http_client/ kennst Du?.

    Gerhard

  • Moin Gerhard,

    ja, ich arbeite mit den Timern und habe kein RTOS im Hintergrund.
    Ja das Beispiel kenne ich, es ist mir aber zu langsam. Es dauert halt bis der Inhalt einer Webseite ausgegeben wird.

    Übrigens mein Name ist Bernd. Das 73 und dekommt aus der Morsetelegrafie und bedeute "Viele Grüsse von".

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Hallo Bernd!

    Zuerst einmal, etwas verspätet: Schöne Feiertage!
    Mir hat das keine Ruhe gelassen und ich habe - quick and dirty - aus dem Client-Beispiel einen Test gebastelt.

    Testaufbau: ein Lighttpd-Server auf einem PI-3B+, im selben WLAN wie der pico, eineDatei mit 15 kiB Zufallszahlen.
    Ergebniss: eine 15 kiB großes Datei bekomme ich in ca. 90 ms übertragen.
    Natürlich ohne der Zeit, die der Pico braucht um sich mit dem WLAN zu verbinden und auch keine "Verarbeitung" der empfangenen Daten...

    PS:
    Ich habe zwar auch in grauer Vorzeit eine Ausbildung zum Tastfunker verpasst bekommen, aber die Kurzformen habe ich nicht gekannt

    Gerhard

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!