Cours:NanoPi
Informations sur la carte nanopi neo2
- https://www.armbian.com/nanopi-neo-2/
- https://projetsdiy.fr/installer-node-red-orange-pi-armbian/
- https://nodered.org/docs/getting-started/raspberrypi
- https://tech.scargill.net/the-friendlyarm-nanopi-neo/
- http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO2
- http://wiki.friendlyarm.com/wiki/index.php/WiringNP:_NanoPi_NEO/NEO2/Air_GPIO_Programming_with_C
- https://www.balena.io/etcher/ : créer une carte sd à partir d'une image
- http://wiki.friendlyarm.com/wiki/index.php/NanoHat_OLED : référence NanoHat OLED
- http://wiki.friendlyarm.com/wiki/index.php/BakeBit_-_NanoHat_Hub : référence NanoHat Hub
Sommaire
Installation
image et installation minimum
- http://download.friendlyarm.com/nanopineo2
- balena etcher pour créer carte sd
- change mdp root : geii
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
- install node-red-contrib-opi-gpio
- depuis nodeRed
- manage Palette
- 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 graphique : http://shiftr.io
- LPiot :
- https://shiftr.io/geii-troyes/lp-iot
- user : 1aa02488
- password : 45ade33185a98624
- LPiot :
- Broker MQTT local : 10.98.9.20
Qt
- Configurer QtCreator
NodeRed
- Lancer NodeRed :
node-red
- Accèder à NodeRed :
- dans un navigateur, ouvrir la page 'http://ip-du-serveur:1880'
- 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 !!