mwinter
(Martin Winter)
28. April 2021 um 16:27
1
Zur Vorbereitung des Elektronik-Workshops sollen alle zwei Wochen Sessions stattfinden.
Der Workshop basiert auf den bisherigen Ergebnissen aus den Sessions Briefkastenalarm und Wetterstation .
Die Tage in der Umfrage ist jeweils der Startermin:
Wann habt ihr Zeit?
Montag, 03.05.2021 17:30
Montag, 03.05.2021 18:00
Montag, 03.05.2021 18:30
Montag, 03.05.2021 19:00
Mittwoch, 05.05.2021 17:30
Mittwoch, 05.05.2021 18:00
Mittwoch, 05.05.2021 18:30
Montag, 10.05.2021 17:30
Montag, 10.05.2021 18:00
Montag, 10.05.2021 18:30
Montag, 10.05.2021 19:00
Donnerstag, 13.05.2021 17:30
Donnerstag, 13.05.2021 18:00
Donnerstag, 13.05.2021 18:30
Donnerstag, 13.05.2021 19:00
Die Umfrage geht bis zum 01.05.2021 18:00.
mwinter
(Martin Winter)
6. Mai 2021 um 18:41
2
Sessionericht vom 18.04.2021
In der Session haben wir uns erste Gedanken darüber gemacht, welche Inhalte der Workshop haben kann:
Umsetzungsmöglichkeiten
Möglichkeit 1 :
ESP stellt Webserver mit Webseite zur Verfügung, auf die man mit dem Browser zugreifen kann
Vorteil:
Einfach umzusetzen
Man braucht nur eine Komponente
Nachteil:
Wetterstation muss immer online sein => geringe Akkulaufzeit
Fragen :
Wie können Daten aufgezeichnet werden?
Möglichkeit 2 :
Matrix-Client
Vorteile :
Lange Akkulaufzeit (deep sleep mode)
Matrix-Client vorhanden
Möglichkeit für ein Fortsetzungsworkshop (Dauerbarcamp)
Nachteile :
Die Teilnehmer brauchen ein Handy mit eingerichtetem Matrix-Clienten
Möglichkeit 3 :
Wetterstation sendet regelmäßig Wetterdaten an einen Server der eine Webseite zur Verfügung stellt
Vorteile :
Lange Akkulaufzeit (deep sleep mode)
Nachteile :
man braucht zwei Komponenten
beide müssen im Workshop erstellt werden
Offene Frage:
Jeder/jede Teilnehmende ein Projekt oder Gruppen?
WLAN bereit stellen für ESP? (mit Tom kären)
Ein- oder Zweitagesworkshops?
Was geben wir den den Kindern am Ende alles mit?
Ideen für Bastelprojekte für den Workshop
Wetterstation
Briefkastenalarm
Klingelalarm
Pottpflanze
Todos:
Finalen Aufbau erstellen
Python-Bibliothek zum Ansteuern der Sensoren erstellen
Finaler Workshop-Ablauf erstellen
Streifenraster mit Pinheader vorbereiten
Workshopablauf (Erstentwurf):
Elektronikeinführung
Grundlagen ESP und µPython
Knopf mit LED
Breadboard mit Knopf → post in Matrix-Chatraum
Aufteilung in drei Projekte
Wetterstation
Briefkastenalarm
Klingelalarm
Pottpflanze
Ausblick nach dem Workshop:
Auf dem Workshop basierende weitergehende Projekte z.B.:
Matrix-Client schreiben, der Sensordaten weiter verarbeitet
Im Rahmen des Dauer-Barcamps
Damit auch Stärkung der Community nach der Veranstaltung
mwinter
(Martin Winter)
12. Mai 2021 um 16:09
3
Sessionbericht vom 08.05.2021
Teilnehmer
Anna
Hannah
Jonah
Martin
Lukas
Florian
Was wurde gemacht?
Wir haben uns den aktuellen Stand angesehen. Wir haben uns die Bibliothek µtrix angesehen uns ausprobiert, haben sie aber noch nicht an’s laufen bekommen. Dies soll in einer der nächsten Sessions passieren. Des Weiteren haben wir nochmal über den Workshop-Ablauf und die nächsten Schritte gesprochen.
Wer braucht noch Material?
Todos:
Finalen Aufbau erstellen
ESPs an alle Mitarbeitenden verteilen
Recherche
Feuchtigkeitssensor heraussuchen
Knopf für Klingelalarm
Python-Bibliothek erstellen
Ansteuern der Sensoren
BME280
DHT22
Feuchtigkeitssensor
Matrix-Client
WiFi
Finaler Workshop-Ablauf erstellen
Streifenraster mit Pinheader vorbereiten
µtrix weiterentwickeln
Materialliste erstellen
mwinter
(Martin Winter)
13. Mai 2021 um 18:12
4
Sessionbericht vom 13.05.2021
Teilnehmer
Anna
Benni
Hannah
Jonah
Maus
Martin
Inhalt
Um innerhalb des Workshops weitere Bastelprojekte anbieten zu können habe wir zunächst zwei weitere Sensoren ausprobiert. Beides sind Analog-Sensoren. Der Regentropfen-Sensor reagiert auf Änderungen des Widerstands, der Soil-Moisture-Sensor auf Veränderungen der Kapazität
Capcitive Soil Moisture Sensor
Der Sensor lieferte die folgenden Werte
Regentropfen-Sensor
trocken 1024
leicht feuchts 600 - 800
nass <500
Danach haben wir versucht, den ESP im Batterieberieb zu nutzen. Dies hat hat zunächst nicht funktioniert, weder beim direkten Anschluss an das Breadboard, noch über den Spannungssensor.
Das nachfolgende Programm ist ein Testprogramm, welches die gemessenen Sensorwerte auf einer Webseite anzeigt.
import socket
import network
from dht import DHT22
from machine import Pin, I2C, UART, ADC
import BME280
# setup
dht = DHT22(Pin(16)) #D0
i2c = I2C(scl=Pin(0), sda=Pin(2), freq=10000) #D1 D2
bme = BME280.BME280(address=119,i2c=i2c)
adc = ADC(0)
ssid = "" # SSID angeben
passwd = "" # Passwort angeben
html = """<!DOCTYPE html>
<html>
<head> <title>Wetterstation</title> </head>
<body> <h1>Umweltdaten</h1>
<table border="1">
<tr><th>Pin</th><th>Value</th></tr>
%s
</table>
</body>
</html>
"""
class Wifi:
def __init__(self,SSID,passwd):
self.ssid = SSID
self.password = passwd
self.wlan = network.WLAN(network.STA_IF)
self.wlan.active(True)
def connect(self):
if not self.wlan.isconnected():
print('connecting to network...')
self.wlan.connect(self.ssid,self.password)
while not self.wlan.isconnected():
pass
print('network config:', self.wlan.ifconfig())
def is_connected(self):
return self.wlan.isconnected()
def disconnect(self):
if self.wlan.isconnected():
self.wlan.disconnect()
print('disconnected')
def get_ip(self):
return self.wlan.ifconfig()[0]
netzwerk = Wifi(ssid,passwd)
netzwerk.connect()
addr = socket.getaddrinfo(netzwerk.get_ip(), 80)[0][-1]
s = socket.socket()
s.bind(addr)
s.listen(1)
print('listening on', addr)
while True:
#DHT22 Sensor auslesen
dht.measure()
dht_temp = dht.temperature()
dht_hum = dht.humidity()
#BME-Sensor auslesen
bme_values = bme.values
bme_temp = bme_values[0]
bme_pres = bme_values[1]
bme_hum = bme_values[2]
# Regensensor
rain = adc.read()
cl, addr = s.accept()
print('client connected from', addr)
cl_file = cl.makefile('rwb', 0)
while True:
line = cl_file.readline()
if not line or line == b'\r\n':
break
table = "<tr><td>Temperature:</td><td>" + bme_temp + "</td></tr>\n"
table += "<tr><td>Humidity:</td><td>" + bme_hum + "</td></tr>\n"
table += "<tr><td>Pressure:</td><td>" + bme_pres + "</td></tr>\n"
table += "<tr><td>Regen:</td><td>" + str(rain) + "</td></tr>\n"
response = html % table
cl.send('HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n')
cl.send(response)
cl.close()
Ergänzung im Nachgang: Bei Messungen mit dem Multimeter, hat sich der Spannungssensor als Defekt herausgestellt. Beim direkten Anschluss des Batteriefachs an das Breadboard, war der Kontakt zwischen den Kabeln des Batteriefachs und des Breadboards zu schlecht. Dies konnte noch im Nachgang behoben werden.
mwinter
(Martin Winter)
10. Juni 2021 um 18:12
6
Sessionbericht vom 10.06.2021
Teilnehmende:
Anna
Benedict
Hannah
Jonah
Lukas
Martin
Was haben wir bei der Session gemacht?
Todos
Folien zu µPython-Einführung in Präsentation einarbeiten (Anna)
Link zu bisherigen Präsentation
Arbeitsblatt Funktionsreferenz erstellen (Benedict)
µPython-Einführung für Jonah, Hannah und Lukas (Anna)
Kits vorbereite (Martin und alle an Vorbereitungstagen)
Python-Bibliothek zum Ansteuern der Sensoren erstellen
Finalen Aufbau erstellen
Zusätzliche Sessions:
Donnerstag, 17.06.2021 17:30 - 18:30
Donnerstag, 01.07.2021 17:30 - 18:30
mwinter
(Martin Winter)
15. Juli 2021 um 17:38
9
Die Hack’n’Sun sind vorüber. und der Workshop wurde durchgeführt.
Zur Nachbereitung finde ich in Feedback-Meeting wichtig.
In diesem soll erörtern, was gut lief und was weniger gut lief.
Das soll sowohl für die Vorbereitung, als auch für die Durchführung besprochen werden.
Wann hättet ihr Zeit für ein solches Treffen?
Donnerstag, 22.07.2021 17:00
Donnerstag, 22.07.2021 18:00
Donnerstag, 22.07.2021 19:00
Freitag, 23.07.2021 17:00
Freitag, 23.07.2021 18:00
Freitag, 23.07.2021 19:00
Mittwoch, 28.07.2021 17:00
Mittwoch, 28.07.2021 18:00
Mittwoch, 28.07.2021 19:00
Freitag, 30.07.2021 17:00
Freitag, 30.07.2021 18:00
Freitag, 30.07.2021 19:00