IOT by Tetaneutral » Historique » Version 22
julien Bresciani, 13/01/2022 13:54
1 | 1 | julien Bresciani | h1. IOT by Tetaneutral |
---|---|---|---|
2 | 3 | julien Bresciani | |
3 | 1 | julien Bresciani | h1. contexte |
4 | 2 | julien Bresciani | |
5 | 13 | julien Bresciani | courant 2021 nous avons lancé un mini projet baptisé le "frigo challenge", ce projet a pour but initial de collecter les données de consommations de frigos de différents participants, ce afin de pouvoir avoir un comparatif réel de différents appareils , le frigo a été choisi car c est un appareil dont sa consommation peut varier de 1 a 5 par rapport a ses performances initiales en fonction de son état. l’intérêt étant aussi de démontrer que faire tourner des frigos peu efficaces est extrêmement énergivore. |
6 | 13 | julien Bresciani | forts de cette mini expérience, nous entendons proposer aux adhérents de Tetaneutral une infrastructure technique soutenue de bout en bout par du logiciel libre afin de pouvoir publier et utiliser les données de divers capteurs "IOT" |
7 | 13 | julien Bresciani | Nous documenterons donc dans cette section l architecture et les différentes manipulations pour connecter, gérer et exploiter différents objets de différentes manières. |
8 | 2 | julien Bresciani | |
9 | 6 | julien Bresciani | |
10 | 2 | julien Bresciani | h1. Le serveur iot.tetaneutral.net |
11 | 3 | julien Bresciani | |
12 | 2 | julien Bresciani | h2. architecture : |
13 | 2 | julien Bresciani | |
14 | 2 | julien Bresciani | Le serveur regroupe un ensemble de logiciels permettant |
15 | 2 | julien Bresciani | * de collecter les données publiées par exemple via le bus logiciel MQTT : usage de mosquitto |
16 | 13 | julien Bresciani | * de pré-formater, transformer, convertir les données provenant de différents formats : usage de nodered |
17 | 13 | julien Bresciani | * de stocker les données sur une base de donnée orientée "time series" : usage de influxdb |
18 | 2 | julien Bresciani | * d'afficher et creer des graphiques afin d exploiter les données publiées par les objets : usage de grafana |
19 | 4 | julien Bresciani | |
20 | 1 | julien Bresciani | h1. Les objets connectables. |
21 | 1 | julien Bresciani | |
22 | 13 | julien Bresciani | Les objets connectés sont autant de nouvelles menottes numériques par le fait que l'on ne connaît pas leur comportement , que l'on ne sait pas qui utilise nos données et à quelles fins. l’objectif au niveau des objets connectes est de n'inciter qu'a l usage d objets dont on maîtrise un minimum le comportement. |
23 | 13 | julien Bresciani | à cette fin nous documenterons et encouragerons l'usage de logiciel libre destiné a être flashé sur les objets connectés. |
24 | 4 | julien Bresciani | les deux projets majeurs sur lesquels nous nous pencherons pour les objets connectables en wifi sont TASMOTA et ESPHOME |
25 | 13 | julien Bresciani | Ces deux projets supportent les matériels intégrant les puces ESP8266 esp32 et tous leurs dérivés. |
26 | 13 | julien Bresciani | Une liste non exhaustive du matériel commercialement vendu et flashable est tenue a jour par un mainteneur de TASMOTA via https://templates.blakadder.com/ |
27 | 5 | julien Bresciani | |
28 | 16 | julien Bresciani | Nous nous attacherons particulièrement aux prises connectée possédant un relais + la mesure de consommation mais la liste des appareils flashable avec tasmota ou esphome est tres longue (interrupteurs, capteurs de mouvement, vannes d arrosages, pilotes de ventilateurs de plafond , doubles relais pouvant faire des volets roulants. etc etc). |
29 | 16 | julien Bresciani | Le matériel recommandé est du plus facile au moins facile : |
30 | 16 | julien Bresciani | les prise NOUS préflashées avec tasmota : https://www.amazon.de/gp/product/B0054PSIPA?tag=tasmotatempla-21 |
31 | 16 | julien Bresciani | les prises athom préflashées avec tasmota (form factor moins interressant) : https://fr.aliexpress.com/item/4001230982267.html |
32 | 16 | julien Bresciani | les prises gosund sp111 si vous en trouvez encore |
33 | 16 | julien Bresciani | éviter les prises gosund EP2 car elles sont non demontables facilement (collées) |
34 | 16 | julien Bresciani | toutes prises avec monitoring de conso que vous trouverez sur https://templates.blakadder.com/ |
35 | 16 | julien Bresciani | |
36 | 16 | julien Bresciani | |
37 | 13 | julien Bresciani | h2. architecture de la connexion |
38 | 6 | julien Bresciani | |
39 | 13 | julien Bresciani | Nous nous orientons vers deux principes de connexion pour les objets : |
40 | 13 | julien Bresciani | |
41 | 14 | julien Bresciani | h3. le bridge MQTT |
42 | 13 | julien Bresciani | |
43 | 1 | julien Bresciani | * une connexion via un serveur MQTT installé localement sur votre routeur Tetaneutral ou sur une machine que vous possédez , le serveur MQTT servant de relais (BRIDGE) entre votre environnement local et le serveur IOT.tetaneutral.net ce setup a l'avantage de laisser un choix d usages plus important localement (interactions possibles avec un serveur de domotique ), il demande plus de savoir faire technique. |
44 | 15 | julien Bresciani | !iotbridgettnn.png! |
45 | 14 | julien Bresciani | |
46 | 14 | julien Bresciani | h3. connexion directe de l'objet |
47 | 13 | julien Bresciani | |
48 | 1 | julien Bresciani | * une connexion sécurisée directe de l'objet au serveur iot.tetaneutral.net : cette méthode, plus simple est à préférer si vous avez peu de compétences technique ou pas de machine capable de faire fonctionner un serveur mqtt. |
49 | 16 | julien Bresciani | !iotdirectsslttnn.png! |
50 | 16 | julien Bresciani | |
51 | 16 | julien Bresciani | h2. setup avec tasmota + bridge MQTT sur routeur tetaneutral |
52 | 16 | julien Bresciani | |
53 | 18 | julien Bresciani | h3. flasher tasmota sur l appareil connecté |
54 | 17 | julien Bresciani | |
55 | 17 | julien Bresciani | lorsque l'on utilise ce setup, la version standard de tasmota suffit , si votre appareil a déjà été flashé avec tasmota et que vous voulez le mettre à jour, suivre les instructions ici : https://tasmota.github.io/docs/Upgrading/#upgrade-using-webui |
56 | 21 | julien Bresciani | pour flasher un appareil qui n'a pas encore le firmware tasmota, la méthode universelle est le flashage avec un adaptateur USB série avec des niveaux de tension de 3.3V |
57 | 21 | julien Bresciani | attention, ne jamais connecter de port serie sur un appareil alimenté par le 220V comme une prise connectée, c est la destruction de votre pc assurée et danger d’électrocution, lors du flashage, l objet doit etre alimenté par le convertisseur usb serie. |
58 | 17 | julien Bresciani | cette methode necessite de localiser sur la carte de l'appareil les broches TX RX VCC GND et GPIO0 |
59 | 17 | julien Bresciani | pour pouvoir mettre l appareil dans le mode ou il accepte d etre flashé, il faut alimenter VCC pendant que GPIO0 est relié à GND , l'esp8266 passe alors en mode bootloader et acceptera de recevoir un nouveau firmware. |
60 | 17 | julien Bresciani | la méthode la plus simple est d utiliser tasmotizer (seulement pour les appareils a base d esp8266 ou 8285 la majorité des appareils) : https://github.com/tasmota/tasmotizer |
61 | 17 | julien Bresciani | pour les appareils équipés de puces ESP32, se référer à : https://tasmota.github.io/docs/ESP32/#flashing |
62 | 17 | julien Bresciani | |
63 | 18 | julien Bresciani | h3. premier démarrage |
64 | 1 | julien Bresciani | |
65 | 1 | julien Bresciani | |
66 | 18 | julien Bresciani | h3. parametrer les capteurs et relais de l'appareil |
67 | 18 | julien Bresciani | |
68 | 21 | julien Bresciani | chaque appareil connecté comporte différents capteurs (mesure de courant, de température, baromètre, hygromètre etc etc) et actionneurs (relais, moteurs, gradateurs etc) |
69 | 21 | julien Bresciani | Tasmota permet d associer chaque broche du microcontrôleur à une fonction ou un périphérique, il n'est pas toujours aisé de les connaître ou de les reconnaître, c est pourquoi les créateurs de tasmota ont mis en place un concept de template ainsi qu'une base de connaissance répertoriant le hardware connu pour embarquer un esp8266 ou un esp32 : https://templates.blakadder.com/ |
70 | 19 | julien Bresciani | prenons par exemple la prise Athom 16 amps , nous la trouvons a cette adresse : https://templates.blakadder.com/athom_PG01EU16A.html |
71 | 19 | julien Bresciani | le site nous indique son template : {"NAME":"Athom Power Monitoring Plug","GPIO":[0,0,0,32,2720,2656,0,0,2624,544,224,0,0,1],"FLAG":0,"BASE":18} |
72 | 21 | julien Bresciani | chaque numéro correspond au code de périphérique attaché a chaque broche du microcontrôleur e.g : sur la broche 3 est présent le device code 32 ce qui correspond au bouton 1. (la liste des périphériques et de leur identifieur est disponible ici pour info : https://tasmota.github.io/docs/GPIO-Conversion/#gpio-conversion |
73 | 21 | julien Bresciani | il est donc bien pratique de ne pas avoir a faire la configuration soi meme mais d avoir une base de données répertoriant le matériel et ses caractéristiques. |
74 | 19 | julien Bresciani | pour appliquer un template a votre appareil, rendez vous sur l'interface web de votre appareil , dans le menu configuration > configure other |
75 | 19 | julien Bresciani | !apply_template.png! |
76 | 21 | julien Bresciani | coller le template que vous avez récupéré sur la base de templates dans la case template, cocher la case activate et cliquer sur save, le microcontrôleur va redémarrer, quelques secondes après, revenez dans le menu principal , vous constaterez que les données des capteurs que vous avez configuré sont maintenant disponibles. |
77 | 22 | julien Bresciani | ci dessous la vue d une prise connectée, on voit le bouton toggle qui sert a faire basculer l'etat du relais , ainsi que toutes les informations de consommation de la prise. |
78 | 22 | julien Bresciani | !menu_principal_tasmota_prise.png! |
79 | 19 | julien Bresciani | |
80 | 19 | julien Bresciani | h3. configurer le serveur mqtt |
81 | 19 | julien Bresciani | |
82 | 18 | julien Bresciani | lorsque vous utilisez un serveur mqtt |
83 | 17 | julien Bresciani | |
84 | 17 | julien Bresciani | |
85 | 21 | julien Bresciani | h2. setup avec tasmota connexion directe TLS |