Ausprobiert

Firmware-Installation und
WLAN Test für Pico W




Hardware / Software

- Raspberry Pi Pico W
- Micro USB Kabel
- Firmware CircuitPython
- Thonny IDE

Ich werde hier die Einrichtung der Firmware CircuitPython und einen Test für die WLAN-Verbindung sowie den Zugriff auf das Internet beim Pico W darstellen. Zunächst benötigen Sie die aktuelle Firmware für den Pico W. Die entsprechende uf2-Datei können Sie hier herunterladen . Nun kann die Inbetriebnahme folgen.

Firmware CircuitPython installieren

1. Nehmen Sie den Pico im ausgeschalteten Zustand zur Hand und drücken die BootSel-Taste (siehe Beschriftung auf der Platinenrückseite). Die wird gehalten und der Pico erst dann (!!) über das USB-Kabel mit dem Rechner verbunden. Nach dem Verbinden des USB-Kabels kann die Taste BootSel losgelassen werden. Nun öffnet sich im Filesystem ein Explorer-Fenster mit einem neuen Massenspeicher RPI-RP2.

2. Falls Ihr Pico W neu ist und noch nicht genutzt wurde, können Sie diesen Schritt überspringen. Wenn Sie den Pico W schon für andere Zwecke genutzt haben und in den Auslieferungszustand zurücksetzen wollen, sollten Sie vorher noch die uf2-Datei 'flash_nuke.uf2' übertragen. Den Download-Button dafür finden Sie auf der Adafruitseite (ganz am Seitenende) hier. Öffnen Sie auf dem Rechner den Download-Ordner und ziehen die flash_nuke.uf2 Datei auf den Massenspeicher RPI-RP2. Warten Sie, bis nach kurzer Zeit wieder der Massenspeicher RPI-RP2 im Explorer angezeigt wird. Der Speicher des Pico W ist jetzt vollständig gelöscht.

3. Öffnen Sie jetzt auf dem Rechner den Download-Ordner und ziehen die adafruit-circuitpython-raspberry_pi_pico_w_de_DE_x.x.x.uf2 Datei mit der Firmware auf den Massenspeicher RPI-RP2. Warten Sie bis die Firmware vollständig aufgespielt ist. Der Pico wird jetzt im Datei-Explorer als Massenspeicher 'CIRCUITPY' angezeigt. Ein Vorteil gegenüber MicroPython ist, dass der Zugriff auf den Pico über den Explorer auch später jederzeit möglich ist. D.h. er wird auch von Windows bei jedem Anstecken als USB-Laufwerk erkannt.

Testen des WLAN

Öffnen Sie jetzt in Ihrer Thonny IDE die Datei 'settings.tmol' auf dem Pico W. Die sollte zunächst leer sein. Damit der Pico sich mit Ihrem WLAN verbinden kann, tragen Sie folgenden Inhalt ein:

  
  

1  # Comments are supported
2  CIRCUITPY_WIFI_SSID="hier Ihren SSID-Namen eintragen"
3  CIRCUITPY_WIFI_PASSWORD="hier Ihr Passwort eintragen"
4  CIRCUITPY_WEB_API_PORT=80
5  CIRCUITPY_WEB_API_PASSWORD="passw0rd"
6  test_variable="Ein beliebiger Text"
7  thumbs_up="\U0001f44d"
  

Wichtig ist, dass Sie Ihren SSID Namen und Ihr Passwort korrekt eintragen, sonst gibt es später Probleme beim Verbindungsaufbau. Damit das Programm 'internet_test.py' Anfragen ins Internet senden kann, wird die Bibliothek 'adafruit_requests.mpy' benötigt. Die downloaden Sie aktuell aus dem Adafruit-Bundle von deren Seite oder können Sie hier bei mir herunterladen . Entpacken Sie die zip-Datei aus dem Download-Ordner und kopieren sie in den 'lib' Ordner auf dem Pico W, der bisher noch leer ist.

Nun öffnen Sie in Ihrer Thonny IDE einen neuen Textbereich (auf das "+" drücken), setzen den Inhalt der Datei 'internet_test.py' ein und speichern Sie auf dem Pico W.
  
  

1  import os
2  import time
3  import ipaddress
4  import ssl
5  import wifi
6  import socketpool
7  import rtc
8  import adafruit_requests
9
10 # URLs to fetch from
11 TEXT_URL = "http://wifitest.adafruit.com/testwifi/index.html"
12 JSON_QUOTES_URL = "https://www.dgebhardt.de/timestamp.php"
13 JSON_STARS_URL = "https://api.github.com/repos/adafruit/circuitpython"
14
15 # Get wifi details and more from the settings.tmol file
16 try:
17     import adafruit_requests
18 except ImportError:
19     print("WiFi secrets are kept in settings.tmol, please add them there!")
20     raise
21
22 print("Netzwerktest:")
23
24 print("Meine MAC Addr.:", [hex(i) for i in wifi.radio.mac_address])
25
26 print("Moegliche WiFi Netze:")
27 for network in wifi.radio.start_scanning_networks():
28     print("\t%s\t\tRSSI: %d\tChannel: %d" % (str(network.ssid, "utf-8"),
29             network.rssi, network.channel))
30wifi.radio.stop_scanning_networks()
31
32 print("Verbinde mit: ", os.getenv('CIRCUITPY_WIFI_SSID'))
33 wifi.radio.connect(os.getenv('CIRCUITPY_WIFI_SSID'), os.getenv('CIRCUITPY_WIFI_PASSWORD'))
34
35 print("Bin verbunden mit: ", os.getenv('CIRCUITPY_WIFI_SSID'))
36 print("Meine IP address is", wifi.radio.ipv4_address,"\n")
37
38 ipv4 = ipaddress.ip_address("8.8.4.4")
39 print("Ping google.com: %f ms" % (wifi.radio.ping(ipv4)*1000),"\n")
40
41 pool = socketpool.SocketPool(wifi.radio)
42 requests = adafruit_requests.Session(pool, ssl.create_default_context())
43
45 print("Text abrufen von ", TEXT_URL)
46 response = requests.get(TEXT_URL)
47 print("-" * 40)
48 print(response.text)
49 print("-" * 40)
50 print("\n")
51
52 print("Json abrufen von", JSON_QUOTES_URL)
53 response = requests.get(JSON_QUOTES_URL)
54 r = rtc.RTC()
55 r.datetime = time.localtime(int(response.text))
56 dt = time.struct_time(r.datetime)
57 response.close()
58 hour = (dt[3] + 1)
59 minute = dt[4]
60 second = dt[5]
61 print("aktuelle Zeit: " + str(hour) + ":" + str(minute) + ":" + str(second))
62 print("\n")
63
64 print("Json abrufen und analysieren von", JSON_STARS_URL)
65 response = requests.get(JSON_STARS_URL)
66 print("-" * 40)
67 print("CircuitPython GitHub Stars", response.json()["stargazers_count"])
68 print("-" * 40)
69 print("done")
  

Wenn das Programm gestartet wird, erfolgen eine ganze Reihe von Ausgaben in der Kommandozeile des Thonny. Wichtig ist dabei zunächst, dass keine Fehlermeldungen ausgegeben werden. Es sei denn, Sie haben beim Übertragen des Programmcode einen Syntaxfehler hineingeschummelt. Der sollte aber leicht beseitigt sein.

Was teilt der Pico Ihnen mit?

- die MAC-Adresse des Pico W
- alle in der Umgebung gefundenen WLAN Netze
- den Verbindungsversuch mit Ihrem Netzwerk
- die Bestätigung der erfolgreichen Verbindung
- die vom Router bezogene IP-Adresse
- die Zeit für ein Ping zu Googlebr> - den Textabruf von einer Adafruitseite
- die aktuelle Uhrzeit von einem 'timestamp' auf meiner Seite
- den Abruf und die Analyse von Github.

Zeigt Ihr Pico W das auch alles an? Dann arbeitet er korrekt in Ihrem Netzwerk. Schauen Sie sich den Quelltext genau an und experimentieren ruhig noch ein wenig damit. Vorher sichern Sie aber die Datei auf einem anderen Laufwerk. So können Sie jederzeit noch einmal von vorne beginnen und lernen Ihren Pico W um so besser kennen. Dann wäre auch die Zeit für die anderen Pico-Projekte wie z.B diesen Netzwerkscanner gekommen.


Viel Spass und Erfolg beim Ausprobieren. Wenn Ihnen diese Anleitung gefallen hat, tragen Sie hier bitte einen Kommentar ein.



Zurück