Outils pour utilisateurs

Outils du site


nanopineo:start

Différences

Ci-dessous, les différences entre deux révisions de la page.


nanopineo:start [2024/02/09 17:10] (Version actuelle) – créée - modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +====== NanoPi NEO ======
 +
 +
 +===== Ressources: =====
 +
 +  * http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO
 +  * http://www.friendlyarm.com/index.php?route=product/product&path=69&product_id=132
 +  * http://wiki.friendlyarm.com/wiki/images/e/ec/NanoPi-NEO-V1.31-1703-Schematic.pdf
 +
 +{{:nanopineo:nanopi-neo_en_04.jpg?200|}}
 +{{:nanopineo:neo_pinout-02.jpg?200|}}
 +
 +**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/
 +<code>
 +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
 +</code>
 +
 +==== Schéma du HAT ====
 +de http://wiki.friendlyarm.com/wiki/index.php/BakeBit_-_NanoHat_Hub
 +
 +{{:nanopineo:bakebit_-_neo_hub1.jpg?200|}}
 +
 +  * 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:
 +<code>
 +apt-get source avrdude
 +cd avrdude-6.2
 +./configure -prefix=/usr --enable-linuxgpio
 +make && make install
 +</code>
 +------
 +Après apt-get sources avrdude, il faut modifier pindefs.h ligne 60, puis recompiler 
 +<code>
 +#define PIN_MIN       /* 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
 +</code>
 +Recompiler par ./configure --prefix=/usr et make install
 +------
 +
 +l'installation du firmware{{ :nanopineo:standardfirmata.hex.tar |Firmata}} ( 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, 
 +<code>
 +/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
 +</code>
 +/etc/avrdude.conf # linuxgpio  a chercher
 +<code>
 +programmer
 +  id    = "nanopineo";
 +  desc  = "Use the Linux sysfs interface to bitbang GPIO lines";
 +  type  = "linuxgpio";
 +  reset = 67;
 +  sck   = 66;
 +  mosi  = 64;
 +  miso  = 65;
 +;
 +</code>
 +
 +=== 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 .