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

Construire un thermomètre IoT avec Python : guide complet

Composants et fournitures

MikroE Flip & Click (AT91SAM3X8E, cœur Arduino Due) × 1
Construire un thermomètre IoT avec Python : guide complet Arduino Due (alternative) × 1
Construire un thermomètre IoT avec Python : guide complet Particle Photon (alternative) × 1
Construire un thermomètre IoT avec Python : guide complet NodeMCU ESP8266 Breakout Board (alternative) × 1
Construire un thermomètre IoT avec Python : guide complet SparkFun Photon RedBoard (alternative) × 1
MikroE Temp&Hum Click (capteur HTS221) × 1
MikroE WiFi Plus Click (module MRF24WB0MA + MCW1001) × 1
Construire un thermomètre IoT avec Python : guide complet Espressif Wemos D1 Mini (alternative) × 1
Construire un thermomètre IoT avec Python : guide complet Arduino Zero (alternative) × 1

Applications et services en ligne

Construire un thermomètre IoT avec Python : guide complet Zerynth Studio (IDE Python pour embarqué)

À propos de ce projet

Construire un thermomètre IoT avec Python : guide complet

L'application Zerynth App

Zerynth App est une application mobile (Android et iOS) permettant le prototypage rapide d'interfaces graphiques pour vos projets IoT. Elle transforme n'importe quel smartphone en contrôleur et affichage pour objets connectés et systèmes IoT, gérant une communication bidirectionnelle avec les dispositifs programmés via Zerynth.

Ce tutoriel montre comment développer un thermomètre IoT simple mais puissant, utilisant un microcontrôleur 32 bits compatible Zerynth et l'app Zerynth comme affichage distant.

Matériel requis

Choisissez une carte 32 bits supportée par Zerynth. Nous utilisons le Flip&Click de Mikroelektronika : côté Arduino, quatre connecteurs mikroBUS pour "click boards" (modules compacts type shields).

Assemblage du thermomètre IoT

Le Flip&Click est le "cousin double-face" d'Arduino. Insérez simplement le Temp&Hum Click dans le slot A et le WiFi Plus Click dans le slot B.

Programmation en Python du thermomètre IoT

Cloner l'exemple

Après installation de Zerynth Studio et création d'un compte, clonez l'exemple "Zerynth App Oscilloscope". Le fichier main.py contient la logique du script Python. Nous partirons de ce code pour l'adapter.

Construire un thermomètre IoT avec Python : guide complet

Importer le bon pilote WiFi et les bibliothèques capteur

L'exemple original utilise le pilote Broadcom BCM43362 (Particle Photon). Pour le WiFi Plus Click (MCW1001A) :

# Remplacez :
from broadcom.bcm43362 import bcm43362 as wifi_driver
# Par :
from microchip.mcw1001a import mcw1001a as wifi_driver

# Et :
wifi_driver.auto_init()
# Par :
wifi_driver.init(SERIAL2, D24)  # slot B

Ajoutez la bibliothèque du capteur HTS221 (Temp&Hum Click, slot A) :

from stm.hts221 import hts221
temp_hum = hts221.HTS221(I2C0, D21)  # slot A

# Lecture :
tmp, hum = temp_hum.get_temp_humidity()

Configurer SSID et mot de passe WiFi

wifi.link("VOTRE_SSID", wifi.WIFI_WPA2, "VOTRE_MOT_DE_PASSE")

Créer et configurer un périphérique connecté

Créez un "connected device" dans le panneau ADM de Zerynth Studio et liez l'instance zerynthapp. Les identifiants UID et TOKEN sont copiables depuis l'ADM. L'adresse IP de l'ADM (ex. 178.22.65.123) est nécessaire si le pilote réseau ne résout pas les noms d'hôte.

Construire un thermomètre IoT avec Python : guide complet
Construire un thermomètre IoT avec Python : guide complet

Créer, uploader et définir le template

L'interface graphique de chaque device est hébergée sur l'ADM Zerynth et consiste en fichiers HTML5, JavaScript, CSS, images. La bibliothèque JavaScript ADM permet l'interaction bidirectionnelle. Le template se définit dans index.html (éditable).

Construire un thermomètre IoT avec Python : guide complet
Construire un thermomètre IoT avec Python : guide complet

Téléverser le script

Après modifications, le code final ressemble à :

################################################################################
# IoT Thermometer
################################################################################
from wireless import wifi
from microchip.mcw1001a import mcw1001a as wifi_driver
import streams
import adc
from zerynthapp import zerynthapp
from stm.hts221 import hts221

temp_hum = hts221.HTS221(I2C0, D21)  # slot A
streams.serial()
sleep(1000)
print("STARTING...")

try:
    zapp = zerynthapp.ZerynthApp("DEVICE_UID", "DEVICE_TOKEN", ip="178.22.65.123", log=True)
    wifi_driver.init(SERIAL2, D24)  # slot B
    
    for i in range(5):
        try:
            wifi.link("SSID", wifi.WIFI_WPA2, "PASSWORD")
            break
        except Exception as e:
            print("Connexion échouée", e)
    else:
        print("Impossible de se connecter !")
        while True: sleep(1000)
    
    zapp.run()
    
    while True:
        sleep(1000)
        tmp, hum = temp_hum.get_temp_humidity()
        print("Temp:", tmp, "Humidité:", hum)
        try:
            zapp.event({"data": tmp})
        except Exception as e:
            print(e)
        if tmp > 30:
            try:
                zapp.notify("ALARME !", "Température élevée !")
            except Exception as e:
                print(e)
except Exception as e:
    print(e)

Remplacez DEVICE_UID, DEVICE_TOKEN, SSID, PASSWORD par vos valeurs.

Puis uploadez le script sur votre device.

Voir le tableau de bord sur Zerynth App

Ouvrez l'app Zerynth, connectez-vous, sélectionnez votre device : le tableau de bord du thermomètre IoT s'affiche. L'app reçoit aussi les notifications push (ici si température > 30°C).

Construire un thermomètre IoT avec Python : guide complet

Questions ? Ouvrez une discussion sur le forum Zerynth.

Amusez-vous bien !

Code complet

IoT Thermometer (Python)

################################################################################
# Zerynth App Oscilloscope (adapté pour IoT Thermometer)
################################################################################
from wireless import wifi
from microchip.mcw1001a import mcw1001a as wifi_driver
import streams
import adc
streams.serial()
from zerynthapp import zerynthapp
from stm.hts221 import hts221
temp_hum = hts221.HTS221(I2C0, D21)  # slot A
sleep(1000)
print("STARTING...")
try:
    zapp = zerynthapp.ZerynthApp("DEVICE UID", "DEVICE TOKEN", ip="178.22.65.123", log=True)
    wifi_driver.init(SERIAL2, D24)  # slot B
    for i in range(0,5):
        try:
            wifi.link("SSID", wifi.WIFI_WPA2, "PASSWORD")
            break
        except Exception as e:
            print("Can't link", e)
    else:
        print("Impossible to link!")
        while True: sleep(1000)
    zapp.run()
    while True:
        sleep(1000)
        tmp, hum = temp_hum.get_temp_humidity()
        print("Temp is:", tmp, "Humidity is:", hum)
        try:
            zapp.event({"data": tmp})
        except Exception as e:
            print(e)
        if tmp > 30:
            try:
                zapp.notify("ALARM!", "High Temperature!")
            except Exception as e:
                print(e)
except Exception as e:
    print(e)

Schémas

Construire un thermomètre IoT avec Python : guide complet

Processus de fabrication

  1. Le thermomètre : du thermoscope de Galilée aux capteurs numériques modernes
  2. Capteur de température infrarouge TMP006 avec Raspberry Pi : bibliothèque Python et guide de configuration
  3. Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
  4. Maîtriser la Carte PSoC 6 Pioneer avec le Shield IoT Add-On : Guide du Développeur
  5. Comment l'IoT révolutionne la vie quotidienne
  6. Installer Python et PyCharm sur Windows : Guide étape par étape
  7. Comment renommer fichiers et répertoires en Python avec os.rename() – Guide étape par étape
  8. Calculer des Moyennes en Python : Guide Pratique
  9. Envoyer des emails en Python avec SMTP : Guide rapide et facile