Skip to content

Commit

Permalink
wetterstation angepasst, added pinout c-02
Browse files Browse the repository at this point in the history
  • Loading branch information
dominikhoebert committed Mar 1, 2025
1 parent b5e3581 commit 9458c9b
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 30 deletions.
60 changes: 33 additions & 27 deletions docs/elektronik_/wetterstation/TASK.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Es soll eine einfache Wetterstation realisiert werden, welche die Daten auf eine
#### Sensoren
Dazu soll zuerst der DHT11 verwendet werden, um Temperatur und Luftfeuchtigkeit zu messen. Zusätzlich soll ein weiterer Sensor verwendet werden, welcher von der Lehrperson zufällig verteilt wird. Die Daten sollen in einem sinnvollen Intervall erfasst werden und über eine einfache Webseite einsehbar sein, welche der Mikrocontroller auf einem eigenen einfachen Webserver bereitstellt. Die Daten sollen möglichst bereinigt werden (durchschnitt über mehrere Messungen, unmögliche Ausreißer herausfiltern). Zu jedem Messwert soll auch ein Zeitstempel erfasst werden. Die Uhrzeit kann über Internet synchronisiert werden.
#### Webserver
[Wi-Fi Manager](https://randomnerdtutorials.com/esp32-wi-fi-manager-asyncwebserver/ "https://randomnerdtutorials.com/esp32-wi-fi-manager-asyncwebserver/") soll verwendet werden, um den Mikrocontroller mit einem Wi-Fi zu verbinden oder selbst einen Accesspoint zur Verfügung zu stellen. Über die IP-Adresse soll die Webseite, das Webinterface aufrufbar sein, welche mit einfachem Design die aktuellen Messdaten anzeigt.
Ein Wi-Fi Manager soll verwendet werden, um den Mikrocontroller mit einem Wi-Fi zu verbinden oder selbst einen Accesspoint zur Verfügung zu stellen. Über die IP-Adresse soll die Webseite, das Webinterface aufrufbar sein, welche mit einfachem Design die aktuellen Messdaten anzeigt.
#### Status LED
Die RGB LED des ESP32 soll den aktuellen Status der Wetterstation darstellen. Möglich wäre: Rot - kein WLAN, Blau - Messung im Gange, Orange - Zu hohe Temperatur, … Es müssen mindestens 3 Status realisiert werden, es sollen auch andere gewählt werden. Die Status LED soll im Webinterface ein/ausschaltbar sein.
## Varianten
Expand Down Expand Up @@ -48,7 +48,22 @@ http://192.168.4.1/api/data/sensor
}
```
##### 3. Datenbank
Die Daten sollen nach jedem Messvorgang an eine MySQL Datenbank gesendet werden. Es sollen alle Messwerte und ein Zeitstempel in einem einfachen Schema gespeichert werden. Die Datenbank wird von der Schule zur Verfügung gestellt.
Die Daten sollen nach jedem Messvorgang an eine MySQL Datenbank gesendet werden. Es sollen alle Messwerte und ein Zeitstempel in einem einfachen Schema gespeichert werden. Verwende diese [Anleitung](https://tgm-hit.github.io/insy-exercises/1.Semester/13_Datenbanksystem_Installation/GEK13_Datenbanksystem_Installation/#mariadb-container-installation) von *MariaDB Container Installation* bis einschließlich *Datagrip Konfiguration* um in Docker eine Datenbank zu installieren (diese kann nächstes Jahr für INSY verwendet werden). Führe folgendes (oder angepasstes) Script in der Datenbank aus um eine passende Tabelle zu erstellen.

```sql
DROP DATABASE IF EXISTS wetterstation;
CREATE DATABASE wetterstation;
USE wetterstation;

CREATE TABLE messdaten (
id INT auto_increment PRIMARY KEY,
timestamp TIMESTAMP,
temperatur FLOAT,
luftfeuchtigkeit FLOAT,
sensor FLOAT
);
```

##### 4. RGB Colorpicker
Auf dem Webinterface soll die Farben der Status durch ein einfaches grafisches Element zur Auswahl der Farbe aus wählbar und permanent gespeichert werden können (auch über Reset hinaus).
##### 5. Display
Expand All @@ -70,47 +85,38 @@ Für SYT ist das Projekt vollständig technisch dokumentiert laut [Dokumentation

## Quellen

[1] „Blynk: a low-code IoT software platform for businesses and developers“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://blynk.io](https://blynk.io)

[2] „Remote control Arduino - RemoteXY“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://remotexy.com/](https://remotexy.com/)

[3] title, „Send Messages to Discord from ESP32 with Discord Webhooks“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://www.espboards.dev/blog/send-message-from-esp32-to-discord/](https://www.espboards.dev/blog/send-message-from-esp32-to-discord/)

[4] S. Santos, „ESP32 Deep Sleep with Arduino IDE and Wake Up Sources | Random Nerd Tutorials“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://randomnerdtutorials.com/esp32-deep-sleep-arduino-ide-wake-up-sources/](https://randomnerdtutorials.com/esp32-deep-sleep-arduino-ide-wake-up-sources/)

[5] „ESP32 - OLED“, ESP32 Tutorial. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://esp32io.com/tutorials/esp32-oled](https://esp32io.com/tutorials/esp32-oled)
[1] „Allnet 4duino_40in1_Kit1 Sensorkit 1 Set Passend für (Entwicklungskits): Arduino kaufen“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://www.conrad.de/de/p/allnet-4duino-40in1-kit1-sensorkit-1-set-passend-fuer-entwicklungskits-arduino-2233140.html](https://www.conrad.de/de/p/allnet-4duino-40in1-kit1-sensorkit-1-set-passend-fuer-entwicklungskits-arduino-2233140.html)

[6]How To Create a Color Picker“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://www.w3schools.com/howto/howto_html_colorpicker.asp](https://www.w3schools.com/howto/howto_html_colorpicker.asp)
[2]Arduino - DHT11 | Arduino Tutorial“, Arduino Getting Started. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://arduinogetstarted.com/tutorials/arduino-dht11](https://arduinogetstarted.com/tutorials/arduino-dht11)

[7]ESP32 - MySQL“, ESP32 Tutorial. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://esp32io.com/tutorials/esp32-mysql](https://esp32io.com/tutorials/esp32-mysql)
[3]Blynk: a low-code IoT software platform for businesses and developers“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://blynk.io](https://blynk.io)

[8] R. Santos, „ESP32 HTTP GET and HTTP POST with Arduino IDE | Random Nerd Tutorials“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://randomnerdtutorials.com/esp32-http-get-post-arduino/](https://randomnerdtutorials.com/esp32-http-get-post-arduino/)
[4] „Chart.js“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://www.w3schools.com/js/js_graphics_chartjs.asp](https://www.w3schools.com/js/js_graphics_chartjs.asp)

[9]Chart.js“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://www.w3schools.com/js/js_graphics_chartjs.asp](https://www.w3schools.com/js/js_graphics_chartjs.asp)
[5]ESP32 - MySQL“, ESP32 Tutorial. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://esp32io.com/tutorials/esp32-mysql](https://esp32io.com/tutorials/esp32-mysql)

[10] T. Digital, „Interfacing WS2812B Neopixel LED Strip with ESP32“, theoryCIRCUIT - Do It Yourself Electronics Projects. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://theorycircuit.com/esp32-projects/interfacing-ws2812b-neopixel-led-strip-with-esp32/](https://theorycircuit.com/esp32-projects/interfacing-ws2812b-neopixel-led-strip-with-esp32/)
[6] „ESP32 - OLED“, ESP32 Tutorial. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://esp32io.com/tutorials/esp32-oled](https://esp32io.com/tutorials/esp32-oled)

[11] S. Santos, „ESP32: Create a Wi-Fi Manager (AsyncWebServer library) | Random Nerd Tutorials“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://randomnerdtutorials.com/esp32-wi-fi-manager-asyncwebserver/](https://randomnerdtutorials.com/esp32-wi-fi-manager-asyncwebserver/)
[7] S. Santos, „ESP32 Deep Sleep with Arduino IDE and Wake Up Sources | Random Nerd Tutorials“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://randomnerdtutorials.com/esp32-deep-sleep-arduino-ide-wake-up-sources/](https://randomnerdtutorials.com/esp32-deep-sleep-arduino-ide-wake-up-sources/)

[12] S. Santos, „ESP32 NTP Client-Server: Get Date and Time (Arduino IDE) | Random Nerd Tutorials“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://randomnerdtutorials.com/esp32-date-time-ntp-client-server-arduino/](https://randomnerdtutorials.com/esp32-date-time-ntp-client-server-arduino/)
[8] S. Santos, „ESP32 with DHT11/DHT22 Temperature and Humidity Sensor using Arduino IDE | Random Nerd Tutorials“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://randomnerdtutorials.com/esp32-dht11-dht22-temperature-humidity-sensor-arduino-ide/](https://randomnerdtutorials.com/esp32-dht11-dht22-temperature-humidity-sensor-arduino-ide/)

[13] S. Santos, „Getting Date and Time with ESP32 (NTP Client) | Random Nerd Tutorials“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://randomnerdtutorials.com/esp32-ntp-client-date-time-arduino-ide/](https://randomnerdtutorials.com/esp32-ntp-client-date-time-arduino-ide/)
[9] Tiago, „ESP32-C3 Super Mini Real-Time Clock with OLED Display“. Zugegriffen: 1. März 2025. [Online]. Verfügbar unter: [https://www.edgemicrotech.com/esp32-c3-super-mini-real-time-clock-with-oled-display/](https://www.edgemicrotech.com/esp32-c3-super-mini-real-time-clock-with-oled-display/)

[14] „ESP - WiFi und Webserver starten - Programmieren mit Arduino“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://hartmut-waller.info/arduinoblog/esp-wifi-und-webserver-starten/](https://hartmut-waller.info/arduinoblog/esp-wifi-und-webserver-starten/)
[10] ESP32Async/ESPAsyncWebServer. (1. März 2025). C++. ESP32 Asynchronous Networking. Zugegriffen: 1. März 2025. [Online]. Verfügbar unter: [https://github.com/ESP32Async/ESPAsyncWebServer](https://github.com/ESP32Async/ESPAsyncWebServer)

[15]ESP32 - Web Server“, ESP32 Tutorial. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://esp32io.com/tutorials/esp32-web-server](https://esp32io.com/tutorials/esp32-web-server)
[11]How To Create a Color Picker“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://www.w3schools.com/howto/howto_html_colorpicker.asp](https://www.w3schools.com/howto/howto_html_colorpicker.asp)

[16] R. Santos, „ESP32 Web Server - Arduino IDE | Random Nerd Tutorials“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://randomnerdtutorials.com/esp32-web-server-arduino-ide/](https://randomnerdtutorials.com/esp32-web-server-arduino-ide/)
[12] T. Digital, „Interfacing WS2812B Neopixel LED Strip with ESP32“, theoryCIRCUIT - Do It Yourself Electronics Projects. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://theorycircuit.com/esp32-projects/interfacing-ws2812b-neopixel-led-strip-with-esp32/](https://theorycircuit.com/esp32-projects/interfacing-ws2812b-neopixel-led-strip-with-esp32/)

[17]Allnet 4duino_40in1_Kit1 Sensorkit 1 Set Passend für (Entwicklungskits): Arduino kaufen“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://www.conrad.de/de/p/allnet-4duino-40in1-kit1-sensorkit-1-set-passend-fuer-entwicklungskits-arduino-2233140.html](https://www.conrad.de/de/p/allnet-4duino-40in1-kit1-sensorkit-1-set-passend-fuer-entwicklungskits-arduino-2233140.html)
[13]Remote control Arduino - RemoteXY“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://remotexy.com/](https://remotexy.com/)

[18] S. Santos, „ESP32 with DHT11/DHT22 Temperature and Humidity Sensor using Arduino IDE | Random Nerd Tutorials“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://randomnerdtutorials.com/esp32-dht11-dht22-temperature-humidity-sensor-arduino-ide/](https://randomnerdtutorials.com/esp32-dht11-dht22-temperature-humidity-sensor-arduino-ide/)
[14] title, „Send Messages to Discord from ESP32 with Discord Webhooks“. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://www.espboards.dev/blog/send-message-from-esp32-to-discord/](https://www.espboards.dev/blog/send-message-from-esp32-to-discord/)

[19] „Arduino - DHT11 | Arduino Tutorial“, Arduino Getting Started. Zugegriffen: 18. Februar 2025. [Online]. Verfügbar unter: [https://arduinogetstarted.com/tutorials/arduino-dht11](https://arduinogetstarted.com/tutorials/arduino-dht11)![[46 Microsoft Lens copy.pdf]]
Durchgestrichene Sensoren werden nicht verteilt, da für dieses Projekt nicht sinnvoll.
[15] tzapu, tzapu/WiFiManager. (1. März 2025). C++. Zugegriffen: 1. März 2025. [Online]. Verfügbar unter: [https://github.com/tzapu/WiFiManager](https://github.com/tzapu/WiFiManager)

![Sensoren](sensors.jpg)

---

**Version** *20250225v3*
**Version** *20250301v4*
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,13 @@ Lade den entsprechenden [Treiber](https://www.silabs.com/developers/usb-to-uart-

![Pinout WROOM](https://raw.githubusercontent.com/AchimPieters/esp32-homekit-camera/master/Images/ESP32-30PIN-DEVBOARD.png)

??? example "ESP32-C3"
??? example "ESP32-C3 M-1"

![Pinout C3 M-1](https://docs.espressif.com/projects/arduino-esp32/en/latest/_images/esp32-c3_devkitM-1_pinlayout.png)

??? tip "ESP32-C3 C-02"

![Pinout C3](https://docs.espressif.com/projects/arduino-esp32/en/latest/_images/esp32-c3_devkitM-1_pinlayout.png)
![Pinout C3 C-02](https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32c3/_images/esp32-c3-devkitc-02-v1-pinout.png)

- [Simulation mit Tinkercad](https://www.tinkercad.com/)
- [Wokwi Simulator](https://wokwi.com/)
Expand All @@ -106,4 +110,4 @@ Lade den entsprechenden [Treiber](https://www.silabs.com/developers/usb-to-uart-


---
**Version** *20241017v2*
**Version** *20250301v3*

0 comments on commit 9458c9b

Please sign in to comment.