Cours:LPTraitDonnee3 : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
Ligne 62 : Ligne 62 :
 
=== Exercice 5 : interface avec un potentiomètre ===
 
=== Exercice 5 : interface avec un potentiomètre ===
  
* http://wiki.friendlyarm.com/wiki/index.php/BakeBit_Starter_Kit_with_NanoPi_NEO/NEO2/NEO_Air
+
 
 
* http://wiki.friendlyarm.com/wiki/index.php/BakeBit_-_Rotary_Angle_Sensor
 
* http://wiki.friendlyarm.com/wiki/index.php/BakeBit_-_Rotary_Angle_Sensor
* https://github.com/friendlyarm/BakeBit/blob/e563636db54d50769d7feab2ecac8d94f9566a78/Software/Python/bakebit_rotary_angle_sensor.py
+
* http://wiki.friendlyarm.com/wiki/index.php/BakeBit_-_NanoHat_Hub
* http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO2
 

Version du 14 juin 2021 à 15:12

Utilisation de NodeRed sur carte NanoPi Neo2

L'objectif de cette partie est d'utiliser NodeRed avec une carte NanoPi Neo 2.

De nombreuses infos sur cette carte, avec des liens vers des docs externes, sont disponibles sur la page suivante : Cours:NanoPi

De façon générale, des valeurs de capteurs peuvent être utlisées avec Node-Red :

  • En réalisant une acquisition sur une broche de la carte
  • En lisant la valeur d'un fichier
  • En utilisant une bibliothèque dédiée (C ou Python le plus fréquemment)

Vous utiliserez le serveur MQTT d'adresse 10.98.9.245 sur une arborescence de topic qui vous sera propre (noeud racine = votre nom par exemple)

Travail à faire

Exercice 1 : mise en place

  1. Lancer Node-Red sur votre poste de travail et contrôler son fonctionnement correct.
  2. Lancer Node-Red sur la carte NanoPi et contrôler son fonctionnement correct.


Exercice 2 : bouton

  1. Interfacer un ou plusieurs boutons poussoirs : lire sa valeur (0 ou 1) et l'afficher en debug.
  2. Envoyer la valeur sur un topic MQTT
  3. Lire cette valeur sur votre poste de travail et l'afficher

Exercice 3 : valeur température interne

  1. Vous pouvez lire la température (CPU) de votre carte en lisant le contenu du fichier texte /sys/class/thermal/thermal_zone0/temp.
  2. Tester en ligne de commande
  3. Lire cette valeur dans Node-Red (avec un nœud file in) et l'envoyer sur un topic MQTT
  4. Lire cette valeur sur votre poste de travail et l'afficher

Exercice 4 : utilisation du lcd

  1. Une solution est de passer par des nœuds écrit en Python : Cours:NanoPi#NanoHat_Oled
  2. Un nœud d'initialisation est nécessaire. A exécuter une fois au démarrage, avec le code suivant :
    import sys
    sys.path.append('/root/NanoHatOLED/BakeBit/Software/Python')
    import bakebit_128_64_oled as oled
    oled.init()  #initialize SEEED OLED display
    return msg
    
  3. Le nœud permettant l'affichage peut-être :
    import sys
    sys.path.append('/root/NanoHatOLED/BakeBit/Software/Python')
    import bakebit_128_64_oled as oled
    
    oled.setNormalDisplay()        #Set display to normal mode (i.e non-inverse mode)
    oled.setPageMode()             #Set addressing mode to Page Mode
    
    oled.setTextXY(0,0)            #Set the cursor to Xth Page, Yth Column  
    oled.putString(msg["payload"]) #Print the Payload as String
    
    return msg
    
  4. Afficher sur le LCD des données comme
    1. état d'un bouton
    2. valeur de la température du CPU
    3. valeur de consommation électrique
    4. ...

Exercice 5 : interface avec un potentiomètre