DS18B20 + Arduino + Python comment faire?

Bonjour,

étant dans un projet futur de domotique je m’entraîne sur des petits tests indépendants. J'ai reçu des capteurs de températures DS18B20 et DS18S20 et je voudrais les faire fonctionner avec un code python.

Donc j'ai déjà testé avec la librairie onewire sur arduino et ca fonctionne bien. Avec Firmata j'ai le contrôle de ma carte arduino depuis le code python (donc ce que je souhaite) mais qu'en est-il pour obtenir la température directement avec mon code en python. Je ne peux pas mettre de code dans l'arduino vu qu'il y a firmata et je ne trouve pas d'exemple concret sur le net. Pouvez vous m'aider?

Cordialement

kzodo:
Bonjour,

étant dans un projet futur de domotique je m’entraîne sur des petits tests indépendants. J’ai reçu des capteurs de températures DS18B20 et DS18S20 et je voudrais les faire fonctionner avec un code python.

Donc j’ai déjà testé avec la librairie onewire sur arduino et ca fonctionne bien. Avec Firmata j’ai le contrôle de ma carte arduino depuis le code python (donc ce que je souhaite) mais qu’en est-il pour obtenir la température directement avec mon code en python. Je ne peux pas mettre de code dans l’arduino vu qu’il y a firmata et je ne trouve pas d’exemple concret sur le net. Pouvez vous m’aider?

Cordialement

bonsoir
Peut être voir du coté de ça ? (NB , si je connais pas trop mal le 1W , je n’y connais rien en python)
http://code.google.com/p/pyonewire/
Mais ça nécessite obligatoirement un adaptateur basé sur un DS2490 (attention obsolescence prévue)
comme les adaptateurs DS9490R (les plus répandus)
http://para.maxim-ic.com/en/search.mvp?fam=ibuttonr_a&tree=master

A titre personnel je n’aime pas les DS2490, j’ai toujours préféré les interfaces basée sur un DS2480B
1W<----->Serial

http://datasheets.maxim-ic.com/en/ds/DS2480B.pdf

Bonjour,

Le plus simple pour s'interfacer avec du python c'est de passer par la liaison série.

Au niveau de python, il faut donc : import serial ser = serial.Serial('/dev/ttyACMO', 9600) ser.writelines("coucou arduino") retourArduino = ser.readline()

Le code ci-dessus effectue d'abord l'import de la librairie serial, puis ouvre la connexion serie sur le port '/dev/ttyACMO' (ici c'est pour un Arduino Uno, connecté sur un PC Linux, la valeur est probablement différente sous windows) à 9600 bauds. Ensuite, ser.writelines envoie une chaine a l'arduino, et ser.readline() lit ce que l'arduino répond.

Il ne reste alors plus qu'a mettre le code qui va bien au niveau de l'arduino.

Tu peux aller faire un tour ici, j'ai fait quelque chose dans le genre... Voici ce que ça donne en live, avec comm série Arduino vers Python, envoi des données vers un serveur ftp depuis le code Python, traitement des données pour affichage sur une page web avec php