- monitorink.sh: MONITORINK_REFRESH 30 -> 300 (5 min) - monitorinkloop.sh: frontlight_off() (ecrit 0 dans /sys/class/backlight/*), cycle WiFi (wifi_down: release-ip + disable-wifi) autour du fetch, sleep -> suspend_for (rtcwake mem) + repli sleep si la veille echoue (USB) - README: documente les reglages prod
61 lines
3.1 KiB
Markdown
61 lines
3.1 KiB
Markdown
# Client Kobo — Monitorink
|
|
|
|
Affiche le dashboard Monitorink (`/image.png`) sur une **Kobo Libra 2** (FW 4.38.x) déjà
|
|
équipée de **NickelMenu**. Approche : boucle WiFi → fetch image → `fbink` → suspend `rtcwake`.
|
|
|
|
Ces scripts sont un **overlay** : ils réutilisent les binaires ARM et les helpers WiFi
|
|
pré-compilés/éprouvés du projet [`usetrmnl/trmnl-kobo`](https://github.com/usetrmnl/trmnl-kobo),
|
|
afin de ne pas réinventer (et risquer de casser) la gestion WiFi/suspend spécifique au matériel.
|
|
|
|
## Contenu de ce dossier
|
|
- `monitorink.sh` — point d'entrée (lancé par NickelMenu).
|
|
- `monitorinkloop.sh` — boucle d'affichage (réutilise `bin/` et `scripts/` de trmnl-kobo).
|
|
- `nm/monitorink` — entrée NickelMenu.
|
|
|
|
## Installation (Kobo branchée en USB)
|
|
|
|
1. **Récupérer les binaires + helpers WiFi** depuis trmnl-kobo :
|
|
```sh
|
|
git clone https://github.com/usetrmnl/trmnl-kobo
|
|
```
|
|
On a besoin de `src/TRMNL/bin/` (fbink, fbdepth, busybox_kobo) et `src/TRMNL/scripts/`
|
|
(enable-wifi.sh, disable-wifi.sh, force-wifi-connection.sh, obtain-ip.sh, release-ip.sh,
|
|
ledToggle.sh, getrssi.sh).
|
|
|
|
2. **Construire le dossier Monitorink** sur la Kobo, à
|
|
`/mnt/onboard/.adds/Monitorink/` :
|
|
```
|
|
Monitorink/
|
|
monitorink.sh (ce repo)
|
|
monitorinkloop.sh (ce repo)
|
|
bin/ (copié depuis trmnl-kobo/src/TRMNL/bin/)
|
|
scripts/ (copié depuis trmnl-kobo/src/TRMNL/scripts/)
|
|
```
|
|
|
|
3. **Entrée NickelMenu** : copier `nm/monitorink` dans `/mnt/onboard/.adds/nm/monitorink`.
|
|
|
|
4. **Configurer l'URL** dans `monitorink.sh` (`MONITORINK_URL`) et l'intervalle
|
|
(`MONITORINK_REFRESH`, en secondes).
|
|
|
|
5. **Éjecter proprement** la Kobo → l'entrée « Monitorink » apparaît dans NickelMenu.
|
|
|
|
## Utilisation
|
|
- Lancer « Monitorink » depuis NickelMenu. La boucle démarre : l'écran se met à jour, puis le
|
|
device passe en suspend et se réveille à chaque intervalle.
|
|
- **Mode prod** (réglages par défaut) : refresh **5 min** (`MONITORINK_REFRESH=300`),
|
|
**rétroéclairage éteint** (frontlight à 0), et **WiFi cyclé** — la radio est rallumée le
|
|
temps du fetch puis coupée pendant le suspend `rtcwake -m mem` pour économiser la batterie.
|
|
- Un **swipe** sur l'écran réveille le device et force un rafraîchissement.
|
|
- Pour **arrêter** : maintenir le bouton power (le device se réveille sous Nickel).
|
|
- Logs : `/tmp/monitorink.log` (effacés au reboot).
|
|
|
|
## À valider sur l'appareil (cf. plan, tâche 8)
|
|
- Orientation framebuffer : si l'image sort tournée, soit pivoter côté serveur, soit ajouter
|
|
`./bin/fbdepth -r 2` avant l'affichage et `-r -1` après.
|
|
- Frontlight : `frontlight_off()` écrit 0 dans `/sys/class/backlight/*/brightness`. Vérifier
|
|
`ls /sys/class/backlight/*/brightness` sur l'appareil et ajuster le glob si le nœud diffère.
|
|
- Stabilité de `rtcwake -m mem` sur FW 4.38.23171 (sinon le fallback `state-extended` prend le
|
|
relais ; en dernier recours `sleep`).
|
|
- Cycle WiFi : confirmer qu'au réveil la reconnexion DHCP aboutit en < ~24 s (`has_ip` OK).
|
|
- Autonomie réelle sur 24 h.
|