PROJETSDIY.FR - LA DOMOTIQUE OPEN SOURCE POUR RENDRE PLUS ACCESSIBLE L'APPRENTISSAGE DES IOT - COLLOQUE GEII
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
La domotique Open Source pour rendre plus accessible l’apprentissage des IoT projetsdiy.fr projetsdiy.fr
Version française Lancée en Avril 2016 Visiteurs Visites quotidiennes Pages / an (annuel) (valeur moyenne) 2016 60 900 220 183 000 2017 306 000 840 +1 million 2018 428 000 1170 +1,4 million projetsdiy.fr
Version anglaise Lancée en novembre 2016 Visiteurs Visites quotidiennes Pages / an (annuel) (valeur moyenne) 2016 2400 4800 2017 290 000 795 692 000 2018 563 000 1500 +1,3 million projetsdiy.fr
Communauté • Newsletter : ~ 700 abonnés • Réseaux sociaux • Forum • FB : + 1000 • Lancé en septembre 2018 • Tweeter : ~ 700 • 80 utilisateurs réguliers • Youtube : ~ 650 • + 200 sujets projetsdiy.fr
Critères de choix • Open Source / Open Hardware (le plus possible) • Grand public : faible coût • Shields (sans soudure, sans fabrication de circuit) • Fonction sur carte (jumpers) projetsdiy.fr
M5Stack : plateforme de prototype / apprentissage ESP32 16 modules : joystick, Programmation Ecran OLED couleur LoRa, GSM, servo… C++ (librairie Arduino) Grove (I2C + signaux A/N) 40 Units : capteurs, Micropython M-Bus caméra, clavier… UIFlow (adaptation Blocky) projetsdiy.fr
Projet Musidose ESP8266 (Wemos d1 mini) Shield lecteur carte SD Base double Shield écran OLED (126x64 pixels) Shield E/S Mesure volume sonore Gravity Sound Level Meter v1.0 Batterie 18650 Indicateurs (anneau 16 LEDS) 3000mAh TWA Décibel (temps réel) projetsdiy.fr
Objectifs Réalisé dans ce cadre de l’obtention du brevet de fin de 2nd cycle en formation musicale Objectifs : • Mesurer l’exposition sonore des professeurs et des musiciens • Enregistrer les mesures pour analyse ultérieure sur carte SD • Donner des informations visuelles • Mesure instantanée (dBA) • Dose journalière consommée (%) • dBA équivalent journalier (TWA*) projetsdiy.fr * TWA : Time Weighted Average ou niveau sonore pondéré dans le temps
Schéma fonctionnel s Dose (%) projetsdiy.fr dose;twa;dbA
Optimisation du code C++ D = 100 (C(1)/T(1) + C(2)/T(2) + ... + C(n)/T(n)) : exprimé en % dose log( 100 ) TWA = 3 × + 85 log(2) en dB projetsdiy.fr
Quelques résultats projetsdiy.fr
Quel budget pour débuter Ordinateur carte ARM Carte de développement Mini-PC NAS (SBC) ATMega, ESP32 ESP8266 SAMD21, WiFi + Raspberry Pi x86 x86 WiFi STM32 Bluetooth Budget plateforme 15 € 80 € 150 € 550 € seule Robotique kit débutant à partir de 60 € Capteur kit débutant à partir de 30 € projetsdiy.fr
Volume des ventes* STM32 STM32 13 444 13 % ESP8266 ESP8266 ESP32 36 576 ESP32 34 % 24 077 22 % SAMD21-M0 SAMD21-M0 0% 530 Arduino (ATMega 328P) Arduino (ATMega 328P) 32 399 30 % * basé sur les volumes des ventes affichées sur le site AliExpress en mai 2019. Classement par commandes projetsdiy.fr
Répartition des ventes de cartes ESP8266 20000 50% 38% 5% 5% 2% 15000 10000 5000 0 Format générique Wemos d1 mini Uno R3 ESP01 LoLin d1 mini projetsdiy.fr
Répartition des ventes de cartes ESP32 79% 20000 15% 4% 1% 1% 15000 10000 5000 0 Format générique + Caméra + écran OLED + LoRa Uno R3 projetsdiy.fr
SMT32 les plus utilisés Core M3 (STM32F103C8T6) Core M4 (STM32F407VET6) 92% 8% projetsdiy.fr
Comparaison de quelques MCU Spécification ATMega328P ESP8266EX ESP32 (2019) SAMD21 STM32 (F103C8T6) STM32 (F407VET6) Tensilica L106 32- Xtensa 32-bit LX6 (1 ou Core AVR 8-bits ARM M0 ARM M3 ARM M4 bit RISC 2 Cores) Puissance DMIPS 20 ? 600 max. ? 90 225 Fréquence 20 MHz 160 MHz 80 ou 240 MHz 48 MHz 72 MHz 180 MHz Mémoire Flash 4/8/16/32 KB 2 MB 4 MB 32/64/128/256 KB 64 ou 128 Kbytes 1 Mbytes 512/1K/1K/ SRAM Partagée < 36KB 520 KB 4/8/16/32 KB 20 KB 192+4 Kbytes 2KB x2 (8 bits) x5 (16-bits) x3 (16-bits) x12 (16-bits) Timers x1 (16 bits) x3 (24-bits) x2 watchdog x2 (32-bits) AES (FIPS PUB 197), Cryptage (accélération AES 128, 192, 256, SHA (FIPS PUB 180-4), matériel) DES, MD5, SHA-1 RSA, et ECC Debug USB (série) USB (série) USB (série) + JTAG USB (série) Série (SWD) + JTAG Série (SWD) + JTAG Idle, ADC Active, modem- Active, modem-sleep, Economie énergie Noise sleep, light-sleep, Idle, Standly Sleep, Stop, Standby Sleep, Stop, Standby light-sleep, deep-sleep Reduction, deep-sleep projetsdiy.fr Power-save,
Comparaison de quelques MCU Spécification ATMega328P ESP8266EX ESP32 (2019) SAMD21 STM32 (F103C8T6) STM32 (F407VET6) UART x1 x2 x3 x6* x3 x6 (11.25 Mbit/s max.) SPI x1 x2 x3 x6* x2 (18 Mbit/s) x3 (45 Mbit/s max.) I2C x2 x1 x2 x1 x2 x3 I2S x1 x2 x6* x2 PWM x6 x4 x16 x1 (16-bits) ADC x8 (10-bits) x1 (10-bits) x2 (12-bits) x1 (12-bits) x2 (12-bits) x3 (12-bits) DAC x8 (8-bits) x1 (10-bits) x2 (12-bits) CAN 2.0 x1 x1 x2 x140 (dont 138 E/S (GPIO) x23 x17 x34 x52 26/37/51/80 tolérantes 5V) SDIO x2 (slave) x1 x1 x256 (capacitif, Interface tactile x10 (capacitif) proximité) Infrarouge x1 x8 Caméra x1 Ethernet x1 x1 IEEE 1588v2 USB 2.0 micro-OTG x1 x1 x1 x2 WiFi 802.11 b/g/n 802.11 b/g/n projetsdiy.fr Bluetooth LE 4.x Oui * au total
Attention au choix des composants Risque de déconvenue avec des composants low cost projetsdiy.fr
Quelques exemples Température Polluants (CO2, gaz…) Décibels Pour l’apprentissage DHT22 MQ2, MQ135 MAX9814 moins de 4€ DFRobot Gravity Sound Pour la mesure physique SHT30 MHZ-19 (CO2) Level Meter jusqu’à 40€ projetsdiy.fr
Les outils Open Source à notre disposition Un aperçu des solutions les plus utilisées projetsdiy.fr
IoT DIY projetsdiy.fr
Connaissances dépendent du stade de développement Algorithmes optimisés pour MCU Communication avec serveur distant Analyse vibratoire, maintenance prédictive, big data, IA… principe de mesure Traitement du signal (FFT, classification, moyenne mobile…) driver, i2c, uart projetsdiy.fr
Sujets traités sur Projets DIY Acquisition Asservissements Traitement local Communication Traitement déporté Couche Capteurs Actionneurs Interfaces MCU Logiciel NRJ Protocoles Développement Stockage matérielle Bruit / microphone Ecrans ePaper 1-Wire Atmega Blockly Batterie HTTP(S) Bluetooth Johny-Five InfluxDB Caméra Ecrans OLED ADC ATTiny C++ Solaire MQTT GSM Node-RED MongoDB CO2 LED CAN ESP32 Lua Deep Sleep Radio sans licence LoRa Python, C++ MySQL Courant Moteur DC DAC ESP8266 MicroPython Série Radio (MySensors) NodeJS SQLite Distance Pas à pas I2C PIC Websockets USB OpenCV (vision) Humidité Servo-moteur I2S SAMD21 Environnements dev. WiFi IA / Réseaux de neurones IHM / Courbe Luminosité CNC PWM STM32 Atmel Studio Grafana Particules (PM2.5) SPI IDE Arduino Domotique Plateformes Node-RED Polluants (CO2) UART ARM PlatformIO EnOcean Ordi carte ARM (Armbian) Pression Atm. Raspberry Pi Eclipse Homebridge Docker Domotique Pression mécanique Orange Pi MPLAB X RFLink Machine Virtuelle Domoticz RFID STM32CubeIDE Zigbee NAS Home Assistant Jeedom / Santé Mini-PC x86 Z-Wave+ Raspberry Pi NextDom Température Firmwares dédiés IoT Mini PC x86 OpenHAB Vent (vitesse, direction) Blynk Homy Humidité du sol Cayenne ESPEasy Espurna Homie (MQTT) MySensors (radio) Tasmota (MQTT) Robotique projetsdiy.fr Johny Five Fond vert : sujet disponible
2 guides pour les débutants ou étudiants en IoT • Quelques plateformes pour IoT : ATTiny, ATMega, SAMD21, ESP8266, ESP32, ordinateurs carte ARM, Mini-PC x86 • Choix de la plateforme et format en fonction de l’application • E/S et protocoles de communication : UART, I2C, SPI, DAC, 1-Wire • Principaux capteurs et actionneurs Lien vers l’article • Solutions d’alimentation bit.ly/2VZhvFA projetsdiy.fr
2 guides pour les débutants ou étudiants en IoT • Quel environnement de développement choisir ? IDE Arduino, PlatformIO, Eclipse... • Quel protocole utiliser pour communiquer avec des objets connectés ? Bluetooth, HTTP, MQTT, port série, Websockets • Comment exploiter les données et piloter un objet connecté ◦ Serveur domotique ◦ Développer rapidement une interface et des règles de fonctionnement avec Node-RED ◦ Stocker des données dans une base de données Lien vers l’article ◦ Visualiser des données bit.ly/2W15DDj projetsdiy.fr
Débuter avec la domotique Open Source • Quelle plateforme choisir ? ordinateur carte, NAS, mini-PC x86, box dédiée • Logiciels Open Source actifs en 2019 Lien vers l’article • Protocoles domotiques bit.ly/29hHlR projetsdiy.fr
Logiciels domotiques les plus utilisés en France en 2019* HomeAssistant 9% Enceinte connectée Domoticz 6% 29 % OpenHAB 5 % Box 3% Autres 6% Jeedom 42 % * sondage réalisé sur le blog projetsdiy (Août 2018 à Avril 2019) - 1050 votants (2 votes max.) projetsdiy.fr
Quelques exemples de projets avancés projetsdiy.fr
Station météo autonome avec interface HTML projetsdiy.fr bit.ly/2EaFk3q
Notions abordées • Interface I2C (BMP180), librairies C++ (DHT22) • Gestion connexion WiFi • Comment développer une interface de commande en HTML • Notions de Javascript / HTML5 • Bootstrap (éléments graphiques stylisés) • Interaction code Arduino / interface HTML • Tracer des courbes avec la librairie Google Charts • Requêtes HTTP : récupération de l’heure sur un serveur de temps • Stocker / recharger / des données dans la mémoire du MCU (format JSON) • Tous les articles bit.ly/2EaFk3q projetsdiy.fr
Bras robotique piloté en WiFi HTTP vs Websocket projetsdiy.fr
Matériel utilisé • Raspberry Pi 3 • Serveur • Décode les mouvements d’un gamepad avec la librairie evdev • Envoyer des commandes (mouvements) en Websocket ou requêtes HTTP • Carte de développement WiFi (ESP8266) • ESPDuino (format Uno R3) + Shield PCA9685 bit.ly/2WMoQpp • Kit robotique 6DDL (6 servo-moteurs 180°) projetsdiy.fr
Tutoriels bit.ly/2Hm5zpj bit.ly/2WMoQpp projetsdiy.fr
Notions abordées • Environnement Linux • Programmation • Programmer en Python, utiliser une librairie (evdev) • Communication Websocket. Librairies python ws4py et Websocket pour ESP8266 (bit.ly/ 2LIoHlE) • Requêtes HTTP (Python / C++ Arduino) • Robotique • Servo-moteurs : type, programmation, limites • Choix du protocole de communication : effet mesurable sur les mouvements (HTTP, Websocket) • Langage dédié à la robotique : Johnny-Five (bit.ly/2Q8E70Z) • Tous les articles bit.ly/2JnICEG projetsdiy.fr
Homy Client pour logiciels domotiques Open Source et Objets connectés MQTT projetsdiy.fr bit.ly/2woY4Yy
Homy • Application iOS / android • Disponible pour smartphones et tablettes • Cible en priorité la domotique et les objets connectés Open Source • Priorité : • Respect de la vie privée et des données personnelles • Aucun traçage d’activité • Aucun serveur tiers • Limitations implicites • Exécution d’événements programmés impossibles projetsdiy.fr
Homy • Lancé le 20 décembre 2018 • Encore en phase bêta (7ème version) • Orienté DIY / Open Source • Logiciels domotiques supportés : Jeedom, Domoticz, Home Assistant, box CPL Wattlet • Code cross-platform (HTML5 + JS + CSS) développé avec Ionic3 • ~1550 utilisateurs (13% iOS / 87% Android) projetsdiy.fr
Principe de Homy Tous les messages entrant sont standardisés Les messages sortants sont formatés suivant l’API du serveur / objet projetsdiy.fr
Sans serveur intermédiaire L’utilisateur doit configurer sa box internet Homy accède directement à l’application domotique ou l’IoT en WiFi ou internet mobile projetsdiy.fr
Via un broker MQTT en ligne L’utilisateur utilise (ou installe) un broker MQTT en ligne Toutes les commandes et données transitent par le broker Homy se connecte au broker MQTT projetsdiy.fr
Protocoles supportés MQTT HTTP HTTPS Websockets (wss) Domoticz ✓ ✓ ✓ Jeedom / NextDom ✓ ✓ Home Assistant ✓ Projets DIY (Arduino / ESP8266 / ESP32…) ✓ Box CPL Wattlet ✓ projetsdiy.fr
Quelques interfaces projetsdiy.fr
Prochaines versions • Réécriture complète du code => passage du framework Ionic 3 à ReactNative • Fluidité, meilleure expérience utilisateur • Box TV, montres connectées • Intégration plus facile des technologies mobiles : • Accès sécurisé aux commandes par reconnaissance faciale / empreinte digitale • Caméras onVIF, RTSP • Commandes pour projets DIY (MQTT, Websocket, HTTP) • Télécommande : RC, robotique • Traceur de courbes • Enregistreur de données projetsdiy.fr
Nouvelle mise en forme 2019 Meilleur accès au contenu projetsdiy.fr
projetsdiy.fr
Menu Domotique projetsdiy.fr
Menu Objets Connectés projetsdiy.fr
Menu Projets projetsdiy.fr
Vous pouvez aussi lire