zurück zum Artikel

ESP32 und Python: WLAN-Signal messen und Gerätestandorte optimieren​

Arnd Scharpegge, Roxana Scharpegge

Mit einem ESP32 messen Sie die WLAN-Stärke im Haus und bestimmen den optimalen Standort für Smart-Home-Geräte. Grafana sorgt für eine schicke Daten-Auswertung.

Endlich sind die neuen, smarten Geräte eingetroffen. Sie sind schnell eingerichtet und mit dem Netzwerk verbunden. Doch dann passiert – nichts. Vielleicht ist das WLAN-Signal in dieser Ecke zwar vorhanden, aber zu schwach. Ein anderer Platz für die Geräte wäre besser, aber wo ist das Signal stark genug?

Programmieren in Python

Wir zeigen, wie jeder Smart-Home-Enthusiast die Stärke seines WLAN-Signals in der Wohnung oder im Haus messen und so die Position seiner Geräte optimieren kann. Dafür benötigt man einen ESP32-Mikrocontroller, um die Stärke zu messen. Mit MQTT, Python, Linux, PostgreSQL und Grafana werden die Daten übertragen und als schickes Diagramm aufbereitet. Als Betriebssystem verwenden wir Ubuntu-Linux, geben aber auch Hinweise, wie der ESP32 unter Windows eingebunden werden kann. Die Programmiersprache der Wahl ist Python in der Version 3.8.5, da diese Sprache sowohl einfach zu erlernen ist als auch auf jeder Ebene eines Smart-Home-Projektes genutzt werden kann:

Los gehts mit dem Aufsetzen des Backends auf einem Server. Dafür installiert man eine PostgreSQL-Datenbank zusammen mit der Zeitreihen-Erweiterung TimescaleDB. Sie speichert Zeitreihen effizient in einem eigenen Tabellenformat namens Hypertables, die in einzelne Zeit-Partitionen unterteilt sind, in Chunks. Weitere Details zu TimescaleDB gibts in der Online-Dokumentation [19] [19].


URL dieses Artikels:
https://www.heise.de/-6008340

Links in diesem Artikel:
[1] https://www.heise.de/hintergrund/Python-im-Browser-Wortraetsel-mit-PyScript-programmieren-7193701.html
[2] https://www.heise.de/hintergrund/Google-Colab-Wie-Sie-Python-Skripte-mit-Eingabefeldern-anpassen-7142452.html
[3] https://www.heise.de/ratgeber/Python-Reverse-Engineering-von-Supermarkt-Apps-7081446.html
[4] https://www.heise.de/ratgeber/Mit-Python-und-Pandas-die-eigenen-Einkaufsdaten-analysieren-6668748.html
[5] https://www.heise.de/ratgeber/Python-Entwicklungsumgebungen-fuer-Einsteiger-und-Profis-6360587.html
[6] https://www.heise.de/ratgeber/Python-schnell-einrichten-So-geht-s-auf-Windows-Linux-und-macOS-6355248.html
[7] https://www.heise.de/hintergrund/Python-fuer-alle-Gute-Gruende-fuer-das-Lernen-der-beliebten-Programmiersprache-6352098.html
[8] https://www.heise.de/hintergrund/Programmieren-mit-Python-Algorithmus-fuer-Linien-in-Voxelgittern-6283373.html
[9] https://www.heise.de/ratgeber/Mit-Python-Dateien-und-Verzeichnisse-beherrschen-4797849.html
[10] https://www.heise.de/ratgeber/Programmieren-mit-Python-Bedienoberflaeche-via-PyQt-erstellen-4949489.html
[11] https://www.heise.de/ratgeber/Programmieren-mit-Python-Schnittstellen-entwickeln-mit-Pycharm-und-FastAPI-4940182.html
[12] https://www.heise.de/ratgeber/Daten-verarbeiten-mit-Python-Pandas-Bibliothek-fuer-SQL-Umsteiger-4801847.html
[13] https://www.heise.de/hintergrund/Maschinelles-Lernen-Neuronale-Netze-generieren-Inhalte-4971496.html
[14] https://www.heise.de/ratgeber/Python-Einfache-grafische-Bedienoberflaeche-mit-Tkinter-erstellen-4859082.html
[15] https://www.heise.de/ratgeber/Die-besten-Python-Projekte-Spiel-programmieren-GUI-erstellen-Webseite-scrapen-4869382.html
[16] https://www.heise.de/ratgeber/RESTful-APIs-mit-Python-und-Flask-entwickeln-4940083.html
[17] https://www.heise.de/ratgeber/Programmieren-Mit-Python-und-Blender-grosse-Datenmengen-visualisieren-4986548.html
[18] https://www.heise.de/ratgeber/Machine-Learing-Mit-PyTorch-ML-Modelle-trainieren-und-deployen-4987031.html
[19] https://docs.timescale.com/latest/introduction/architecture