Die Projektdokumentation zum Pflanzensensor Workshop. https://curious.bio/2022/11/remote-chaos-experience/
Find a file
2023-02-26 17:22:09 +01:00
first-webserver more documentation 2022-12-30 11:18:10 +01:00
serial-out added tasmota 2023-02-26 17:08:33 +01:00
tasmota mqtt 2023-02-26 17:22:09 +01:00
.DS_Store added tasmota 2023-02-26 17:08:33 +01:00
.gitignore removed unused style sheet 2022-12-21 09:18:40 +01:00
breadboard.png changed colors 2022-12-29 18:20:36 +01:00
DE_SolderComic.pdf added comic 2022-12-29 16:00:24 +01:00
esphome.yaml added fritzing and esphome files 2022-12-29 14:40:37 +01:00
flash.png flash 2022-12-30 11:29:32 +01:00
ide.png added screenshot 2022-12-30 12:10:45 +01:00
librarymanager.png more documentation 2022-12-30 11:18:10 +01:00
LICENSE initial commit 2022-12-20 13:45:03 +01:00
preferences.png more documentation 2022-12-30 11:18:10 +01:00
README.md mqtt 2023-02-26 17:22:09 +01:00
schaltplan.fzz changed colors 2022-12-29 18:19:51 +01:00
schaltplan.png added more schaltplan 2022-12-29 18:17:14 +01:00

ESP Pflanzensensor Workshop

Die Projektdokumentation zum Pflanzensensor Workshop.

https://curious.bio/2022/11/remote-chaos-experience/

Komponenten

Mikrocontroller

Luftfeuchtigkeits- und Temperatursensor

Bodenfeuchtesensor

Systemanforderungen

Schaltplan

Beadboard

Schaltplan

Arduino IDE

Download hier: https://www.arduino.cc/

IDE

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" Man kann diese einfach in die Zeile einfügen. Unterschiedeliche Board-Manager-URLs können mit einem Komma getrennt sein.

Einstellungen

Um den DHT11 auszulesen, benötigen wir zusätzlich noch eine Library (Tools -> Manage Libraries): "DHT sensor library for ESPx by beegee_tokyo":

Library Manager

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.

Flash

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, muss dieser die SSID des Wifis und das Passwort kennen. Es ist 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";

Tasmota

Tasmota is an alternative Firmware for ESP8266. It's easy to use as it has a graphical interface.

You can flash Tasmota right from the browser using the Tasmota Web Installer.

Flash it

You have to connect your device with a USB cable and select the right port. Exisisting firmware will be delete.

Erase everything

After Tasmota has been flashed to your ESP, you can already set up your wifi.

Set up Wifi

AFter your device is connected to Wifi, you can switch over to the web UI of your device. Yes, your device now runs an embedded web server. There you can configure your device.

Embedded web server

Configure

Using this Web UI you can configure your device: Configure -> Configure Module

Our Wemos D1 mini clone is a generic device with 18 ports. We have a DHT11 connected to D1 and an analogue measurement on A0.

Basic configuration

After configuring it this way, we can see you data in the web UI.

Flash it

MQTT

Tasmota's main protocol is MQTT. You can setup MQTT under Configuration -> MQTT.

MQTT

There you can setup use our IoT-Platform to send data over to it.

The send data more frequent (nice for debugging) you have to change the telemetry period to a lower leven (than 300 s / 5 min).

Telemetry interval

Then our device will send data like this:

{
 "Time": "2023-02-26T17:19:55",
 "ANALOG": {
   "A0": 6
 },
 "DHT11": {
   "Temperature": 19,
   "Humidity": 44,
   "DewPoint": 6.4
 },
 "TempUnit": "C"
}

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