
En essayant de connecter mon capteur de température DS18B20 à ma
serre intelligente , j'ai constaté qu'Internet n'a pas d'instructions complètes pour connecter ce capteur via le langage de programmation Python. Je l'utilise depuis que je travaille avec la plateforme Raspberry Pi. J'ai décidé de résoudre ce problème. Il s'avère que travailler avec TCP n'est pas si difficile, mais vous devez comprendre ce que nous faisons et pourquoi. Une danse de deux heures avec un tambourin m'a clairement énervé. Donc ici, en plus de la partie logicielle elle-même, je veux raconter tout l'algorithme du début à la fin. Je pense que d'autres capteurs fonctionnent de la même manière, donc un gros article sera le même pour tout le monde. J'espère que si vous voulez connecter votre capteur, vous n'aurez pas besoin d'un tambourin :) Et donc, commençons, je vous demande Habrokat.
Chamanisme avec un capteur

Pour nous, nous devons connecter le capteur lui-même. Je vais travailler avec le capteur de température DS18B20. Des articles complets sur ce sujet, nous ne les reproduirons pas. Vous pouvez lire sur la connexion
ici . Ensuite, nous devons obtenir des données du capteur. Nous ferons de même comme indiqué dans l'article ci-dessus. Il y a un excellent exemple Python dont je suis fan.
import os tfile=open("/sys/bus/w1/devices/28-000000d7970b/w1_slave") ttext=tfile.read() tfile.close() temp=ttext.split("\n")[1].split(" ")[9] temperature=float(temp[2:])/1000 print temperature
N'oubliez pas de remplacer les données par votre capteur.Comme nous pouvons le voir, la température prend la variable de température (qui aurait pensé), dont nous aurons besoin plus loin.
Conjurer avec la surveillance
Eh bien, vous devez d'abord enregistrer
narodmon.ru , ceux qui ne l'ont pas encore fait. L'API de service nous propose de transmettre des données via TCP. Alors faisons-le. On nous demande de transmettre le texte dans le format suivant:
#MAC[#NAME][#LAT][#LNG][#ELE]\n #mac1#value1[#time1][#name1]\n ... #macN#valueN[#timeN][#nameN]\n ##
Mais en fait, nous devons passer seulement trois paramètres: le MAC de l'appareil, le nom du capteur et sa valeur. Le reste n'est pas nécessaire et nous n'en avons pas vraiment besoin.
Dans la première ligne, nous devons passer le treillis, MAC et le caractère de saut de ligne \ n.
Dans la deuxième ligne et les suivantes, nous transférons à nouveau la grille, le nom du capteur, à nouveau la grille et les lectures du capteur. Nous terminons cela avec le caractère de saut de ligne \ n.
Dans la dernière ligne, vous devez passer deux grilles pour terminer le package.
Par conséquent, le format reste le suivant:
#MAC\n #mac1#value1\n #macN#valueN\n ##
Écrire un programme Python
Nous allons écrire le programme en Python 2. L'algorithme sera comme ça. Nous recevons des données du capteur et les écrivons dans la variable de température. Ensuite, nous formons le package et l'envoyons au People Monitoring Server. Nous exécuterons le script toutes les 10 minutes (l'intervalle minimum autorisé pour l'envoi des lectures est de 5 minutes) via cron.
L'envoi se déroule comme suit (exemple sur le site de surveillance):
Soumettre le code de script Nous sommes connectés au serveur narodmon.ru:8283
En conséquence, nous obtenons le script suivant:
Voici à quoi ressemble l'envoi de données à partir de deux capteurs. Si vous donnez au capteur un nom commençant par T, le serveur lui-même déterminera qu'il s'agit d'un capteur de température.
Maintenant, nous devons ajouter le capteur à cron. Nous
crontab -e
:
crontab -e
et y ajoutons la ligne suivante:
*/10 * * * * sudo python /home/pi/narod.py
Nous attendons l'exécution du script.
Maintenant, nous allons ici
narodmon.ru/ip et voyons si les données ont été transmises. Si tout est en ordre, cliquez sur le bouton "Ajouter un appareil" sur la page principale du menu et spécifiez le MAC. Maintenant, nous pouvons tout personnaliser selon vos goûts (nom, type, emplacement, etc.). Vous pouvez rendre le capteur public un jour après le début de la transmission du témoignage.
C’est tout. Je vous souhaite bonne chance dans la connexion des capteurs. Faites-le plus souvent, car il est si pratique de chez vous de voir à l'avance la température à l'endroit où vous vous rendez.
A bientôt :)