Kardo

Top Menu

Main Menu

Sign in / Join

Login

Welcome! Login in to your account
Lost your password?
Register

Lost Password

Back to login

Register

Back to login

Kardo

Header Banner

Kardo

  • DIY Weinflaschen Kerzenhalter

  • 18 hilfreiche Tipps für die Warmwasserbereiter-Optimierung, um diesen Winter zu sparen

  • 11 DIY Winter Simmer Pot Rezepte

  • Wie man einen Holzschlitten macht, den Ihre Kinder diesen Winter genießen können

  • 9 besten Leder Bastelsets, die Sie bei Amazon kaufen können

Technology
Home›Technology›Wie bekomme ich Wi-Fi, Internet auf Raspberry Pi Pico

Wie bekomme ich Wi-Fi, Internet auf Raspberry Pi Pico

By admin
21 März 2021
120
0
Share:

[ad_1]

Das Himbeer-Pi-Pico ist ein wunderbares Teil des Kits, aber es fehlt eine wichtige Funktion, Wi-Fi! Wir sind zuerst auf die Idee gestoßen, dem Raspberry Pi Pico Wi-Fi hinzuzufügen, während wir das überprüft haben Cytron Maker Pi Pico, die eine ESP-01-Schnittstelle für eine ESP8266-Variantenkarte bereitstellte. Dies war jedoch eher begrenzt.

Nachdem der leitende Entwickler von CircuitPython, Scott Shawcroft, in The Pi Cast, unserer wöchentlichen Pi-Show, aufgetreten war, erfuhren wir, dass Adafruit über ein ESP32-basiertes Add-On-Board verfügt, das grundlegende Wi-Fi-Konnektivität bietet. Nach einem Tag des Bastelns haben wir dieses Tutorial erstellt zeigt, wie Sie Ihren Raspberry Pi Pico online stellen können.

Um WLAN auf Raspberry Pi Pico zu erhalten, benötigen Sie:

  • Ein Himbeer-Pi-Pico
  • Adafruit Airlift WiFi Featherwing Co-Prozessor
  • 8 x Überbrückungsdrähte von Stecker zu Stecker
  • Steckbrett

Ziel dieses Tutorials ist es, unseren Raspberry Pi Pico über WLAN mit dem Internet zu verbinden, auf die OpenWeather-Service-API zuzugreifen und das Wetter für den von uns ausgewählten Standort zu ermitteln. Diese Rohdaten werden an die Python-Shell gesendet, können jedoch problemlos an einen OLED-Bildschirm oder ein LCD gesendet oder zum Auslösen einer Folge von Ereignissen verwendet werden.

Verkabelung des Raspberry Pi Pico für Wi-Fi

Für dieses Tutorial benötigen wir Header-Pins, die mit dem Raspberry Pi Pico und der Featherwing Airlift verlötet sind. Da wir beide Boards in einem Steckbrett verwenden, reichen die mitgelieferten männlichen Header aus. Wenn Sie den Featherwing mit einem Adafruit Feather-Board wie dem Feather RP2040 verwenden möchten, müssen Sie weibliche Header an der Oberseite des Mikrocontrollers anlöten. Bitte beachten Sie, dass im Diagramm die Positionen von MISO, MOSI und SCK auf dem Federflügel korrekt sind. Stellen Sie sicher, dass Sie diese Stifte identifizieren und sich nicht darauf verlassen, die Stifte zu zählen, da sich auf der realen Platine ein zusätzlicher GPIO-Stift am Federflügel befindet.

Bild 1 von 3

Pico WiFi

(Bildnachweis: Tom’s Hardware)
Bild 2 von 3

Pico WiFi

(Bildnachweis: Tom’s Hardware)
Bild 3 von 3

Pico WiFi

(Bildnachweis: Tom’s Hardware)

Pin-Mapping

Pico WiFi

(Bildnachweis: Tom’s Hardware)
Himbeer-Pi-Pico Adafruit Airlift WiFi Featherwing Co-Prozessor
VSYS USB
GND Beliebiger GND-Pin
GPIO 10 SCK
GPIO 11 MOSI
GPIO 12 MISO
GPIO 13 ESPCS
GPIO 14 ESPBUSY
GPIO 15 ESPRST

Installieren von CircuitPython auf Raspberry Pi Pico

Das Flashen von CircuitPython auf den Raspberry Pi Pico ist einfach.

  1. Laden Sie die neueste Version herunter von CircuitPython für den Pico.
  2. Halten Sie die BOOTSEL-Taste gedrückt am Pico und stecken Sie ein USB-Kabel in den Pico und Ihren Computer.
  3. Kopieren Sie die CircuitPython UF2-Datei in das RPI-RP2 Fahrt. Das Laufwerk wird ausgeblendet und verschwindet, während der Code geflasht wird. Ein neues Laufwerk CIRCUITPY wird angezeigt, das bestätigt, dass der Flash erfolgreich war.
  4. Laden Sie das Bibliotheksarchiv herunter für die Version von CircuitPython, die Sie heruntergeladen haben. In unserem Fall haben wir 6.2.0 heruntergeladen, daher müssen wir Bundle Version 6 herunterladen.
  5. Extrahieren Sie den Inhalt des Downloads in einen Ordner.
  6. Kopieren Sie die folgenden Dateien / Ordner in den lib-Ordner auf dem CIRCUITPY-Laufwerk.

adafruit_bus_device
adafruit_minimqtt
adafruit_io
adafruit_esp32_spi
Adafruit_requests

Erstellen eines OpenWeather-Kontos

In diesem Tutorial verwenden wir die OpenWeather-API, um die Wetterdaten für jeden Ort auf der ganzen Welt abzurufen. Um die API nutzen zu können, müssen wir uns für ein kostenloses Konto anmelden.

  1. Erstellen Sie ein Konto auf der OpenWeather Seite? ˅ und einloggen.
  2. Navigieren Sie zu Meine APi-Schlüssel, finden Sie im Dropdown-Menü für Ihren Benutzernamen.
  3. Geben Sie unter Schlüssel erstellen TomsHardware ein und klicken Sie auf GENERIEREN.
  4. Halten Sie diese Seite offen da wird der API-Schlüssel später benötigt.

Schreiben von CircuitPython-Code

CircuitPython hat die gleiche Syntax und Haptik wie Python und MicroPython, aber wir haben die Wahl zwischen verschiedenen Editoren, im Gegensatz zu MicroPython, das uns auf Thonny beschränkt. Mit CircuitPython können wir Thonny, Mu oder für fortgeschrittene Benutzer Visual Studio Code verwenden. Für diesen Teil des Tutorials haben wir Visual Studio Code verwendet, aber das spielt keine Rolle, da wir nur eine Textdatei bearbeiten.

1. Öffnen Sie code.py, in CIRCUITPY gefunden, löschen Sie jeden Text in der Datei.

2. Importieren Sie eine Reihe von CircuitPython-Bibliotheken notwendig, damit dieses Projekt funktioniert. Die Board-, Busio- und Digitalio-Bibliotheken übernehmen die Kommunikation mit dem GPIO, beispielsweise der SPI-Schnittstelle. Anfragen, Sockets und esp32spi verarbeiten die Netzwerkkonnektivität über den ESP32. Die letzte Bibliothek, Geheimnisse, existiert noch nicht. Wir werden das später schaffen.

import board
import busio
from digitalio import DigitalInOut
import adafruit_requests as requests
import adafruit_esp32spi.adafruit_esp32spi_socket as socket
from adafruit_esp32spi import adafruit_esp32spi
from secrets import secrets

3. Fügen Sie eine Zeile hinzu, um eine Nachricht zu drucken In der Python-Shell wird lediglich angegeben, was das Projekt tun wird.

print("Raspberry Pi Pico WiFi Weather Station")

4. Erstellen Sie ein neues Objekt, JSON_URL. Dieses Objekt speichert eine URL, die den Speicherort enthält, nach dem wir suchen möchten, und einen OpenWeather-API-Schlüssel, den wir zuvor generiert haben. Ersetzen Sie den STANDORT durch die Stadt und den API-SCHLÜSSEL durch Ihren OpenWeather-API-Schlüssel.

JSON_URL = "http://api.openweathermap.org/data/2.5/weather?q=LOCATION&appid=API KEY&units=metric"

5. Erstellen Sie drei Objekte, wird für die ESP32-Konnektivität über die SPI-Schnittstelle verwendet. Chip Select (CS), Ready und Reset werden verwendet, um den Bereitschaftszustand des ESP32-Co-Prozessors zu aktivieren und zu lesen.

esp32_cs = DigitalInOut(board.GP13)
esp32_ready = DigitalInOut(board.GP14)
esp32_reset = DigitalInOut(board.GP15)

6. Erstellen Sie ein Objekt, spi, Hier erfahren Sie, wo sich die SPI-Schnittstelle auf dem Pico befindet.

spi = busio.SPI(board.GP10, board.GP11, board.GP12)

7. Erstellen Sie das Objekt, insb. Mit diesem Code teilen wir unserem Code mit, wo sich der ESP32 auf dem SPI und die zur Steuerung des ESP32 erforderlichen Pins befinden.

esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset)

8. Richten Sie den Code für die Verwendung von Sockets einDies ist ein Mittel, um zwei Geräte in einem Netzwerk zu verbinden, in unserem Fall, um den Raspberry Pi Pico mit dem Airlift WiFi Featherwing zu verbinden.

requests.set_socket(socket, esp)

9. Erstellen Sie eine Schleife zum Verbinden zu Wi-Fi. Die nächsten sechs Zeilen behandeln die Verbindung zu unserem WiFi-AP. Die Schleife überprüft den ESP32 auf eine Verbindung. Solange keine Verbindung besteht, wird die Schleife so lange wiederholt, bis eine Verbindung hergestellt ist. In dieser Schleife befindet sich ein Ausnahmebehandler, der versucht, mithilfe der SSID und des Kennworts in der Geheimbibliothek eine Verbindung zu unserem WLAN herzustellen. Diese werden wir später erstellen. Wenn keine Verbindung hergestellt wird, wird ein Fehler angezeigt.

while not esp.is_connected:
    try:
        esp.connect_AP(secrets["ssid"], secrets["password"])
    except RuntimeError as e:
        print("could not connect to AP, retrying: ", e)
        continue

10. Fügen Sie drei Zeilen hinzu. Die erste druckt eine Nachricht, die uns darüber informiert, dass der Code die Wetterdaten abruft, die zweite Zeile erstellt ein Objekt r, das die vom OpenWeather-API-Aufruf zurückgegebenen Daten speichert, und die dritte Zeile druckt den HTTP-Statuscode für Debugzwecke. Ein 200-Code bedeutet, dass alles funktioniert, aber ein Code im 400-Bereich bedeutet, dass ein Problem mit der API vorliegt.

print("Fetching weather data")
r = requests.get(JSON_URL)
print(r.status_code)

11. Fügen Sie eine Zeile hinzu, um das Minuszeichen zu drucken, -, vierzig Mal, Erstellen eines Trennzeichens für die Python-Ausgabe.

print("-" * 40)

12. Verwenden Sie eine Druckfunktion, um die Temperaturdaten zu drucken im zurückgegebenen JSON-Objekt gefunden. Mit r.json () können wir in den Daten nach zwei Schlüsselwörtern suchen, ‘main’ und ‘temp_max’, und diese direkt in die Druckfunktion einfügen. Am Ende der Zeile fügen wir das ‘C’ hinzu, da die zurückgegebenen Temperaturdaten in Celsius angegeben sind.

print("The current temperature is",r.json()['main']['temp_max'],"C")

13. Fügen Sie diese letzten beiden Zeilen hinzu um eine weitere Trennzeile zu drucken, bevor das Anforderungsobjekt geschlossen wird.

print("-" * 40)
r.close()

14. Speichern Sie den Code als code.py an die Wurzel des CIRCUITPY-Laufwerks.

Vollständiger Code für Wi-Fi auf Raspberry Pi Pico

import board
import busio
from digitalio import DigitalInOut
import adafruit_requests as requests
import adafruit_esp32spi.adafruit_esp32spi_socket as socket
from adafruit_esp32spi import adafruit_esp32spi
from secrets import secrets

print("Raspberry Pi Pico WiFi Weather Station")
JSON_URL = "http://api.openweathermap.org/data/2.5/weather?q=LOCATIONl&appid=APIKEY&units=metric"
 
esp32_cs = DigitalInOut(board.GP13)
esp32_ready = DigitalInOut(board.GP14)
esp32_reset = DigitalInOut(board.GP15)
 
spi = busio.SPI(board.GP10, board.GP11, board.GP12)
esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset)
 
requests.set_socket(socket, esp)
 
while not esp.is_connected:
    try:
        esp.connect_AP(secrets["ssid"], secrets["password"])
    except RuntimeError as e:
        print("could not connect to AP, retrying: ", e)
        continue
print("Fetching weather data")
r = requests.get(JSON_URL)
print(r.status_code)
print("-" * 40)
print("The current temperature is",r.json()['main']['temp_max'],"C")
print("-" * 40)
r.close()

Erstellen einer Secrets-Datei für die Wi-Fi-Anmeldung

In der Datei secret.py können wir unsere Wi-Fi-SSID, unseren Benutzernamen und unser Passwort speichern. In unserem Hauptcode verhält es sich wie eine Python-Bibliothek, da wir die Bibliothek importieren und dann das Wörterbuch aufrufen, das die SSID und das Kennwort enthält. Bevor dies geschehen kann, müssen wir die Datei secret.py erstellen.

1. Erstellen Sie eine neue Datei in Ihrem Texteditor.

2. Erstellen Sie ein Wörterbuch, Geheimnisse, das Ihre SSID und Ihr Passwort für Ihren Router enthält. Stellen Sie die Zeitzone so ein, dass sie Ihrem Standort entspricht.

secrets = {
   'ssid' : 'YOUR WIFI AP',
   'password' : 'YOUR PASSWORD',
   'timezone' : 'Europe/London', # http://worldtimeapi.org/timezones
   }

3. Speichern Sie die Datei unter Secrets.py am selben Ort wie code.py.

Ausführen des Codes für Wi-Fi auf Raspberry Pi Pico

Der Code wird automatisch ausgeführt, aber die Ausgabe wird nur angezeigt, wenn eine Verbindung zur Python-Shell besteht. Der einfachste Weg, dies zu erreichen, ist die Verwendung eines Terminalemulators wie PuTTY.

1. Laden Sie PuTTY herunter und installieren.

2. Verbinden Sie Ihren Pico an den Computer (falls noch nicht verbunden).

3. Suchen Sie die COM-Portnummer für deinen Pico. In Windows öffnen Sie dazu den Geräte-Manager, suchen nach Anschlüssen, klicken auf das Dropdown-Menü und suchen den Eintrag für Ihren Pico (er ist nicht eindeutig gekennzeichnet, sodass Sie möglicherweise ein- und ausstecken müssen, um zu sehen, welcher verschwindet). Unsere war auf COM4.

Pico WiFi

(Bildnachweis: Tom’s Hardware)

4. Öffnen Sie PuTTYKlicken Sie auf Seriell und stellen Sie die serielle Leitung so ein, dass sie mit dem im Geräte-Manager gefundenen COM-Anschluss übereinstimmt. Stellen Sie die Geschwindigkeit auf 115200 ein und klicken Sie dann auf Öffnen.

Pico WiFi

(Bildnachweis: Tom’s Hardware)

PuTTY stellt eine Verbindung her und zeigt die Python-Shell

5. Drücken Sie STRG + D, um die Shell neu zu starten und führen Sie den Code aus. Nach einigen Sekunden wird das aktuelle Wetter für Ihren Standort angezeigt.

Pico WiFi

(Bildnachweis: Tom’s Hardware)

[ad_2]

#Wie #bekomme #ich #WiFi #Internet #auf #Raspberry #Pico

TagsaufbekommeichInternetPicoRaspberryWieWiFi
Previous Article

Die Reflex-Technologie von Nvidia schlägt das Radeon-Boost-Gegenstück ...

Next Article

Lecks Tiger Lake-H-Familie von Intel: Fünf 8-Core- ...

0
Shares
  • 0
  • +
  • 0
  • 0
  • 0
  • 0

admin

Related articles More from author

  • Technology

    Raspberry Pi Zero Upcycles iPod Für tragbares Spotify-Streaming

    12 Februar 2021
    By admin
  • Technology

    Das 6-GPU-Netzteil von EVGA für den Bergbau wird Ihren Hass auf Crypto schüren

    12 Februar 2021
    By admin
  • Technology

    Machen Sie Ihre eigenen Raspberry Pi-Spiele mit Surrogate TV

    4 Februar 2021
    By admin
  • Technology

    Raspberry Pi Wireless Scales-Projekt belastet die Community

    31 Januar 2021
    By admin
  • DIY

    Wie man ein Thanksgiving-Tisch-Herzstück macht

    18 November 2020
    By admin
  • Technology

    Alternatives Raspberry Pi Compute Modul 4 Carrier Board bietet vertrautes Layout

    2 Februar 2021
    By admin

Leave a reply Antworten abbrechen

You may interested

  • DIY

    15 lustige und einfache Toilettenpapierrolle Basteln & Projekte für Kinder

  • DIY

    Machen Sie Ihren eigenen Feuerstarter zu Hause

  • DIY

    Hausgemachte Enteiser Produkte für Ihre gefrorenen Einfahrten

  • LATEST REVIEWS

  • TOP REVIEWS

Timeline

  • 2 Januar 2022

    Lustiges Zuckerstangen-Rentier-Ornament

  • 2 Oktober 2021

    5 Gründe, das Kloster Dubovsky zu besuchen, auch wenn Sie keine Kirche haben

  • 2 Oktober 2021

    Nicht wie alle anderen: 5 unerwartete Heimlösungen

  • 27 September 2021

    12 Gemüse zum Anpflanzen im Spätherbst für einen vollen Tisch

  • 26 September 2021

    Rustikale Kiefernzapfen- und Pekannuss-Maus Kids Craft

Latest Comments

  • Slabway Shiatsu Foot Massager Machine Reviews
    on
    8 März 2021
    I'm really enjoying the design and layout of your blog. It's a very easy on the ...

    Cricut-Projekte für Anfänger und größere Kinder

Find us on Facebook

logo

Dui viverra Faucibus aliquet quis phasellus accumsan. Donec et facilisis sociosqu sed tortor elit eu aliquid turpis ridiculus.

Fly, shall, have greater fifth spirit midst under from stars thing is, had creepeth multiply kind. Man may they’re meat years have third bring replenish air two light deep fill.

About us

  • 660 Pennsylvania Avenue Southeast #100 Washington, DC 20003
  • 0123456789
  • bkninja.team@gmail.com
  • Recent

  • Popular

  • Comments

  • Lustiges Zuckerstangen-Rentier-Ornament

    By admin
    2 Januar 2022
  • 5 Gründe, das Kloster Dubovsky zu besuchen, auch wenn Sie keine Kirche haben

    By admin
    2 Oktober 2021
  • Nicht wie alle anderen: 5 unerwartete Heimlösungen

    By admin
    2 Oktober 2021
  • 12 Gemüse zum Anpflanzen im Spätherbst für einen vollen Tisch

    By admin
    27 September 2021
  • Cricut-Projekte für Anfänger und größere Kinder

    By admin
    17 Oktober 2020
  • Lustiges Zuckerstangen-Rentier-Ornament

    By admin
    2 Januar 2022
  • Together replenish beginning don’t fruit

    By admin
    16 Juli 2015
  • Beast lesser had Sixth without face that

    By admin
    16 Juli 2015
  • Slabway Shiatsu Foot Massager Machine Reviews
    on
    8 März 2021

    Cricut-Projekte für Anfänger und größere Kinder

    I'm really enjoying the ...

Photostream

    Follow us

    © Copyright BKNINJA. All rights reserved.