Outils pour utilisateurs

Outils du site


nanopineo:start

NanoPi NEO

Ressources:

Connexion moniteur sur l'UART/port console: de l'exterieur Vert, blanc, rien, GND , attention la masse est au centre !!

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:

  1. 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
  2. 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 .

nanopineo/start.txt · Dernière modification: 2017/12/12 14:27 par gepeto