Maintenant que l’installation de mySCADA et de myDesigner sont terminés et qu’ils communiquent ensemble,

passons à l’installation de Domoticz.

Dans un premier temps , installez Domoticz, pour se faire

ssh pi@192.168.0.xx

login : pi  Password: raspberry

sur le site de Domoticz

Ensuite il faut installer la librairie Modbus

  • apt-get update
  • apt-get install -y python-dev
  • apt-get install -y python-pip
  • git clone git://github.com/bashwork/pymodbus.git
  • cd pymodbus
  • python setup.py install

il faudra déposer quelques fichiers dans le raspberry, le plus simple c’est d’accéder aux répertoires du Raspberry depuis votre Mac ou PC

pour le MAC : (j’ai pas de PC…) Drag and Drop c’est facile !

C’est ICI

Télécharger le zip suivant, il contient les deux programmes qu’il faut déposer dans le Raspberry

le fichier server.py est à déposer à la racine Home Directory depuis le finder ou /home/py

ce fichier doit être exécuter au démarrage de votre Rapsberry. C’est le serveur Modbus ! il faut qu’il soit exécuter en permanence

  • rendre le script exécutable : sudo chmod +x /home/pi/server.py
  • éditer le fichier /etc/rc.local : sudo nano /etc/rc.local
  • ajouter avant exit 0 : python /home/pi/server.py

il faut modifier la dernière ligne du fichier « server.py » pour renseigner l’adresse IP de votre Rasberry

sudo nano server.py

StartTcpServer(context, identity=identity, address=(« 192.168.0.xx », 5021))

le second fichier « script_modbus.py » dans le répertoire /domoticz/scripts/python

ce fichier doit être exécuter périodiquement

  • sudo crontab -e
  • à la fin du fichier copie la ligne suivante :
  • */1 * * * * python /home/pi/domoticz/scripts/python/script_modbus.py

il faut personnaliser le fichier « script_modbus.py » afin de déclarer l’adresse IP de votre Raspberry et les différentes variables Domoticz

que vous souhaitez échanger via le serveur Modbus.

#=================================================================================================
#
# Ouverture de la connexion Modbus TCP
#
#=================================================================================================

#adresse de domoticz
domoticz_ip=’192.168.0.xx’

#definition de chaque mesure Domoticz avec l’IDX, le type de mesure à bien respecter et le nom pour s’y retrouver un peu …

l[0]=[9,’Temp’,’Température bassin -20cm’]

l[1]=[12,’Temp’,’Température ext. bassin’]

l[2]=[13,’Temp’,’Température bassin -100cm’]

l[3]=[14,’Barometer’,’Barometre’]

l[4]=[32,’Temp’,’Bureau’]

l[5]=[33,’Temp’,’Pierre’]

l[6]=[34,’Temp’,’Salle de bain’]

l[7]=[35,’Temp’,’Chambre amis’]

etc…

contenu de la ligne  :  l[x]=[IDX,type de mesure,designation]

Pour retrouver l’IDX le type de la mesure et le nom de la mesure

Dans Domoticz , menu Réglages/Dispositifs

IDX domoticz

vérifier si tout votre travail est correct :

lacer cette ligne de commande dans le terminal :

python domoticz/scripts/python/script_modbus.py

le résultat de l’exécution du programme est la suivante :

H:0 Idx 9 = 10.6 – Temp – Température bassin -20cm         http://192.168.0.90:8080/json.htm?type=devices&rid=9

H:2 Idx 12 = 9.0 – Temp – Température ext. bassin         http://192.168.0.90:8080/json.htm?type=devices&rid=12

H:4 Idx 13 = 11.7 – Temp – Température bassin -100cm         http://192.168.0.90:8080/json.htm?type=devices&rid=13

H:6 Idx 14 = 1018.29 – Barometer – Barometre         http://192.168.0.90:8080/json.htm?type=devices&rid=14

H:8 Idx 32 = 19.7 – Temp – Bureau         http://192.168.0.90:8080/json.htm?type=devices&rid=32

H:10 Idx 33 = 20.0 – Temp – Pierre         http://192.168.0.90:8080/json.htm?type=devices&rid=33

H:12 Idx 34 = 20.4 – Temp – Salle de bain         http://192.168.0.90:8080/json.htm?type=devices&rid=34

H:14 Idx 35 = 17.8 – Temp – Chambre amis         http://192.168.0.90:8080/json.htm?type=devices&rid=35

H:16 Idx 36 = 21.3 – Temp – Nicolas         http://192.168.0.90:8080/json.htm?type=devices&rid=36

H:18 Idx 37 = 14.7 – Temp – Garage         http://192.168.0.90:8080/json.htm?type=devices&rid=37

H:20 Idx 38 = 19.8 – Temp – Salle à manger         http://192.168.0.90:8080/json.htm?type=devices&rid=38

H:22 Idx 39 = 17.3 – Temp – Hall         http://192.168.0.90:8080/json.htm?type=devices&rid=39

Ensuite dans myScada

il faut déclarer les variables !

 

 

logo_myscada