{"id":2820,"date":"2022-09-13T13:48:08","date_gmt":"2022-09-13T11:48:08","guid":{"rendered":"https:\/\/cbrell.de\/blog\/?p=2820"},"modified":"2022-12-16T15:43:34","modified_gmt":"2022-12-16T14:43:34","slug":"raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung","status":"publish","type":"post","link":"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/","title":{"rendered":"Raspberry Pico W im WLAN mit Python &#8211; eine Einf\u00fchrung"},"content":{"rendered":"<p><em>Den Raspberry Pico gibt es in Ausf\u00fchrungen mit und ohne WLAN. Dabei l\u00e4sst sich der Raspberry Pico W (kurz Pico W) im WLAN mit Python gut und einfach programmieren. Insbesondere Neueinsteiger sto\u00dfen auf wenig H\u00fcrden. Im Folgenden finden Sie eine Einf\u00fchrung.<\/em><\/p>\n<p>Stand: 16.12.2022 (work in progress)<\/p>\n<h2>Inhalt Pico W im WLAN mit Python<\/h2>\n<p>Was ist der Raspberry Pico W?<\/p>\n<p>Warum Python?<\/p>\n<p>Thonny IDE f\u00fcr Python laden und einrichten<\/p>\n<p>Pico W anschlie\u00dfen und Micro Python auf den Pico W laden<\/p>\n<p>Thonny IDE f\u00fcr den Pico W anpassen<\/p>\n<p>Erste Python-Experimente mit dem Pico W<\/p>\n<p>Den Pico W ins WLAN bringen<\/p>\n<p>Der Pico W spricht mit einem Webservice<\/p>\n<p>Den Pico W standalone la\u00fafen lassen<\/p>\n<p>Ausblick<\/p>\n<p>Quellen<\/p>\n<h2>Was ist der Raspberry Pico W?<\/h2>\n<p>Der Raspberry Pico ist eine Microcontroller-Platine so wie ein Arduino, ein Calliope Mini oder ein ESP32. Es werkelt ein RP2040-Prozessor, den die Raspberry Pi Foundation\u00a0 entwickelt hat, darauf. Schnell hat sich um den Pico eine aktive und wachsende Community gebildet. Im Gegensatz zum Raspberry Pi, der ein vollwertiger Kleincomputer mit Betriebssystem auf SD-Karte ist, eignet sich der Pico f\u00fcr einfachere Aufgaben. Die &#8222;Einstiegsh\u00fcrden&#8220; sind geringer. Den Pico k\u00f6nnen Sie mit C\/C++ z.B. mit der Arduino-IDE programmieren oder mit MicroPython. Die Thonny IDE macht letzteres besonders einfach. Die Variante Pico W hat nun &#8211; so wie auch der ESP32 &#8211; WLAN und Bluetooth an Board. Damit l\u00e4sst sich der Pico W ins heimische Netz einbinden.<\/p>\n<h2>Warum Python?<\/h2>\n<p>Python hat als Programmiersprache im KI-Umfeld eine besondere Bedeutung. Auch der Raspberry Pi setzt auf Python. Python ist im Tiobe Index im September 2022 auf Platz eins, dicht gefolgt von der zweitplatzierten Sprache C. Python solle einfach zu erlernen sein, den Einstieg erleichtert sicherlich, dass Python interpretiert wird und der l\u00e4stige Code-Compile-Test Loop entf\u00e4llt. F\u00fcr fast alle technischen und ernsthaften wissenschaftlichen Anwendungsf\u00e4llen gibt es fertige Bibliotheken. Schnell finden Sie f\u00fcr Ihre Problemstellung, \u00b4wie besonders sie auch sein mag, ein Tutorial, dass sie l\u00f6st.<\/p>\n<p>Python ist ein wenig langsamer als z.B. C, was jedoch meist nicht ins Gewicht f\u00e4llt. Hinderlich hingegen sind Hintergrundprozesse in Python wie Garbage Collection, die in seltenen F\u00e4llen unerwartete Effekte bei Echtzeitanwendungen hervorrufen.<\/p>\n<p>F\u00fcr den Einstig in Python gen\u00fcgt ein einfacher Texteditor mit Syntax-Highlighting (Sublime Text, Notepad++, Atom). Bequemer ist es mit c.B. Visual Studio Code oder einer kompletten schlanken Entwicklungsumgebung wie die Thonny IDE:<\/p>\n<h2>Thonny IDE f\u00fcr Python laden und einrichten<\/h2>\n<p>Nutzung der Thonny IDE ist der bequeme Weg, den Pico W mit Python zu programmieren. Alle Beispiele wurden mit einem Macbook unter MacOS ausprobiert.<\/p>\n<h3>Thonny herunterladen<\/h3>\n<p>Unter <a href=\"https:\/\/thonny.org\/\">https:\/\/thonny.org\/<\/a> finden Sie direkt den Download-Link f\u00fcr die Betriebssysteme Windows, MacOS und Linux. Der Link verweist auf GitHub <a href=\"https:\/\/github.com\/thonny\/thonny\/releases\/tag\/v4.0.1\">https:\/\/github.com\/thonny\/thonny\/releases\/tag\/v4.0.1<\/a>, die installation ist dort auf englisch beschrieben. F\u00fcr den Mac laden Sie thonny-x.x.x.pkg, die Datei ist nur 40 MB gro\u00df. Mit einem Doppelklick starten Sie den Installationsprozess, der etwa 140 MB auf der Festplatte ben\u00f6tigt.<\/p>\n<h3>Thonny zum ersten Mal starten und ausprobieren<\/h3>\n<p>Starten Sie Thonny und stellen Sie zun\u00e4chst mit Thonny | Preferences | Interpreter als Interpreter &#8222;Lokales Python 3&#8220; ein.<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonni-einrichten-Auswahl-Python-Interpreter.jpg\"><img decoding=\"async\" class=\"alignnone wp-image-2832 size-large\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonni-einrichten-Auswahl-Python-Interpreter-1024x501.jpg\" alt=\"Bild Screenshot Thonny IDE einrichten\" width=\"1024\" height=\"501\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonni-einrichten-Auswahl-Python-Interpreter.jpg 1024w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonni-einrichten-Auswahl-Python-Interpreter-300x147.jpg 300w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonni-einrichten-Auswahl-Python-Interpreter-768x376.jpg 768w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonni-einrichten-Auswahl-Python-Interpreter-1536x752.jpg 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>Abb. 1: Thonny Bildschirmdialog f\u00fcr die Einstellungen<\/p>\n<p>Es \u00f6ffnet sich ein neues Editierfenster. Das Fenster hat noch keinen Namen, w\u00e4hlen Sie Datei | Speichern unter &#8230; und speichern Sie als &#8222;ersterTest.py&#8220;.<\/p>\n<p>Im unteren Teil des Editierfensters k\u00f6nnen Sie interaktiv einzelne Python Befehle ausprobieren (Abb. 2)<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonny-Python-interaktiv-ausprobieren.jpg\"><img decoding=\"async\" class=\"alignnone wp-image-2833 size-large\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonny-Python-interaktiv-ausprobieren-1024x554.jpg\" alt=\"Bild Screenshot Python interaktiv in Thonny ausprobieren\" width=\"1024\" height=\"554\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonny-Python-interaktiv-ausprobieren.jpg 1024w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonny-Python-interaktiv-ausprobieren-300x162.jpg 300w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonny-Python-interaktiv-ausprobieren-768x416.jpg 768w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonny-Python-interaktiv-ausprobieren-1536x832.jpg 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>Abb. 2: Python Befehle ausprobieren in der Konsole<\/p>\n<p>Im oberen Teil des Editierfensters k\u00f6nnen Sie mehrer Python Befehle untereinander schreiben und die Befehlskette (das Python-Programm) speichern, um an einem anderen Tag an Ihrem Programm weiter zu arbeiten. Klicken Sie auf den gr\u00fcnen Pfeil oben in der Leiste, die Ausgaben Ihres Programms sehen Sie dann im unteren Teil des Fensters (Abb. 3).<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonny-mit-Raspi-Pico-W-Module.jpg\"><img decoding=\"async\" class=\"alignnone wp-image-2834 size-large\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonny-mit-Raspi-Pico-W-Module-1024x784.jpg\" alt=\"Bild Screenshot Thonny Module\" width=\"1024\" height=\"784\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonny-mit-Raspi-Pico-W-Module.jpg 1024w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonny-mit-Raspi-Pico-W-Module-300x230.jpg 300w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Thonny-mit-Raspi-Pico-W-Module-768x588.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>Abb. 3: Python Programm schreiben und lokal ausf\u00fchren mit Thonny<\/p>\n<p>&nbsp;<\/p>\n<h2>Pico W anschlie\u00dfen und Micro Python laden<\/h2>\n<p>Schlie\u00dfen Sie den Pico W an Ihren Rechner an. Es passiert nichts, es sei denn, der Pico hat bereits ein Programm, das etwas tut.<\/p>\n<p>Schlie\u00dfen Sie den Pico W an Ihren Rechner an und halten Sie dabei die &#8222;BOOTSEL&#8220; Taste gedr\u00fcckt. Im Dateimanager (Finder auf dem Mac) sehen Sie ein neues Laufwerk &#8222;RPI-RP2&#8220;. Das Laufwerk enth\u00e4lt zwei Dateien INDEX.HTM und INFO_UF2.HTM. Wenn Sie ein Programm geschrieben haben (eine .uf2-Datei erzeugt haben) kopieren Sie das Programm auf den Pico. Der Pico startet dann selber automatisch neu. Dieser Prozess ist vergleichbar mit dem Aufspielen einer .hex-Datei auf einen Calliope Mini.<\/p>\n<p>Damit Sie direkt Python-Programme auf den Pico laden k\u00f6nnen, brauchen Sie einen Python-Interpreter. Auch dieser ist nur ein Programm als .uf2-Datei, die sie vorab auf den Pico laden m\u00fcssen.<\/p>\n<p>Sie bekommen die Datei von der RaspberryPi.com-Seite unter\u00a0 https:\/\/www.raspberrypi.com\/documentation\/microcontrollers\/micropython.html. Wichtig ist: Haben Sie einen Pico ohne W ben\u00f6tigen Sie eine andere Datei als f\u00fcr den Pico W. In diesem Falle laden Sie<\/p>\n<p><a href=\"https:\/\/micropython.org\/download\/rp2-pico-w\/rp2-pico-w-latest.uf2\">Raspberry Pi Pico W<\/a>\u00a0(with\u00a0<a href=\"https:\/\/makeblock-micropython-api.readthedocs.io\/en\/latest\/public_library\/Third-party-libraries\/urequests.html\">urequests<\/a>\u00a0and\u00a0<a href=\"https:\/\/docs.micropython.org\/en\/latest\/reference\/packages.html\">upip<\/a>\u00a0preinstalled)<\/p>\n<p>Die so heruntergeladene uf2-Datei schieben Sie auf Ihr Laufwerk RPI-RP2.<\/p>\n<p>Der Pico startet neu und sollte nun f\u00fcr das interaktive Arbeiten mit Python und der Thonny-IDE bereit sein.<\/p>\n<p>Sollten Sie die falsche Datei installiert haben, werde Sie es sp\u00e4testens merken, wenn Sie f\u00fcr den Befehl import network eine Fehlermeldung bekommen.<\/p>\n<p>UPDATE F\u00dcR MAC USER 16.12.2022: Mit MacOS Ventura und \u00c4nderungen in der Art, wie der Finder mit Dateien umgeht, kann dazu f\u00fchren, dass ge\u00fcbte Praxis mit dem Pico (und anderen Microcontrollern) nicht mehr funktioniert (Stand November 2022) . Anscheinend hat Apple das Probelm just behoben, nachzulesen hier: https:\/\/www.raspberrypi.com\/news\/the-ventura-problem\/<a href=\"https:\/\/www.raspberrypi.com\/news\/the-ventura-problem\/\">https:\/\/www.raspberrypi.com\/news\/the-ventura-problem\/<\/a>. Ich selber untersuche das gerade noch &#8230;<\/p>\n<h2>Thonny IDE f\u00fcr den Pico W anpassen<\/h2>\n<p>Sollten Sie einmal den unteren Teil mit der Kommandozeile nicht sehen, aktivieren Sie ihn mit Ansicht | Kommandozeile.<\/p>\n<p>Stellen Sie mit Thonny | Preferences | Interpreter als Interpreter &#8222;MicroPython (Raspberry Pi Pico&#8220; ein.<\/p>\n<p>In der Kommadozeile (unteres Thonny-Fenster) geben Sie ein:<\/p>\n<p>help(&#8222;modules&#8220;)<\/p>\n<p>Wenn Sie die Module sehen, die Sie nun verwenden k\u00f6nnen und &#8222;network&#8220; ist dabei (Abb. 4), haben Sie vermutlich alles richtig eingestellt.<\/p>\n<p>Abb. 4: Pico W angeschlossen, Anzeige der Module<\/p>\n<h2>Erste Python-Experimente mit dem Pico W<\/h2>\n<p>Nun k\u00f6nnen Sie Python interaktiv \u00fcber die Kommandozeile auf dem Pico W ausprobieren oder kleine Programme schreiben. Als erstes bringen Sie die Leuchtdiode auf dem Pico zum Blitzen. Im Folgenden benennen Sie das Progamm immer &#8222;main.py&#8220;, so k\u00f6nnen Sie es sp\u00e4ter als &#8222;Stand alone Programm&#8220; auf den Pico spielen.<\/p>\n<p>Schreiben Sie im Editor (oberes Thonny Fenster) folgenden Quellcode:<\/p>\n<pre># Bibliotheken laden\r\nimport machine\r\nimport network\r\nimport rp2\r\nimport utime as time\r\nimport urequests as requests\r\n\r\n# Status-LED\r\nled_onboard = machine.Pin('LED', machine.Pin.OUT, value=0)\r\n\r\n# Funktion: LED-Blitzer\r\ndef blink(anzahl):\r\n  for k in range (anzahl):\r\n    led_onboard.on()\r\n    time.sleep_ms(8)\r\n    led_onboard.off()\r\n    time.sleep_ms(96)\r\n\r\n# Dauerschleife\r\nwhile (1==1):\r\n  print('Blink 2')\r\n  blink(2)\r\n  time.sleep(3)\r\n  print('Blink 5')\r\n  blink(5)\r\n  time.sleep(3)<\/pre>\n<p>Listing 1: Ein Dauer-LED-Blitzer<\/p>\n<p>Starten Sie das Programm mit einem Klick auf den gr\u00fcnen Pfeil. Damit wird das Program auf den Pico geladen und automatisch gestartet. Im Ausgabefenster sollten sie alle drei Sekunden &#8222;Blink 2&#8220; bzw &#8222;Blink 5&#8220; sehen, die gr\u00fcne LED auf dem Pico blitzt zweimal und f\u00fcnf Mal auf.<\/p>\n<h2>Den Pico W ins WLAN bringen<\/h2>\n<p>Erweitern Sie Ihr Programm wie in Listing 2. Es enth\u00e4lt Aufrufe f\u00fcr die Verbindung mit Ihrem WLAN. Sie ben\u00f6tigen Ihre SSID (WLAN-Name) und Ihr WLAN-Zugangspasswort.<\/p>\n<pre># Bibliotheken laden\r\nimport machine\r\nimport network\r\nimport rp2\r\nimport utime as time\r\nimport urequests as requests\r\n\r\n\r\n# Status-LED\r\nled_onboard = machine.Pin('LED', machine.Pin.OUT, value=0)\r\n\r\n# WLAN-Konfiguration\r\n# hier Ihre SSID\r\nwlSsid = 'xxxxxxxxxxx'\r\n# hier Ihr Passwort\r\nwlPw = 'xxxxxxxxxxxx'\r\nrp2.country('DE')\r\n\r\n# Funktion: LED-Blitzer\r\ndef blink(anzahl):\r\n for k in range (anzahl):\r\n  led_onboard.on()\r\n  time.sleep_ms(8)\r\n  led_onboard.off()\r\n  time.sleep_ms(96)\r\n\r\n# Funktion: WLAN-Verbindung\r\ndef wlanConnect():\r\n  wlan = network.WLAN(network.STA_IF)\r\n  if not wlan.isconnected():\r\n    print('WLAN-Verbindung aufbauen')\r\n    wlan.active(True)\r\n    wlan.connect(wlSsid, wlPw)\r\n    for i in range(10):\r\n      if wlan.status() &lt; 0 or wlan.status() &gt;= 3:\r\n        break\r\n        led_onboard.toggle()\r\n        print('-&gt;', wlan.status())\r\n        time.sleep(0.5)\r\n  if wlan.isconnected():\r\n    print('WLAN-Verbindung ok')\r\n    led_onboard.on()\r\n    print('WLAN-Status:', wlan.status())\r\n    netConfig = wlan.ifconfig()\r\n    print('IPv4-Adresse:', netConfig[0], '\/', netConfig[1])\r\n    print('Standard-Gateway:', netConfig[2])\r\n    print('DNS-Server:', netConfig[3])\r\n    time.sleep(3)\r\n    led_onboard.off()\r\n  else:\r\n    print('Keine WLAN-Verbindung')\r\n    led_onboard.off()\r\n    print('WLAN-Status:', wlan.status())\r\n        \r\n\r\n# WLAN-Verbindung herstellen\r\nwlanConnect()\r\n\r\n# Dauerschleife\r\nwhile (1==1):\r\n  blink(2)\r\n  time.sleep(10)\r\n<\/pre>\n<p><span style=\"background-color: #ffffff; font-family: 'Open Sans', Helvetica, Arial, sans-serif;\">Listing 2: Der Dauer-LED-Blitzer nimmt Kontakt zum heimischen WLAN auf.<\/span><\/p>\n<p>Diesen Code k\u00f6nnen Sie nun so erweitern, dass der Pico Daten aus dem Internet holt oder auf einen Internetserver transferiert. F\u00fcr das erste verwenden Sie z.B. wie hier einen Wetterdienst, f\u00fcr das zweite schreiben Sie sich ein kleines Script auf Ihrem Webserver.<\/p>\n<p>Schreiben Sie nun in Ihren Code hinein (Am Anfang dort, wo andere Variablen gesetzt werden):<\/p>\n<pre># Aufruf URL\r\nurlWetter=\"http:\/\/wttr.in\/willich\"<\/pre>\n<p>Listing 3: Ein Wetterdienst (sieht nicht sch\u00f6n aus und wird noch ersetzt)<\/p>\n<p>Sie brauchen noch eine Funktion, die einen http-Aufruf durchf\u00fchrt. Schreiben Sie die Funktion hinter die anderen Funktionen.<\/p>\n<pre># Funktion eines Internt-Aufrufs\r\n# nur die URL muss uebergeben werden\r\ndef httpAufruf(url):\r\n    # HTTP-Request senden\r\n    print('Request: GET', url)\r\n    response = requests.get(url)\r\n    if response.status_code == 200:\r\n        print('Response:', response.content, 'Code:', response.status_code)\r\n        blink(2)\r\n    else:\r\n        print('Status-Code:', response.status_code)\r\n        print('Fehler:', response.reason)\r\n        response.close()\r\n        blink(5)\r\n<\/pre>\n<p>Listing 4: Eine Funktion f\u00fcr den http-Aufruf<\/p>\n<p>Die Funktion rufen Sie dann auf mit<\/p>\n<pre>httpAufruf(urlWetter)<\/pre>\n<h2>Der Pico W spricht mit einem eigenen Webservice<\/h2>\n<p>Insbesondere wenn Sie den Pico als IoT-Device (ein kleines Ger\u00e4t, das etwas misst und die Daten an einen Internet-Server \u00fcbertr\u00e4gt) einsetzen wollen, brauchen Sie einen Programm im Internet, dass die Daten entgegennimmt. Den folgenden Webservice k\u00f6nnen Sie f\u00fcr einige wenige Tests nutzen, sollten aber dann das Script auf einen eigenen Webserver aufspielen.<\/p>\n<p>Erweitern Sie Ihr Python-Programm um folgende Zeilen:<\/p>\n<pre>urlUp=\"https:\/\/cbrell.de\/test\/220913picoWS\/picoWS.php?x=Claus-1933\"<\/pre>\n<p>Ersetzen Sie dabei &#8222;Claus&#8220; durch Ihren Vornahmen &#8211; aber ohne Umlaute &#8211; und &#8222;1933&#8220; durch Ihr Geburtsjahr. Es sollen keine Umlaute, Sonderzeichen und Leerzeichen auftauchen.<\/p>\n<p>Der Aufruft ist dann wie oben<\/p>\n<pre>httpAufruf(urlUp)<\/pre>\n<p>Ob Ihre Daten angekommen sind, k\u00f6nnen Sie mit dem Browser testen mit dem Aufruf<\/p>\n<p>https:\/\/cbrell.de\/test\/220913\/LOG\/Claus-1933.csv<\/p>\n<p>Wollen Sie so etwas f\u00fcr Ihre eigenen Daten verwenden, z.B. einen Temperaturlogger, k\u00f6nnen sie das folgende PHP-Script f\u00fcr Ihre Zwecke anpassen.<\/p>\n<pre>&lt;?php\r\n\/*\r\npicoWS\r\nClaus Brell\r\nspeichert Daten in Logdateien\r\nStandort: cbrell.de\/test\/220913picoWS\/picoWS.php\r\nerste Erstellung 12.02.2021, Anpassung 13.09.2022:\r\nAufruf:\r\npicoWS.php?x=Vorname-Geburtsdatum\r\n*\/\r\n\/\/ Vorbelegungen\r\n$log=\"LOG\/\";\r\n\/*\r\nDaten aus \u00dcbergabestring \u00fcbernehmen\r\nerwartet:\r\nx=Vorname-Geburtsdatum\r\nalle Daten Text\r\nFehlerbehandlung und R\u00fcckgabe:\r\n0 fehlerfrei\r\n1 Fehler\r\n*\/\r\n$fehler=0;\r\nif (!isset($_GET['x'])) $fehler=\"1 Fehler: keine Parameter\";\r\nif (strlen($_GET['x'])&lt;3 or strlen($_GET['x'])&gt;256) $fehler=\"2 Fehler: falsche Laenge\";\r\nif ($fehler!=0) exit ($fehler);\r\n\/\/ Daten enoden und \u00fcbernehmen\r\n$x=urldecode($_GET['x']);\r\n\/\/ Daten in Textdatei speichern\r\n$zeit=date('ymd-His');\r\n$zeitstempel=time();\r\n\/\/ Sicherung in Datei\r\nfile_put_contents ( $log.$x.\".txt\" , $x.' ; '.$zeit);\r\necho $fehler;\r\n?&gt;<\/pre>\n<p>Listing 5: Ein einfacher Webservice in PHP.<\/p>\n<p>Das komplette Programm f\u00fcr den Pico W ist in Listing 6 gezeigt. Die vorigen Experimente sind herausgenommen.<\/p>\n<pre># Bibliotheken laden\r\nimport machine\r\nimport network\r\nimport rp2\r\nimport utime as time\r\nimport urequests as requests\r\n\r\n\r\n# Status-LED\r\nled_onboard = machine.Pin('LED', machine.Pin.OUT, value=0)\r\n\r\n# WLAN-Konfiguration\r\n# hier Ihre SSID\r\nwlSsid = 'Gloryhammer'\r\n# hier Ihr Passwort\r\nwlPw = 'dada08154711'\r\nrp2.country('DE')\r\n\r\n# Aufruf URL\r\nurlUp=\"https:\/\/cbrell.de\/test\/220913picoWS\/picoWS.php?x=Claus-1933\"\r\nurlDown=\"https:\/\/cbrell.de\/test\/220913picoWS\/LOG\/Claus-1933.txt\"\r\n\r\n# Funktion: LED-Blitzer\r\ndef blink(anzahl):\r\n for k in range (anzahl):\r\n  led_onboard.on()\r\n  time.sleep_ms(16)\r\n  led_onboard.off()\r\n  time.sleep_ms(128)\r\n\r\n# Funktion: WLAN-Verbindung\r\ndef wlanConnect():\r\n  wlan = network.WLAN(network.STA_IF)\r\n  wlan.active(True)\r\n  print(wlan.scan())\r\n  print('WLAN-Verbindung aufbauen')\r\n  wlan.connect(wlSsid, wlPw)\r\n  while not wlan.isconnected():\r\n    blink(1)\r\n    print('WLAN-Status:', wlan.status())\r\n    time.sleep(1)\r\nif wlan.isconnected():\r\n  print('WLAN-Verbindung ok')\r\n  led_onboard.on()\r\n  print('WLAN-Status:', wlan.status())\r\n  netConfig = wlan.ifconfig()\r\n  print('IPv4-Adresse:', netConfig[0], '\/', netConfig[1])\r\n  print('Standard-Gateway:', netConfig[2])\r\n  print('DNS-Server:', netConfig[3])\r\n  time.sleep(3)\r\n  blink(5)\r\nelse:\r\n  print('Etwas ist schiefgegangen')\r\n        \r\ndef httpAufruf(url):\r\n    # HTTP-Request senden\r\n    print('Request: GET', url)\r\n    response = requests.get(url)\r\n    if response.status_code == 200:\r\n        print('Response:', response.content, 'Code:', response.status_code)\r\n        blink(2)\r\n    else:\r\n        print('Status-Code:', response.status_code)\r\n        print('Fehler:', response.reason)\r\n        response.close()\r\n        blink(20)\r\n    \r\n# WLAN-Verbindung herstellen\r\nwlanConnect()\r\n\r\n# Dauerschleife\r\nwhile (1==1):\r\n  httpAufruf(urlUp)\r\n  httpAufruf(urlDown)\r\n  time.sleep(10)\r\n<\/pre>\n<p>Listing 6: Ein IoT Client Rohling f\u00fcr den Pico W in Python<\/p>\n<h2>Den Pico W stand alone laufen lassen<\/h2>\n<p>Bislang funktioniert das nur, wenn der Pico W am Comuter angeschlossen und die Thonny-IDE aktiv ist. Das ist unpraktisch, wenn der Pico eigenst\u00e4ndig z.B. mit einem Batteriepack im Garten laufen soll. Dazu fehlt nur noch ein kleiner Schritt.<\/p>\n<p>Wenn der Pico mit gedr\u00fcckert BOOTSEL Taste angeschlossen wird, pr\u00e4sentiert er sich als Laufwerk. Die Firmware mit Micro Python sorgt nun daf\u00fcr, das ein Python-Programm, das &#8222;main.py&#8220; hei\u00dft, f\u00fcr den stand alone Betrieb \u00fcbernommen wird.<br \/>\nSpeichern Sie nun Ihr Programm aus der Thonny-IDE auf Ihren Computer unter dem Namen main.py. Stecken Sie sodann den Pico W ein. Kopieren Sie die Datei main.py in das Laufwerk RPI-RP2. Der Pico f\u00fchrt nun, immer wenn neu gestartet, dieses Programm aus.<\/p>\n<h2>Ausblick<\/h2>\n<p>Die Uhrzeit von einem Webservice berechnen zu lassen ist wenig spannend. Es ist jetzt nur noch ein kleiner Schritt, aus dem Pico W z.B. einen WLAN-Temperaturlogger zu machen.<\/p>\n<h2>Quellen<\/h2>\n<p>Einer von vielen Python-Kursen im Internet: <a href=\"https:\/\/www.python-kurs.eu\/python3_kurs.php\">https:\/\/www.python-kurs.eu\/python3_kurs.php<\/a><\/p>\n<p>Offizielle Seite der Raspberry Foundation: <a href=\"https:\/\/www.raspberrypi.org\/\">https:\/\/www.raspberrypi.org\/<\/a><\/p>\n<p>Offizielle Pico Micro Python SDK Dokumentation: <a href=\"https:\/\/datasheets.raspberrypi.com\/pico\/raspberry-pi-pico-python-sdk.pdf\">https:\/\/datasheets.raspberrypi.com\/pico\/raspberry-pi-pico-python-sdk.pdf<\/a><\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/raspberry-pi-projekte-uebersicht\/\">\u00dcbersicht der Raspberry -Projektseiten<\/a> auf cbrell.de<\/p>\n<p><a href=\"https:\/\/www.tiobe.com\/tiobe-index\/\">Tiobe Index<\/a><\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/cbrell.de\/zaehler?x=3359\" \/><\/p>\n<div class=\"shariff shariff-align-flex-start shariff-widget-align-flex-start\" data-services=\"facebook\" data-url=\"https%3A%2F%2Fcbrell.de%2Fblog%2Fraspberry-pico-w-im-wlan-mit-python-eine-einfuehrung%2F\" data-timestamp=\"1671205414\" data-backendurl=\"https:\/\/cbrell.de\/blog\/wp-json\/shariff\/v1\/share_counts?\"><div class=\"ShariffHeadline\">Teile diesen Beitrag.<\/div><ul class=\"shariff-buttons theme-round orientation-horizontal buttonsize-medium\"><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#32bbf5\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fcbrell.de%2Fblog%2Fraspberry-pico-w-im-wlan-mit-python-eine-einfuehrung%2F&text=Raspberry%20Pico%20W%20im%20WLAN%20mit%20Python%20%E2%80%93%20eine%20Einf%C3%BChrung\" title=\"Bei Twitter teilen\" aria-label=\"Bei Twitter teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#55acee; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 30 32\"><path fill=\"#55acee\" d=\"M29.7 6.8q-1.2 1.8-3 3.1 0 0.3 0 0.8 0 2.5-0.7 4.9t-2.2 4.7-3.5 4-4.9 2.8-6.1 1q-5.1 0-9.3-2.7 0.6 0.1 1.5 0.1 4.3 0 7.6-2.6-2-0.1-3.5-1.2t-2.2-3q0.6 0.1 1.1 0.1 0.8 0 1.6-0.2-2.1-0.4-3.5-2.1t-1.4-3.9v-0.1q1.3 0.7 2.8 0.8-1.2-0.8-2-2.2t-0.7-2.9q0-1.7 0.8-3.1 2.3 2.8 5.5 4.5t7 1.9q-0.2-0.7-0.2-1.4 0-2.5 1.8-4.3t4.3-1.8q2.7 0 4.5 1.9 2.1-0.4 3.9-1.5-0.7 2.2-2.7 3.4 1.8-0.2 3.5-0.9z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fcbrell.de%2Fblog%2Fraspberry-pico-w-im-wlan-mit-python-eine-einfuehrung%2F\" title=\"Bei Facebook teilen\" aria-label=\"Bei Facebook teilen\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\"; background-color:#3b5998; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button linkedin shariff-nocustomcolor\" style=\"background-color:#1488bf\"><a href=\"https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url=https%3A%2F%2Fcbrell.de%2Fblog%2Fraspberry-pico-w-im-wlan-mit-python-eine-einfuehrung%2F\" title=\"Bei LinkedIn teilen\" aria-label=\"Bei LinkedIn teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#0077b5; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 27 32\"><path fill=\"#0077b5\" d=\"M6.2 11.2v17.7h-5.9v-17.7h5.9zM6.6 5.7q0 1.3-0.9 2.2t-2.4 0.9h0q-1.5 0-2.4-0.9t-0.9-2.2 0.9-2.2 2.4-0.9 2.4 0.9 0.9 2.2zM27.4 18.7v10.1h-5.9v-9.5q0-1.9-0.7-2.9t-2.3-1.1q-1.1 0-1.9 0.6t-1.2 1.5q-0.2 0.5-0.2 1.4v9.9h-5.9q0-7.1 0-11.6t0-5.3l0-0.9h5.9v2.6h0q0.4-0.6 0.7-1t1-0.9 1.6-0.8 2-0.3q3 0 4.9 2t1.9 6z\"\/><\/svg><\/span><\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>Den Raspberry Pico gibt es in Ausf\u00fchrungen mit und ohne WLAN. Dabei l\u00e4sst sich der Raspberry Pico W (kurz Pico W) im WLAN mit Python gut und einfach programmieren. Insbesondere &#8230;<\/p>\n","protected":false},"author":1,"featured_media":2835,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[253,77,76,711],"tags":[707,710,708,709,74,110,706,599,705,230,132],"class_list":["post-2820","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programmieren","category-programmierung","category-raspberry-pi","category-raspberry-pico","tag-client-server","tag-einfach","tag-internet","tag-programmieren","tag-programmierung","tag-python","tag-raspberry-pi-pico","tag-raspberry-pico","tag-thonny","tag-webservice","tag-wlan"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Raspberry Pico W im WLAN mit Python - eine Einf\u00fchrung<\/title>\n<meta name=\"description\" content=\"Der neue Raspberry Pico W im WLAN mit Python l\u00e4sst gut und einfach programmieren. Besonders Neueinsteiger profitieren von dem Tutorial.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Raspberry Pico W im WLAN mit Python - eine Einf\u00fchrung\" \/>\n<meta property=\"og:description\" content=\"Der neue Raspberry Pico W im WLAN mit Python l\u00e4sst gut und einfach programmieren. Besonders Neueinsteiger profitieren von dem Tutorial.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/\" \/>\n<meta property=\"og:site_name\" content=\"Bienen, Natur und Internet of Things\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-13T11:48:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-16T14:43:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Raspberry-Pi-Pico-auf-Blume-220913.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"398\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Claus Brell\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@clausbrell5859\" \/>\n<meta name=\"twitter:site\" content=\"@clausbrell\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Claus Brell\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"13\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\\\/\"},\"author\":{\"name\":\"Claus Brell\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\"},\"headline\":\"Raspberry Pico W im WLAN mit Python &#8211; eine Einf\u00fchrung\",\"datePublished\":\"2022-09-13T11:48:08+00:00\",\"dateModified\":\"2022-12-16T14:43:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\\\/\"},\"wordCount\":1714,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/Raspberry-Pi-Pico-auf-Blume-220913.jpg\",\"keywords\":[\"Client Server\",\"einfach\",\"Internet\",\"programmieren\",\"Programmierung\",\"Python\",\"Raspberry Pi Pico\",\"Raspberry Pico\",\"Thonny\",\"Webservice\",\"WLAN\"],\"articleSection\":[\"Programmieren\",\"Programmierung\",\"Raspberry Pi\",\"Raspberry Pico\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\\\/\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\\\/\",\"name\":\"Raspberry Pico W im WLAN mit Python - eine Einf\u00fchrung\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/Raspberry-Pi-Pico-auf-Blume-220913.jpg\",\"datePublished\":\"2022-09-13T11:48:08+00:00\",\"dateModified\":\"2022-12-16T14:43:34+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\"},\"description\":\"Der neue Raspberry Pico W im WLAN mit Python l\u00e4sst gut und einfach programmieren. Besonders Neueinsteiger profitieren von dem Tutorial.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/Raspberry-Pi-Pico-auf-Blume-220913.jpg\",\"contentUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/Raspberry-Pi-Pico-auf-Blume-220913.jpg\",\"width\":1024,\"height\":398},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Raspberry Pico W im WLAN mit Python &#8211; eine Einf\u00fchrung\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/\",\"name\":\"Bienen, Natur und Internet of Things\",\"description\":\"Alles, was einfach ist. Von Claus Brell\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\",\"name\":\"Claus Brell\",\"description\":\"Seit 2021 forsche ich an und mit Bienen (Digitalisierung der Imkerei) Seit 2012 Professur f\u00fcr Wirtschaftsinformatik an der Hochschue Niederrhein. Seit 1981 treibt mich die Frage um: Was haben Physik, Heavy Metal und Spiele miteinander zu tun? Drei m\u00f6gliche Antworten: {nichts | 42 | gleiche Hirnareale werden aktiviert}\",\"sameAs\":[\"http:\\\/\\\/claus-brell.de\",\"https:\\\/\\\/x.com\\\/clausbrell5859\",\"https:\\\/\\\/www.youtube.com\\\/@clausbrell5859\"],\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/author\\\/clausb\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Raspberry Pico W im WLAN mit Python - eine Einf\u00fchrung","description":"Der neue Raspberry Pico W im WLAN mit Python l\u00e4sst gut und einfach programmieren. Besonders Neueinsteiger profitieren von dem Tutorial.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/","og_locale":"de_DE","og_type":"article","og_title":"Raspberry Pico W im WLAN mit Python - eine Einf\u00fchrung","og_description":"Der neue Raspberry Pico W im WLAN mit Python l\u00e4sst gut und einfach programmieren. Besonders Neueinsteiger profitieren von dem Tutorial.","og_url":"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/","og_site_name":"Bienen, Natur und Internet of Things","article_published_time":"2022-09-13T11:48:08+00:00","article_modified_time":"2022-12-16T14:43:34+00:00","og_image":[{"width":1024,"height":398,"url":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Raspberry-Pi-Pico-auf-Blume-220913.jpg","type":"image\/jpeg"}],"author":"Claus Brell","twitter_card":"summary_large_image","twitter_creator":"@clausbrell5859","twitter_site":"@clausbrell","twitter_misc":{"Verfasst von":"Claus Brell","Gesch\u00e4tzte Lesezeit":"13\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/#article","isPartOf":{"@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/"},"author":{"name":"Claus Brell","@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58"},"headline":"Raspberry Pico W im WLAN mit Python &#8211; eine Einf\u00fchrung","datePublished":"2022-09-13T11:48:08+00:00","dateModified":"2022-12-16T14:43:34+00:00","mainEntityOfPage":{"@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/"},"wordCount":1714,"commentCount":0,"image":{"@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/#primaryimage"},"thumbnailUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Raspberry-Pi-Pico-auf-Blume-220913.jpg","keywords":["Client Server","einfach","Internet","programmieren","Programmierung","Python","Raspberry Pi Pico","Raspberry Pico","Thonny","Webservice","WLAN"],"articleSection":["Programmieren","Programmierung","Raspberry Pi","Raspberry Pico"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/","url":"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/","name":"Raspberry Pico W im WLAN mit Python - eine Einf\u00fchrung","isPartOf":{"@id":"https:\/\/cbrell.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/#primaryimage"},"image":{"@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/#primaryimage"},"thumbnailUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Raspberry-Pi-Pico-auf-Blume-220913.jpg","datePublished":"2022-09-13T11:48:08+00:00","dateModified":"2022-12-16T14:43:34+00:00","author":{"@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58"},"description":"Der neue Raspberry Pico W im WLAN mit Python l\u00e4sst gut und einfach programmieren. Besonders Neueinsteiger profitieren von dem Tutorial.","breadcrumb":{"@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/#primaryimage","url":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Raspberry-Pi-Pico-auf-Blume-220913.jpg","contentUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/09\/Raspberry-Pi-Pico-auf-Blume-220913.jpg","width":1024,"height":398},{"@type":"BreadcrumbList","@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/cbrell.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Raspberry Pico W im WLAN mit Python &#8211; eine Einf\u00fchrung"}]},{"@type":"WebSite","@id":"https:\/\/cbrell.de\/blog\/#website","url":"https:\/\/cbrell.de\/blog\/","name":"Bienen, Natur und Internet of Things","description":"Alles, was einfach ist. Von Claus Brell","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cbrell.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58","name":"Claus Brell","description":"Seit 2021 forsche ich an und mit Bienen (Digitalisierung der Imkerei) Seit 2012 Professur f\u00fcr Wirtschaftsinformatik an der Hochschue Niederrhein. Seit 1981 treibt mich die Frage um: Was haben Physik, Heavy Metal und Spiele miteinander zu tun? Drei m\u00f6gliche Antworten: {nichts | 42 | gleiche Hirnareale werden aktiviert}","sameAs":["http:\/\/claus-brell.de","https:\/\/x.com\/clausbrell5859","https:\/\/www.youtube.com\/@clausbrell5859"],"url":"https:\/\/cbrell.de\/blog\/author\/clausb\/"}]}},"_links":{"self":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/2820","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/comments?post=2820"}],"version-history":[{"count":16,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/2820\/revisions"}],"predecessor-version":[{"id":3124,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/2820\/revisions\/3124"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/media\/2835"}],"wp:attachment":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/media?parent=2820"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/categories?post=2820"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/tags?post=2820"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}