Platine electronique EZL-60
De MicElectroLinGenMet.
Sommaire |
Description
Cette platine fait office de convertisseur série <> Ethernet, qui permet de connecter n'importe quel dispositif RS-232 à un réseau local Ethernet.
Elle est conçue pour mettre rapidement et simplement en oeuvre le module "EZL-50" (Module convertisseur série <> Ethernet).
Elle comprend un étage de régulation +5 V, un connecteur magnétique "RJ-45" dédié à la connexion Ethernet, une prise SUB-D 9 broches (pour la liaison série RS-232), des leds de diagnostiques ainsi que le module "EZL-50" monté sur supports femelles.
Doté d'une adresse MAC unique, le module pourra se voir attribuer une adresse IP et une valeur de masque au choix.
Il sera également possible (grâce à un utilitaire dédié) de programmer son firmware afin qu'il puisse être utilisé au choix en mode Serveur (T2S), en mode Client (COD), en utilisation via commandes AT (ATC) ou pour des communications UDP (U2S).
Cette carte est dispo. chez Lextronic et la documentation sur le site du fabricant sollae ou ici (ezl60.pdf).
Voir platine wifi: EZL-300L
Voir platine ethernet: EZL-70
Utilitaires EZL-60
Sous Windows
Utilitaires fournis par le revendeur.
- ezConfig: Programme de configuration des paramètres du module.
- ezTERM: Terminal de communication (socket) avec le matériel connecté à l'EZL-60.
- hotFlash: Programme pour mise à jour firmware.
- ezVSP: Programme permettant de créer un port série virtuel.
Ces programmes fonctionnent sous Windows, mais l'ezl-60 une fois configuré peut fonctionner avec n'importe quel OS dont Linux.
Sous Linux
il y a des exemples de codes sur le site du constructeur et depuis peu des librairies: (ezLIBxxx for Linux).
- Exemple de code C utilisant la librairie
Pour l'instant le programme ne gère pas encore l'écriture sur l'ezl : ezconfig.c
$ ./ezconfig Usage: ezconfig [-h|--help] [-v|--verbose] [-s|--search] [-t|--status mac_addr_ezl] [-r|--read mac_addr_ezl] [-w|--write mac_addr_ezl] Exemple: ezconfig --search Exemple: ezconfig --read 00:30:F9:00:94:ED Exemple: ezconfig --status 00:30:F9:00:94:ED Exemple: ezconfig --write (non fonctionnel) 00:30:F9:00:94:ED --param sio_baud=1200 ou --sio_baud=1200
$ ./ezconfig --search Find ezTCP ... Found 1 ezTCP [No 1] 00:30:F9:05:16:50
$ ./ezconfig --read 00:30:F9:05:16:50 Read CONFIG. ezTCP [00:30:F9:05:16:50] ... MAC=00:30:F9:05:16:50 Mode: U2S Local IP Adress=192.168.0.122, Local Port=1470 Netmask=255.255.255.0, Gateway=192.168.0.254 Peer Ip=192.168.0.255, Peer port=3865 Interval=15 x 10ms, Block=0 Byte(s) Baudrate=9600, Databits=8, Parity=None, Stopbit=1 Flow control: xonxoff=off, rtscts=off Serial port type: RS-232 Password=[] Wlan eztcp: no
$ ./ezconfig --status MAC=00:30:F9:05:16:50 Read STATUS ezTCP [MAC=00:30:F9:05:16:50] ... Firmware Version : 1.1L Frequency : 8M Uptime : 0 days, 04:19:19 MAC Address : 00:30:F9:05:16:50 IP Address : 192.168.0.122 Subnet mask : 255.255.255.0 Gateway : 192.168.0.254 Serial RX bytes: 0 Serial TX bytes: 0 LAN RX packets: 0 LAN TX packets: 0
Exemple d'utilisation de l'ezl-60 sous Linux
Description matériel
La platine ezl-60 (ou ezl-300l) est relié à l'interface série du Demodulateur_teleinformation_EDF permettant de faire des relevés de consommation EDF.
Les données séries seront accessible par le réseau.
Description logiciel
Le programme aura pour tâche de se connecter (par socket ethernet) à l'adaptateur ezl-60 (testé sur interface CSE-M73) pour lire une trame téléinfo et l'enregistrer dans la base MySql sur le serveur Debian distant.
Si le serveur MySql n'est pas accessible le programme sauvegarde les données dans un fichier local CSV.
Version abonnement triphasé heures creuses
Version pour abonnement triphasé heures creuses, gérant les timeout, checksums et fichier lock plus connexion type ser2net.
Rajouter cette déclaration si connexion à un daemon ser2net, à diéser pour interface EZL:
#define SER2NET
Lien vers le source du programme exemple : Teleinfosocket mysql.c
- Résultats dans la base MySql
dan@vesta:~$ cat bin/listdatateleinfo.sh #!/bin/bash mysql -u root -p$(cat private/mysql.txt) -D maison << ! SELECT * FROM teleinfo ORDER BY timestamp DESC LIMIT 20 ; !
dan@vesta:~$ listdatateleinfo.sh timestamp rec_date rec_time hchp hchc ptec inst1 inst2 inst3 papp 1191313924 2007-10-02 10:32:04 4388118 4017053 HP 1 0 1 290 1191313863 2007-10-02 10:31:03 4388114 4017053 HP 1 0 1 290 1191313805 2007-10-02 10:30:05 4388110 4017053 HP 1 0 1 290 1191313744 2007-10-02 10:29:04 4388105 4017053 HP 1 0 1 260 1191313685 2007-10-02 10:28:05 4388101 4017053 HP 1 0 1 260 1191313624 2007-10-02 10:27:04 4388097 4017053 HP 1 0 1 260 1191313563 2007-10-02 10:26:03 4388093 4017053 HP 1 0 1 260 1191313505 2007-10-02 10:25:05 4388089 4017053 HP 1 0 1 260 1191313444 2007-10-02 10:24:04 4388085 4017053 HP 1 0 1 300 1191313385 2007-10-02 10:23:05 4388080 4017053 HP 1 0 1 300 1191313324 2007-10-02 10:22:04 4388075 4017053 HP 1 0 1 300 1191313263 2007-10-02 10:21:03 4388070 4017053 HP 1 0 1 300 1191313205 2007-10-02 10:20:05 4388065 4017053 HP 1 0 1 300 1191313144 2007-10-02 10:19:04 4388060 4017053 HP 1 0 1 310 1191313085 2007-10-02 10:18:05 4388055 4017053 HP 1 0 1 300 1191313024 2007-10-02 10:17:04 4388051 4017053 HP 1 0 0 160 1191312963 2007-10-02 10:16:03 4388047 4017053 HP 1 0 0 120 1191312904 2007-10-02 10:15:04 4388045 4017053 HP 1 0 0 120 1191312844 2007-10-02 10:14:04 4388042 4017053 HP 1 0 0 120 1191312785 2007-10-02 10:13:05 4388039 4017053 HP 1 0 1 330