#16 RPi Image creation

Open
opened 3 years ago by maxime-alves · 6 comments

Installer pyHeatpump sur un système d’exploitation pour RPi et vérifier son fonctionnement dans une VM.

Tester ensuite dans les conditions réelles.

Pour finir, archiver l’image et la mettre à disposition du public pour les premiers essais.

Installer pyHeatpump sur un système d'exploitation pour RPi et vérifier son fonctionnement dans une VM. Tester ensuite dans les conditions réelles. Pour finir, archiver l'image et la mettre à disposition du public pour les premiers essais.
maxime-alves self-assigned this 3 years ago
maxime-alves added spent time 3 years ago
30min
maxime-alves started working 3 years ago
maxime-alves stopped working 3 years ago
43s
maxime-alves commented 3 years ago
Collaborator

Currently checking if everything works as expected.

Image size : 2GB

Currently checking if everything works as expected. Image size : 2GB
maxime-alves added spent time 3 years ago
5h
maxime-alves commented 3 years ago
Collaborator

Mail envoyé avec l’image 4 août 2020

Bonjour Christophe,

Ça a pris un peu plus de temps que prévu, mais j’ai pu dénouer pas mal de soucis qui auraient pu arriver lors de ton installation.

Pour le moment, l’image est en Read-write, et on a donc ce risque de corruption des données sur la SD. Toutefois, je pense que pour le debug il sera bien plus simple de trouver les problèmes si nous avons un media avec des logs.

Il s’agit donc bien d’une image pour le debug, mais qui inclut un nouveau programme pour la récupération des données sur l’automate. J’ai écrit ce programme sous license libre (GPLv3) et il m’appartient entièrement. Je n’ai réutilisé aucune source du programme Java original (RPiPasserelle), et pyHeatpump fonctionne complètement différement. Il récupère plus de données sur l’automate, (5000 floats/analog, 5000 integer, 2000 boolean/digital) et n’envoie que les données ayant changé depuis la dernière mise à jour sur le serveur distant.

Dépôt pyHeatpump : https://git.yannweb.net/maxime-alves/pyHeatpump

Il inclut aussi une API locale qui est accessible sur le réseau local, celui-ci n’est pas sécurisé du tout, c’est pour cela que le programme n’est pas à utiliser en production pour le moment. Une autre version viendra qui sera sécurisable et configurable à distance.

Voiçi le lien pour télécharger l’image :

http://www.freepoteries.fr/~msleaveamix/2020-08-04_rpios-buster_pyheatpump-debug.img.tar.xz

MD5SUM : dcfa184c21 2020-08-04_rpios-buster_pyheatpump-debug.img.tar.xz

La procédure d’installation est toujours la même avec dd après l’avoir extrait avec tar.

tar xf 2020-08-04_rpios-buster_pyheatpump-debug.img.tar.xz

dd if=2020-08-04_rpios-buster_pyheatpump-debug.img of= bs=4M

Pour l’accès à l’API, rien de plus simple :

http://ip.de.la.machine/

Sur firefox où autre. Les différentes routes permettre de récupérer les variables. Pour le moment, seul “/heatpump” est supporté, les autres viendront plus tard. Néanmoins, c’est la seul route vraiment utile pour le moment, vu qu’elle contient les informations envoyées à Supervision.

J’ai aussi remarqué qu’il y avait un problème de lecture de la mac. Pour le corriger, un redémarrage de la RaspberryPi suffit.

J’ai mis des mots de passe sur l’accès à la pi, et SSH est activé. Je vous les enverrais si besoin est.

Les configurations horaires, locale et keymap sont toutes en français.

L’image fait 2Go, et devrait fonctionner partout. Si besoin est, on peut utiliser raspi-config pour étendre la partition principale sur une carte SD plus grosse. Cela sera utile sur le long terme car la Raspi stocke pas mal de logs et de données relatives à l’automate (c’est normal pour une version debug).

J’attends les retours de test avec impatience, et n’hésitez pas à répondre à ce mail si vous avez des questions.

Cordialement, Maxime Alves

https://www.freepoteries.fr

Mail envoyé avec l'image 4 août 2020 > Bonjour Christophe, > > Ça a pris un peu plus de temps que prévu, mais j'ai pu dénouer pas mal de soucis > qui auraient pu arriver lors de ton installation. > > Pour le moment, l'image est en Read-write, et on a donc ce risque de corruption > des données sur la SD. Toutefois, je pense que pour le debug il sera bien plus > simple de trouver les problèmes si nous avons un media avec des logs. > > Il s'agit donc bien d'une image pour le debug, mais qui inclut un nouveau > programme pour la récupération des données sur l'automate. J'ai écrit ce > programme sous license libre (GPLv3) et il m'appartient entièrement. Je n'ai réutilisé > aucune source du programme Java original (RPiPasserelle), et pyHeatpump > fonctionne complètement différement. Il récupère plus de données sur l'automate, > (5000 floats/analog, 5000 integer, 2000 boolean/digital) et n'envoie que les > données ayant changé depuis la dernière mise à jour sur le serveur distant. > > Dépôt pyHeatpump : https://git.yannweb.net/maxime-alves/pyHeatpump > > Il inclut aussi une API locale qui est accessible sur le réseau local, > celui-ci n'est pas sécurisé du tout, c'est pour cela que le programme n'est pas > à utiliser en production pour le moment. Une autre version viendra qui sera > sécurisable et configurable à distance. > > Voiçi le lien pour télécharger l'image : > > http://www.freepoteries.fr/~msleaveamix/2020-08-04_rpios-buster_pyheatpump-debug.img.tar.xz > > MD5SUM : dcfa184c21d4688baaf0002b801e621c 2020-08-04_rpios-buster_pyheatpump-debug.img.tar.xz > > > La procédure d'installation est toujours la même avec dd après l'avoir extrait avec tar. > > tar xf 2020-08-04_rpios-buster_pyheatpump-debug.img.tar.xz > > dd if=2020-08-04_rpios-buster_pyheatpump-debug.img of=<SDCARD> bs=4M > > Pour l'accès à l'API, rien de plus simple : > > http://ip.de.la.machine/ > > Sur firefox où autre. Les différentes routes permettre de récupérer les > variables. Pour le moment, seul "/heatpump" est supporté, les autres viendront > plus tard. Néanmoins, c'est la seul route vraiment utile pour le moment, vu > qu'elle contient les informations envoyées à Supervision. > > J'ai aussi remarqué qu'il y avait un problème de lecture de la mac. Pour le > corriger, un redémarrage de la RaspberryPi suffit. > > J'ai mis des mots de passe sur l'accès à la pi, et SSH est activé. Je > vous les enverrais si besoin est. > > Les configurations horaires, locale et keymap sont toutes en français. > > L'image fait 2Go, et devrait fonctionner partout. Si besoin est, on peut > utiliser raspi-config pour étendre la partition principale sur une carte SD plus > grosse. Cela sera utile sur le long terme car la Raspi stocke pas mal de logs et > de données relatives à l'automate (c'est normal pour une version debug). > > J'attends les retours de test avec impatience, et n'hésitez pas à répondre à ce > mail si vous avez des questions. > > Cordialement, > Maxime Alves > > https://www.freepoteries.fr
maxime-alves commented 3 years ago
Collaborator

Mail envoyé avec l’image du 16 septembre 2020

Bonjour,

Voiçi un lien vers l’image mise à jour. Je n’ai pas testé depuis 0, mais ça devrait fonctionner. Au pire je pourrais être réactif dans la journée si quelque chose cloche. Aussi, il est possible de mettre à jour le programme sur une carte SD déjà préparée avec la commande suivante (à exécuter en root sur la rpi) :

/var/lib/pyheatpump/pyheatpump_upgrade.sh

Cela devrait fonctionner après un reboot.

Sinon, voiçi l’image que j’ai préparée avec les dernières mise-à-jour :

http://www.freepoteries.fr/~msleaveamix/2020-09-16_rpios-buster_pyheatpump-9c58549a81.img.xz

L’installation se fait comme d’habitude :

Ex: xzcat 2020-09-16_rpios-buster_pyheatpump-9c58549a81.img.xz | dd of=/dev/sdcard

Je t’invite à tester les routes décrites lorsque tu accède à la RPi via un navigateur web (sur l’ip de la RPi, port 80), il y a /config/mac et /config/last_update qui peuvent t’intéresser pour ce dont on parlait la dernière fois.

Aussi, un offset de 300 secondes post-démarrage est attendu avant d’envoyer les valeurs des variables au serveur.

Bon tests!

Cordialement, Maxime Alves

PS : Pour l’appel, je pense que le plus tôt sera le mieux, mon collègue du boulot est pris ce matin. Mais sinon n’importe quelle heure ira.

Mail envoyé avec l'image du 16 septembre 2020 > Bonjour, > > Voiçi un lien vers l'image mise à jour. Je n'ai pas testé depuis 0, mais ça > devrait fonctionner. Au pire je pourrais être réactif dans la journée si quelque > chose cloche. Aussi, il est possible de mettre à jour le programme sur une carte > SD déjà préparée avec la commande suivante (à exécuter en root sur la rpi) : > > /var/lib/pyheatpump/pyheatpump_upgrade.sh > > Cela devrait fonctionner après un reboot. > > Sinon, voiçi l'image que j'ai préparée avec les dernières mise-à-jour : > > http://www.freepoteries.fr/~msleaveamix/2020-09-16_rpios-buster_pyheatpump-9c58549a81.img.xz > > L'installation se fait comme d'habitude : > > Ex: > xzcat 2020-09-16_rpios-buster_pyheatpump-9c58549a81.img.xz | dd of=/dev/sdcard > > Je t'invite à tester les routes décrites lorsque tu accède à la RPi via un > navigateur web (sur l'ip de la RPi, port 80), il y a /config/mac et > /config/last_update qui peuvent t'intéresser pour ce dont on parlait la dernière > fois. > > Aussi, un offset de 300 secondes post-démarrage est attendu avant d'envoyer les > valeurs des variables au serveur. > > Bon tests! > > Cordialement, > Maxime Alves > > PS : Pour l'appel, je pense que le plus tôt sera le mieux, mon collègue du > boulot est pris ce matin. Mais sinon n'importe quelle heure ira.
maxime-alves commented 3 years ago
Collaborator

Je poste ici la doc, mais il serait bien de l’intégrer dans “supervision-doc” dès que possible.

Image 2020-09-22

Pour resize l’image, j’ai utilisé “qemu-img” sur une copie de l’iso de debian. J’ai fait une version 3Go de l’image avec buster et pyheatpump0.2.0 .

J’avais oublié d’activer ssh dans le /boot, mais ç’est fait désormais.

PyHeatpump API fait des internal serveur error parcequ’il y a des accès concurrents à la bdd sqlite #20

Je poste ici la doc, mais il serait bien de l'intégrer dans "supervision-doc" dès que possible. ## Image 2020-09-22 Pour resize l'image, j'ai utilisé "qemu-img" sur une copie de l'iso de debian. J'ai fait une version 3Go de l'image avec buster et pyheatpump0.2.0 . J'avais oublié d'activer ssh dans le /boot, mais ç'est fait désormais. PyHeatpump API fait des internal serveur error parcequ'il y a des accès concurrents à la bdd sqlite #20
maxime-alves commented 3 years ago
Collaborator

Image 2020-09-24

J’ai du remettre de nouveau une image à Christophe, cette fois-ci il aurait aussi pu faire un upgrade sur son RPi.

Toutefois, Christophe m’a fait remarquer que certaines valeurs n’étaient pas les bonnes dans l’interface. Je suppose qu’il faudrait un peu retravailer cette histoire d’unités dans les valeurs.

J’ai du forcer le rechargement du fichier de conf à chaque lecture, donc à chaque appel sur la route “/config”. Ce n’est pas parfaitement propre, mais ça à le mérite de permettre de contrôler les modifications du fichier via l’API.

## Image 2020-09-24 J'ai du remettre de nouveau une image à Christophe, cette fois-ci il aurait aussi pu faire un upgrade sur son RPi. Toutefois, Christophe m'a fait remarquer que certaines valeurs n'étaient pas les bonnes dans l'interface. Je suppose qu'il faudrait un peu retravailer cette histoire d'unités dans les valeurs. J'ai du forcer le rechargement du fichier de conf à chaque lecture, donc à chaque appel sur la route "/config". Ce n'est pas parfaitement propre, mais ça à le mérite de permettre de contrôler les modifications du fichier via l'API.
maxime-alves added spent time 3 years ago
5h
nas commented 3 years ago
Owner

Voir #24 pour la création d’une VM

Pour un environnement de test sur une machine physique, j’ai eu beaucoup de soucis à le déployer. Après avoir testé avec 3 RPi différentes, puis à nouveau avec une image RPiOS vierge, ça finalement bootéen utilisant une autre carte SD qui monte par ailleurs sur d’autres ordi.

Le symptôme était une absence de démarrage : pas de demande d’adresse IP, et l’écran reste bloqué sur le test des couleurs.

Voir #24 pour la création d'une VM Pour un environnement de test sur une machine physique, j'ai eu beaucoup de soucis à le déployer. Après avoir testé avec 3 RPi différentes, puis à nouveau avec une image RPiOS vierge, ça finalement bootéen utilisant une autre carte SD qui monte par ailleurs sur d'autres ordi. Le symptôme était une absence de démarrage : pas de demande d'adresse IP, et l'écran reste bloqué sur le test des couleurs.
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Total Time Spent: 10h 30min 43s
\/\/ \-/ ❭❬
10h 30min 43s
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
Cancel
Save
There is no content yet.