Module RTC I2C DS1340 sous OpenWrt / Bifferboard Dual USB


La Bifferboard ne possède pas de RTC, ce qui devient problématique lors d'une coupure de courant, ou si le système ne peux tout simplement pas se synchroniser sur un serveur NTP. Donc après le capteur de température TMP102, nous allons nous repiquer sur le bus i2c présent pour y ajouter un module RTC I2C DS1340.

Le DS1340 à été choisit car il fonctionne avec une tension de 3,3v, disponible sur le port JTAG.
En ce qui concerne l'installation d'OpenWrt, le port JTAG, et la configuration de celui-ci, se référer à la page TMP102.


1) Raccordement du module DS1340 :

Pour raccorder le module sur le bus I2C existant, il suffit de se connecter en parallèle sur les pins VCC/GND/SDA/SCL.




2) Installation du package ds1340 :

Le code disponible en bas de page est à extraire dans le dossier package de vos sources OpenWrt.
On l'ajoute à la base logiciel :
# ./scripts/feeds install ds1340

Grâce a make menuconfig, on le sélectionne :
Utilities  --->
    <M> ds1340.................................. Read/Write Time/Date from ds1340

Puis on le compile :
# make package/ds1340/compile V=99

L'ipk est disponible en fin de compilation dans le répertoire bin/rdc/packages/.


3) Utilisation :

Un appel simple nous fournit la date et l'heure présent sur le module :
root@OpenWrt:~# ds1340
2010-02-01 06:05:08

Pour enregistrer la date et l'heure, nous utilisons l'option -s :
root@OpenWrt:~# ds1340 -s "2010-01-26 22:45:00"
root@OpenWrt:~# ds1340
2010-01-26 22:45:01

Et pour fixer la date du système, nous pouvons utiliser la commande suivante :
root@OpenWrt:~# ds1340
2010-01-26 22:45:54
root@OpenWrt:~# date
Fri Aug  7 08:36:07 UTC 2009
root@OpenWrt:~# date -s "`ds1340`"
Tue Jan 26 22:46:09 UTC 2010
ċ
ds1340.tar.gz
(5k)
Nicolas Le Falher,
10 juin 2011 à 14:19
Comments