Vous ne pouvez pas créer de nouvelle commande depuis votre pays : United States

ATTENTION, CET ARTICLE EST EN COURS DE REDACTION..... IL EST DONC INCOMPLET ET PEUT CONTENIR DES ERREURS !

En plus du système Tipi, j'ai un Raspberry qui me sert de centrale domotique (et qui fonctionne avec l'excellent Jeedom).

Mon poêle à granules Rika possède une programmation intéressante (2 démarrages et 2 arrêts programmés pour chaque jour de la semaine) mais la centrale Jeedom permettrait une bien plus grande finesse de programmation (via les scénarios).

Sur le poêle, on peut changer le mode de fonctionnement  à distance via le module GSM optionnel. Ce dernier communique avec le poêle sur un simple port série RS232.

On trouve le schémas de câblage de la prise DB15 assez facilement sur le web, et même des infos sur le protocole de communication ici : http://www.10assembly.net/rika-raspberry-pi-part1/

Par contre, il doit y avoir des différences dans les firmwares car en analysant la communication, je n'ai pas trouvé exactement les mêmes infos.

débit : baud, 8 bits de données,  1 bit de stop, pas de parité

Quand on active le module GMS depuis le clavier sur le poêle, ce dernier envoit la commande 

ATE0<cr> plusieurs fois de suite. Si on répond OK<cr><lf>, le mode GSM est activé et le poêle commence la communication

AT+CMGF=1               => active le mode Text SMS

AT+CMGD=1              => efface la mémoire SMS n°3

AT+CMGD=2              => efface la mémoire SMS n°2

AT+CMGD=3              => efface la mémoire SMS n°3

Le poêle n'attend même pas la réponse OK<cr><lf> pour ces instructions 

Ensuite, environ toutes les secondes, le poêle demande la lecture du SMS dans la mémoire n°1 avec la commande :

AT+CMGR=1              => lecture de la mémoire SMS n°1

La commande reçue par SMS est alors exécutée, le SMS est effacée :

AT+CMGD=1

puis le poêle envoi un SMS pour indiquer son état (marche/arrêt) ou une éventuelle erreur (dont l'absence de granules)

PRINCIPE DE FONCTIONNEMENT

Il est relativement facile de simuler cette communication pour programmer son poele à distance

J'ai créé 2 programmes pour cela : 

rikacomm.py (python)

ce programme communique directement avec le port série du poële : il répond OK chaque fois que nécessaire, transmet le contenu du fichier rika_commande.txt en simulant la réception d'un SMS, et si le poêle envoie un SMS, son contenu sera écrit dans le fichier rika_status.txt

rikaserver.py (python3)

ce programme permet de commander le poêle via des requêtes HTTP :

http://IP_RASPBERRY:10005/API/status permet de récupérer un objet JSON contenant le dernier message envoyé par le poële (en fait, c'est le contenu du fichier rika_status qui est encodé en JSON)

http://IP_RASPBERRY:10005/API/commande=xxxx permet de transmettre le message xxxx au poêle en simulant la réception d'un SMS (en fait on écrit le SMS dans le fichier rika_commande.txt et le programme rikacomm.py se charge de le transmettre)

DÉMARRAGE AUTOMATIQUE AU BOOT, EN ARRIÈRE PLAN

J'ai également mis 2 fichiers rikacomm et rikaserver qui doivent être installé dans /etc/init.d/ pour pouvoir démarrer ou arrêter les 2 programmes.

sudo service rikacomm (ou rikaserver) start pour le démarrer

sudo service rikacomm stop pour le stopper

sudo service rikacomm status pour vérifier s'il fonctionne ou pas

Les commandes

sudo update-rc.d rikacomm defaults

sudo update-rc.d rikaserver defaults

permettent de rendre le démarrage des 2 programmes automatique 

REDÉMARRAGE AUTO EN CAS DE PLANTAGE

Les 2 scripts précédents inscrivent un 1 dans un fichier dans /etc/restart/ (dossier qu'il faudra créé).

Toutes les minutes, un script restart.sh lancé par cron vérifie que les programmes sont effectivement en fonctionnement, et les relance si ce n'est pas le cas....

C'est utile car si le poêle ne voit pas de réponse pendant environ 30 s, il considère que le module GSM est déconnecté et on ne peut plus piloter le poêle.

INSTALLATION PRESQUE SIMPLE

1- télécharger l'archive zip contenant tous les fichiers

     wget http://www.suiviconso.fr/rika/rika_last_version.zip

2- changer de dossier

     cd rika

3- executer le script d'installtion

     sudo bash install_rika

Le script modifiera la crontab du système /etc/crontab

INSTALLATION MANUELLE(Raspberry Pi sous Raspbian)

1- copier les fichiers fournis dans un dossier quelconque (/home/pi/rika par exemple)

     wget http://www.suiviconso.fr/rika/rika_last_version.zip

     tar -xvzf rika_last_version.zip

2- créer un dossier /etc/restart

     sudo mkdir /etc/restart

3- déplacer les scripts de démarrage 

     sudo mv /home/pi/rika/rikacomm /etc/init.d

     sudo mv /home/pi/rika/rikaserver /etc/init.d

     sudo chown root:too /etc/init.d/rika*

     sudo chmod 755 /etc/init.d/rika*

4- activer le démarrage automatique

    sudo update-rc.d rikacomm defaults

    sudo update-rc.d rikaserver defaults

5- modifier la crontab de l'utilisateur pi (par ex)

    crontab -e

     puis ajouter la ligne suivante à la fin du fichier :

* * * * *sudo /home/pi/restart.sh >> /home/pi/restart.log 2>&1 # Relance automatique des services

6- activer le mode GSM sur votre poêle et modifier le code (1234 programmé par défaut dans rikacomm.py)

A la 1ère commande, le poêle répondra qu'il faut enregistrer le numéro de téléphone.

Ca se fait en envoyant un SMS contenant TEL

http://IP_RASPBERRY:10005/API/commande=TEL

(le numero mémorisé sera celui programmé par défaut dans le programme rikacomm.py.


Meilleures ventes

Contactez-nous

Notre service client est disponible 24h/24, 7j/7

PayPal