Cours:NanoPi

De troyesGEII
Révision datée du 14 juin 2021 à 14:10 par Fredmn (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

Informations sur la carte nanopi neo2


Installation

image et installation minimum

apt update / apt dist-upgrade
apt install build-essential apt-utils
apt install mosquitto-clients
apt install aptitude htop
apt remove modemmanager

cross QT

As usual !

  • get Sysroot
  • get qtSource
  • compilation
  • upload

script à venir ... peut-être !

  • sur la carte nanoPi
    • apt-get build-dep qt5-default
  • sur le pc
    • apt install libicu-dev

NodeRed

  • installation nodered
apt update
apt install curl
bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)
//ne pas installer Pi nodes
npm install node-red-contrib-opi-gpio

NanoHat Oled

Shield avec écran et trois boutons poussoir.

Documentation  : http://wiki.friendlyarm.com/wiki/index.php/NanoHat_OLED

  • Installation du code support :
git clone https://github.com/friendlyarm/NanoHatOLED.git
cd NanoHatOLED/BakeBit/Script
./install.sh

Des exemples de code C et Python d'utilisation de l'écran sont consultable dans les dossiers

NanoHatOLED/BakeBit/Software/C
NanoHatOLED/BakeBit/Software/Python
  • Installation dans NodeRed

Depuis NodeRed, pour utiliser l'écran, le plus simple est de passer par la bibliothèque Python.

Il est donc nécessaire d'ajouter la palette node-red-contrib-python-function :

-> Suivre la même procédure que dans la section NodeRed.

Utilisation

Réseaux

  • Les cartes Nanopi obtiennent comme adresse IP 10.98.9.XX avec XX=49+numéro de la carte, par exemple
    • carte n°11 -> Ip=10.98.9.60
  • Broker MQTT local : 10.98.9.20

Qt

  • Configurer QtCreator

NodeRed

  • Lancer NodeRed :
node-red
  • Accéder à une broche :
    • tableau correspondance gpio <=> broche : gpio readall
    • choisir "Pi Type" : "NanoPi Neo"
    • choisir la broche dans le menu déroulant
  • Lire la température du processeur :
    • en lisant le contenu du fichier '/sys/class/thermal/thermal_zone0/temp' (utiliser un node tout fait)

NodeHat Oled

  • Créer un node python-function :
    • Il faut ajouter le chemin vers le dossier contenant la lib python de l'écran
    • le payload du message est accessible par msg["payload"]
    • Exemple de code affichant le payload (paramètre d'entrée du node) sur la première ligne de l'écran :
import sys
sys.path.append('/root/NanoHatOLED/BakeBit/Software/Python) # Chemin du dossier de la lib
import bakebit_128_64_oled as oled

oled.init()
oled.clearDisplay()
oled.setNormalDisplay()
oled.setPageMode()

oled.setTextXY(0,0)
oled.putString(msg["payload"])

return msg
  • S'inspirer des codes donnés dans le dossier python de la lib NanoHatOLED.git

interfaces

i2c

utiliser l'utilitaire npi-config pour activer/désactiver l'i2c

i2c0

accessible sur le connecteur 24 broches

  • scl : broche 5
  • sda : broche 3

i2c1

accessible sur le connecteur 12 broches (audio + usb)

il faut désactiver l'interface i2s (broches partagées)

  • scl : broche 8 (LRCK)
  • sda : broche 9 (BCK)

i2c2

!! non accessible !!