[PYTHON] [Pour les débutants] J'ai fait un capteur humain avec Raspberry Pi et notifié LINE!

introduction

J'ai connecté Raspberry Pi au module de capteur et créé un capteur humain qui notifie à ma LIGNE les informations de détection.

Contexte

Dans le cadre de la création d'une application prototype en interne, je serai en charge de construire un capteur humain. Qu'est-ce que Razpai? J'ai entendu parler de Python, mais que puis-je faire? Je suis parti de l'état et j'ai fait quelque chose qui avertira LINE lorsque le capteur répondra. Je publie un article qui sert également de rapport de travail à mon entreprise, mais j'aimerais faire du travail électronique avec Raspeye! J'espère que ce sera utile pour ceux qui le disent.

Ce que vous devez faire

・ RaspBerry Pi Zero ・ Ren He HC-SR501 Module sensible infrarouge du corps humain    ( URL:https://www.amazon.co.jp/gp/product/B07DCKZS5S ) · Carte SD ・ Breadboard ・ Jumper fil (femelle-femelle)    ( URL:https://www.amazon.co.jp/gp/product/B01A4DDUTA ) ・ Hub USB ·moniteur ・ Clavier USB ・ Marteau en plastique ・ Tête de marteau GPIO    ( https://www.amazon.co.jp/gp/product/B0711MPHVF/ )

Installation du système d'exploitation

Téléchargez le système d'exploitation à partir du site Web officiel de Rasppie. Cette fois, j'ai utilisé NOOBS Lite. Décompressez le fichier Zip OS téléchargé et écrivez-le sur la carte SD.

Connexion de la tarte à la râpe et du module capteur

Utilisez le GPIO Hammer Header pour attacher la broche GPIO à la tarte à la râpe avec un marteau en plastique, puis connectez-la avec un fil de liaison à la broche GPIO qui joue le même rôle que le module de capteur. Le Rasp Berry Pi Zero utilisé cette fois se connecte comme ça.

Le temps de détection et la plage de détection du module capteur sont réglés à ce niveau.

Réglage initial

Insérez la carte SD dans la tarte à la râpe. Connectez le moniteur, le clavier USB, la souris, l'alimentation et démarrez Raspeye Effectuez les réglages initiaux en vous référant à cet article.

Contrôle du fonctionnement du module capteur

Définissez les paramètres de contrôle GPIO pour Raspeye en Python et vérifiez le fonctionnement du module de capteur. Exécutez le programme suivant

sensor_test.py


import RPi.GPIO as GPIO
GPIO_PIN = 12

GPIO.setmode(GPIO.BCM)
GPIO.setup(GPIO_PIN,GPIO.IN)

while True:
    if(GPIO.input(GPIO_PIN) == GPIO.HIGH):
        print("1")
        break
GPIO.cleanup()

Après avoir exécuté le programme, tenez votre main sur le module de capteur, et si les résultats suivants sont obtenus, le contrôle de fonctionnement est terminé.

pi@raspberrypi:~ $ python /home/pi/work/sensor_test.py
1

Émission de jetons d'accès avec LINE Notify

  1. Accédez à LINE Notify, connectez-vous avec le compte LINE auquel vous souhaitez envoyer des notifications et ouvrez Ma page.

  2. Cliquez sur "Issue __Token __"

  3. Définissez le nom du jeton sur n'importe quel nom de jeton et sélectionnez «Recevoir une notification LINE Notify à ___1: __»

  4. Notez le jeton émis

Notifier LINE des informations de détection du capteur humain

Nous allons enfin mettre en œuvre le programme! Recevez les informations de détection du module de capteur avec une tarte à la râpe et appuyez sur l'API vers LINE Notify.

detection_LINE.py


import requests
import RPi.GPIO as GPIO
import time

SLEEPTIME = 30

GPIO_PIN = 12
GPIO.setmode(GPIO.BCM)
GPIO.setup(GPIO_PIN,GPIO.IN)

def main():
    url = "https://notify-api.line.me/api/notify"
    token = "Le jeton d'accès que vous avez noté précédemment"
    headers = {"Authorization" : "Bearer "+ token}

    message =  'IN USE!!!!!'
    payload = {"message" :  message}
    requests.post(url ,headers = headers ,params=payload)


try:
	while True:
		if(GPIO.input(GPIO_PIN) == GPIO.HIGH):
                  main()
		  time.sleep(SLEEPTIME)

finally:
	GPIO.cleanup

Réglez Cron pour qu'il soit exécuté automatiquement au démarrage de Raspeye.

crontab -e 

Lorsque le fichier de configuration cron s'ouvre, ajoutez ce qui suit à la dernière ligne:

@reboot python /home/pi/work/detection_LINE.py

Redémarrage de la tarte à la râpe

J'ai redémarré Raspeye et ai tenu ma main sur le module de capteur et j'ai reçu une notification!

20200629_095257000_iOS.png

Impressions de fabrication

Je suis parti d'un état bâclé, mais j'ai été surpris d'utiliser la force pour installer GPIO, et lorsque la plage de détection du module de capteur a été maximisée + le temps de sommeil n'a pas été inséré, le script a été exécuté et la notification LINE a sonné comme une explosion. Il y avait beaucoup de détours uniques, mais j'en ai profité comme si j'étudiais librement pendant les vacances d'été!

Ensuite, j'aimerais pouvoir créer quelque chose en utilisant Lambda d'AWS.

Recommended Posts

[Pour les débutants] J'ai fait un capteur humain avec Raspberry Pi et notifié LINE!
J'ai créé un moniteur de ressources pour Raspberry Pi avec une feuille de calcul
J'ai essayé de faire LINE BOT avec Python et Heroku
J'ai fait une caméra de surveillance avec Raspberry PI pour la première fois.
J'ai créé un serveur Web avec Razpai pour regarder des anime
Utiliser le capteur de mouvement PIR avec Raspberry Pi
[Travail électronique] J'ai fabriqué un détecteur de son tactile Suica avec Raspberry Pi
J'ai fait un robot de remplacement de tampon avec une ligne
J'ai créé un Bot LINE avec Serverless Framework!
J'ai tweeté l'éclairement de la pièce avec Raspberry Pi, Arduino et un capteur optique
J'ai essayé de créer un bouton pour Slack avec Raspeye + Tact Switch
[AWS] J'ai créé un BOT de rappel avec LINE WORKS
Créez un capteur de couleur à l'aide d'une tarte à la râpe et d'une caméra
J'ai créé un bot de livre de compte de ménage avec LINE Bot
J'ai créé une fenêtre pour la sortie du journal avec Tkinter
Créez une caméra de surveillance WEB avec Raspberry Pi et OpenCV
J'ai essayé de connecter Raspeye et conect + avec l'API Web
J'ai créé Chatbot en utilisant l'API LINE Messaging et Python
[AWS] J'ai créé un BOT de rappel avec LINE WORKS (implémentation)
J'ai essayé de créer une caméra de surveillance à détection de mouvement avec OpenCV en utilisant une caméra WEB avec Raspberry Pi
J'ai automatiquement collecté mes données de publication Qiita avec Raspberry Pi et je les ai régulièrement notifiées avec Slack
J'ai fait une loterie avec Python.
J'ai créé un démon avec Python
Utiliser une webcam avec Raspberry Pi
J'ai fait un circuit simple avec Python (AND, OR, NOR, etc.)
J'ai créé un formulaire de tweet Nyanko avec Python, Flask et Heroku
Classique de Noël (?) Éclairage d'un arbre de Noël avec Raspberry Pi et Philips Hue
J'ai créé beaucoup de fichiers pour la connexion RDP avec Python
Créez un thermomètre avec Raspberry Pi et rendez-le visible sur le navigateur Partie 4
Faire une boussole d'affichage kanji avec Raspberry Pi et Sense Hat
J'ai créé un environnement de développement pour Django 3.0 avec Docker, Docker-compose, Poetry
J'ai créé Chatbot en utilisant l'API LINE Messaging et Python (2) ~ Server ~
J'ai créé un chat chat bot avec Tensor2Tensor et cette fois cela a fonctionné
"2/2" Je crée une application Web simple pour le fonctionnement du robot. «Chaînes Raspberry Pi 3B + et Django»
"1/2" Je crée une application Web simple pour le fonctionnement du robot. «Chaînes Raspberry Pi 3B + et Django»
Surveillance des animaux avec Rekognition et Raspberry pi
Un mémo pour utiliser simplement le capteur d'éclairement TSL2561 avec Raspberry Pi 2
[Raspberry Pi] Ajouter un thermomètre et un hygromètre
Créer un environnement Tensorflow avec Raspberry Pi [2020]
Remarque: je souhaite faire de la domotique avec Home Assistant + Raspberry Pi + capteur # 1
Créez un convertisseur Ethernet LAN sans fil et un routeur simple avec Raspberry Pi
Essayez de pêcher le Wakasagi avec Raspberry Pi
Acquérir la valeur du capteur de Grove Pi + avec Raspberry Pi et la stocker dans Kintone
J'ai essayé de faire un signal avec Raspeye 4 (édition Python)
Faire une minuterie de lavage-séchage avec Raspberry Pi
J'ai fait une carte hexadécimale avec Python
J'ai fait un jeu de vie avec Numpy
J'ai fait un générateur Hanko avec GAN
Faites fonctionner l'oscilloscope avec le Raspberry Pi
Créez un compteur de voiture avec Raspberry Pi
J'ai fait un jeu rogue-like avec Python
J'ai fait un package npm pour obtenir l'ID de la carte IC avec Raspberry Pi et PaSoRi
J'ai fait un simple blackjack avec Python
J'ai créé un fichier de configuration avec Python
J'ai fait une bibliothèque pour l'assurance actuarielle
J'ai fait une application WEB avec Django