====== Mynicrobe un terminal à tout faire ====== {{tag>RSP}} {{tag>TOK}} {{tag>FREAK}} Mynicrobe est un PC microbe pensé autour d'une console de jeux Raspberry PI zéro [[https://www.waveshare.com/wiki/GamePi20|GamePi20]] qui tient dans la main et ne fond pas dans la poche. J'ai longuement hésité à partir autour de puces ESP32 pour leur aspects communication WiFi efficace, leur faible prix et leur très basse consommation. Mais de fait la complexité de développement est un frein trop important à leur utilisation par le plus grand nombre, je ne veux pas être le seul à savoir faire marcher ces machines ...Pour la partie WiFi, nous avons à gérer des zones fixes et pas trop étendues, pour l'aspect consommation, on pourra s'organiser... Et donc maintenant que j'ai abandonné l'idée d'utiliser des ESP32 pour le son, et de les réserver uniquement aux capteurs/actionneurs simples, nous pourrons ajouter un mode d'hibernation pour réduire les temps de re-mise en route et supprimer totalement la consommation en dehors de l'utilisation... Cet aspect **hibernation** est par ailleurs un truc original dans l'usage des SBC genre RaspberryPi ou H2... Du coup, cet atelier pourra aussi déboucher sur d'autres ateliers autour de l'utilisation de la console de jeux, rétrogaming ou du développement de jeux en fiction interactive. Quelques utilisations possibles: * mode pager, tient dans la poche et reçoit des simples messages * peut aussi y répondre, même si l'écran est vraiment petit * guide audio, pour des balades sonores ou simplement guidée * jeux en mode fiction interactive (GPS?) * terminal de commande des services disponibles à Kerminy (aussi à développer) * baladeur audio , musique en local, sur le réseau, ailleurs * alarme (fonction du pager) * ... Je commence cet atelier, après un premier montage simple, pour définir le meilleurs système d'exploitation pour nous. * partir de recallbox ou retropi pour ne pas réécrire. * et aussi regarder https://blokas.io/patchbox-os/ * alléger la partie tournée vers les jeux * voir les scriptes de menu pour les commandes par les boutons (mode gamepad) * tester le son (voir comment ajouter une entrée?) * inclure une synthèse sonore (mbrola) puis * voir si le développement en fiction interactive (Twine2) est pertinent * serait pratique car son approche est vraiment simple * voir un autre mode de développement , Pigame ,... * comment l'intégrer au réseau MQTT / web HTTP? * comment utiliser une messagerie instantanée (XMPP car léger) * faire des test WiFi, amélioration ? (antenne, mesh,?) * gestion de l'alimentation , des charges, revoir le système de batterie (un peu faible) * expérimenter des prises de connexion magnétique pour * l'ajout de périphériques temporaire(clavier, balance , truc usb) * inter-connexion entre minycrobes, aux réseaux filaires, série... ===== Documentations ===== * https://www.waveshare.net/w/upload/d/de/GamePi20_Schematic.pdf * https://github.com/emutyworks/emutyworks.github.io/wiki/GamePi20 * https://www.waveshare.com/wiki/GamePi20 * avec les copains Enchevêtrés https://wiki.enchevetres.org/doku.php?id=petites_zones:start&s[]=retropie ===== Alimentation ===== ==== batterie ==== Le gamepi20 est prévu pour une batterie qui me semble faible pour l'usage qu'on en voudrait.\\ Le régulateur sur cette carte est un {{ :ateliers:xb8887a_bms_gamepi20.pdf |XB8887a}} avec un fonctionnement standard de charge/décharge.\\ On peut donc remplacer la 14500 lithium par une 18650 plus grosse, reste à gérer son emplacement, mais il faudra aussi prévoir l'ajout d'autre composant comme le GPS donc faire de la place dans le boitier, l'épaissir ... ===== carte RSP ===== En attente de Kubii, j'en ai déjà quelques une ... Alternative pour le futur au cas ou on ne trouve pas de RSP zero W ou 2 avec le même brochage et taille: * banana-pi-zero base H2 , wifi , flash 8Go? * https://www.tme.eu/fr/details/banana-pi-zero/ordinateurs-monocarte/sinovoip/bpi-m2-zero/ (44€unité,34€par10) * https://www.conrad.fr/fr/p/ordinateur-monocarte-512-mo-banana-pi-bpi-zero-allwinner-quad-core-cortex-a7-h2-1646892.html * raxda zero * https://shop.maker-store.de/single-board-computer/single-board-computer/rock-pi/rock-pi-s/5114/rock-pi-zero-1gb-ufl * https://shop.allnetchina.cn/products/copy-of-radxa-zero?variant=39440871882854 * MangoPi Pro moins cher sur base D1 * https://linux-sunxi.org/MangoPi_MQ-Pro ===== Premier cheminement ===== Je pars plutot sur retropie, plus en phase avec debian, que recallbox qui est un systeme en soit. Donc debian buster lite sur la microSD.\\ * Installation debian Buster (pour être reconnu par retropie) et du gamepi20 * quelques astuces https://matt-w.net/blog/raspberry-pi-headless/ * https://www.waveshare.com/wiki/GamePi20 * https://github.com/juj/fbcp-ili9341 pour le frame buffer et les petits écrans lcd * mais fixé sur le BCM2835 donc pas reproductible * https://retropie.org.uk/docs/Debian/ installation sur debian * en parallèle je récupère l'image faite par waveshare pour la gamepi20/retropie au cas ou le paramétrage s'avère trop fastidieux * v 4.7 et 4.8 sorte en err ; illegale instruction .. tente la 4.4 ok * modif wpa_supplicant pour acces ssh wifi ok * tout fonctionne , mise a jour , sauvegarde de cette base * regarder batocera, semble pour de plus gros besoin/machine * il y a aussi la super DietPi que je regarderai plus tard, je la sais bien fonctionner mais justement peut etre un peut trop scriptée/guidée ... * test en cours lakka http://www.lakka.tv/get/linux/rpi/ systemctl set-default multi-user.target ln -fs /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@tty1.service cat > /etc/systemd/system/getty@tty1.service.d/autologin.conf << EOF [Service] ExecStart= ExecStart=-/sbin/agetty --autologin root --noclear %I \$TERM EOF # ? root ou pi? , root fonctionne ... * 41%cpu pour le /opt/emulationstation * sauvegarde de la sd ! * question d'utiliser une base jambox ? puredata et son , avec des interfaces à la puredata ? au lieu de retropie. La partie jeux retrogamming peut être mise de coté.. * https://archive.flossmanuals.net/pure-data/sensors/game-controllers.html * sur retropie, test d'un navigateur en framebuffer ,peut etre plus léger ? permettrait d'utiliser Twine ... ou des trucs html/css * https://github.com/e1z0/Framebuffer-browser , si marche pas retour a xorg/wayland ? * sudo apt-get install libqt5webengine-data libqt5widgets5 qt5-qmake qt5-default ... oups manque pas mal de truc la sur le debian ... * test ancien X11 pour embarqué : matchbox, de fait très intéressant pour systèmes embarqués mais tellement peut suivi, bon install de lightdm et choix de matchbox dans /home/pi/.xsession * puis apt install xserver-xorg-input-joystick pour la prise en compte des bouton et tout, ca fonctionne avec les boutons fleches * modif etc/X11/xorg.conf.d/10-blanking.conf, Option "DPMS" "Enable" pour que l'écran se rallume avec fleche haut ...