Domotique DIY - #1 : la plateforme sans fil

Le 1er d’une serie d’articles sur la domotique en mode DIY.
L’objectif ici est avant tout d’écrire pour ne pas oublier mais aussi pour partager toutes ces infos avec ceux que ça intéressent.

Je vais commencer par la plateforme qui va me permettre de mettre en oeuvre toutes une série de capteurs, de récepteurs et de contrôleurs afin d’obtenir plus d’informations sur ma maison ainsi que d’automatiser certaines actions.

A la suite de mes premières expériences en la matière, j’ai décidé de changer de module radio, en passant du XXX au RFM69. D’après mes tests ce module possède une meilleure portée, une très faible consommation électrique ainsi que du chiffrement AES hardware des transmissions.

Si vous souhaitez partir d’une plateforme déjà faite, je vous recommande le moteino, c’est très bien fait, petit et ça marche très bien. J’ai d’ailleurs utilisés certains schémas des Moteino pour réaliser ma plateforme.

La plateforme a été construite en essayant d’y mettre tous les besoins imaginés jusque là. Ce qui donne les caractéristiques suivantes :
- ATMEGA 328PU
- 8MHz avec le Crystal interne
- RFM69 868MHz
- emplacement pour un TH02
- emplacement pour un ecran OLED
- différentes entrées / sorties disponibles pour des capteurs divers (temperature, lumière, presence, ...)
- un port de programmation FTDI

avant :

après :

Une fois les composants assemblés, il reste à préparer le ATMEGA avec :

  • Configuration les fuses
  • Chargement le bootloader
  • Upload du code

Configuration des fuses
Il est nécessaire ici d’avoir un programmateur ISP. J’utilise pour cela un USBASP.
Les fuses choisis sont les suivants :

avrdude -P usb -c usbasp -p ATmega328P -qq -U lfuse:w:0xe2:m -U efuse:w:0x07:m -U hfuse:w:0xda:m

Chargement du bootloader
Toujours avec le USBASP, et cette fois-ci avec l’IDE Arduino.
Je sélectionne la LilyPad Arduino car elle fonctionne elle aussi avec le crystal interne à 8MHz
PNG

Ensuite on upload le bootloader : "Graver la séquence d’initialisation"

A partir de là, la puce ATMEGA 328 peut-être positionnée sur la plateforme et programmée avec l’IDE Arduino via le port FTDI. L’avantage de ce type de configuration, et qu’il est plus sûr de programmer la puce en FTDI plutôt qu’avec un programmateur ISP. Avec l’ISP, en cas de mauvaise manipulation, votre puce est briquée, et vous aurez besoin d’un programmateur à haut voltage pour la resetter. Tandis qu’avec le FTDI, à priori pas possible de la briquer.