Cuisine et laboratoire

Fabrication d'un partagoir

Nous avons deux techniques un peu différentes pour la fabrication:

  1. Petit partagoir : base micro-controleur type ESP , des 'Arduino' like…
  2. Grand partageoir : base nano-ordinateur type Raspberry Pi

Les ESP sont des micro-controleurs, ce sont des puces de communication WiFi programmables, elles n'ont pas de système d'exploitation et se programme de façon directe et'simple' en C habituellement comme pour l'arduino mais pourraient aussi l'être en micro-python, ou en lua. Elles n'embarquent de base que 4Mo de mémoire flash. Ce sont plus des truc pour faire des objets connectés. Les ESP consomment entre 70mA et 170mA.

Micro-logiciels base ESP

cf: https://bricoles.du-libre.org/doku.php?id=esp8266:le_partageoir et resultats_esp8266

Le mieux est encore de participer à un atelier de fabrication.

Mais de base, c'est un et un seul fichier qu'on dépose sur la flash de l'ESP qui fait tout le travail, le micro-logiciel(Firmware).

Note: Le partagoir (ici ARM) n'est pas utilisé sur le projet Ronce des vents/Éparpillage.

La , nous utilisons de véritable petit ordinateur comme les Raspberry Pi avec un système d'exploitation Debian qui lui donne sa complexité mais aussi une potentialité de développement énorme. Ces nano-ordinateur consomment entre 500mA et 1,2A

  1. Nano pc sur base ARM
    1. NanoPi DUO chez friendlyarm.com dans les 12$
    2. Nanopi NEO 1 12$ ( radiateur ? )
    3. Orange Pi Zéro H2 10$
    4. Orange-Pi-Zero-Plus-2-H3 21$ mais flash emmc de 8Go et bien meilleurs WiFi
    5. raspberry pi zero-W
  2. microSD 8Go classe 10 UHS-i, cela peut etre aussi 16Go mais attention elle doit être rapide… d'ou classe10 à vérifier. 8€
  3. cable microUSB 1€

En option pour une alimentation autonome:

du coté des piles de clôture électrique ou d'alarme < 5V

Celui ci va convertir une entrée < 5v en 5v , ce qui permet d'adapter des accu 3V, 2V, 4.5V etc

du coté des batteries > 5V

Logiciels base Debian

Système de base

C'est un système linux Ubuntu Xenial qu'il faut installer sur la microSD. Dans un premier temps ,il faut suivre le wiki de Friendlyarm

en gros:

  1. télécharger sur le site armbian
  2. décompresser le zip 7z
  3. le poser sur la microSD, par dd , attention sdXX sera sdb ou sdc selon votre système , ne vous trompez pas c'est sans retour …
dd if=Ubuntu_xenial_default.img of=/dev/sdX bs=4M status=progress 

ou un utilitaire qui effacera la carte et mettra l'image dessus , cf wiki , ou recherche “SD raspeberry pi” c'est toujours la même procédure.

note: lorsque vous insérez la microSD , vous pouvez taper dans un terminal : dmesg , les dernière ligne montre le bon device crée. Sur une machine nous avons :

[14731.167892] usb 1-2.3: New USB device strings: Mfr=3, Product=4, SerialNumber=0
[14731.167898] usb 1-2.3: Product: USB Storage
[14731.167903] usb 1-2.3: Manufacturer: USB Storage
[14731.170222] usb-storage 1-2.3:1.0: USB Mass Storage device detected
[14731.171481] scsi host6: usb-storage 1-2.3:1.0
[14732.169563] scsi 6:0:0:0: Direct-Access     Generic  STORAGE DEVICE   1404 PQ: 0 ANSI: 6
[14732.174027] sd 6:0:0:0: Attached scsi generic sg3 type 0
[14732.320173] sd 6:0:0:0: [sdc] 15523840 512-byte logical blocks: (7.95 GB/7.40 GiB)
[14732.321660] sd 6:0:0:0: [sdc] Write Protect is off
[14732.321667] sd 6:0:0:0: [sdc] Mode Sense: 21 00 00 00
[14732.323286] sd 6:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[14732.336804]  sdc: sdc1 sdc2

donc cela sera dd .. of=/dev/sdc …

adaptations partageoir

  • Il faut installer ngninx dnsmasq (…
  • décompressez partageoir-lan.tgz à la racine de la SD et lancer le script /tmp/install_portail.sh

Cela correspond aux modification décrites ici sur snhack.org

il manquait encore

apt install dnsmasq # orangepi d'armbian
systemctl daemon-reload
systemctl enable hostapd
systemctl start hostapd
systemctl enable dnsmasq
systemctl start dnsmasq

On peut installer un serveur http (web) comme nginx sans rien d'autre pour lire les pages statiques faite par hugo.

apt install nginx golang

On installe hugo aussi pour générer les pages : https://github.com/gohugoio/hugo/releases

dpkg -i hugo_0.29_Linux-ARM.deb

codes déroulés

Image toute faite

..en cours

Codes et mécanismes

Pour des pages sur une machine plus complexe

?? à tester

  1. l'auteur fabrique ses page avec remarkable en md
    1. une copie du theme est disponible afin qu'il puisse faire des tests en local en mode temps réel (c'est une fonction de hugo)
  2. il les pose sur la microSD dans un répertoire précis
  • soit il pose tout le site fait par hugo /public dans /www/html
  • soit juste les pages dans /var/site/content ( à définir )
    • au boot il y a test si nouvelle page et hugo qui refabrique le site avec les nouvelles pages

Différentes solutions:

  • ssh pi@192.168.1.9 pass:pi
  • sftp 192.168.1.9 pass pi , le sftp est possible avec filezilla ou gigolo
  • un terminal genre gtkterm connecté sur l'UART , sortie série dédié
  • vncviewer si nécessaire , on doit installer fluxbox et vncserver avant … plus lourd mai spossible
    • noVNC permetrait l’accès directement dans un navigateur
  • je planche sur un gestionnaire de fichier dans le navigateur …
  • dans le cadre d'un déploiement , on peut imaginer une maj automatique du partageoir
    • le partageoir boot , cherche un réseau wifi comme PARTAGEOIRMAJ
    • s'y connecte et se met à jour à partir de lui