IOT - bewegingsmelder met email notificatie w / NodeMCU, PIR, Carriots, WIFI, PCB, behuizing en meer. (5 / 7 stap)

Stap 5: De Code

CODE:

Nou ik zie u ver zijn gekomen, heb je een idee over de hardware, het circuit diagram en de PCB, hoe mooi het geval van het. Laten we nu kijken naar de immateriële magie waardoor al dit werk.

Hier schrijven we de code in code met behulp van de Arduino IDE te maken NodeMCU werken met een estafette, PIR bewegingsmelder en gebruiken van IOT platform carriots via WIFI

Jongens ik heb een lange tijd en probleemoplossing met dit project. Er waren verschillende problemen. I 'm gonna lijst een aantal van hen te helpen u overslaan branden van de olie middernacht.

1) check de NodeMCU pinnen als ze de juiste i/o geven zoals u gaan ervan uit, voor bijvoorbeeld kunt zeggen dat u de pin 4 (GPIO) neemt als een input pin. Nu standaard deze pin lezen moet... lage that't recht, maar om wat voor reden die het leest hoog zelfs na het initialiseren van de pincode in te voeren. Test het! de gevolgen van het niet testen zijn lang en niet zo leuk.

2) met behulp van een directe HTTP get/post-methode in plaats van met behulp van een visualiseren functie verstrekt door BLYNK of Thinger.io. Mijn diepe respect naar deze jongens voor de bouw van de fantastische diensten en platforms.

Mijn 2 cent: de reden is dat de PIR uitgang blijft hoog voor een paar stuurt en u wilt brengen in de nodige vertraging om te voorkomen dat meerdere e-mails te sturen. met sommige diensten zoals BLYNK veroorzaakt deze vertraging een probleem. Als het nodig is om te bellen is die functie eenmaal 6 of 7 sec. Dit is mijn ervaring ik zou verkeerd kunnen zijn.

3) zodra het voldoet aan de voorwaarde van de als lus, roept u een functie, in plaats van het schrijven van alles met de lus. Daarmee duidelijkheid de code en hulp bij het oplossen van problemen. Nogmaals, dit is mijn gevoel.

U kan de gevoeligheid van de PIR te verminderen van de tijd dat het blijft hoog. iets wat die je zou kunnen overwegen...

Veel plezier maken dit IOT apparaat...

geschreven door Junaid Ahmed

Dit is een gratis software beschermd door de creative commons-licentie

Dit is voor als is gebruikt en kan er bugs en andere problemen.

#include

#include "ESP8266WiFi.h"

const char * ssid = "NETGXXXXX";

const char * wachtwoord = "XXXXXXXXX";

const char * server = "api.carriots.com";

Const String APIKEY = "1e2f6920a92e3ca079bf60329d7871d69b3881df88df9b2c44eXXXXXXXXXX"; Vervangen door uw Carriots apikey

Const String apparaat = "licht / / vervangen van de id_developer van uw apparaat

int ledpin = 4;

int pirpin = 12;

int pirstate = laag;

int val = 0;

VOID Setup {}

Serial.begin(115200);

delay(10);

pinMode(ledpin,OUTPUT);

pinMode(pirpin,INPUT);

Serial.println("calibrating");

for (int i = 0; ik < 20; i ++) {}

Serial.Print(".");

delay(1000);

}

beginnen met wifi

Serial.println();

Serial.println();

Serial.Print ("verbinden met");

Serial.println(SSID);

WiFi.begin (ssid, wachtwoord);

terwijl (WiFi.status()! = WL_CONNECTED) {}

delay(500);

Serial.Print(".");

}

Serial.println("");

Serial.println ("WiFi aangesloten");

Serial.println ("IP-adres:");

Serial.println(WiFi.localIP());

}

functie om te praten met het Carriot Platform

VOID sendStream()

{

String txt = ""; Tekst verzenden

Als (pirstate == HIGH) {/ / Alarm uitschakelen

txt = "Beweging gedetecteerd";

} else {/ / Alarm op

txt = "Somethig wrong";

}

Serial.println(txt);

Serial.println(val); / / voor foutopsporing slechts doel

WiFiClient de klant;

Const int httpPort = 80;

Als (client.connect (server, 80)) {/ / als er een succesvolle verbinding

Serial.println(F("Connected"));

Bouwen van het gegevensveld

Json string = "{\"protocol\":\"v2\",\"device\":\""+DEVICE+"\",\"at\":\"now\",\"data\":{\"light\":\""+txt+"\ "}}";

Maken van een HTTP-aanvraag

client.println ("POST /streams HTTP/1.1");

client.println ("Host: api.carriots.com");

client.println ("Accept: application/json");

client.println ("User-Agent: Arduino-Carriots");

client.println ("Content-Type: application/json");

client.Print ("carriots.apikey:");

client.println(APIKEY);

client.Print ("Content-Length:");

int thisLength = json.length();

client.println(thisLength);

client.println ("verbinding: sluiten");

client.println();

client.println(JSON);

}

else {}

Als je niet een verbinding met de server krijgen:

Serial.println (F ("verbinding mislukt"));

}

}

void loop {}

Val = digitalRead(pirpin);

Serial.println(val);

if(Val == High) {}

digitalWrite(ledpin,HIGH);

Als (pirstate == LOW) {}

Serial.println ("bewegingsdetectie");

pirstate = hoog;

Serial.println (F ("Send Stream"));

sendStream();

delay(30000);

}

/ * while(client.available()) {}

String regel = client.readStringUntil('\r');

Serial.Print(line);

delay(30000);

} */

}

else {}

digitalWrite(ledpin,LOW);

if(pirstate == High) {}

Serial.println ("voorstel speurder e-mail verzonden");

pirstate = laag;

}

}

}

Gerelateerde Artikelen

Gemakkelijk IoT-weerstation met meerdere sensoren

Gemakkelijk IoT-weerstation met meerdere sensoren

Opmerking: Ik ben op zoek naar iemand die kan doe een spellingscontrole op onderstaande tekst. Bent u een native Engelse spreker/schrijver en annuleerteken u helpmenu dan neem contact met mij. (beloning = credits!)Hoi allemaal!In deze tutorial laat i
Arduino NodeMCU ESP8266 gebaseerd WIFI Smart Strip 4 Relay Switch Board met Raw TCP/IP, Mqtt & Android App

Arduino NodeMCU ESP8266 gebaseerd WIFI Smart Strip 4 Relay Switch Board met Raw TCP/IP, Mqtt & Android App

De MCU knooppunt is een open source ESP8266 gebaseerd Wifi toegelaten IoT platform voor iedereen. Wat we hebben gedaan is gemaakt een vier relais boord en het leukste deel is dat bord ook een 100-240V-AC naar 5V-DC Power supply aan boord heeft zodat
Volledige digitale klok met aanwezigheid Sensor (RTC - Alarm - PIR - temperatuur - vochtigheid - dauwpunt)

Volledige digitale klok met aanwezigheid Sensor (RTC - Alarm - PIR - temperatuur - vochtigheid - dauwpunt)

HoiIk heb al enkele digitale klokken projecten gedaan met Arduino met inbegrip van LED en LCD schermen, maar deze is specialer omdat ik hebben een nieuwe functie ingevoerd met een bewegingssensor (PIR).Zie VIDEOBelangrijkste kenmerkenPIR (aanwezighei
HackerBoxes 0006: Internet van dingen (IoT) projecten met het deeltje foton

HackerBoxes 0006: Internet van dingen (IoT) projecten met het deeltje foton

Hacken van het Internet van dingen! Deze maand, abonnees op HackerBoxes werken met de spaanplaat van de Photon IoT aan controle-apparaten via het Internet, verzamelen sensor gegevens via het Internet, gegevens opslaan in de cloud, en nog veel meer.Di
Arduino IOT automatisering met ESP8266

Arduino IOT automatisering met ESP8266

Dit is een IoT automatiseringsproject. niet net als anderen die alleen de sensorgegevens te met het internet halen. Ik gebruikte er techniek om controle de apparaten door lezing dat web api met behulp van wifi module esp8266. met deze techniek kunnen
IoT Gauge met Arduino, Yaler & IFTTT

IoT Gauge met Arduino, Yaler & IFTTT

Hoe het bouwen van een Web-enabled, Arduino-based IoT Gauge met een REST API, en sluit hem aan op de IFTTT.com mash-up platform, via de Yaler.net relay service *.Wat is spannend over dit? Met het Kanaal van de Makerondersteunt IFTTT aangepaste Webhoo
Een goedkope enabler van de IoT ESP8266 met

Een goedkope enabler van de IoT ESP8266 met

Een belangrijke component van of liever gezegd het concept, Internet of Things, gaat over hoe verschillende apparaten aansluiten op het netwerk, zodat ze kunnen zowel gegevens verzenden en ontvangen van commando's. Verschillende technologiën inspelen
Creëren van IoT apparaten met de ESP8266 en PubNub

Creëren van IoT apparaten met de ESP8266 en PubNub

In het geval je niet had gehoord, is het internet van dingen koning van een grote deal. In plaats van vervelen met de voorspellingen van hoeveel miljarden van apparaten in de komende jaren zal worden aangesloten, ga ik u laten zien hoe gemakkelijk ma
Zelfgemaakte Mini ronde tafel met Hand boor huis gebouwd Jig Saw hout PCB Machine

Zelfgemaakte Mini ronde tafel met Hand boor huis gebouwd Jig Saw hout PCB Machine

Zelfgemaakte Mini ronde tafel met Hand boor huis gebouwd Jig Saw hout PCB MachineMaterialen:Zelfgemaakte Headstock Chuck spindel Conveyor hier:1 PC's HSS 100 mm Rotary Tools cirkelzaag messen snijden Discs as Cutoff Cutter tools multi machtshulpmidde
IoT WiFi DIY bewegingsmelder met e-mailmelding met PIR sensor en ESP8266

IoT WiFi DIY bewegingsmelder met e-mailmelding met PIR sensor en ESP8266

In dit project ben ik de ESP8266 WiFi module en PIR sensor bewegingsmelder gebruiken om e-mailwaarschuwingen als iemand de kamer binnenkomt, terwijl ik weg ben. Ik ben met behulp van GadgetKeeper Cloud Platform voor bing e-mailmeldingen met PIR-Senso
ARDUINO PIR bewegingsmelder met 16 X 2 LCD

ARDUINO PIR bewegingsmelder met 16 X 2 LCD

Dit is een eenvoudig project voor beginners die net begonnen met behulp van Arduino.Dit project maakt gebruik van een PIR-bewegingsmelder en een 16 X 2 LCD-Module weer te geven wanneer de beweging werd gedetecteerd en de beweging gestopt.Dus, volg de
IoT stopcontact met Arduino en ESP8266

IoT stopcontact met Arduino en ESP8266

In dit instructable, ik u tonen hoe verbeterde toegankelijkheid, intelligentie en connectiviteit toevoegen aan een gewone stopcontact. Dit wordt gedaan met een combinatie van microcontrollers, Arduino, diverse sensoren, ESP8266 en een mix van softwar
IoT ontwikkeling met Mobile direct

IoT ontwikkeling met Mobile direct

Deze Instructables ziet u hoe uw IoT met je mobiel direct code.Zodra setup is voltooid, is het geen noodzaak USB to TTL kabel (noch een extra server) meer, gewoon direct uw mobiele telefoon verbinden met ESP softAP of uw mobiele telefoon en de ESP-be
WiFi / Internet gecontroleerde Relais ESP8266 - Quick, 30 minuten IoT project met

WiFi / Internet gecontroleerde Relais ESP8266 - Quick, 30 minuten IoT project met

ESP8266 is een zeer populaire apparaat voor IoT deze dagen. ESP8266 is gemakkelijk beschikbaar als een module. Zijn een klein en vuil goedkoop apparaat heeft een ingebouwde controller lopen bij 80Mhz en met optionele ingebouwde programmatuur kan word