Aller au contenu

Compatibilit


SPoK

Messages recommandés

J'ai continué mes pérégrinations sur le sujet et je tombe sur un nouveau pb :

j'ai créé un prog python de lecture de mes capteurs et qui écrit dans une base sql fortement inspiré du prog de Sp@r0. Ce prog se lance au boot via un script shell mis dans /usr/syno/etc/rc.d. Jusqu'ici pas de pb, sauf que j'ai remarqué depuis que je n'arrive plus à accéder à l'interface web de mon Synology. La page de login s'affiche bien mais après saisie du login/msp, la page me répond "Le système est en cours de mise à jour..."

Quand je "kill" le shell et le prog python, tout revient à la normal

Lien vers le commentaire
Partager sur d’autres sites

tu peux poster ton script de démarrage ???

PS : Je suis content que mon modeste soft en python t'es inspiré malgré qu'il ne soit pas très propre/élégant...

Lien vers le commentaire
Partager sur d’autres sites

bon désolé pour le dérangement, j'ai finalement trouvé (enfin je sais pas pourquoi exactement mais maintenant ça ne le fait plus) : dans le script de lancement j'ai rajouté "&" à la fin du lancement de mon programme python afin de le mettre en background et depuis, plus de pb

Lien vers le commentaire
Partager sur d’autres sites

il existe une solution encore plus élégante. Tu installes screen avec ipkg. Dans ton script de démarrage tu mets

screen -dmS "Ma_domotique" ./monscript.py
Cela fera la même chose que ce que tu as actuellement sauf que tu peut récupérer la main sur le shell de ton script en tapant
screen -r Ma_Domotique[/code]

pour relacher le shell ainsi récupérer c'est ctrl-a puis la touche d

Modifié par Sp@r0
Lien vers le commentaire
Partager sur d’autres sites

encore moi.

Un nouveau petit problème :

j'ai désormais 3 capteurs, un THN132N, un BTHR918N et un THGR122NX.

Sur les 2 premiers pas de pb, en revanche sur le dernier, le THGR122NX, la lecture de la trame est bizarre. Je la reçois en 2 fois.

Une première où je reçois que le premier octet, ['0A'], c-a-d la longueur de la trame totale que je devrais recevoir en une fois, puis les 10 octets suivants : ['52', '01', '02', '50', '01', '00', 'C6', '2E', '02', '79'].

Sur les autres capteurs, je reçois la trame complète en une seule fois, ex. pour le THN132N : ['08', '50', '02', '01', '7B', '01', '00', 'C7', '50']

Lien vers le commentaire
Partager sur d’autres sites

le pb ne vient pas du code mais de la sonde je pense (meme le programme de test de Patrick Haeflinger détecte le pb), la sonde envoie un rermier octet suivi d'un n puis le reste de la trame ! Il faut donc faire 2 readline pour récupérer toute la trame.

Bon j'ai modifié le programme pour contourner le pb mais c'est tout de même bizarre

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Salut,

Je me greffe à la discussion car je suis également en train d'installer un rfxtrx sur mon nas.

En fait j'ai commencé l'écriture d'un programme en C, et hier soir j'ai branché mon rfxtrx à mon NAS.

J'ai déjà un module USB de téléinformation qui fonctionne bien, donc je suis déjà passé par les étapes de compilation/installation des drivers.

Hier j'ai créé le périphérique ttyUSB1, mon rfxtrx est bien associé visiblement, mais quand je fais un "more" sur le fichier, je ne vois rien.

Faut il passer une commande pour configurer les taux de transfert par exemple comme pour le module de téléinfo ? Vous voyez les paquets dans le ttyUSBx ?

Si quelqu'un peut me faire un copier coller de ce qu'il voit en exemple ce serait super.

Edit : je n'ai pas installer le pl2303. Le rfxtrx a une puce FTDI donc je pense qu'il n'est pas nécessaire. Est ce correct ?

Modifié par declencher
Lien vers le commentaire
Partager sur d’autres sites

Personnellement j''ai installé le driver pl2303 pour mon rfxtrx433

la commande : stty -a < /dev/ttyUSB0 devrait te donner ce type de retour

USBStation2> stty -a < /dev/ttyUSB0
speed 38400 baud; rows 0; columns 
0; line = 0;intr = ^C; quit = ^; erase = ^?; kill = ^U; eof = ^D; eol = 
<undef>;eol2 = <undef>; swtch = <undef>; start = ^Q; stop 
= ^S; susp = ^Z; rprnt = ^R;werase = ^W; lnext = ^V; flush = ^O; min = 0; 
time = 0;-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts-ignbrk 
-brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon 
-ixoff-iuclc -ixany -imaxbel -iutf8-opost -olcuc -ocrnl onlcr -onocr 
-onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0-isig -icanon -iexten -echo 
-echoe -echok -echonl -noflsh -xcase -tostop -echoprt-echoctl 
-echokeUSBStation2>


Patrick

Lien vers le commentaire
Partager sur d’autres sites

NAS> stty -a < /dev/ttyUSB1
speed 9600 baud; rows 24; columns ;
intr = ^C; quit = ^; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

Voilà ce que j'obtiens. Un avis sur la chose ?

Lien vers le commentaire
Partager sur d’autres sites

J'ai connecté et déconnecté mon rfxtrx et ça semble tout bon :

[950420.110000] usb 1-1.3: USB disconnect, address 4
[950420.120000] ftdi_sio ttyUSB1: FTDI USB Serial Device converter now disconnected from ttyUSB1
[950420.130000] ftdi_sio 1-1.3:1.0: device disconnected
[950423.940000] usb 1-1.3: new full speed USB device using orion-ehci and address 5
[950424.050000] usb 1-1.3: configuration #1 chosen from 1 choice
[950424.070000] ftdi_sio 1-1.3:1.0: FTDI USB Serial Device converter detected
[950424.070000] usb 1-1.3: Detected FT232RL
[950424.080000] usb 1-1.3: Number of endpoints 2
[950424.080000] usb 1-1.3: Endpoint 1 MaxPacketSize 64
[950424.090000] usb 1-1.3: Endpoint 2 MaxPacketSize 64
[950424.090000] usb 1-1.3: Setting MaxPacketSize 64
[950424.170000] usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB1

Est ce que ça viendrait du débit ?

Lien vers le commentaire
Partager sur d’autres sites

Ça devrait aussi se faire au niveau système également non ? Car le système devrait voir les trames passer même sans programme ?

La commande stty ne sert pas à ça ?

Je vais tenter une mise à jour du rfxcom sur un PC avec windows, et un test. Déjà je serais sûr qu'il fonctionne.

Pour l'instant mon programme dit qu'il n'arrive pas à utiliser le port série...

Lien vers le commentaire
Partager sur d’autres sites

Patrick,

J'ai tenté d'utiliser ton programme de test, mais je dois encore travailler sur ma config car j'obtiens un message d'erreur lié à python

Traceback (most recent call last):
  File "./test.py", line 6, in <module>
    import serial
ImportError: No module named serial


Quand tu constates le taux de transfert que tu indiques dans ton message, c'est avant ou après avoir lancé un de tes scripts python ? Parce que j'ai vu que dans tes scripts tu commencé justement par configurer ce taux de transfert, ce que ne fait pas mon programme en C.

Edit : j'utilise python 2.7 de synocommunity. Il ne contient peut être pas ce module ?

Modifié par declencher
Lien vers le commentaire
Partager sur d’autres sites

Salut,

Penses tu que je puisse utiliser ta méthode tout en utilisant le pakage de synocommunity ? Je ne voudrai pas tout casser...

J'ai commencé à chercher comment ajouter ce module à Python 2.7 et pour l'instant je ne trouve rien.

Edit : pour ceux qui chercherait, voilà ce que je viens de trouver et que je dois tester pour intaller ce module : http://pyserial.sourceforge.net/pyserial.html#installation

Modifié par declencher
Lien vers le commentaire
Partager sur d’autres sites

Après install du module "serial", ton programme de test se lance et j'ai une trame :

['0D', '01', '00', '01', '02', '53', '37', '00', '0E', '6F', '01', '01', '00', '00']

Et quand je fais stty -a < /dev/ttyUSB1 j'obtiens quelque chose qui se rapproche de ta log :

speed 38400 baud; rows 24; columns ;
intr = ^C; quit = ^; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 0; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon
-ixoff -iuclc -ixany -imaxbel
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0
ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop
-echoprt -echoctl -echoke

Et maintenant j'ai bien le bon taux de transfert. Par contre je n'ai pas de résultat en faisant un cat sur /dev/ttyUSB1. C'est peut être normal ??

Maintenant il faut que je trouve pourquoi mon programme en C ne fonctionne pas...

Lien vers le commentaire
Partager sur d’autres sites

Mon programme en C fonctionne. Tout n'est pas enclore clair mais voilà ce que j'ai constaté si ça peut en aider d'autres :

- Après installation du module pyserial en root et exécution du script de PatrickH, j'ai pu observer une trame

- Ensuite j'ai voulu lancer le script avec le user admin : échec. J'ai donc fait un chmod 777 sur mon ttyUSB1, et ensuite le script a fonctionné.

- J'ai ensuite lancé mon programme en C, sans l'avoir modifié, et il fonctionne.

Ce qui me reste à éclaircir, c'est si mon programme aurait fonctionner sans avoir lancer le script de PatrickH auparavant, car ce script configure le taux de transfert du device. Il faudrait que je reboot le NAS et que je lance mon programme pour vérifier ça. En tout cas ça fonctionne maintenant.

Prochaine étape, compléter le programme pour que les données reçues soient enregistrées dans la BDD.

Merci PatrickH d'avoir donner un peu de ton temps !

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.