Accueil > Linux > Orange Pi Zero (plus) & I2C

Orange Pi Zero (plus) & I2C

vendredi 17 août 2018, par Rémi

Notes pour moi même :(avec explication si quelques personnes lisent ceci quand même !)


----
J’ai un petit système appelé Orange Pi Zero, version 512 Mo de mémoire. c’est tout petit, il y a du wifi, de l’Ethernet, un connecteur serial pour débuguer si besoin. Ça tourne avec un processeur Arm et sous GNU/Linux Armbian pour ce qui me concerne.

Ma problématique :

  • j’ai ce système
  • j’ai des capteurs de température et d’humidité (au départ, c’était pour mettre dehors, mais je n’ai pas pu le faire), de type HDC1008 (connexion I2C)
  • j’ai un écran oled 96*96 en i2c (même commentaire que ci dessus)
  • j’ai une cave, pas très aérée, qui a tendance à devenir humide en plus ! Je vais essayer de monitorer ma cave !

Allons y pour associer tout ça !!!

  1. L’installation de debian : pas compliqué : on récupère sur le site armbian la bonne archive, on décompresse, dd if=xx of=yy et hop on reboot ! Un truc rigolo : si votre alimentation 5v de téléphone portable, semble fonctionner, attention quand vous allez brancher de l’I2C ! Rien ne démarrera et vous vous poserez des questions :) . Au premier démarrage (avec un cable série/usb), il est demandé le mot de passe root : "1234" puis de le changer TOUT DE SUITE . de toute façon, vous ne pouvez rien faire d’autre ! Puis de créer un compte utilisateur standard. Après, j’ai activer le réseau, fait une mise à jour puis rebooter.
  2. Activation de l’I2C : il y a un outil pour ça, sous root (ou en sudo) : armbian-config (suivez la doc). Moi, j’ai pas de bol, j’ai été obligé de faire à la main : édition de /boot/armbianEnv.txt et modification de la ligne pour avoir :
    overlays=i2c0 i2c1 i2c2 uart1 usbhost2 usbhost3 w1-gpio

    puis reboot. Et seulement la, j’ai eu accès à /dev/i2c-0 et un joli test de i2cdetect -y 0 qui fonctionne SANS erreur !!!

  3. Connexion de l’I2C : j’ai fait un "bus" (photo à mettre) puis j’ai connecté mon écran oled et un des capteurs :
    #i2cdetect -y 0
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- -- 
    40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         

La suite : un second capteur dans mon garage. Pour la détection I2C, cela donne ça :

...
40: 40 -- 42 -- -- -- -- -- -- -- -- -- -- -- -- -- 
...

Pour la connexion, j’ai un peu galéré. Faire un "bus de câble", souder sur une plaque epoxy (je n’en avais pas sous la main). Alors, j’ai opté pour de la bidouille perso. Des connecteurs récupérés, collés les uns aux autres, et les pâtes soudées entre elles par un tout petit fil.C’est pas très pro, mais c’est efficace et surtout, cela ne tient pas de place ! J’en ai collé 5 : un pour la connexion du Pi, un pour l’écran (on en reparlera), deux pour les sondes, et un dernier pour un bouton !