Cours:NanoPi

De troyesGEII
Révision datée du 11 mars 2020 à 17:08 par Fredmn (discussion | contributions) (NodeHat Oled)
Aller à : navigation, rechercher


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 !

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

Le plus simple est d'utiliser 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

Qt

  • Configurer QtCreator

NodeRed

  • tableau correspondance gpio <=> broche : gpio readall
  • choisir "Pi Type" : "NanoPi Neo"
  • choisir la broche dans le menu déroulant

NodeHat Oled

  • Créer un nœud "python-function" :
    • Il faut ajouter le chemin vers le dossier contenant la lib python de l'oled
    • le payload du message est accessible par **msg["payload"]**
    • Exemple de code affichant le payload sur l'oled :
import sys
sys.path.append('/root/NanoHatOLED/BakeBit/Software/Python)
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