MotionSense
Komponenten und Verbrauchsmaterialien
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Notwendige Werkzeuge und Maschinen
|
Apps und Onlinedienste
|
Über dieses Projekt
MotionSense
Einführung
In diesem Tutorial werde ich erörtern, wie ein System erstellt wird, das alle nicht autorisierten Aktivitäten oder Eindringlinge benachrichtigt. Ich hatte Arduino und PIR für die Aktivitätserkennung und ESP8266 für die WLAN-Konnektivität verwendet. Mein Xperia Z1 wird verwendet, um Benachrichtigungen zu erhalten. Ich habe die Populär-Benachrichtigungs-App Pushbullet verwendet, um Benachrichtigungen zu erhalten, und die Pushbullet-APIs, um Benachrichtigungen von Arduino zu senden.
Voraussetzungen
- Kenntnisse in Arduino und grundlegender Hardware [besuch:www.arduino.cc]
- Idee zu AT-Befehlen [lesen:http://www.codeproject.com/Articles/85636/Introduction-to-AT-commands-and-its-uses]
- PIR, wie es funktioniert [über:https://en.wikipedia.org/wiki/Passive_infrared_sensor]
'Gebrauchte Dinge'
Arduino Mega 2560
ESP8266 Serielles WLAN ESP-01 Variante
HC-SR501 PIR-Sensor
1000 µF Kondensator, verschiedene Widerstände [ Kondensator für WLAN-Stromversorgung, Widerstand zur Spannungsregelung ]
Einfädige 0,5-mm-Drähte [ Anschlusskabel ]
Weiblich-weiblich Überbrückungsdrähte [ Anschlüsse ]
Xperia Z1 [ für die Pushbullet-App ist jedes Smartphone geeignet ]
Mein Laptop [ codierung in arduino ]
Arduino-IDE [v1.6.4]
Was zu tun ist
Umgebung einrichten: Wenn Sie Arduino nicht installiert haben, installieren Sie es von der Arduino-Website.
Code kopieren ausblenden
PIR einrichten:
Ich gehe davon aus, dass Sie maximale Empfindlichkeit mit minimalem Alarmzyklus benötigen, um eine bessere Erkennungsrate zu erzielen. Stellen Sie daher die PIR-Sensortöpfe so ein:
Öffnen Sie nun die weiße Kugel des PIR-Sensors und Sie sehen die Pinbeschreibung:GND | AUS | VCC
Verbinden Sie die weiblichen Jumper mit GND VCC und OUT.
Verbinden Sie nun das andere Ende der Jumper-Pins (verbunden mit PIR) mit Arduino:
PIR GND -> Arduino GND
PIR VCC -> Arduino 5V
PIR OUT -> DIGITAL Pin 2 [Sie können die PIN nach Ihrer Wahl auswählen und auch den Arduino-Code ändern]
Um Ihren PIR zu testen, können Sie diesen Code in Arduino Playground verwenden
Also Ihr PIR Sensor ist BEREIT arbeiten
Code kopieren ausblenden
Ermöglichen von Arduino, sich über WLAN mit dem Internet zu verbinden:
Ich habe das serielle WLAN-Modul ESP8266 (Variante ESP-01) für mein Projekt verwendet, das ziemlich billig ist. Neben ESP-01 gibt es noch weitere Varianten. Es gibt auch verschiedene Firmwares. Ich habe die Standard-AT-Firmware verwendet. Überprüfen Sie diese beiden Bilder als Verbindungsreferenz
Kein ESP8266 mit Arduino mit Überbrückungskabel verbinden:
ESP8266 GND -> Arduino GND
ESP8266 UXTX (Sendestift) -> Arduino RX2 (Arduino Mega-Empfänger-Pin, dh Serial2 im Code)
ESP8266 CH_PD (HOCH machen) -> Arduino 5V (fügen Sie einen Spannungsregler 0f 3.3 hinzu, da ESP 8266 3.3 V tolerieren kann. Ich habe einen Widerstand verwendet, da ich keinen Spannungsregler hatte. Aber Spannungsregler wird bevorzugt)
lass RST, GPIO2 und GPIO0 nicht verbunden
ESP8266 URXD (Empfänger-Pin) -> Arduino TX2 (Arduino-Empfänger-Pin dh Serial2 im Code)
ESP8266 VCC -> 3,3 V Arduino
ESP8266 hat zum Zeitpunkt der Datenübertragung ein Stromproblem. Es zieht so viel Strom von Arduino, dass Arduino neu gestartet werden kann, wenn Arduino über PC-USB mit Strom versorgt wird. Auch bei 5V Stromversorgung über den Netzstecker kann es sein, dass sie nicht ausreicht. Daher wird immer empfohlen, für den ESP8266 eine externe Stromversorgung zu verwenden. In meinem Experiment habe ich jedoch eine schnelle und kostengünstige Lösung dafür verwendet. Ich habe einen 1000µF Elektrolytkondensator verwendet, um den ESP8266 mit genügend Strom zu versorgen.
längerer Pin -> ESP8266 VCC an 3,3 V angeschlossen
kürzerer Pin -> ESP8266 GND mit Arduino GND verbunden
Also Ihr ESP8266 WLAN-Modul ist BEREIT arbeiten
Code kopieren ausblenden
Pushbullet-Notifier:
Mit Pushbullet können Sie Ihre verschiedenen Geräte nahtlos über Push-Benachrichtigungen benachrichtigen. Wir werden seine API für die Push-Benachrichtigung unseres PIR-Sensors verwenden. LESEN SIE MEHR über Pushbullet
Fangen wir an.
Gehe zu PushBullet
Registrieren Sie sich, laden Sie die Chrome-App und die Smartphone-App herunter.
Melden Sie sich bei Pushbullet an auf deinen Geräten.
Sehen Sie sich jetzt an, wie es funktioniert, mit der auf Ihrem PC installierten App oder Chrome-Erweiterung einige Push-Nachrichten an Ihre Geräte zu senden.
Gehen Sie zum API-Bereich
HINWEIS:Hier werden alle API-Links und URLs für die https-Verbindung bereitgestellt und Arduino kann https nicht verwenden, da dies nicht so leistungsstark ist. Daher werden wir die HTTP-Version dieser APIs verwenden, die hier in Pushbullet-Dokumenten nicht erwähnt wird, aber ich habe diese Referenz von github .
In Pushbullet-Dokumenten zum Pushen wurde die URL erwähnt, die HTTPS ist, daher verwenden wir die HTTP-URL und den Port, die in diesem Github-Projekt bereitgestellt werden. Außerdem werden wir /pushbullet hinzufügen vorher und REST-Pfad, den sie erwähnt hatten.
Beispiel:
für Benachrichtigungen Push an alle Geräte , gemäß Pushbullet-Dokument , REST-Pfad ist : /v2/pushes
aber wir werden verwenden:/pushbullet/v2/pushes
Basis-URL:173.17.168.19
Port:8181
Überprüfen Sie nun verschiedene APIs und lesen Sie die Beschreibungen, um mehr darüber zu erfahren. Sie können sie später für Ihre erweiterte Version dieses Tutorials verwenden.
Sie benötigen Ihren Authentifizierungsschlüssel, um von arduino zu pushen. Gehen Sie also zu Ihrem Konto
Suchen Sie nach Zugriffstoken , kopieren und an einem sicheren Ort auf Ihrem PC speichern.
Also Pushbullet ist jetzt BEREIT zum Senden und Empfangen von Push-Benachrichtigungen.
Jetzt ist es Zeit zu codieren
Dieses GitHub-Projekt öffnen
Gehen Sie zum Ordner Experimente. Dort finden Sie MotionSense.ino , Ihr Code, der Benachrichtigungen an Ihre Smart Devices sendet.
Kopieren Sie diesen Code in die Arduino-IDE und verbinden Sie Ihr Arduino (bereits mit WiFi und PIR-Sensor eingerichtet).
Ändern Sie nun diese Parameter:
Code kopieren ausblenden
#define SSID "YOURSSID" /* IHRSSID durch den Namen Ihres WLAN-Zugangspunkts ersetzen */#define PASS "IHRPASSWORT" /* IHR PASSWORT durch Ihr WLAN-Zugangspunkt-Passwort ersetzen */
Möglicherweise möchten Sie den PIR OUT-Pin in Ihren gewünschten Pin ändern
Code kopieren ausblenden
#define PIRPIN 2 /* ändere deinen gewünschten digitalen Pin deines Arduino */#define AUTH_TOKEN "YOUR_TOKEN_FROM_YOUR_ACCOUNT";/* ersetze YOUR_TOKEN_FROM_YOUR_ACCOUNT mit deinem Access Token*/
Verwenden Sie auch Ihr Zugriffstoken wie im obigen Snippet erwähnt.
Jetzt kompilieren und ausführen.
Die Sensorkalibrierung, die Initialisierung des WLAN-Moduls und die Verbindung mit Ihrem Zugangspunkt dauern einige Zeit.
Sie können diese Dinge in Ihrem seriellen Monitor sehen.
Nachdem alles erledigt ist, wird die Hauptschleife durchlaufen und Sie werden sehen
"Alles in Ordnung | Kein Eindringen "
in Ihrem seriellen Monitor kontinuierlich.
Immer wenn Sie vor Ihren PIR-Sensor gehen, erkennt er Bewegungen und sendet Push-Benachrichtigungen an Ihre Geräte.
Code in Kürze verstehen
#defines sind vordefinierte Parameter, die Sie entsprechend ändern müssen
Im Setup können Sie sehen, wie Arduino Serial() initialisiert wird. Serial2 ist für den seriellen WLAN-Zugriff.
Funktionen verstehen :
Code kopieren ausblenden
sensor_kalibrierung (); /* Es kalibriert den Sensor für die richtige Ausgabe. Wir müssen PIRPIN vorher ausschalten */
Code kopieren ausblenden
check_WiFi_radio (); /* Prüft, ob das WLAN-Modul in Ordnung ist oder nicht */
Code kopieren ausblenden
reset_wifi (); /* setzt das WLAN-Modul zurück, um alle Probleme zu beheben */
Code kopieren ausblenden
set_wifi_mode (); /* WLAN-Modul als Client für die Verbindung zum Access Point festlegen */
Nachdem Sie den WLAN-Modus eingestellt haben, müssen Sie WLAN zurücksetzen, um es einzustellen
Code kopieren ausblenden
check_wifi_stat (); /* Überprüft, ob Ihr WiFi-Modul mit dem AP verbunden ist oder nicht */
Code kopieren ausblenden
connect_ssid(); /* wenn nicht verbunden, dann wird mit Ihrem Verbindungsparameter verbunden */
Bis dahin wurde Ihr WiFi-Modul initialisiert und verbunden. Jetzt müssen Sie den PIR-Wert überprüfen, ob es eine Bewegung erkannt hat oder nicht. Es wird unter der Hauptschleife sein.
Code kopieren ausblenden
pirRead();/* liest den PIR-Wert, entweder 0 oder 1. Wenn 1, dann Motion Sensed, wenn 0, dann ist nichts da */
Wenn etwas erkannt wird, müssen Sie sich zuerst mit dem Pushbullet-Server verbinden
Code kopieren ausblenden
server_connect(); /* Verbindung zum Server */
Jetzt Push-Benachrichtigung
Code kopieren ausblenden
trennen
Code kopieren ausblenden
server_disconnect(); /* Serververbindung schließen */
und durchschleifen
Code
MotionSense-Code
Lesen Sie die Readme-Datei zum Repository für die Codeerklärunghttps://github.com/anupam19/ESP8266-experimentsSchaltpläne
Herstellungsprozess
- Visitenkarte des Tic-Tac-Toe-Spiels
- Multi-Temperatursensor
- DIY Lötkolbensteuerung für 862D+
- 3D-Drucker Brandschutz
- IoT-Messgerät mit Arduino, Yaler und IFTTT
- Arduino Repulsive Electromagnetic Levitation
- Greifer-Bot mit Fernbedienung
- Arduino-betriebener Wetterballon-Datenlogger
- ArduFarmBot - Teil 2:Remote-Station und IoT-Implementierung
- CoroFence - Wärmedetektor🖖