From 4546c6c5d00b4941ee56ccf61c26e65221299e8f Mon Sep 17 00:00:00 2001 From: Kai Vogelgesang Date: Tue, 1 Jul 2025 22:47:45 +0200 Subject: [PATCH] Implement conecting to network --- pico/.gitignore | 1 + pico/secret.py.example | 2 ++ pico/src/main.py | 27 +++++++++++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 pico/secret.py.example diff --git a/pico/.gitignore b/pico/.gitignore index 7c0bf87..bea566b 100644 --- a/pico/.gitignore +++ b/pico/.gitignore @@ -1,2 +1,3 @@ .venv typings +src/secret.py \ No newline at end of file diff --git a/pico/secret.py.example b/pico/secret.py.example new file mode 100644 index 0000000..c245e6d --- /dev/null +++ b/pico/secret.py.example @@ -0,0 +1,2 @@ +SSID = "AzureDiamondNet" +PASSWORD = "hunter_2" \ No newline at end of file diff --git a/pico/src/main.py b/pico/src/main.py index 595895d..706dfb1 100644 --- a/pico/src/main.py +++ b/pico/src/main.py @@ -1,5 +1,6 @@ from machine import Pin import machine +import network import time import asyncio @@ -63,8 +64,34 @@ class UltraSonicSensor: +async def ensure_network(): + from secret import SSID, PASSWORD + + nic = network.WLAN(network.STA_IF) + print("[net] setting up WLAN interface...") + nic.active(True) + print("[net] connecting...") + nic.connect(SSID, PASSWORD) + + logged = False + + while True: + if nic.status() == network.STAT_GOT_IP: + STATUS_LED.status(2) + if not logged: + logged = True + print(f"[net] Got IP: {nic.ifconfig()!r}") + rssi = nic.status("rssi") # pyright: ignore[reportAny] + print(f"[net] {rssi=}") + else: + STATUS_LED.status(1) + + await asyncio.sleep(1) + + async def _main(): asyncio.create_task(STATUS_LED.task()) + asyncio.create_task(ensure_network()) sensor = UltraSonicSensor(22, 21) while True: d = sensor.query_mm()