first-webserver | ||
serial-out | ||
.DS_Store | ||
.gitignore | ||
breadboard.png | ||
DE_SolderComic.pdf | ||
esphome.yaml | ||
flash.png | ||
librarymanager.png | ||
LICENSE | ||
preferences.png | ||
README.md | ||
schaltplan.fzz | ||
schaltplan.png |
ESP Pflanzensensor Workshop
Die Projektdokumentation zum Pflanzensensor Workshop.
https://curious.bio/2022/11/remote-chaos-experience/
Komponenten
Mikrocontroller
Luftfeuchtigkeits- und Temperatursensor
Bodenfeuchtesensor
- Capacitive Soil Moisture Sensor v1.2
- analoges Signal!
- Datenblatt
- https://thecavepearlproject.org/2020/10/27/hacking-a-capacitive-soil-moisture-sensor-for-frequency-output/
Systemanforderungen
- Python Runtime Environment
- Fritzing Prototyping Editor
- Arduino IDE
- VSCodium Code Editor alternativ zur Arduino IDE
Schaltplan
Arduino IDE
Download hier: https://www.arduino.cc/
Um mit den ESP-basierten Boards entwickeln zu können, müssen diese hinzugefügt werden (Einstellungen -> Board Manager URLs): "http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json"
Um den DHT11 auslesen, benötigen wir zusätzlich noch eine Library (Tools -> Manage Libraries): "DHT sensor library for ESPx by beegee_tokyo":
Zum Flashen (Upload) muss das richtige Board "LOLIN(WEMOS) D1 mino (clone)" und der richtige Port (ein serieller Port, an dem das Board über USB angeschlossen ist) ausgewählt sein.
Hier hilft die Doku sicherlich weiter: https://support.arduino.cc/hc/en-us/articles/4733418441116-Upload-a-sketch-in-Arduino-IDE
Beispiele
Es gibt zwei Beispiele.
serial-out
gibt einfach Messwerte über den Serial Monitor aus.first-webserver
präsentiert die gleichen Messerte auf einer Website
Damit der Webserver im eigenen Netzwerk funktioniert, ist es am einfachsten, diese Zeile zu löschen:
#include "credentials.h" // put your WIFI credentials in here
Statt dessen kann man dann die SSID und das Passwort des eigenen WLANS in diesen Zeilen eintragen:
// Replace with your network credentials
const char* ssid = secrect_ssid;
const char* password = secret_password;
Zum Beispiel so:
// Replace with your network credentials
const char* ssid = "MeinKabelWifi";
const char* password = "letMeIn123";
ESPHome
CLI
esphome --help
usage: esphome [-h] [-v] [-q] [-s key value] command ...
positional arguments:
command Command to run:
config Validate the configuration and spit it out.
compile Read the configuration and compile a program.
upload Validate the configuration and upload the latest binary.
logs Validate the configuration and show all logs.
run Validate the configuration, create a binary, upload it, and start logs.
clean-mqtt Helper to clear retained messages from an MQTT topic.
wizard A helpful setup wizard that will guide you through setting up ESPHome.
mqtt-fingerprint Get the SSL fingerprint from a MQTT broker.
version Print the ESPHome version and exit.
clean Delete all temporary build files.
dashboard Create a simple web server for a dashboard.
rename Rename a device in YAML, compile the binary and upload it.
options:
-h, --help show this help message and exit
-v, --verbose Enable verbose ESPHome logs.
-q, --quiet Disable all ESPHome logs.
-s key value, --substitution key value
Add a substitution
esphome compile esphome.yaml
esphome upload esphome.yaml