-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path06.py
61 lines (50 loc) · 2.19 KB
/
06.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Diese Programm verbindet den Pico W mit einem W-Lan.
# Verbindung zur Zeit-API, OLED-Ausgabe
import network
import time
import rp2
import urequests
from machine import Pin, I2C
from ssd1306 import SSD1306_I2C
# Display initialisieren
sda_pin = Pin(0) # Pin 0 für Daten (SDA)
scl_pin = Pin(1) # Pin 1 für Takt (SCL)
# SSD1306-Display initialisieren
i2c = I2C(0, sda=sda_pin, scl=scl_pin, freq=400000)
oled = SSD1306_I2C(128, 64, i2c)
def verbinden():
rp2.country("DE") # Jedes Land hat andere Vorschiften für das W-Lan (z.B. Signalstärke, verfügbare Kanäle) und stellt diese entsprechend ein. Ist aber optional.
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("RoboStudio2GHz", "robo-1958!")
# Der Aufbau einer Verbindung dauert eine Weile und es werden unterumständen mehrer Versuche benötigt bis eine Verbindung hergestellt wurde.
while not wlan.isconnected() and wlan.status() >= 0:
print("Verbinde, bitte warten...")
time.sleep(1) # Pause zwische 2 Verbindungsversuche
print(wlan.ifconfig())
print("Bin online...")
return wlan
def update_internetTime():
# Uhrzeit von API abrufen
response = urequests.get('https://timeapi.io/api/Time/current/zone?timezone=Europe/Berlin')
#print(response)
while response.status_code != 200:
response = urequests.get('https://timeapi.io/api/Time/current/zone?timezone=Europe/Berlin')
time.sleep(1)
print("Fehler beim Abrufen der Uhrzeit:", response.status_code)
response.close()
if response.status_code == 200:
# JSON-Daten von der API abrufen
data = response.json()
# Uhrzeit aus den JSON-Daten extrahieren
current_time = data['time']
sekunden = str(data['seconds'])
zeit = current_time+":"+sekunden
# Uhrzeit auf Display schreiben
oled.fill(0)
oled.text("Zeit: " + zeit, 0, 0)
oled.show()
#if __name__ == "__main__": # Wenn diese Datei als Modul verwendet werden soll, dann wird der nachfolgendet befehlt niccht beim import ausgeführt.
wlan = verbinden()
while True:
update_internetTime()