- Vereiste materialen:
- Modules Toelichting:
- Schema en hardware
- Een API maken om e-mail te verzenden met IFTTT:
- Arduino-programma
- -CircuitDigest
- Werken
Dit is een ander interessant IOT-project waarin we een beveiligingssysteem zullen bouwen dat een e-mail kan activeren wanneer het iemand detecteert. Dit project combineert de kracht van ESP8266, PIR-sensor en ISD1820 spraakmodule. Aan het einde van dit artikel zou u een volledig functioneel beveiligingssysteem hebben gebouwd dat op afstand via internet kan worden in- / uitgeschakeld (geactiveerd / gedeactiveerd). U kunt uw eigen audioclip opnemen die wordt afgespeeld wanneer er beweging wordt gedetecteerd en u kunt ook een e-mail met datum en tijd naar een bepaald e-mail-ID sturen waarin de inbraak wordt vermeld. Cool genoeg….. !!! ??
Dus laten we het bouwen…
Vereiste materialen:
De materialen die nodig zijn om dit project te bouwen, worden hieronder vermeld
- ESP8266
- PIR-sensor
- ISD1820 Spraakmodule
- LM317, LM7805
- BC547 (2Nos)
- 1K, 200ohm, 330ohm weerstanden
- 10uf en 0.1uf condensatoren
- 12V adapter / 9V batterij om de installatie van stroom te voorzien
Modules Toelichting:
Het project bevat drie belangrijke componenten: de ESP8266-module, PIR-sensor en ISD1820-spraakmodule. Als u bekend bent met deze modules, kunt u dit deel overslaan en verder gaan met de schema's, maar als u wilt weten hoe ze werken, lees dan verder.
ESP8266-module:
Ik weet zeker dat je deze module ooit zou zijn tegengekomen. Het is een zeer bekende en krachtige wifi-module die vooral in IOT-projecten wordt gebruikt.
Dit project gaat ervan uit dat je weet hoe je een ESP8266-module moet programmeren, zo niet vriendelijk de onderstaande twee tutorials bezoekt, waar ik je heb uitgelegd hoe je aan de slag kunt gaan met ESP8266 en hoe je er een kunt programmeren met de Arduino IDE. U moet dit weten om het project te voltooien.
- Aan de slag met ESP8266
- ESP8266 programmeren met Arduino IDE
PIR-sensor:
De PIR-sensor staat voor Passieve Infraroodsensor. Het is een goedkope sensor die de aanwezigheid van mensen of dieren kan detecteren. Er zijn twee belangrijke materialen aanwezig in de sensor, een is het pyro-elektrische kristal dat de hittesignaturen van een levend organisme (mens / dier) kan detecteren en de andere is Fresnel-lenzen die het bereik van de sensor kunnen vergroten. Ook de PIR-sensormodules bieden ons enkele opties om de werking van de sensor aan te passen, zoals weergegeven in onderstaande afbeelding.
De twee potentiometers (oranje kleur) worden gebruikt om de gevoeligheid en trigger op tijd van de sensor te regelen. In feite is de Dout-pin van de sensor aanwezig tussen de Vcc- en Gnd-pinnen. De module werkt op 3.3V maar kan ook gevoed worden met 5V. In de linkerbovenhoek heeft het ook een triggerpin-opstelling die kan worden gebruikt om de module in twee verschillende modi te laten werken. De ene is de "H" -modus en de andere is de "I" -modus.
In "H" -modus zal de uitgangspen Dout hoog worden (3,3V) wanneer een persoon binnen bereik wordt gedetecteerd en na een bepaalde tijd laag wordt (tijd wordt ingesteld door potentiometer). In deze modus zal de outputpin hoog worden, ongeacht of de persoon zich nog binnen het bereik bevindt of het gebied heeft verlaten. We gebruiken onze module in "H" -modus in ons project.
In "I" -modus zal de uitgangspen Dout hoog worden (3,3V) wanneer een persoon binnen bereik wordt gedetecteerd en hoog blijven zolang hij / zij binnen de limiet van het Sensorenbereik blijft. Zodra de persoon het gebied heeft verlaten, gaat de pin omlaag na de bepaalde tijd die kan worden ingesteld met de potentiometer.
Opmerking: de positie van potentiometers of pinnen kan variëren, afhankelijk van de leverancier van uw PIR-sensor. Volg de zeefdruk om je pinouts te bepalen
ISD1820 Spraakmodule:
De ISD 1820-spraakmodule is echt een coole module die uw projecten kan opfleuren met spraakaankondigingen. Deze module is in staat om een audioclip gedurende 10 seconden op te nemen en deze vervolgens indien nodig af te spelen. De module zelf wordt geleverd met een microfoon en een luidspreker (8 ohm 0,5 watt) en het zou er ongeveer zo uit moeten zien als hieronder.
De module werkt op + 5V en kan worden gevoed met de bergsticks aan de linkerkant. Het heeft ook drie knoppen aan de onderkant die Rec. knop, PlayE. knop en PlayL. knop respectievelijk. U kunt uw stem opnemen door op de Rec. knop en speel het af met de PlayE-knop. De PlayL speelt de stem zolang u de knop ingedrukt houdt. Bij koppeling met een MCU of ESP kunnen we de pinnen aan de linkerkant gebruiken. Deze pinnen zijn 3V-5V aanvaardbaar en kunnen daarom direct worden aangestuurd door Arduino / ESP8266. In ons project besturen we de PLAYE-pin met behulp van de GPIO 0-pin van onze ESP8266-module. Zodat we de opgenomen stem kunnen afspelen wanneer een indringer wordt gedetecteerd.
Schema en hardware
Het volledige schema van dit IoT-beveiligingssysteemproject wordt hieronder weergegeven:
Het circuit bestaat uit twee spanningsregelaars. De ene is een 3.3V-regelaar ontworpen met behulp van de LM317 en de andere is een 5V-regelaar gemaakt met behulp van de 7805-regelaar-IC. LM317 is een variabele spanningsregelaar waarvan de output is ingesteld op 3.3V door gebruik te maken van de weerstanden 200ohm en 330ohm. Beide regelaars worden gevoed door middel van een 12V adapter. Het stroomverbruik van dit circuit is zeer minimaal, daarom kan een 9V-batterij ook worden gebruikt in plaats van een 12V-adapter.
De PIR-sensor en spraakmodule worden ingeschakeld door de GPIO 2-pins hoog te maken. Deze pin stuurt de BC547 door een 1k stroombegrenzende weerstand en voltooit het stroomcircuit voor beide modules. De pin GPIO_0 wordt gebruikt als Input-pin. Het is verbonden met de Dout-pin van de PIR-sensor via een BC547-transistor. Wanneer deze pin hoog wordt, zullen we een e-mail activeren waarin de inbraak via ons Arduino-programma wordt vermeld.
De bronstroom van de uitgangspennen (Dout, GPIO_2 en GPIO2) is erg minder, daarom heb ik een transistor gebruikt om ze aan te sturen. Ook mogen de GPIO-pinnen van de ESP8266 niet worden geladen wanneer de module wordt ingeschakeld, anders zal de module de oneindige resetlus binnengaan. Om dit te voorkomen heb ik twee schakelaars geplaatst om ze tijdelijk los te koppelen tijdens het opstarten.
U kunt de bovenstaande circuits op een Perf-bord solderen of gewoon een breadboard gebruiken. Ik heb vrouwelijke / mannelijke bergsticks gebruikt om solderen op de modules te voorkomen. Als je klaar bent, zou je bord er ongeveer zo uit moeten zien als hieronder
Een API maken om e-mail te verzenden met IFTTT:
Zodra de hardware klaar is, maken we een API (Application Program Interface) die e-mail naar een bepaald e-mail-ID kan sturen. Dit kan eenvoudig worden gedaan met behulp van een website genaamd IFTTT.com. Ik heb ook een project behandeld dat sms-berichten zou kunnen verzenden met behulp van ESP8266 en e-mail met behulp van PIC Microcontroller die dezelfde IFTTT-services gebruikt.
Als je IFTTT nog niet hebt gebruikt, bezoek dan de video aan het einde van deze tutorial, als je bekend bent, volg gewoon de onderstaande stappen
1. Log in op uw IFTTT-account
2. Zoek naar "Maker Web hooks" en klik op verbinden
3. Zoek nu naar "Gmail" en klik op verbinden en volg de stappen om toegang te verlenen
4. Maak vervolgens een applet door op My Applet-> New Applet te klikken.
5. Hier is de functie "Deze" voor webmakerhooks-service en "die" functie Gmail-services
6. Klik dus op “Dit”, zoek en selecteer Webmaker hooks. Het zal om de naam van het evenement vragen, ik heb mijn evenement '123' genoemd, je kunt de jouwe alles noemen
7. Klik vervolgens op "Dat", zoek en selecteer Gmail en voer het onderwerp en de inhoud van de e-mail in.
8. Zodra alle vereiste gegevens zijn ingevoerd, zou uw Apple gereed moeten zijn en er ongeveer als volgt uit moeten zien
9. Zoek nu en ga weer naar Web Maker Hooks en klik op "Documentation". Voer vervolgens onder gebeurtenisnaam de gebeurtenisnaam in die we in de applet hebben gebruikt. In mijn geval is het "123" en kopieer de URL aangezien we deze nodig zullen hebben in ons Arduino-programma. De URL zou er als volgt uit moeten zien.
10. U kunt op de knop “Test het” klikken om te controleren of uw link goed werkt en u zou dan een testmail moeten hebben ontvangen.
Arduino-programma
Het Arduino-programma voor dit project is eenvoudig en gemakkelijk. We moeten het ESP gewoon laten fungeren als een AP en STA. Maak vervolgens een webpagina met behulp van HTML-code waar we het alarmsysteem kunnen IN- / UITSCHAKELEN. De volledige code wordt aan het einde van deze tutorial gegeven, de code wordt ook uitgelegd met commentaarregels. Verderop worden de belangrijke regels hieronder toegelicht.
const char * ssid = "BPAS home"; // Voer hier je Wifi SSID in const char * password = "cracksen"; // Voer hier uw wachtwoord in
Wijzig in de bovenstaande coderegel de SSID-naam en het wachtwoord in de SSID-naam van uw router en het bijbehorende wachtwoord.
Als u wilt weten op welk IP-adres uw ESP8266 is aangesloten, kunt u dit achterhalen door de seriële monitor te openen. De volgende regels code zullen uw IP-adres op de Arduino IDE seriële monitor afdrukken.
Serial.println (""); Serial.print ("Verbonden met"); Serial.println (ssid); Serial.print ("IP-adres:"); Serial.println (WiFi.localIP ()); // Seriële monitor geeft het IP-adres van uw ESP-module
De HTML-code die verantwoordelijk is voor het maken van een webpagina, wordt hieronder weergegeven. U kunt uw webpagina aanpassen met uw eigen code. Ik heb het feedbackgedeelte aangepast om de gebruiker te erkennen als de pagina met succes is geladen.
// HTML-code voor webpagina // mainPage + = "
IOT-gebaseerd beveiligingssysteem
-CircuitDigest
Alarmstatus:
"; feedback ="Klik op ARM om het beveiligingssysteem in te schakelen
"; // Einde van HTML-code //De onderstaande coderegels bepalen wat er moet worden gedaan als het alarm is in- of uitgeschakeld. In mijn programma heb ik het feedbackgedeelte van de HTML-code gewijzigd en de GPIO 2-pins HOOG / LAAG gemaakt op basis van de onderstaande knop
server.on ("/ switch2On", () {feedback = "
Alarm is actief
"; // HTML-code wijzigen currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, HIGH); // Schakel PIR- en spraakmodule power_module = in true; delay (1000);}); server.on ("/ switch2Off", () {feedback = "Alarm is gedaald
"; // HTML-code wijziging currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, LOW); // Schakel PIT en spraakmodule uit power_module = false; delay (1000);});Een andere belangrijke regel die moet worden gewijzigd om het systeem correct te laten werken, is de URL-stringregel. U plakt hier de regel (na "/ trigger") die u van de IFTTT-website hebt gekopieerd. Ik heb de mijne hieronder getoond, maar gebruik mijn API-sleutel niet, gebruik die van jezelf hier
String url = "/ trigger / 123 / met / key / mDsoOV_EERS3xRfrh3_UQBhbcx0qlRHns-z2qXXXXX"; // Moet het wijzigen in uw API-URL
De rest van de code spreekt voor zich, als je twijfelt, kun je het commentaargedeelte gebruiken en ik zal je helpen.
Werken
Zodra u klaar bent met de hardware en de codes, kunt u het programma uploaden naar uw ESP8266-module met behulp van een FTDI-kaart. Als je niet zeker weet hoe je programma's naar ESP8266 uploadt met Arduino IDE, bezoek dan deze tutorial.
Klik na het uploaden van het programma op seriële monitor en je zou zoiets als dit hieronder moeten zien. Als dit niet het geval is, reset uw ESP8266-module en probeer het opnieuw
Hier kunt u ook het IP-adres noteren dat aan uw ESP8266-module is toegewezen. Vervolgens kunt u het IP gebruiken om de webpagina in uw browser te laden en uw IoT-beveiligingssysteem van daaruit in- / uitschakelen, zoals weergegeven in de onderstaande afbeelding.
Nadat u dit allemaal hebt geverifieerd, kunt u uw ESP8266 overbrengen naar de Perf-kaart en hem AAN zetten en vervolgens de schakelaars kortsluiten zoals in de video wordt getoond.
Na het inschakelen kunt u het IP gebruiken om naar de hierboven getoonde webpagina te gaan en het Securtiy-systeem in te schakelen. Wacht na het inschakelen 50-60 seconden totdat de PIR-sensor is gekalibreerd.
Nu is uw project klaar voor actie, u kunt het achterlaten op een plaats die u wenst en als iemand die plaats passeert en binnen het bereik van de PIR-sensor valt, wordt er een spraakbericht geactiveerd en wordt er een e-mail naar uw e-mail gestuurd ID met de datum en tijd waarop hij / zij is overgestoken. De e-mail wordt hieronder weergegeven.
Dus dat is het… Ik hoop dat je het project leuk vond en het leuk zult vinden om er zelf een te maken. De volledige werking van het project wordt getoond in de onderstaande video. Als u twijfels of suggesties heeft, kunt u deze in de commentaarsectie hieronder schrijven en ik zal zo veel mogelijk reageren.