Table des matières
NanoPi NEO
Ressources:
ANCIENNE VERSION ! Connexion moniteur sur l'UART/port console: de l'exterieur Vert, blanc, rien, GND , attention la masse est au centre !!
- Encore et toujours Armbian : http://www.armbian.com/nanopi-neo/
apt-get update apt-get upgrade dpkg-reconfigure locales # vers fr_FR_UTF8 dpkg-reconfigure tzdata # vers Paris vi /etc/default/keyboard # vers fr au lieu de us
Schéma du HAT
de http://wiki.friendlyarm.com/wiki/index.php/BakeBit_-_NanoHat_Hub
- 3 x 2.0mm pitch 4Pin I2C Interface
- 3 x 2.0mm pitch 4Pin Analog Interface
- 1 x 2.0mm pitch UART-NEO Interface
- 1 x 2.0mm pitch UART-Hub Interface
- 4 x 2.0mm pitch Digital Interface
git clone https://github.com/friendlyarm/BakeBit.git cd BakeBit/Script chmod +x install.sh ./install.sh
Cela compile WiringPi-NG et installe les scriptes pythons
Astuce : utiliser Firmata sur le Nanopi HAT
De base pour garder un peu les consommateurs, le HAT est livré avec un firmware issu de Grove discutant avec une librairie de fonction Python. Si on veut ajouter un capteur non prévu, changer par exemple la distance mesurée du capteur ultrason … pas possible.
Hors il est possible de passer par firmata et de faire le traitement à l'extérieur, cela rend facile l'intégration du HAT avec Puredata, Supercollider, NodeRed etc .. sans modification.
Pour cela 2 choses à faire:
- Modifier le programme avrdude pour qu'il accepte des adresses > 31, car les adresse données par la doc de Bakebit les montres en 61 … c'est la constante PIN_MAX de avrdude
- cabler le Hat pour communiquer directement avec l'UART et pas en i2c, non prevue dans les lib Firmata.
Modification avrdude et flash de Firmata
Meilleurs méthode:
apt-get source avrdude cd avrdude-6.2 ./configure -prefix=/usr --enable-linuxgpio make && make install
Après apt-get sources avrdude, il faut modifier pindefs.h ligne 60, puis recompiler
#define PIN_MIN 0 /* smallest allowed pin number */ #define PIN_MAX 255 /* largest allowed pin number */ #ifdef HAVE_LINUX_GPIO /* Embedded systems might have a lot more gpio than only 0-31 */ #undef PIN_MAX #define PIN_MAX 255 /* largest allowed pin number */ #endif
Recompiler par ./configure –prefix=/usr et make install
l'installation du firmwareFirmata ( firmata standard refait avec l'iDE arduino ) se fait normalement avec le script de Bakebit
Les modifications du fichier /etc/avrdude.conf ayant été faites,
/usr/bin/avrdude -C /etc/avrdude.conf -c nanopineo -p m328p -U lfuse:w:0xFF:m /usr/bin/avrdude -C /etc/avrdude.conf -c nanopineo -p m328p -U hfuse:w:0xDA:m /usr/bin/avrdude -C /etc/avrdude.conf -c nanopineo -p m328p -U efuse:w:0x05:m #/usr/bin/avrdude -C /etc/avrdude.conf -c nanopineo -p m328p -U flash:w:bakebit_firmware.hex /usr/bin/avrdude -C /etc/avrdude.conf -c nanopineo -p m328p -U flash:w:StandardFirmata.hex
/etc/avrdude.conf # linuxgpio a chercher
programmer id = "nanopineo"; desc = "Use the Linux sysfs interface to bitbang GPIO lines"; type = "linuxgpio"; reset = 67; sck = 66; mosi = 64; miso = 65; ;
Cablage pour la communication avec Firmata
La c'est tout bete , il suffi de croiser les RX et TX d'un petit cable pour en faire un cable série standard. On aura, à connecter UART NEO avec UART NANO
NEO <-> NANO Rx <-> Tx Tx <-> Rx Vcc <-> Vcc Gnd <-> Gnd
Et voila pduino de pd-l2ork, fonctionne sur la sortie ttyS1 Cela fonctionne aussi pour l'autre carte intégrant un arduino NANO .