Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
projets:biohacklab:borne_arcade [2025/03/13 15:43] emoc [Préparation Raspberry Pi] |
projets:biohacklab:borne_arcade [2026/03/26 22:34] (Version actuelle) emoc [mars 2026] |
||
|---|---|---|---|
| Ligne 142: | Ligne 142: | ||
| **Rétablir la partition en lecture / écriture** \\ | **Rétablir la partition en lecture / écriture** \\ | ||
| - | Temporairement (jusqu'au reboot) : | + | <del>Temporairement (jusqu'au reboot) : sudo mount -o remount,rw /boot</del> -> ça ne fonctionne pas :/ \\ |
| - | sudo mount -o remount,rw /boot | + | Pour rétablir la partition en lecture, il faut 2 reboot : |
| + | dans raspi-config, désactiver l'Overlay File System, puis reboot \\ | ||
| + | dans raspi-config, passer la partition en écriture (overlay file system), puis reboot \\ | ||
| + | |||
| + | (Voir ici pour le détail de la procédure complète : https://core-electronics.com.au/guides/read-only-raspberry-pi/) | ||
| ===== Interface hardware ===== | ===== Interface hardware ===== | ||
| Ligne 215: | Ligne 219: | ||
| {{:projets:biohacklab:borne_v0.1.jpg?direct&600|}} | {{:projets:biohacklab:borne_v0.1.jpg?direct&600|}} | ||
| + | État : démarre à la prise (rpi bloqué en écriture), interface fonctionnelle mais un peu moche, jeux à corriger pour certains... | ||
| + | |||
| + | **TODO software** | ||
| + | * La barre à gauche des jeux est vraiment moche | ||
| + | * icone de retour à l'accueil trop petit | ||
| + | * pourquoi les jeux bitsy sont ils si longs à démarrer ? (python http.server ?) | ||
| + | * + liste des bugs remontés | ||
| + | |||
| + | ===== Maintenance ===== | ||
| + | |||
| + | ==== sept. 2025 ==== | ||
| + | |||
| + | Le système démarre, le navigateur (chromium) s'ouvre, mais ne charge pas la page... Il s'agit d'un bug connu de chrome sur raspberry pi : le bug du premier onglet! En effet, l'écran reste blanc et le curseur de chargement tourne indéfiniment, si on recharge la page (<key>F5</key>), tout fonctionne normalement. \\ | ||
| + | |||
| + | Plusieurs solutions possibles, dépendantes du serveur d'affichage utilisé, X11 ou Wayland, car il y a une transition en cours dans le monde linux entre les deux. Avec X11 on peut utiliser xdotool qui permet d'envoyer des frappes clavier fake vers une fenêtre, avec Wayland on ne peut pas (pas de communication entre les fenêtres/applications pour des raisons de sécurité... \\ | ||
| + | |||
| + | Après essais de différentes solutions, ça ne fonctionne toujours pas, une autre possibilité est d'ouvrir un serveur de debugging sur chromium et de luis envoyer des commandes pour déclencher un rechargement de la page. | ||
| + | |||
| + | Sur X11 et Wayland : https://nullrequest.com/posts/whywaylandisthefuture | ||
| + | |||
| + | On peut connaître le système d'affichage utilisé avec : ''echo $XDG_SESSION_TYPE'' | ||
| + | |||
| + | Essai avec le serveur de debugging : sans succès / TODO ajouter code autostart + script python (cf. rep /home/xor/.config/labwc) \\ | ||
| + | |||
| + | Essai avec firefox en mode kiosque : sans succès :/ (à creuser... cf. https://wiki.mozilla.org/Firefox/CommandLineOptions ) | ||
| + | |||
| + | Finalement comme solution temporaire, on ajoute un mini clavier USB dans la borne, sur lequel il faut appuyer sur F5 quand ça mouline sur un premier onglet blanc : ça fonctionne mais c'est moche | ||
| + | |||
| + | ==== mars 2026 ==== | ||
| + | |||
| + | Passage en mode écriture \\ | ||
| + | On peut choisir entre X et Wayland (via raspi-config / advanced options / Wayland) : je choisis openbox + Xorg \\ | ||
| + | Infos sur X.org : https://doc.ubuntu-fr.org/xorg \\ | ||
| + | Ce qui rend possible l'utilisation de xdotool, nouveau test réalisé après modification du fichier autostart \\ | ||
| + | On peut recharger la page avec | ||
| + | xdotool search --onlyvisible --class chromium windowactivate --sync %1 key F5 windowactivate $(xdotool getactivewindow) | ||
| + | Ça fonctionne **si** la page a déjà été correctement chargée mais comme ce n'est pas le cas, ce n'est toujours pas la solution ... | ||
| + | |||
| + | utilisation de xdotool : https://unix.stackexchange.com/a/87839 | ||
| + | Pour la suite | ||
| + | <code> | ||
| + | #!/bin/bash | ||
| + | |||
| + | # X plutôt que Wayalnd doit être activé (via raspi-config) | ||
| + | cd /home/xor/borne_biohacklab_ui_v5/ | ||
| + | /usr/bin/python -m http.server & | ||
| + | unclutter -idle 1 & # ne fonctionne qu'avec X pas wayland | ||
| + | sleep 8 | ||
| + | #chromium --start-fullscreen --start-maximized --noerrdialogs --disable-infobars --kiosk http://localhost:8000 | ||
| + | chromium --kiosk --noerrdialogs --disable-session-crashed-bubble --disable-infobars http://localhost:8000/index.html & | ||
| + | #chromium-browser --kiosk "http://localhost:8000/index.html" --noerrdialogs --disable-session-crashed-bubble --disable-infobars --remote-debugging-port=9222 --remote-allow-origins=http://localhost:9222 & | ||
| + | #chromium-browser --kiosk --noerrdialogs --disable-session-crashed-bubble --disable-infobars & | ||
| + | #sleep 15 | ||
| + | #/home/xor/.config/labwc/chromium_reload_first_tab.py | ||
| + | sleep 15 | ||
| + | xdotool search --onlyvisible --class chromium key F5 # ne fonctionne pas avec wayland! | ||
| + | #wtype -M ctrl r -m ctrl | ||
| + | #firefox --kiosk "http://localhost:8000/index.html" | ||
| + | |||
| + | |||
| + | xdotool search --onlyvisible --class chromium windowactivate --sync %1 key F5 windowactivate $(xdotool getactivewindow) | ||
| + | |||
| + | |||
| + | Petite fonction pour vérifier que la page recharge bien | ||
| + | |||
| + | function changeBackground(color) { | ||
| + | document.body.style.background = '#'+(Math.random()*0xFFFFFF<<0).toString(16); | ||
| + | } | ||
| + | window.addEventListener("load",function() { changeBackground('red') }); | ||
| + | |||
| + | |||
| + | </code> | ||