Schlagwort-Archive: ESP8266

BitBastelei #506 – Telegram-Nachrichten mit Arduino (ESP8266/ESP32) versenden

BitBastelei #506 - Telegram-Nachrichten mit Arduino (ESP8266/ESP32) versenden

(703 MB) 00:21:02

2022-09-25 10:00 🛈

Sensoren unter Arduino auslesen ist schnell erledigt. Was aber, wenn man jederzeit auch Mitbekommen möchte, wenn etwas passiert? Für diese Anwendungen gibt es diverse Push-Dienste, die Nachrichten direkt auf das Smartphone zaubern. Alternativ kann man aber auch fertige Messenger wie z.B. Telegram verwenden. Dank der Möglichkeit “Bots” anzulegen und der Universal-Arduino-Telegram-Bot-Library von  @Brian Lough  kann man so von Handy, PC und allen anderen Geräten direkt mit dem ESP kommunizieren. Sofern man den Messenger bereits nutzt auch ganz ohne zusätzliche Apps.

Inhalt

  • 00:00 Planung
  • 02:28 Telegram-Bot anlegen & Konfigurieren
  • 06:30 Kanal-ID ermitteln
  • 08:45 ESP: IO-Test
  • 12:05 ESP: WiFi und NTP
  • 14:03 ESP: Universal-Arduino-Telegram-Bot
  • 17:03 Test & Möglichkeiten
  • 19:41 Fazit

Links zum Thema

https://github.com/witnessmenow/Universal-Arduino-Telegram-Bot

Transparenz

Die gezeigten Geräte wurden selbst gekauft und bezahlt.

BitBastelei #489 – DIY Temperaturüberwachung mit DS18B20

BitBastelei #489 - DIY Temperaturüberwachung mit DS18B20

(1 GB) 00:29:55

2022-05-15 10:00 🛈

Wenn es um Temperaturen geht ist der DS18B20 einer meiner Lieblingssensoren: Digitale Kommunikation, vorkalibriert, wenig Kabel. Diesmal sollen diese wieder ein praktisches Problem Lösen: Kalte Füße. Also indirekt. Einerseits soll es in der Lage sein Störungen der Heizungsanlage zu erkennen und melden, andererseits sollen die Temperaturwerte helfen für einen etwaigen Ersatz ohne fossile Energieträger planen zu können.

Inhalt

  • 00:00 Warum das Ganze?
  • 02:26 Möglichkeiten 
  • 05:03 Funktion von Warmwasserheizungen
  • 06:54 Wo messen?
  • 08:45 Wie messen?
  • 12:52 Versuchsaufbau
  • 15:49 Software und erster Test
  • 22:53 Test mit mehreren Sensoren
  • 23:33 Aufbau
  • 28:34 Fazit

Transparenz

Die für das Gebastel genutzten Komponenten wurden selbst gekauft und bezahlt.

BitBastelei #488 – WiFi-Wasserlecksensor: Heute schon gepatched?

BitBastelei #488 - WiFi-Wasserlecksensor: Heute schon gepatched?

(2 GB) 00:26:56

2022-05-08 10:00 🛈

Wer hätte vor dem IoT gedacht, dass man die Firmware seines Wasserleckpiepers tauschen könne? In den letzten Monaten haben mehrere Rohrbrüche hier für etwas Chaos gesorgt. Glücklicherweise sind alle recht früh aufgefallen und haben außer etwas Wisch- und Dichtarbeit keine größeren Schäden angerichtet. Wenn es nach mir geht soll dies aber so bleiben – ein Wassersensor soll dafür sorgen, dass die Defekte nicht mehr nur zufällig entdeckt werden. Leider fand ich auf die schnelle kein Zigbee-Gerät, sondern nur WLAN. Davon ausgehend, dass Wasseralarm nicht so oft auftreten sollte, dürfte der höhere Stromverbrauch Mit der Software des Herstellers ist das Gerät schnell Funktionsbereit – aber wenn laut Internet das Modul nichts anderes als ein ESP ist kümmern wir uns doch gleich auch noch um eine freie Firmware auf Tasmota-Basis, die dank MQTT auch ohne Internet funktioniert.

Inhalt

  • 00:00 Vorgeschichte und Sensor
  • 02:56 Zerlegerei
  • 07:09 WiFi vs. Zigbee & Co
  • 08:32 Installation & Anleitung
  • 10:06 App-Einrichtung
  • 13:26 Proprietär vs. Open Source Firmware
  • 14:41 Pinsuche & Verkabelung
  • 18:43 Tasmota flashen
  • 21:58 Protokollanalyse
  • 25:09 Automation mit Homeassistant
  • 25:35 Fazit

Links zum Video

Tasmota-Regeln

  • Rule1 ON TuyaReceived#Data=55AA00050005650100010070 DO backlog publish2 stat/%topic%/STATUS CLOSED; delay 5; publish2 stat/%topic%/STATUS OPEN ENDON
  • Rule2 ON TuyaReceived#Data=55AA000500086602000400000064DC DO publish2 stat/%topic%/BATT 100 ENDON

Transparenz

Das Gerät wurde selbst gekauft und bezahlt. * Ich bin Teilnehmer beim Amazon Partnerprogramm. Durch Nutzung von Amazon -Links im Video oder auf meiner Webseite erkennt Amazon , dass Ihr über meine Seite zu ihnen gefunden habt. Ich werde prozentual an hierüber erzielten Umsätzen beteiligt, die Preise ändern sich hierdurch für Käufer*innen nicht. Falls ihr das Produkt kaufen wollte empfehle ich selbst die Preise nochmal zu vergleichen.

BitBastelei #466 – Quick’n’Dirty LED Dimmer

BitBastelei #466 - Quick'n'Dirty LED Dimmer

(915 MB) 00:15:59

2021-12-05 11:00 🛈

Wenn die Nachbarn plötzlich weihnachtsbedingt mehr LEDs als ich an ihren Häusern zur Schau stellen, dann kann ich das so nicht stehen lassen. Also raus mit der LED-Strippe und Licht an. Oder auch nicht. Einzig freie Outdoor-LED ist ein 230V-Streifen, dem ich zuletzt ein “meh” gegeben hab. Etwas wenig Isolation für meinen Geschmack. Aber was für gleichgerichtetes AC gedacht war funktioniert auch mit stromlimitiertem DC. Wenn man jetzt bloß noch eine Steuerung oder einen Dimmer hätte um das Konstrukt zeitgesteuert schalten zu können.

Inhalt

  • 00:00 Streifenplan
  • 00:44 DC-Versorgung
  • 02:04 Transistorforderung
  • 02:34 Transistorwünsche
  • 04:31 Transistorsuche
  • 08:44 Transistorketten
  • 10:04 Transistorlöterei
  • 10:58 Controllersuche
  • 12:05 Software
  • 13:38 Anschluss
  • 14:33 Ende

Code

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>

#include <uri/UriBraces.h>
#include <uri/UriRegex.h>

#ifndef STASSID
#define STASSID ""
#define STAPSK  ""
#endif

#define PWMSTEPS 256
#define LED D1

const char *ssid = STASSID;
const char *password = STAPSK;

//https://gist.github.com/mathiasvr/19ce1d7b6caeab230934080ae1f1380e
const uint16_t CIE[256] = {
    0,    0,    1,    1,    2,    2,    3,    3,    4,    4,    4,    5,    5,    6,    6,    7,
    7,    8,    8,    8,    9,    9,   10,   10,   11,   11,   12,   12,   13,   13,   14,   15,
   15,   16,   17,   17,   18,   19,   19,   20,   21,   22,   22,   23,   24,   25,   26,   27,
   28,   29,   30,   31,   32,   33,   34,   35,   36,   37,   38,   39,   40,   42,   43,   44,
   45,   47,   48,   50,   51,   52,   54,   55,   57,   58,   60,   61,   63,   65,   66,   68,
   70,   71,   73,   75,   77,   79,   81,   83,   84,   86,   88,   90,   93,   95,   97,   99,
  101,  103,  106,  108,  110,  113,  115,  118,  120,  123,  125,  128,  130,  133,  136,  138,
  141,  144,  147,  149,  152,  155,  158,  161,  164,  167,  171,  174,  177,  180,  183,  187,
  190,  194,  197,  200,  204,  208,  211,  215,  218,  222,  226,  230,  234,  237,  241,  245,
  249,  254,  258,  262,  266,  270,  275,  279,  283,  288,  292,  297,  301,  306,  311,  315,
  320,  325,  330,  335,  340,  345,  350,  355,  360,  365,  370,  376,  381,  386,  392,  397,
  403,  408,  414,  420,  425,  431,  437,  443,  449,  455,  461,  467,  473,  480,  486,  492,
  499,  505,  512,  518,  525,  532,  538,  545,  552,  559,  566,  573,  580,  587,  594,  601,
  609,  616,  624,  631,  639,  646,  654,  662,  669,  677,  685,  693,  701,  709,  717,  726,
  734,  742,  751,  759,  768,  776,  785,  794,  802,  811,  820,  829,  838,  847,  857,  866,
  875,  885,  894,  903,  913,  923,  932,  942,  952,  962,  972,  982,  992, 1002, 1013, 1023,
};

bool changed = false;
uint16_t fadeTime = 100;
uint32_t delayTime = 0;
uint16_t target = 0;
uint16_t current = 0;

uint32_t systick = 0;

ESP8266WebServer server(80);

void setup(void) {
  pinMode(LED, OUTPUT);
  digitalWrite(LED, HIGH);
  delay(250);
  
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  Serial.print("\n\n\nConnecting.");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("OK");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  if (MDNS.begin("esp8266")) {
    Serial.println("MDNS responder started");
  }

  server.on(F("/"), []() {
    String state = "<h1>Status</h1><br>";
    state += "<b>Current</b>: "+String(current)+"<br>";
    state += "<b>Target</b>: "+String(target)+"<br>";
    state += "<b>FadeTime</b>: "+String(fadeTime)+"<br>";
    state += "<b>DelaydTime</b>: "+String(delayTime)+"<br>";
    state += "<b>Changed</b>: "+String(changed)+"<br>";
    state += "<b>Systick</b>: "+String(systick)+"<br>";
    state += "<b>Uptime</b>: "+String(millis())+"<br>";
    server.send(200, "text/html", state);
    Serial.println("Index");
  });

  server.on(UriBraces("/fadeTime/{}"), []() {
    String data = server.pathArg(0);
    fadeTime = data.toInt();
    server.send(200, "text/plain", String("FadeTime: '") + fadeTime + "'");
    Serial.println(String("FadeTime: '") + fadeTime + "'");
  });

  server.on(UriBraces("/fade/{}"), []() {
    String data = server.pathArg(0);
    target = data.toInt();
    delayTime = fadeTime * 1000 / PWMSTEPS;
    server.send(200, "text/plain", String("Fade: '") + target + "'");
    Serial.println(String("Fade: '") + target + "'");
  });

  server.on(UriBraces("/set/{}"), []() {
    String data = server.pathArg(0);
    target = data.toInt();
    current = target;
    changed = true;
    server.send(200, "text/plain", String("Set: '") + target + "'");
    Serial.println(String("Set: '") + target + "'");
  });

  server.begin();
  Serial.println("HTTP server started");
}

void loop(void) {
  server.handleClient();

  if(delayTime > 0) {
    uint32_t cmicros = micros();
    uint32_t cmp = systick;
    if(2^32 - systick >= delayTime) {
      cmp = 2^32 - systick - delayTime;
    }
  
    if(cmp >= delayTime) {
      if(target > current) current++;
      if(target < current) current--;
      if(target == current) delayTime = 0;
      changed = true;
      systick = cmicros;
    }
  }

  if(changed) {
    Serial.print("\nChanged");
    Serial.print(" - Current: ");
    Serial.print(current);
    uint16_t pwmt=PWMSTEPS-current;
    Serial.print(" - PWM: ");
    Serial.print(pwmt);
    pwmt = CIE[pwmt];
    Serial.print(" - CPWM: ");
    Serial.println(pwmt);
    analogWrite(LED, pwmt);
    changed = false;
  }
}

Transparenz

LED-Streifen, ESP und DC-DC-Wandler wurde selbst gekauft und bezahlt. Das Spenderboard wurde mir vor längerem als E-Schrott geschenkt.

BitBastelei #460 – Shelly 2.5: Smart-Switch für “in die Dose”

BitBastelei #460 - Shelly 2.5: Smart-Switch für "in die Dose"

(2 GB) 00:28:16

2021-10-24 10:00 🛈

Wenn es um “Smart-Switches”, also WLAN-Adapter für feste Installationen, geht, dann sind die Platzhirsche vermutlich Sonoff und Shelly. Das Grundmodell “Sonoff Basic” hatte ich ja schon öfter hier, ist aber unpraktisch, wenn man z.B. ein Licht weiterhin auch per Schalter schalten möchte. Ein Touch-Switch kann hier helfen, passt aber optisch oft nicht zum bestehenden Schalterprogramm. Hier möchte Shelly mit ihren Geräten ansetzen: Sie sind extrem klein, bieten bei diesem Modell 2 Ausgänge und können – ähnlich wie mein Optokoppler-Board – auch 230V-Eingänge abfragen. So lassen sich die Geräte sowohl per Schalter als auch WLAN steuern und nichts kommt sich in die Quere. Zu schön um wahr zu sein? Nunja, so ganz ohne Haken kommt das Paket natürlich nicht.

Inhalt

  • 00:00 Andere Smart-Aktoren und Sensoren
  • 01:30 Shelly 2.5 – was bekommen wir?
  • 04:59 Anschluss
  • 07:06 App-Installation
  • 07:52 Web-UI ohne App
  • 10:23 Manuelle App-Einrichtung
  • 11:08 Energiemessfunktion
  • 12:22 Eingänge
  • 14:04 Regelwirrwarr: Relais vs. Kapazitiv/Induktiv
  • 16:23 Regelwirrwarr: Gerätedosen und Nachrüstpflichten
  • 20:41 Regelwirrwarr: Hochtemperaturnetzteil
  • 24:31 Fazit (ja, mit kaputtem Ton)

Links zum Thema

Fehler und Ergänzungen

  • 07:52 Über die App konnte ich das Gerät nicht einrichten. Es wurde nicht gefunden.
  • 13:22 Für Personen mit kaputtem Sarkasmusdetektor: Niemals Grün/Gelb für irgendetwas außer Schutzleiter nutzen.
  • 17:22 Schraublöcher. Nicht Schrauben.
  • 20:01 Je nach Verlegung und Länge.
  • 20:11 Je nach Interpretation. Einige sagen, dass eine Lampe nie ?10A kommen kann und das daher passt. Andere haben schon vom Heimwerker*innen nachgerüstete Steckdosen und IR-Heizstrahler hinter leicht angekokelten Lichtschaltern gefunden und sind da etwas vorsichtiger.
  • 21:09 Wohlgemerkt: Das Wärmebild ist im Leerlauf, ohne Last und außerhalb der Dose mit besserer Kühlung
  • 22:17 H07V-U müsste das sein. Einige Varianten sind auch bis 90°C zugelassen.

Transparenz

Das Gerät wurde selbst gekauft und bezahlt. * Ich bin Teilnehmer beim amazon.de Partnerprogramm. Durch Nutzung von Amazon-Links im Video oder auf meiner Webseite erkennt Amazon, dass Ihr über meine Seite zu ihnen gefunden habt. Ich werde prozentual an hierüber erzielten Umsätzen beteiligt, die Preise ändern sich hierdurch für Käufer*innen nicht.

BitBastelei #455 – LiFePO4: Die besseren Lithium-Akkus?

BitBastelei #455 - LiFePO4: Die besseren Lithium-Akkus?

(2 GB) 00:28:48

2021-09-19 10:00 🛈

Wenn man von Lithium-Akkus spricht, meint man oft LCO-Zellen – Lithium-Cobaltdioxid. Es gibt aber auch andere Zellchemien wie LiFePO4/LEP/LFP, welche ganz eigene Vor- und Nachteile haben. Welche Unterschiede das sind und wie sich LiFePO4 als Bastlernutzen lässt schauen wir in diesem Video.

Inhalt

  • 00:00 LCO vs. LFP: Unterschiede
  • 08:08 14500 und Alkaline-Ersatz
  • 10:51 LFP Schutz, Ladeboards
  • 20:27 TP5000: Ladestrom anpassen und Zuleitung
  • 22:44 Fertiger Aufbau mit ESP8266-Direktversorgung
  • 26:44 Fazit

Links zum Thema

Transparenz

Die gezeigten Geräte wurden selbst gekauft und bezahlt.

BitBastelei #429 – Noch mehr ESP-Programmer?

BitBastelei #429 - Noch mehr ESP-Programmer?

(1 GB) 00:12:31

2021-03-21 11:00 🛈

Vor einiger Zeit hatte ich einen ESP01-Seriell-Adapter als Programmer mit automatischem Reset umgebaut. In den Kommentaren gab es in der Folge dutzende Hinweise, dass es diese ja auch fertig gäbe. Also fein, schauen wir auch mal auf einen Fertigen. Und wenn wir schon dabei sind: ESP12 würde ich auch gerne programmieren.

BitBastelei #409 – WS2812B/Neopixel mit WLED einfach steuern

BitBastelei #409 - WS2812B/Neopixel mit WLED einfach steuern

(1 GB) 00:24:17

2020-11-01 11:00 🛈

WS2812B, auch bekannt als Neopixel, hatten wir ja schon öfter gesehen. Mit passender Library lässt sich jede LED einzeln über Arduino ansteuern. Aber was, wenn man keine eigene Software schreiben will? Hier kommt WLED in’s Spiel: Mit dieser Software lässt sich ein passender LED-Streifen per ESP32 oder ESP8266 mit einem WLAN verbinden und z.B. über ein Webinterface, Apps für Android und iOS oder auch HomeAssistant ohne eigene Programmierung steuern.

Inhalt

  • 00:00 LED-Rezept
  • 01:55 Streifen vorbereiten & anschließen
  • 08:45 Überblick: WLED
  • 11:00 Installation mit ESP Home Flasher
  • 13:43 Ersteinrichtung vom WLED
  • 16:23 LED-Einrichtung im Webinterface
  • 17:49 LED-Steuerung per Browser
  • 21:03 WLED mit HomeAssistant
  • 22:37 Smartphone App

BitBastelei #404 – WiFi-Cloud Sicherungsautomat

BitBastelei #404 - WiFi-Cloud Sicherungsautomat

(2 GB) 00:34:54

2020-09-27 10:00 🛈

Wenn die Sicherung rausfliegt, dann ist das meist sehr nervig. Zum Kasten rennen, richtigen Automaten suchen und wieder einschalten. Könnte man das doch bloß per App mittels Cloud und WLAN erledigen. Klingt fragwürdig? Nun, nicht fragwürdig genug für einen Chinesischen Hersteller. Also werfen wir heute auf einen Sicherungsautomaten mit integriertem WLAN.

Inhalt

  • 00:00 WiFi Sicherungsautomat
  • 02:55 Unboxing
  • 08:45 Inbetriebnahme & Nutzung
  • 16:42 Innenleben
  • 30:38 Fazit

Links zum Thema:

BitBastelei #392 – Stromabschaltung? Quick’n’Dirty Temperaturmonitoring

BitBastelei #392 - Stromabschaltung? Quick'n'Dirty Temperaturmonitoring

(380 MB) 00:26:19

2020-07-05 10:00 🛈

Stromabschaltungen sind ein Garant für viele Defekte. Unschön, wenn mir eine längere Abschaltung nur 2 Tage vorher zufällig zu Ohren kommt. Also: Alle Systeme abschalten. Aber was ist mit Kühlschränken und Tiefkühltruhen? Einige bekomme ich per Solar versorgt, andere eher nicht. Also improvisieren wir auf die Schnelle mal einen Temperaturlogger um im Nachgang zu sehen, ob der Inhalt zu warm geworden ist.