Filed under Projets

RaspberryPI - DS3231

ds3231.jpg

Présentation du projet

Il n'y a pas de module rtc sur raspberry pi. Cela peut être gênant si l'on a pas de réseau.

Le module utilisé :

  • Alimentation 3,3V ou en 5V
  • Pour Raspberry PI et Arduino
  • Base de RTC DS3231

DS3231 semble compatible au niveau des registres de date et d'heure au DS1307. C'est pour cela que j'utilise ce module comme on le voit partout sur l'Internet.

Mais en regardant dans /lib/modules/xxx/kernel/drivers/rtc il y a un module rtc-ds3232.ko. A la lecture de la datasheet il semble que les registres sont les même que pour le DS3231.

Datasheet

Pré-requis

  • un raspberry PI 2B
  • un bloc alimentation de 5V 2A
  • une carte microSD 8 Go
  • un module DS3231

Réalisation du projet

Préparation

Le module est en place sur le raspberry.

Si cela n'a pas déjà été fait installation des outils nécessaires pour l'I2C

    sudo apt-get install i2c-tools ntpdate

je vous propose aussi

    sudo apt-get install libi2c-dev python-smbus python3-smbus

Configuration

Exécuter l'outil raspi-config

    sudo raspi-config   

aller dans le menu (9) Advanced Options -> (A7) I2C -> enabled -> oui

Ouvrir le fichier /etc/modules

    sudo nano /etc/modules  

s'assurer que i2c-dev est enregistré et ajouter ligne suivante rtc-ds1307.

Réglage du fuseau horaire, et on restera en heure UTC

    sudo timedatectl set-timezone Europe/Paris
    sudo timedatectl set-local-rtc 0

Si vous avez accès au réseau, mettre à l'heure le raspberry

    sudo ntpd -q

sinon

    sudo date --set 14:20:00
    sudo date --set 2016-03-27

on enregistre l'heure et la date dans le mémoire du module

    sudo hwclock -w

fichiers pour boot

on crée le fichier suivant

    sudo nano /usr/local/bin/ds3231.sh

dans lequel on met

    #!/bin/sh -e
    #ds3231.sh

    echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
    hwclock -s

puis on donne le droit d'exécution

    sudo chmod +x ds1367.sh

on crée le fichier suivant

    sudo nano /etc/systemd/system/ds3231.service

qui se compose de

[Unit]
 Description=RTC hardware
 After=tlp-init.service

[Service]
 Type=oneshot
 RemainAfterExit=no
 ExecStart=/etc/local/ds3231.sh

[Install]
 WantedBy=multi-user.target

On test

    sudo systemctl start ds3231.service

si pas de message d'erreur, on peut demander le demarrage au boot avec

    sudo systemctl enable ds3231.service
Tagged ,

Serveur Toulonux

Actions

Note de service :-)

Mise à jour de goaccess.

Modification des fichiers configuration et de traitement des logs.

Liens

Tagged , ,

Linux tips

une commande

On s'est tous demandé un jour lors de l'installation d'une image sur carte SD pour Raspberry si la commande était en cours ou si elle était bloqué :-)

la commande dd n'étant pas très verbeuse.

Installation de l'outil j'utilise ArchLinux

sudo pacman -S pv

voila le résultat d'une commande en cours en utilisant pv

dd bs=4M if=2016-02-26-raspbian-jessie.img | pv | dd of=/dev/mmcblk0
63MiO 0:03:59 [ 151KiB/s][               <=>                             ]

ou

pv 2016-02-26-raspbian-jessie.img | dd of=/dev/mmcblk0 bs=1M
Tagged , ,

ESP8266

doit_wemos.png

Cela maintenant un moment que j'ai envie de m'amuser avec des cartes à base d'ESP8266.

J'ai été chez mon vendeur favoris, et j'y ai trouvé ces deux cartes qui ont la particularités de ressembler à des cartes arduino.

Ces deux cartes sont reconnues dans l'EDI Arduino après installation des bibliothèques nécessaires. Voir ici

Sur les cartes des ESP8266 différents à gauche ESP8266-13 et à droite ESP8266ex

Ce sont mes premières notes, on mettra cela en meilleur forme DQP.

Carte ESPDUINO - DOIT

EDI arduino

Bon allô docteur il y a un bug, je n'arrive pas a compiler blink !!!

alors voyons je fais un raz puis

j'utilise la version arduino-nightly

ensuite je récupère les sources sur https://github.com/esp8266/Arduino

j'installe (attention python 2 nécessaire).

Bon j'ai bien ESP8266-13 dans les cartes mais cela ne compile toujours pas je ne trouve pas un fichier....

la soluce... le fichier board.txt défini la variable espduino.build.variant=espduino oui mais voila Linux est case sensitif et le répertoire est nommé ESPduino.... dommage Eliane.

Un rapide renommage du répertoire incriminé et hop cela fonctionne :-)

Autres tests rapides

j'ai testé les exemples fournis, la commande des GPIO à travers le réseau WiFi est d'une facilité déconcertante.

Carte WeMos D1R2

EDI arduino

Même configuration que précédemment, et là aucun problème de compilation pour BLINK ;-)

Tagged ,