Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

MotionSense

Composants et fournitures

Arduino Mega
× 1
Espressif ESP8266 ESP-01
× 1
Capteur PIR HC-SR501
× 1
Condensateur 1000uF
× 1
Résistances et cavaliers
× 1

Outils et machines nécessaires

Coupe-fil

Applications et services en ligne

Pushbullet

À propos de ce projet

MotionSense

Présentation

Dans ce tutoriel, je vais expliquer comment créer un système qui notifie toute activité ou intrusion non autorisée. J'avais utilisé Arduino et PIR pour la détection d'activité et ESP8266 pour la connectivité WiFi. Mon Xperia Z1 est utilisé pour recevoir des notifications. J'ai utilisé l'application de notification populaire Pushbullet pour obtenir une notification et les API Pushbullet pour envoyer une notification à partir d'Arduino.


Connaissances préalables

  • Connaissances en Arduino et matériels de base [ visitez :www.arduino.cc]
  • Idée sur les commandes AT [ lire :http://www.codeproject.com/Articles/85636/Introduction-to-AT-commands-and-its-uses ]
  • PIR, comment ça marche [ à propos de :https://en.wikipedia.org/wiki/Passive_infrared_sensor ]


'Choses' utilisées

Arduino Mega 2560

Variante ESP8266 série WiFi ESP-01

Capteur PIR HC-SR501

Condensateur 1000 µF, différentes résistances [ condensateur pour alimentation WiFi, résistance pour régulation de tension ]

Fils à filetage unique de 0,5 mm [ câble de connexion ]

Câbles de raccordement femelle-femelle [ connecteurs ]

Xperia Z1 [ pour l'application Pushbullet, n'importe quel smartphone fera l'affaire ]

Mon ordinateur portable [ codage en arduino ]

IDE Arduino [v1.6.4]


Que FAIRE

Configuration de l'environnement : Si vous n'avez pas installé arduino, installez-le à partir du site Web arduino.

Masquer la copie du code

Configuration du PIR : 

Je suppose que vous avez besoin d'une sensibilité maximale avec un cycle d'alerte minimum pour obtenir un meilleur taux de détection. Réglez donc les pots de capteurs PIR comme ça :

Ouvrez maintenant la sphère blanche du capteur PIR et vous verrez la description de la broche :GND | OUT | VCC

Connectez les cavaliers femelles avec GND VCC et OUT.

Connectez maintenant l'autre extrémité des broches du cavalier (connectées au PIR) à Arduino :

PIR GND -> Arduino GND

PIR VCC -> Arduino 5V

PIR OUT -> Broche NUMÉRIQUE 2 [vous pouvez choisir la broche en fonction de votre choix et modifier également le code arduino]

Pour tester votre PIR, vous pouvez utiliser ce code dans Arduino Playground

Donc votre PIR le capteur est PRÊT travailler

Masquer la copie du code

Activer Arduino pour se connecter à Internet via WiFi : 

J'ai utilisé le module WiFi série ESP8266 (variante ESP-01) pour mon projet qui est assez bon marché. Il existe d'autres variantes disponibles en dehors de l'ESP-01. Il existe également différents firmwares. J'ai utilisé celui par défaut, le firmware AT. Vérifiez ces deux images pour la référence de connexion

Pas de connexion ESP8266 avec Arduino avec cavalier :

ESP8266 GND -> Arduino GND

ESP8266 UXTX (broche de transmission) -> Arduino RX2 (broche du méga récepteur arduino, c'est-à-dire Serial2 dans le code)

ESP8266 CH_PD (faire HAUT) -> Arduino 5V (ajoutez un régulateur de tension 0f 3,3 car l'ESP 8266 peut tolérer 3,3 v. J'ai utilisé une résistance car je n'avais pas de régulateur de tension. Mais le régulateur de tension est préférable)

laisser RST, GPIO2 et GPIO0 non connectés

ESP8266 URXD (broche du récepteur) -> Arduino TX2 (broche du récepteur arduino, c'est-à-dire Serial2 dans le code)

ESP8266 VCC -> 3.3v d'Arduino

L'ESP8266 a un problème d'alimentation au moment de la transmission des données. Il tire tellement de puissance d'arduino qu'arduino peut redémarrer si Arduino est alimenté via PC USB. Même avec une alimentation 5v via une prise d'alimentation, cela peut ne pas suffire. Par conséquent, il est toujours recommandé d'utiliser une alimentation externe pour ESP8266. Cependant, dans mon expérience, j'ai utilisé une solution rapide et bon marché pour cela. J'ai utilisé un condensateur électrolytique de 1000 µF pour fournir suffisamment de puissance à ESP8266.

broche plus longue -> ESP8266 VCC connecté à 3.3v

broche plus courte -> ESP8266 GND connecté à arduino GND

Donc votre ESP8266 Le module Wi-Fi est PRÊT travailler

Masquer la copie du code

Notificateur Pushbullet : 

Pushbullet vous permet de notifier sans problème vos différents appareils via des notifications push. Nous allons utiliser son API pour la notification push de notre capteur PIR. EN SAVOIR PLUS sur Pushbullet

Commençons.

Accédez à PushBullet

Enregistrez-vous, téléchargez l'application Chrome et l'application Smartphone.

Connectez-vous à Pushbullet dans vos appareils.

Maintenant, voyez comment cela fonctionne pour envoyer des messages push à vos appareils à l'aide de l'application ou de l'extension Chrome installée sur votre PC.

Accédez à la section API

REMARQUE :Ici, tous les liens API et URL sont fournis pour la connexion https et Arduino ne peut pas utiliser https car il n'est pas si puissant pour gérer cela. Par conséquent, nous utiliserons la version HTTP de ces API qui n'est pas mentionnée ici dans les documents pushbullet mais j'ai obtenu cette référence de github .

Dans les documents pushbullet pour pousser, ils avaient mentionné l'URL qui est HTTPS, nous utiliserons donc l'URL HTTP et le port fournis dans ce projet github. Nous ajouterons également /pushbullet avant et le chemin REST qu'ils avaient mentionné.

Exemple :

pour la notification push à tous les appareils, selon pushbullet doc , le chemin REST est : /v2/pushes

mais on utilisera :/pushbullet/v2/pushes

URL de base :173.17.168.19

port :8181

Vérifiez maintenant différentes API et lisez les descriptions pour les connaître. Vous pourrez les utiliser plus tard pour votre version améliorée de ce didacticiel.

Vous avez besoin de votre clé d'authentification pour pousser depuis arduino. Alors allez sur votre Compte

Recherchez Jeton d'accès , copiez-le et enregistrez-le sur votre PC en lieu sûr.

Alors Pushbullet est maintenant PRÊT pour envoyer et recevoir des notifications Push.


Il est temps de coder maintenant

Ouvrez ce projet GitHub

Allez dans le dossier Expériences. Vous y trouverez MotionSense.ino , votre code qui enverra une notification à vos appareils intelligents.

Copiez ce code sur arduino IDE et connectez votre arduino (déjà configuré avec WiFi et capteur PIR).

Modifiez maintenant ces paramètres :

Masquer la copie du code

#define SSID "YOURSSID" /* remplace YOURSSID par le nom de ton point d'accès WiFi */#define PASS "YOURPASSWORD" /* remplace YOUR PASSWORD par le mot de passe de ton point d'accès WiFi */

Vous voudrez peut-être remplacer la broche PIR OUT par la broche souhaitée

Masquer la copie du code

#define PIRPIN 2 /* remplacez le code PIN numérique de votre arduino */#define AUTH_TOKEN "YOUR_TOKEN_FROM_YOUR_ACCOUNT" ;/* remplacez YOUR_TOKEN_FROM_YOUR_ACCOUNT par votre jeton d'accès*/

Utilisez également votre jeton d'accès comme mentionné dans l'extrait ci-dessus.

Maintenant, compilez et exécutez.

L'étalonnage du capteur, l'initialisation du module WiFi et la connexion à votre point d'accès prendront du temps.

Vous pouvez voir ces choses sur votre moniteur série.

Une fois que tout sera terminé, il commencera à parcourir la boucle principale et vous verrez

"Tout va bien | Aucune intrusion "

dans votre moniteur série en continu.

Chaque fois que vous passez devant votre capteur PIR, il détecte les mouvements et envoie une notification Push à vos appareils.


Comprendre le code en bref

#defines sont un ensemble de paramètres prédéfinis que vous devez modifier en conséquence

Dans la configuration, vous pouvez voir l'initialisation de l'arduino Serial(). Serial2 est pour l'accès série WiFi.

Comprendre les fonctions :

Masquer la copie du code

capteur_calibration (); /* Il calibre le capteur pour une sortie correcte. Nous devons éteindre PIRPIN avant cela */

Masquer la copie du code

check_WiFi_radio (); /* Vérifie si le module WiFi est OK ou non */

Masquer la copie du code

reset_wifi (); /* réinitialise le module WiFi pour résoudre tout problème */

Masquer la copie du code

set_wifi_mode (); /* Définir le module WiFi comme client pour la connexion au point d'accès */

Après avoir défini le mode WiFi, vous devez réinitialiser le WiFi pour le définir

Masquer la copie du code

check_wifi_stat (); /* Vérifie si votre module WiFi est connecté à AP ou non */

Masquer la copie du code

connect_ssid (); /* si non connecté, alors se connectera avec votre paramètre de connexion */

Jusqu'à cela, votre module WiFi a été initialisé et connecté. Vous devez maintenant vérifier la lecture PIR s'il a détecté un mouvement ou non. Il sera sous la boucle principale.

Masquer la copie du code

pirRead ();/* lit la valeur PIR, soit 0, soit 1. Si 1, alors Motion Sensed, si 0, alors rien n'est là */

Si quelque chose est détecté, vous devez d'abord vous connecter au serveur Pushbullet

Masquer la copie du code

connecter_serveur (); /* connexion au serveur */

Notification push maintenant

Masquer la copie du code

post (); /* envoyer une notification à tous les appareils */

déconnecter

Masquer la copie du code

server_disconnect (); /* fermer la connexion au serveur */

et en boucle

Code

Code MotionSense
Lisez le fichier readme du référentiel pour l'explication du codehttps://github.com/anupam19/ESP8266-experiments

Schémas


Processus de fabrication

  1. Carte de visite du jeu Tic Tac Toe
  2. Capteur de température multiple
  3. Contrôle de fer à souder DIY pour 862D+
  4. Sécurité incendie des imprimantes 3D
  5. Jauge IoT avec Arduino, Yaler et IFTTT
  6. Lévitation électromagnétique répulsive Arduino
  7. bot de préhension de la télécommande
  8. enregistreur de données de ballon météo alimenté par Arduino
  9. CoroFence - Détecteur thermique🖖