3€ Bewegungsmelder mit ESP8266 ESP-01 (oder jeder andere)

Begonnen von rr725, 16 Mai 2017, 15:12:28

Vorheriges Thema - Nächstes Thema

rr725

Bauteile:
ESP8266 (egal welcher) bei mir zum Test
ESP8266 ESP-01 (1,99€)
HC-SR501 PIR (1,00€)

Viel Spaß !


#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
static const int triggerPin = 2;   // Pin für PIR-Sensor
static const int ledPin     = 13;  // Digital Pin LED oder Summer
unsigned int val            = 0;   // Wert des triggerPin
unsigned int pirState       = LOW; // Status des Bewegungsmelders beim start auf LOW (Keine Bewegung)

const char* ssid = "SSID";         //Deine SSID
const char* password = "PASSWORT";  //Dein Wlan Passwort

const char* host = "api.pushbullet.com";
const int httpsPort = 443;
const char* PushBulletAPIKEY = "HqEeeZoUIHKJHJJKHDUDUDUIZD"; //get it from your pushbullet account
const char* fingerprint = "44:44:44:44:44:44:44:44:44:44:44:44:44:44:44:44:44:44:44:44";// SHA1 fingerprint of the certificate


void setup() {
  pinMode(triggerPin,INPUT);
  pinMode(ledPin,OUTPUT);
  Serial.begin(115200);
  Serial.println();
  Serial.print("connecting to ");
  Serial.println(ssid);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());

}

void loop() {
  val = digitalRead(triggerPin);
    Serial.begin(115200);
  Serial.println();
  Serial.println(val);
         
  if (val == HIGH) {
    if (pirState == LOW) {
      pirState = HIGH;

      WiFiClientSecure client;
  Serial.print("connecting to ");
  Serial.println(host);
  if (!client.connect(host, httpsPort)) {
    Serial.println("connection failed");
    return;
  }

  if (client.verify(fingerprint, host)) {
    Serial.println("certificate matches");
  } else {
    Serial.println("certificate doesn't match");
  }
  String url = "/v2/pushes";
  String messagebody = "{\"type\": \"note\", \"title\": \"Bewegungsmelder in der Küche\", \"body\": \"Der Bewegungsmelder in der Küche hat angeschlagen !\"}\r\n";
  Serial.print("requesting URL: ");
  Serial.println(url);
  client.print(String("POST ") + url + " HTTP/1.1\r\n" +
               "Host: " + host + "\r\n" +
               "Authorization: Bearer " + PushBulletAPIKEY + "\r\n" +
               "Content-Type: application/json\r\n" +
               "Content-Length: " +
               String(messagebody.length()) + "\r\n\r\n");
  client.print(messagebody);
  Serial.println("request sent");
  //print the response
  while (client.available() == 0);

  while (client.available()) {
    String line = client.readStringUntil('\n');
    Serial.println(line);
  }

    }
  }
  else {
    if (pirState == HIGH) {
      pirState = LOW;
    }
  }
  digitalWrite(ledPin, pirState);
}

Olly

Nett,

hast du das per Batterie/Accu laufen? Der ESP ist ja nicht gerade als "Stromsparend" bekannt.

Gruß

    Olly

Gesendet von meinem Nexus 7 mit Tapatalk

BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

rr725

Zitat von: Olly am 16 Mai 2017, 20:26:31
hast du das per Batterie/Accu laufen? Der ESP ist ja nicht gerade als "Stromsparend" bekannt.

naja...läuft momentan noch auf dem breadborad als prototyp um die zuverlässigkeit zu testen.
aber ich habe nicht vor einen bewegungsmelder mit batterie, oder akku laufen zu lassen- den akku evtl. als usv.

chunter1

Hast du echt keine Fehlalarme?
Ich hab zwei solche Setups am laufen und beide liefern Fehlalarme.
Ursache scheint die HF-Strahlung vom ESP zu sein.
Bei mir hat ein 470nF Kerko über die Pins 12 und 13 des Chips auf dem PIR das Problem gelöst.

rr725

Zitat von: chunter1 am 16 Mai 2017, 21:45:34
Hast du echt keine Fehlalarme?
Ich hab zwei solche Setups am laufen und beide liefern Fehlalarme.
Ursache scheint die HF-Strahlung vom ESP zu sein.
Bei mir hat ein 470nF Kerko über die Pins 12 und 13 des Chips auf dem PIR das Problem gelöst.

läuft ja erst seit ein paar stunden...bis jetzt alles gut. ohne elko

mynameisfu

Gude und hat es schon jemand auf Batterie betrieb laufen.
lg fu

sbiermann

Wenn du da keine Autobatterie dran hängst, dann wirste mit Batterie nicht viel Freude haben. Der ESP muss ja, nach der Schaltung, dauer an sein, das heißt der lutscht ja dann schon Unmengen an Strom weg.

Kuzl

Naja er könnte ja das WLAN nur einschalten, wenn eine Bewegung erkannt wird und gesendet werden muss.
Das dauert dann halt ein paar Sekunden...

darkness

Zitat von: Kuzl am 22 Januar 2018, 14:04:07
Das dauert dann halt ein paar Sekunden...

Dann geht zumindest das Licht an, wenn man die Treppe heruntergefallen ist  ;D ;D

sbiermann

Ohne WLAN verbraucht der ESP in der Regel immer noch 15mA laut Spec. Im Durchschnitt, mit WLAN, sind 80mA, wenn man das nun umrechnet mit einer Zeit 1 mal pro Stunde Aktivität mit WLAN (ca. 10 Sekunden für WLAN und senden an FHEM), dann würde ein 4000mAh Akku etwa 8 1/2 Tage laufen bevor er leer ist.
Die ESP8266 sind nicht für Batterie Betrieb gemacht, da kommt man sehr fix an seine Grenzen. Der ESP32 ist da wesentlich besser, aber da ist die Software noch nicht soweit das damit wirklich Batteriebetrieb gemacht werden kann. Hier ist ein gutes Video was den Verbrauch eines ESP32 zeigt inklusive Fazit: https://www.youtube.com/watch?v=nyWMaAF4dRQ

Joker

Ich hab mir schon vor einiger Zeit eine Lampe für einen Küchenunterschrank mit ESP8266, HC-SR501 PIR und WS2812 LEDs gebaut. Also im Prinzip ein Bewegungsmelder mit direkt angeschlossener Lampe.
Auf dem Steckbrett hat das Ding auch super funktioiniert, aber sobald der ESP und der PIR zusammen in einem Gehäuse steckten, hatte ich ständig Fehlauslösungen. Das Gute ist, mit dem schon angesprochenen Kondensator konnte ich das Problem lösen und es funktioniert seit mehreren Monaten ohne eine (bemerkte) Fehlauslösung.

Das Gerät hängt aber über ein Netzteil an einer Steckdose, Batteriebetrieb mit ESP8266 ist wirklich keine gute Idee.

accessburn

Da ich das ganze mal am Mittwoch mit einem Wemos Mini nachbauen möchte, habt ihr mal eine Verdrahtung mit Kondensator?
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

Kuzl

Zitat von: sbiermann am 22 Januar 2018, 14:27:56
Die ESP8266 sind nicht für Batterie Betrieb gemacht, da kommt man sehr fix an seine Grenzen. Der ESP32 ist da wesentlich besser, aber da ist die Software noch nicht soweit das damit wirklich Batteriebetrieb gemacht werden kann.
Ich denke auch, dass hier der ESP32 besser geeignet ist. Zumal man dann die Auslösung auch über BLE schicken könnte...
Wo siehst du hier in der Software noch Probleme?

sbiermann

Schau dir das Video an, der ESP32 verbraucht immer noch sehr viel Strom im BLE Modus und das Fazit war das die Software dahingehend noch viel weiter optimiert werden kann und vermutlich auch noch wird.

lewej

Hallo zusammen,

Ich hab auch so einen aufbau, aber extrem viele false positves, konntet ihr das alle mit 470 lösen?