Construire un thermomètre IoT avec Python : guide complet
Composants et fournitures
| MikroE Flip & Click (AT91SAM3X8E, cœur Arduino Due) | × | 1 | |
![]() |
Arduino Due (alternative) | × | 1 |
![]() |
Particle Photon (alternative) | × | 1 |
![]() |
NodeMCU ESP8266 Breakout Board (alternative) | × | 1 |
![]() |
SparkFun Photon RedBoard (alternative) | × | 1 |
| MikroE Temp&Hum Click (capteur HTS221) | × | 1 | |
| MikroE WiFi Plus Click (module MRF24WB0MA + MCW1001) | × | 1 | |
![]() |
Espressif Wemos D1 Mini (alternative) | × | 1 |
![]() |
Arduino Zero (alternative) | × | 1 |
Applications et services en ligne
![]() |
Zerynth Studio (IDE Python pour embarqué) |
À propos de ce projet

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).
- Temp&Hum Click (slot A) : capteur HTS221 température/humidité
- WiFi Plus Click (slot B) : module MRF24WB0MA 2.4GHz IEEE 802.11 + contrôleur MCW1001 avec stack TCP/IP
- Zerynth Studio : IDE puissant pour Python embarqué IoT — téléchargement
- Zerynth App : téléchargement
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.

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.


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).


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).

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






