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

Thermomètre IoT utilisant Python

Composants et fournitures

MikroE Flip &Click
× 1
Arduino Due
× 1
Photon de particule
× 1
Panneau de déploiement NodeMCU ESP8266
× 1
SparkFun Photon RedBoard
× 1
Clic MikroE Temp&Hum
× 1
Clic MikroE WiFi Plus
× 1
Espressif Wemos D1 Mini
× 1
Arduino Zero
× 1

Applications et services en ligne

Zerynth Studio

À propos de ce projet

L'application Zerynth

Zerynth App est une application mobile pour Android et iOS qui permet le prototypage rapide des interfaces graphiques pour vos projets IoT .

Avec l'application Zerynth, vous pouvez transformer n'importe quel mobile en contrôleur et afficher des objets intelligents et systèmes IoT ! En particulier, vous pouvez gérer et contrôler les appareils connectés programmés avec Zerynth, permettant un canal de communication bidirectionnel entre eux et votre mobile.

Dans ce tutoriel, nous allons voir comment développer un thermomètre IoT simple mais puissant , en utilisant un microcontrôleur monocarte alimenté par Zerynth et l'application Zerynth comme affichage à distance.

Matériel requis

Tout d'abord, vous avez besoin d'une planche. Vous pouvez sélectionner l'un des microcontrôleurs 32 bits pris en charge par Zerynth. Nous avons choisi le Flip&Click de Mikroelektronika, qui partage bon nombre des mêmes attributs que les plates-formes Arduino populaires, y compris le AT91SAM3X8E 32 bits de Microchip le cœur de Arduino Due.

Pour mesurer la température, nous avons choisi le Temp&Hum Click, qui comporte un capteur de température et d'humidité relative HTS221.

Pour connecter la carte à Internet, nous avons choisi le WiFi PLUS Click, qui comprend MRF24WB0MA - 2,4 GHz, IEEE std. 802.11 – module conforme de Microchip , ainsi que le contrôleur compagnon MCW1001 avec pile TCP/IP intégrée et gestionnaire de connexions 802.11.

Enfin et surtout, vous avez besoin de :

  • Zerynth Studio , notre puissant IDE pour la programmation embarquée en Python qui permet l'IoT. Vous pouvez le télécharger ici.
  • Application Zerynth . Vous pouvez le télécharger ici.

Assemblage de votre thermomètre IoT

Flip&Click est le cousin bilatéral d'Arduino. D'un côté c'est un Arduino. Mais de l'autre côté, vous trouverez quatre prises mikroBUS ouvertes pour ce que l'entreprise appelle des « cartes de clic ». Il s'agit essentiellement de modules complémentaires qui ressemblent à des boucliers Arduino, mais réduits afin que vous puissiez en installer quelques-uns en même temps sur le Flip &Click sans aucun problème. Ajoutez simplement les clics Temp&Hum et Wifi Plus à la carte, respectivement aux emplacements A et B.

Comment programmer le thermomètre IoT à l'aide de Python

Cloner l'exemple

Une fois que vous avez installé Zerynth Studio et créé un utilisateur Zerynth, vous pouvez cloner l'exemple "Zerynth App Oscilloscope ". Jetez un œil ici pour apprendre à cloner un exemple.

Jetons un coup d'œil au code d'origine dans le "main.py ” :c'est ici que vous développez la logique de votre Python scénario. Nous commencerons par le code d'origine, puis nous modifierons le script pour développer notre projet spécifique.

############################################ ###################################### Thermomètre IoT############ ##################################################### ################### from wireless import wifi# cet exemple est basé sur Particle Photon# modifiez la ligne suivante pour utiliser un pilote wifi différent de broadcom.bcm43362 import bcm43362 as wifi_driverimport streamsimport adc # Importer la bibliothèque Zerynth APP depuis zerynthapp import zerynthapp streams.serial() sleep(1000)print("STARTING...") try :    # L'UID de l'appareil et le TOKEN peuvent être créés dans le panneau ADM    zapp =zerynthapp.ZerynthApp("DEVICE UID", "DEVICE TOKEN", log=True)     # connectez-vous au réseau wifi (définissez votre SSID et votre mot de passe ci-dessous)    wifi_driver.auto_init()    pour i in range(0,5) :        essayez :            wifi.link ("SSID" , wifi.WIFI_WPA2, "MOT dE PASSE"), sauf exception rupture comme e:print ( "ne peut pas lier", e) else:print ( "Impossible de lien!") while True:le sommeil (1000) # Démarrez l'instance de l'application Zerynth ! # N'oubliez pas de créer un modèle avec les fichiers dans le dossier "template" que vous venez de cloner    # téléchargez-le sur l'ADM et associez-le à l'appareil connecté    zapp.run()        # Lisez l'ADC et envoyez les valeurs à l'ADM    pendant que True :        sleep( 1000)        x =(adc.read(A4)*100)//4096        zapp.event({"data":x})        si x>95 :            # envoyer une notification mobile             sur le bac à sable ADM)            zapp.notify("ALARM !","La valeur est supérieure à 95 !")        sauf exception comme e :    print(e) 

Dans cet exemple simple, un oscilloscope graphique est visualisé par l'application Zerynth avec des données provenant de la carte connectée. Les données sont acquises à partir d'un capteur analogique par la broche « analogique » A4.

Importez les bonnes bibliothèques de pilotes et de capteurs wifi

Comme vous pouvez le voir dans les commentaires, cet exemple est basé sur la carte Particle Photon et son pilote wifi. Puisque nous voulons utiliser le WiFi Plus Click, nous devons modifier les lignes suivantes :

de broadcom.bcm43362 importer bcm43362 en tant que wifi_driver 

dans

depuis microchip.mcw1001a importer mcw1001a en tant que wifi_driver 

et

    wifi_driver.auto_init() 

dans

    wifi_driver.init(SERIAL2,D24) # emplacement B 

Ensuite, nous voulons utiliser le capteur de température du Temp&Hum Click. Nous devons donc ajouter les lignes suivantes pour importer la bibliothèque et configurer le capteur, comme vous pouvez le lire dans la documentation :

# Importer la bibliothèque HTS221 depuis stm.hts221 import hts221 temp_hum =hts221.HTS221(I2C0, D21) # emplacement A 

Pour lire le capteur, il suffit d'écrire la ligne suivante, là où c'est nécessaire :

  tmp, hum =temp_hum.get_temp_humidity() # Lire tmp et hum 

Configurez le nom SSID et le MOT DE PASSE

Bien entendu, vous devez également éditer le nom SSID et le MOT DE PASSE du réseau wifi auquel vous souhaitez connecter la carte, en éditant cette ligne :

            wifi.link("SSID",wifi.WIFI_WPA2,"PASSWORD") 

Créer et configurer un appareil connecté

Nous devons maintenant créer un « appareil connecté » et lui lier l'instance « zerynthapp ». Ci-dessous, vous pouvez voir quelques captures d'écran avec les étapes nécessaires. Consultez ce document pour plus de détails techniques.

Les identifiants de l'appareil (UID et JETON ) peuvent être copiés et collés directement depuis Zerynth Studio (panneau ADM). « IP » est l'adresse IP du Zerynth ADM. Cet argument est utilisé lorsque le pilote réseau ne prend pas en charge la résolution de nom d'hôte, comme dans ce cas.

Créer, télécharger et définir le modèle

Grâce à l'application Zerynth, vous pouvez exécuter de belles interfaces utilisateur graphiques réactives en utilisant HTML , CSS et JavaScript . Pas besoin de code Android ou iOS !

L'interface graphique de chaque appareil est hébergée sur le bac à sable Zerynth ADM et se compose d'un ensemble de fichiers HTML5, Javascript, CSS et image qui sont chargés et affichés dans l'application. L'ajout au modèle de la bibliothèque Javascript ADM permet à l'application d'interagir avec l'appareil connecté à la fois pour recevoir et envoyer des messages.

Des modèles peuvent être ajoutés en cliquant sur l'icône « plus » respective.

Ensuite, téléchargez le modèle à partir du dossier dédié. Notez que le fichier dans lequel le modèle est défini s'appelle « index.html " et vous pouvez le modifier comme vous le souhaitez. Dans ce cas, vous pouvez le laisser tel quel.

Après quelques modifications, le code devrait ressembler à ceci :

############################################ ###################################### Thermomètre IoT############ ##################################################### ################### depuis l'importation sans fil wifide microchip.mcw1001a importer mcw1001a en tant que wifi_driverimport streamsimport adc streams.serial() # Importer la bibliothèque Zerynth APP de zerynthapp importer zerynthapp # Importer le HTS221 libraryfrom stm.hts221 import hts221 temp_hum =hts221.HTS221(I2C0, D21) # slot A sleep(1000)print("STARTING...") try :    # Device UID et TOKEN peuvent être créés dans le panneau ADM    zapp =zerynthapp. ZerynthApp("DEVICE UID", "DEVICE TOKEN",ip ="178.22.65.123", log=True)     # se connecter au réseau wifi (Définissez votre SSID et votre mot de passe ci-dessous)    wifi_driver.init(SERIAL2,D24) # emplacement B    pour i in range(0,5):        essayez :            wifi.link("SSID",wifi.WIFI_WPA2,"PASSWORD")             break        sauf exception comme e :               print ("Can t lier!") while True :            sleep(1000)     # Démarrez l'instance de l'application Zerynth ! # N'oubliez pas de créer un modèle avec les fichiers dans le dossier "template" que vous venez de cloner    # téléchargez-le sur l'ADM et associez-le à l'appareil connecté    zapp.run()        # Lisez le capteur et envoyez les valeurs à l'ADM    pendant que True :        sleep (1000)        tmp, hum =temp_hum.get_temp_humidity() # Lire tmp et hum        print("La température est :", tmp, "L'humidité est :", hum)        essayez :              zapp.event({   ) sauf Exception comme e :            print(e)        si tmp>
30 :                      # send mobile notification            # (il y a une limite d'une notification par minute et par appareil sur le bac à sable ADM)                  # (il y a une limite d'une notification par minute et par appareil sur le bac à sable ADM)             ")            sauf exception comme e :                print(e)        sauf exception comme e :    print(e) 

N'oubliez pas que "DEVICE UID", "DEVICE TOKEN", "SSID" et "PASSWORD" doivent être modifiés pour s'adapter à vos propres paramètres.

À ce stade, vous pouvez lier le script à votre appareil.

Comment voir le tableau de bord du thermomètre IoT sur l'application Zerynth

Comme vous pouvez le lire dans ce très bref didacticiel, il vous suffit d'ouvrir l'application Zerynth, de vous connecter et de sélectionner l'appareil spécifique pour voir votre tableau de bord de thermomètre IoT. Enfin, l'application Zerynth peut également recevoir des notifications push des appareils connectés. Dans ce cas, une notification apparaîtra lorsque la température sera supérieure au seuil !

Si vous avez des questions, n'hésitez pas à ouvrir une discussion sur le forum de la communauté Zerynth.

Profitez-en !

Code

  • Thermomètre IoT
Thermomètre IoTPython
################################################ ################################### Oscilloscope de l'application Zerynth############## ##################################################### ################# depuis l'importation sans fil wifi de microchip.mcw1001a importer mcw1001a en tant que wifi_driverimport streamsimport adc streams.serial() # Importer la bibliothèque Zerynth APP de zerynthapp importer zerynthapp # Importer la bibliothèque HTS221 de stm .hts221 import hts221 temp_hum =hts221.HTS221(I2C0, D21) # slot A sleep(1000)print("STARTING...") try :    # Device UID et TOKEN peuvent être créés dans le panneau ADM    zapp =zerynthapp.ZerynthApp( "DEVICE UID", "DEVICE TOKEN",ip ="178.22.65.123", log=True)     # se connecter au réseau wifi (définissez votre SSID et votre mot de passe ci-dessous)    wifi_driver.init(SERIAL2,D24) # emplacement B    pour i dans range(0,5):        essayez :            wifi.link("SSID",wifi.WIFI_WPA2,"PASSWORD")            break        sauf exception comme e :               print("Impossible d'imprimer le lien", !")        while True :            sleep(1000)     # Démarrez l'instance de l'application Zerynth ! # N'oubliez pas de créer un modèle avec les fichiers dans le dossier "template" que vous venez de cloner    # téléchargez-le sur l'ADM et associez-le à l'appareil connecté    zapp.run()        # Lisez le capteur et envoyez les valeurs à l'ADM    pendant que True :        sleep (1000)        tmp, hum =temp_hum.get_temp_humidity() # Lire tmp et hum        print("La température est :", tmp, "L'humidité est :", hum)        essayez :              zapp.event({   ) sauf Exception comme e :            print(e)        si tmp> 30 :                      # send mobile notification            # (il y a une limite d'une notification par minute et par appareil sur le bac à sable ADM)                  # (il y a une limite d'une notification par minute et par appareil sur le bac à sable ADM)             ")            sauf exception comme e :                print(e)        sauf exception comme e :    print(e)

Schémas


Processus de fabrication

  1. Thermomètre
  2. Bibliothèque Python du capteur de température TMP006 utilisant Raspberry pi,
  3. Capteur de température Python et Raspberry Pi
  4. Utilisation de la carte PSoC 6 Pioneer avec le Pioneer IoT Add-on Shield
  5. Comment l'IoT bouleverse le monde qui nous entoure
  6. Comment installer Python sur Windows [Pycharm IDE]
  7. Python Renommer le fichier et le répertoire à l'aide de os.rename()
  8. Python Average :Comment trouver la MOYENNE d'une liste en Python
  9. Python - Envoi d'e-mails à l'aide de SMTP