Cours:LPTraitDonnee3 : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
Ligne 4 : Ligne 4 :
  
 
De nombreuses infos sur cette carte, avec des liens vers des docs externes, sont disponibles sur la page suivante : [[Cours:NanoPi]]
 
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)
 
# 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)
Ligne 31 : Ligne 36 :
  
 
# Une solution est de passer par un nœud écrit en Python : [[Cours:NanoPi#NanoHat_Oled]]
 
# Une solution est de passer par un nœud écrit en Python : [[Cours:NanoPi#NanoHat_Oled]]
# Un nœud d'initialisation est nécessaire. A exécuter une fois au démarrage, avec le code suivant :
+
# Un nœud d'initialisation est nécessaire. A exécuter une fois au démarrage, avec le code suivant : <source lang="python">
<source lang="python">
 
 
import sys
 
import sys
 
sys.path.append('/root/NanoHatOLED/BakeBit/Software/Python')
 
sys.path.append('/root/NanoHatOLED/BakeBit/Software/Python')
 
import bakebit_128_64_oled as oled
 
import bakebit_128_64_oled as oled
 
oled.init()  #initialize SEEED OLED display
 
oled.init()  #initialize SEEED OLED display
return msg
+
return msg</source>
</source>
+
# Le nœud permettant l'affichage peut-être : <source lang="python">
# Le nœud permettant l'affichage peut-être :
 
<source lang="python">
 
 
import sys
 
import sys
 
sys.path.append('/root/NanoHatOLED/BakeBit/Software/Python')
 
sys.path.append('/root/NanoHatOLED/BakeBit/Software/Python')
Ligne 51 : Ligne 53 :
 
oled.putString(msg["payload"]) #Print the Payload as String
 
oled.putString(msg["payload"]) #Print the Payload as String
  
return msg
+
return msg </source>
</source>
 
 
 
 
# Afficher sur le LCD des données comme
 
# Afficher sur le LCD des données comme
 
## état d'un bouton
 
## état d'un bouton

Version du 14 juin 2021 à 11:00

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 :

  1. En réalisant une acquisition sur une broche de la carte
  2. En lisant la valeur d'un fichier
  3. En utilisant une bibliothèque dédiée (C ou Python le plus fréquemment)
  1. 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

  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 un nœud é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. ...