Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Du 22 au 24 novembre : Accès 100% GRATUIT à  
la Bibliothèque Numérique ENI. Je m'inscris !
  1. Supports de cours
  2. Python, Raspberry Pi et Flask - Capturez des données télémétriques et réalisez des tableaux de bord web (2e édition)

Python, Raspberry Pi et Flask Capturez des données télémétriques et réalisez des tableaux de bord web (2e édition)

2 avis

Informations

Livraison possible dès le 27 novembre 2024
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Livre (broché) - 17 x 21 cm
  • ISBN : 978-2-409-02988-2
  • EAN : 9782409029882
  • Ref. ENI : LF2PYRASPFL

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-409-02989-9
  • EAN : 9782409029899
  • Ref. ENI : LNLF2PYRASPFL
Ce livre s'adresse à toute personne qui souhaite découvrir comment capturer des données télémétriques d'une maison (température, humidité, pression atmosphérique, luminosité) et les présenter dans une interface web sous forme de tableaux de bord. L'auteur s'appuie pour cela sur les possibilités offertes par le langage Python, le nano-ordinateur Raspberry Pi et le framework Flask. Bien qu'appliqué au...
Aperçu du livre papier
  • Niveau Initié à Confirmé
  • Nombre de pages 794 pages
  • Parution avril 2021
  • Niveau Initié à Confirmé
  • Parution avril 2021
Ce livre s'adresse à toute personne qui souhaite découvrir comment capturer des données télémétriques d'une maison (température, humidité, pression atmosphérique, luminosité) et les présenter dans une interface web sous forme de tableaux de bord. L'auteur s'appuie pour cela sur les possibilités offertes par le langage Python, le nano-ordinateur Raspberry Pi et le framework Flask. Bien qu'appliqué au Raspberry Pi, le contenu du livre est suffisamment universel pour être exploité sur d'autres plateformes telles que des ordinateurs.

Pour tirer le meilleur profit de la lecture de ce livre, des notions de programmation orientée objet et quelques rudiments sur le langage Python et en électronique sont nécessaires. Une première expérience avec le Raspberry Pi est également souhaitée.

Les points technologiques du livre sont isolés et vulgarisés avant d'être intégrés dans un projet global qui sert de fil conducteur à la prise en main et l'exploitation des différentes technologies étudiées. L'auteur commence par présenter la collecte de données à l'aide de composants basés sur les microcontrôleurs ESP8266 et ESP32 programmés avec MicroPython. Il détaille ensuite la centralisation de ces données à l'aide d'un broker MQTT fonctionnant sur un Raspberry Pi. Dans la suite du livre, le lecteur découvre comment une base de données SQLite 3 permet d'offrir un stockage persistant des données et comment elle peut être exploitée par une application Flask pour produire des tableaux de bord sur mesure.

En marge d'une solution Python, les objets ESP et le broker MQTT peuvent également être réutilisés avec InfluxDB et Grafana. Le lecteur découvrira alors InfluxDB, une base de données TimeSeries optimisée pour la capture de gros volumes de données en temps réel. Le greffon Telegraph permettra de capturer les données envoyées sur le broker MQTT pour les injecter dans InfluxDB. Enfin, l'outil Grafana permettra de consulter ces données sous forme de graphiques et visualisations attrayants.

À l'issue de ce livre, le lecteur disposera de bases solides pour créer sereinement une grande variété de solutions, plus ou moins sophistiquées, en fonction de ses besoins.

Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.

Téléchargements

Présentation
  1. 1. Avant-propos
  2. 2. Motivations
  3. 3. Présentation du projet
  4. 4. Objectifs de l'ouvrage
  5. 5. Prérequis
  6. 6. Matériel utilisé
    1. 6.1 Raspberry Pi
    2. 6.2 Feather ESP8266 Huzzah
    3. 6.3 Feather ESP32 Huzzah
    4. 6.4 Feather OLED Wing
    5. 6.5 Module relais
    6. 6.6 DHT11 - Humidité
    7. 6.7 AM2315 - Température et humidité
    8. 6.8 DS18B20 - Température
    9. 6.9 BME280 et BMP280 - Pression, humidité, température
    10. 6.10 TSL2561 - Luminosité
    11. 6.11 ADS1115 - Lecture analogique
    12. 6.12 TMP36 - Température
    13. 6.13 Photorésistance - Luminosité
    14. 6.14 PIR - Détection de mouvement
    15. 6.15 Contact magnétique
    16. 6.16 Capteur à effet Hall numérique
    17. 6.17 CCS811 - Mesure de CO2
    18. 6.18 Capteur de courant non invasif
  7. 7. Code source
    1. 7.1 Téléchargement
    2. 7.2 GitHub
  8. 8. Configuration
    1. 8.1 Installation du Raspberry Pi
    2. 8.2 Utilitaires : des outils pour travailler
      1. 8.2.1 Connexion SSH
      2. 8.2.2 Éditeur de texte Nano
      3. 8.2.3 Transfert de fichiers via SSH (sftp)
      4. 8.2.4 Système de fichiers SSH
      5. 8.2.5 Bureau à distance
  9. 9. Type de données collectées
Le broker MQTT
  1. 1. Présentation et concepts
    1. 1.1 Le broker MQTT, élément central du réseau MQTT
    2. 1.2 Les éléments de MQTT
    3. 1.3 Le broker MQTT
    4. 1.4 Les topics
    5. 1.5 Les publishers
    6. 1.6 Les subscribers
    7. 1.7 Le ClientId
  2. 2. Révisions de MQTT
  3. 3. Les topics en détail
    1. 3.1 Contenu du message
      1. 3.1.1 Le message selon MQTT
      2. 3.1.2 En marge du standard
    2. 3.2 Création de topic et bonnes pratiques
    3. 3.3 Les topics système
  4. 4. Souscription et expression de filtrage
    1. 4.1 Expression de filtrage sans joker
    2. 4.2 Le joker de niveau
    3. 4.3 Le joker multiniveau
  5. 5. Les qualités de service MQTT
    1. 5.1 Les niveaux de qualité
      1. 5.1.1 QoS 0 : une fois maximum
      2. 5.1.2 QoS 1 : au moins une fois
      3. 5.1.3 QoS 2 : exactement une fois
    2. 5.2 Rétrogradation de QoS
    3. 5.3 Quel QoS utiliser et quand ?
  6. 6. La rétention de messages
  7. 7. Les clients persistants
  8. 8. Message testament
  9. 9. Quel broker MQTT ?
  10. 10. Installation de Mosquitto
    1. 10.1 Mise à jour
    2. 10.2 Installation
  11. 11. Test avec Mosquitto.org
    1. 11.1 La souscription
    2. 11.2 La publication
    3. 11.3 Tester le broker MQTT du Raspberry Pi
  12. 12. Topics du projet
  13. 13. QoS du projet
  14. 14. Sécurité
  15. 15. Configurer le login du broker MQTT
    1. 15.1 Modifier la configuration
    2. 15.2 Tester la configuration
  16. 16. MQTT en Python
    1. 16.1 test-mqtt-client-sub.py
    2. 16.2 test-mqtt-client-pub.py
    3. 16.3 Documentation complémentaire
  17. 17. MQTT en MicroPython
ESP8266 et ESP32 sous MicroPython
  1. 1. Présentation des ESP
    1. 1.1 Les possibilités offertes par ESP
    2. 1.2 Les plateformes ESP populaires
      1. 1.2.1 Les plateformes ESP8266
      2. 1.2.2 Les plateformes ESP32
    3. 1.3 Programmer un ESP
    4. 1.4 Feather Huzzah ESP8266 et ESP32 en détail
    5. 1.5 Brochage des Feather Huzzah ESP8266 et ESP32
      1. 1.5.1 Alimentation
      2. 1.5.2 Port série
      3. 1.5.3 Broches d'entrée/sortie
      4. 1.5.4 Les autres broches
  2. 2. Charger le firmware MicroPython
    1. 2.1 Identifier le firmware MicroPython
    2. 2.2 Préparatifs
    3. 2.3 Reflasher un ESP
  3. 3. Prise de contrôle
    1. 3.1 Communiquer avec MicroPython
    2. 3.2 Communiquer avec un ESP sous MicroPython
    3. 3.3 REPL : l'invite de commandes MicroPython
    4. 3.4 RShell
    5. 3.5 Ampy
  4. 4. WebREPL
    1. 4.1 Le démon WebREPL
      1. 4.1.1 Activer WebREPL sur l'ESP
      2. 4.1.2 Le mot de passe WebREPL
    2. 4.2 Le client WebREPL
  5. 5. Nom d'hôte et adresse MAC
  6. 6. Le mode point d'accès (AP)
  7. 7. Le mode station (STA)
    1. 7.1 Mode STA et scan réseau
    2. 7.2 Réseau Wi-Fi visible ou masqué
    3. 7.3 Connexion en mode STA
    4. 7.4 WebREPL en mode STA
    5. 7.5 Désactivation du point d'accès
    6. 7.6 Rechercher l'adresse IP d'un ESP
  8. 8. Séquence de démarrage MicroPython
    1. 8.1 Fichier boot.py
    2. 8.2 Fichier main.py
    3. 8.3 Un fichier boot.py pour ESP
      1. 8.3.1 Script trop optimiste et conséquences
      2. 8.3.2 RunApp - Activation de l'application
      3. 8.3.3 Un script de boot avancé
  9. 9. Programmer
    1. 9.1 Création d'une bibliothèque
    2. 9.2 Les bibliothèques MicroPython
      1. 9.2.1 Bibliothèques standards et microbibliothèques
      2. 9.2.2 Bibliothèques spécifiques à MicroPython
      3. 9.2.3 Bibliothèque spécifique à l'ESP
      4. 9.2.4 Autres bibliothèques MicroPython
      5. 9.2.5 Mécanisme de chargement d'une bibliothèque
    3. 9.3 Charger et exécuter un script à la volée
    4. 9.4 RunApp : exécution conditionnelle de main.py
    5. 9.5 Entrées/sorties sur ESP
      1. 9.5.1 Entrée numérique
      2. 9.5.2 Entrée numérique (pull-up interne)
      3. 9.5.3 Entrée numérique et déparasitage logiciel
      4. 9.5.4 Sortie numérique
      5. 9.5.5 Entrée analogique sur ESP8266
      6. 9.5.6 Entrées analogiques sur ESP32
      7. 9.5.7 Ajout d'entrée/sortie avec MCP23017
      8. 9.5.8 Lecture analogique avec l'ADS1115
    6. 9.6 Capteur et interface sur ESP
      1. 9.6.1 Capteur PIR - capteur de proximité
      2. 9.6.2 Contact magnétique
      3. 9.6.3 DHT11 - humidité
      4. 9.6.4 Capteur à effet Hall
      5. 9.6.5 TSL2561 - luminosité
      6. 9.6.6 TSL2591 - luminosité
      7. 9.6.7 BME280 - température, humidité et pression barométrique
      8. 9.6.8 CCS811 - capteur de qualité d’air
      9. 9.6.9 MOD-ENV - capteur environnemental
      10. 9.6.10 Module relais
      11. 9.6.11 OLED FeatherWing - afficheur OLED
  10. 10. MQTT sous ESP
    1. 10.1 Publication MQTT sous MicroPython
    2. 10.2 Souscription MQTT sous MicroPython
  11. 11. Asyncio sur ESP
    1. 11.1 Asyncio en quelques mots
    2. 11.2 Installer Asyncio
    3. 11.3 Asyncio par l'exemple
    4. 11.4 Fonction run_every pour Asyncio
    5. 11.5 Plus d'informations sur Asyncio
  12. 12. Abstraction matérielle ESP8266/ESP32
    1. 12.1 Abstraction du bus I2C
    2. 12.2 Abstraction de la LED utilisateur
Les objets ESP
  1. 1. Informations pratiques
    1. 1.1 Prérequis et configurations
    2. 1.2 LED de statut
    3. 1.3 Les topics MQTT
    4. 1.4 Télécharger et préparer le code des objets IoT
  2. 2. Fonctionnement général d’un objet IoT
    1. 2.1 Principales sections
    2. 2.2 Paramètres d’un objet IoT
    3. 2.3 RunApp et LED d'activité
    4. 2.4 La fonction led_error()
    5. 2.5 Les tâches et fonctions asynchrones des objets IoT
  3. 3. Objet 1 : Météo cabane de jardin
    1. 3.1 Schéma de raccordement
    2. 3.2 Téléverser les scripts
    3. 3.3 Fonctionnement du script
    4. 3.4 Tester l'objet
  4. 4. Objet 1a : Cabane complément
    1. 4.1 Schéma de raccordement
    2. 4.2 Téléverser les scripts
    3. 4.3 Fonctionnement du script
  5. 5. Objet 2 : Surveillance salon
    1. 5.1 Téléverser les scripts
    2. 5.2 Fonctionnement du script
    3. 5.3 La fonction capture_1h()
    4. 5.4 Capteur PIR - variables et utilisation
    5. 5.5 Senseur PIR - la fonction pir_activated
    6. 5.6 Capteur PIR - la fonction pir_alert
    7. 5.7 Capteur PIR - la fonction pir_update
    8. 5.8 Problèmes de concurrence
    9. 5.9 Tester l'objet
  6. 6. Objet 3 : Surveillance de la véranda
    1. 6.1 Téléverser les scripts
    2. 6.2 Fonctionnement du script
    3. 6.3 La fonction capture_1h()
    4. 6.4 La fonction check_contact()
    5. 6.5 La fonction check_ldr()
    6. 6.6 Tester l'objet
  7. 7. Objet 4 : Chaufferie
    1. 7.1 Téléverser les scripts
    2. 7.2 Fonctionnement du script
    3. 7.3 La fonction capture_1h()
    4. 7.4 La fonction capture_10m()
    5. 7.5 La fonction check_mqtt_sub()
    6. 7.6 La fonction sub_cb()
    7. 7.7 La fonction chaud_exec_cmd()
    8. 7.8 Tester l'objet
  8. 8. Objet 5 : Commande de chaufferie
    1. 8.1 Téléverser les scripts
    2. 8.2 Fonctionnement du script
    3. 8.3 Gestion du changement d’état
    4. 8.4 Réception des données MQTT
  9. 9. Objet 5 : Surveillance environnementale
    1. 9.1 Téléverser les scripts
    2. 9.2 Fonctionnement du script
    3. 9.3 La fonction capture_5min()
    4. 9.4 Tester l’objet
  10. 10. Dépannage d’un objet IoT
Persistance des données
  1. 1. Introduction
    1. 1.1 Pourquoi utiliser une base de données ?
    2. 1.2 Quel moteur de base de données ?
    3. 1.3 Principe de fonctionnement de push-to-db
  2. 2. SQLite 3
    1. 2.1 Présentation
    2. 2.2 Classe de stockage, type de données et affinité
      1. 2.2.1 Classe de stockage
      2. 2.2.2 Stockage des date et heure
      3. 2.2.3 Affinité de type pour les colonnes
      4. 2.2.4 Résolution de l'affinité de type
    3. 2.3 Affinité, expressions, comparaison et tri
      1. 2.3.1 Affinité des expressions
      2. 2.3.2 Comparaison, tri et groupage
    4. 2.4 Clé primaire et auto-incrément
      1. 2.4.1 Définir une clé primaire
      2. 2.4.2 Table rowid et clé primaire
    5. 2.5 SQLite 3 et accès concurrents
    6. 2.6 Installation
      1. 2.6.1 Installer SQLite 3
      2. 2.6.2 Installer le support Python
    7. 2.7 Premiers pas avec SQLite 3
      1. 2.7.1 Documentation SQL pour SQLite
      2. 2.7.2 Commandes de l'interpréteur SQLite
    8. 2.8 SQLite et Python
      1. 2.8.1 Opération de lecture SQLite
      2. 2.8.2 Opération d'insertion SQLite
      3. 2.8.3 Row Factory de SQLite
  3. 3. Approches techniques de push-to-db
    1. 3.1 Approche base de données de push-to-db
      1. 3.1.1 topicmsg - dernier message reçu
      2. 3.1.2 ts_xxx - historique de messages
    2. 3.2 Approche logicielle de push-to-db
      1. 3.2.1 Diagramme des classes (partie 1)
      2. 3.2.2 Fichier de configuration de push-to-db
      3. 3.2.3 Diagramme des classes (partie 2)
  4. 4. Configuration de push-to-db
    1. 4.1 Les répertoires de stockage de push-to-db
    2. 4.2 Création des tables de push-to-db
    3. 4.3 push-to-db.ini
    4. 4.4 Le script d'installation de push-to-db
  5. 5. Logger Python
    1. 5.1 Logger et fichier de configuration
    2. 5.2 Configuration du logger
    3. 5.3 Utilisation du logger
  6. 6. Exécution du script push-to-db
  7. 7. Service systemd pour push-to-db
    1. 7.1 Quand démarrer le service ?
    2. 7.2 Créer le fichier Unit
    3. 7.3 Configurer, démarrer, contrôler
    4. 7.4 Documentation sur systemd
  8. 8. Améliorations
Développement web en Python
  1. 1. Présentation de Flask
    1. 1.1 Pourquoi Flask ?
    2. 1.2 La flexibilité de Flask
    3. 1.3 Les nombreuses extensions Flask
    4. 1.4 Flask plus en détail
      1. 1.4.1 Werkzeug
      2. 1.4.2 WSGI
      3. 1.4.3 Application Flask
      4. 1.4.4 Jinja
      5. 1.4.5 Base de données
    5. 1.5 Documentations
  2. 2. Anatomie d'un projet Flask
  3. 3. Installation et prise en main
    1. 3.1 L'utilitaire flask
    2. 3.2 Prise en main avancée
    3. 3.3 Déboguer avec Flask
    4. 3.4 Application Flask en production
  4. 4. Les fondamentaux de Flask
    1. 4.1 Routes et paramètres
    2. 4.2 Retourner une erreur
    3. 4.3 Utilisation de template
    4. 4.4 Création d'URL
    5. 4.5 Redirection
    6. 4.6 Requêtes GET et POST
    7. 4.7 Contexte applicatif
      1. 4.7.1 L'objet g
      2. 4.7.2 Connexion à la base de données
    8. 4.8 Les cookies
    9. 4.9 Les sessions
    10. 4.10 Journalisation
    11. 4.11 Mini-projet Fruits
      1. 4.11.1 Sources du mini-projet
      2. 4.11.2 La connexion SQLite 3
      3. 4.11.3 Organisation du mini-projet
      4. 4.11.4 Détails du mini-projet
    12. 4.12 Ressources et documentations
  5. 5. Templates Jinja
    1. 5.1 Exécution d'un template
    2. 5.2 Tester un template
      1. 5.2.1 Créer une application Flask
      2. 5.2.2 Test avec serveur web Flask et string Python
      3. 5.2.3 Test en console et string Python
      4. 5.2.4 Utiliser le projet Jinja Live Parser
    3. 5.3 Évaluation des balises
      1. 5.3.1 {{ ... }} : évaluation d'expression
      2. 5.3.2 {% ... %} : instructions de contrôle de flux
      3. 5.3.3 {# ... #} : insertion de commentaire
      4. 5.3.4 # ... : ligne d'instruction
    4. 5.4 Variables et expressions
      1. 5.4.1 Variables spéciales
      2. 5.4.2 Séquence d'échappement
      3. 5.4.3 Assignation
    5. 5.5 Branchement
    6. 5.6 Itération
    7. 5.7 Les macros
    8. 5.8 Contrôle des espaces
    9. 5.9 Filtres Jinja
    10. 5.10 Inclusion de template
    11. 5.11 Importer des macros
    12. 5.12 Héritage de template
      1. 5.12.1 Les éléments de l'héritage
      2. 5.12.2 Heritage-app : l'héritage Jinja par la pratique
      3. 5.12.3 Template de base et blocs
    13. 5.13 Template enfant
      1. 5.13.1 Superbloc
      2. 5.13.2 Ressources
    14. 5.14 Message Flash
Le tableau de bord
  1. 1. Présentation
    1. 1.1 Préambule
    2. 1.2 Dépôt du projet Dashboard
    3. 1.3 Éléments principaux
    4. 1.4 Fonctionnalités du projet Dashboard
  2. 2. Structure HTML
    1. 2.1 Disposition de la page
    2. 2.2 Les blocs d'informations
    3. 2.3 La liste
  3. 3. Template Jinja
    1. 3.1 Le template de base
    2. 3.2 Utilisation du template de base
  4. 4. Configuration
    1. 4.1 Base de données dashboard.db
      1. 4.1.1 Schéma de la base de données
      2. 4.1.2 Répertoire de stockage
      3. 4.1.3 Création des tables de Dashboard
      4. 4.1.4 Copie de la base de données
    2. 4.2 Fichier de configuration de Dashboard
  5. 5. Détails de l'application Flask
    1. 5.1 Répertoires et fichiers
    2. 5.2 Les routes de Dashboard
    3. 5.3 Accès aux données
      1. 5.3.1 La fonction get_db( db_key ) multibases de données
      2. 5.3.2 Les classes DBHelper de Dashboard
      3. 5.3.3 Exemple : liste des topics disponibles pour Dashboard
      4. 5.3.4 Exemple : extraction de l'historique dans Dashboard
      5. 5.3.5 Affichage d'un tableau de bord
    4. 5.4 Les filtres Jinja personnalisés
    5. 5.5 Affichage du tableau de bord
    6. 5.6 Les macros Jinja
      1. 5.6.1 La macro make_block
      2. 5.6.2 La macro block_icon
      3. 5.6.3 La macro block_big_text
      4. 5.6.4 La macro select_color (édition d'un bloc)
  6. 6. Bloc SWITCH (marche/arrêt)
    1. 6.1 Développements complémentaires
      1. 6.1.1 MQTT sources
      2. 6.1.2 Bloc et paramètres additionnels
    2. 6.2 Ajout du bloc SWITCH
      1. 6.2.1 Block_config du switch
      2. 6.2.2 Ajouter le nouveau type de bloc
    3. 6.3 Le switch et MQTT
      1. 6.3.1 Client MQTT JavaScript
      2. 6.3.2 MQTT en JavaScript et WebSocket
      3. 6.3.3 Activer le support WebSocket sur Mosquitto
      4. 6.3.4 Tester le client MQTT JavaScript
      5. 6.3.5 Alternative à MQTT en JavaScript
      6. 6.3.6 La route MqttProxyPublish
      7. 6.3.7 Événement on_switch_change
    4. 6.4 Tester le bloc SWITCH
  7. 7. Améliorations
InfluxDB
  1. 1. Introduction
  2. 2. InfluxDB
    1. 2.1 Présentation
    2. 2.2 Concepts InfluxDB
  3. 3. Installation
  4. 4. Premiers pas avec InfluxDB
    1. 4.1 Quelques commandes utiles
    2. 4.2 Autocritique
  5. 5. Commandes de l’interpréteur
    1. 5.1 Commandes InfluxDB
    2. 5.2 Paramètres de l’utilitaire influx
  6. 6. La commande SELECT
    1. 6.1 Multiple sources
    2. 6.2 Nom de table qualifié
    3. 6.3 La clause WHERE
    4. 6.4 Expressions régulières
    5. 6.5 Casting de type
  7. 7. Importer des données
  8. 8. Règles de rétention
    1. 8.1 Accès aux données
    2. 8.2 Requêtes continues
    3. 8.3 Rétention et requêtes continues par la pratique
    4. 8.4 Bonnes pratiques de conception
    5. 8.5 Documentation pour InfluxDB
  9. 9. InfluxDB API
    1. 9.1 Créer un utilisateur
    2. 9.2 Activer l’authentification sur InfluxDB
    3. 9.3 Tester l’authentification
    4. 9.4 Tester InfluxDB API
  10. 10. Capture des données MQTT
  11. 11. Greffon Telegraf MQTT pour InfluxDB
    1. 11.1 Installation
      1. 11.1.1 Mise à jour des dépôts
      2. 11.1.2 Installation de telegraf
    2. 11.2 Configuration
      1. 11.2.1 Configuration du service Telegraf
      2. 11.2.2 Configuration telegraf avancée
  12. 12. InfluxDB et Python
    1. 12.1 Installation
    2. 12.2 Opération de lecture
    3. 12.3 Opération d’écriture
  13. 13. Duplicata de champs
  14. 14. Ensuite
Grafana
  1. 1. Introduction
  2. 2. Les concepts fondamentaux
    1. 2.1 Les sources de données
    2. 2.2 Éditeur de requêtes
    3. 2.3 Organisation
    4. 2.4 Utilisateur
    5. 2.5 Panneau
    6. 2.6 Ligne
    7. 2.7 Tableau de bord
  3. 3. Installer Grafana
    1. 3.1 Installation du dépot
    2. 3.2 Première connexion et mot de passe
  4. 4. Les données InfluxDB
    1. 4.1 Collecter rapidement des données
    2. 4.2 Améliorer la fiabilité des mesures
    3. 4.3 Contrôler la capture de données
  5. 5. Afficher les données InfluxDB
    1. 5.1 Source de données InfluxDB
    2. 5.2 Créer un tableau de bord
      1. 5.2.1 Ajouter un panneau
      2. 5.2.2 Sélectionner la série pour la cabane
    3. 5.3 Ajouter une seconde série dans le graphique
    4. 5.4 Exploration des données
    5. 5.5 Autre visualisation
    6. 5.6 Quelques astuces Grafana
      1. 5.6.1 Redimensionner un panneau
      2. 5.6.2 Glisser/déposer un panneau
      3. 5.6.3 Transformer en ligne
      4. 5.6.4 Enregistrer le tableau de bord
  6. 6. Limites de Grafana
    1. 6.1 Liens Internet sur un panneau
    2. 6.2 Lien vers MqttProxyPublish
    3. 6.3 Liens Grafana et méthode GET
Conclusion
  1. 1. Introduction
  2. 2. Remerciements
  3. 3. Retour sur client MQTT JavaScript
Annexes
  1. 1. Installation rapide
    1. 1.1 Prérequis
    2. 1.2 Début de l'installation
    3. 1.3 Récupération des sources
    4. 1.4 Poursuivre l'installation
    5. Index
5/5 2 avis
Version en ligne

C'est ce que je cherchais.

Thierry B
Version papier

Je dois affirmer mon avis sur un livre que je viens de recevoir et que je n'ai pas encore lu.

Anonyme
Auteur : Dominique MEURISSE

Dominique MEURISSE

Ingénieur de formation et ancien architecte logiciel, Dominique MEURISSE se passionne pour la programmation des nano-ordinateurs (Raspberry Pi, Odroid, OlinuXino) et des microcontrôleurs (Arduino, Feather, ESP, Pyboard, etc.). Ardent défenseur de Python, MicroPython ou Open-Hardware (Adafruit Industries), sa passion le pousse à participer activement à la rédaction du wiki, du blog et des fiches produits documentées du site de vente en ligne de sa société Microcontrôleur Hobby (MC Hobby SPRL). Fort de cet enthousiasme, il poursuit le partage de son savoir avec l'écriture de ses livres dédiés au langage Python sur microcontrôleur.
En savoir plus

Découvrir tous ses livres

  • Raspberry Pi Pico et Pico W La programmation Python sur microcontrôleur avec MicroPython
  • MicroPython et Pyboard Python sur microcontrôleur : de la prise en main à l'utilisation avancée

Nos nouveautés

voir plus