Skip to Content
Développement d'applications IoTCréer votre première application

Créer votre première application

Ce guide présente le flux de travail typique pour construire une application IronFlock qui collecte des données depuis des appareils edge et les affiche sur des tableaux de bord en temps réel.

1. Concevoir le modèle de données

Commencez dans le fichier .ironflock/data-template.yml. Pensez à deux catégories de tables :

  • Tables d’entités — suivent l’état actuel des choses (appareils, machines, connexions). Les lignes sont ajoutées à chaque changement ; maintainLatestFlagFor déclare quelles colonnes identifient une entité, afin que la ligne la plus récente de chaque entité puisse être relue à la demande.
  • Tables de séries temporelles — collectent des mesures dans le temps (relevés de capteurs, métriques). Chaque ligne est un nouveau point de données avec un timestamp.
data: tables: - tablename: devices maintainLatestFlagFor: ['device_key'] columns: - id: tsp dataType: timestamp - id: device_key dataType: string - id: status dataType: string - id: device_name dataType: string - id: deleted dataType: boolean - tablename: readings columns: - id: tsp dataType: timestamp - id: server_id dataType: string - id: metric dataType: string - id: value dataType: numeric

2. Configurer un environnement de test

Pour tester votre application, vous avez besoin d’un environnement de développement dans un projet avec au moins un appareil en ligne :

  1. Cliquez sur Développer sur la page de détail de l’application pour ouvrir l’IDE cloud.
Page de détail de l'application montrant le bouton Développer
  1. Choisissez un appareil en ligne depuis n’importe quel projet auquel vous avez accès.
Sélecteur d'appareils montrant les appareils disponibles dans les projets
  1. Cliquez sur Créer un backend dans le panneau latéral pour créer un environnement de développement.
Panneau latéral avec les contrôles de développement edge et le bouton Créer un backend

3. Écrire le code edge

Enregistrer l’appareil au démarrage

import asyncio from ironflock import IronFlock async def main(): await flock.append_to_table("devices", { "device_key": os.environ.get('DEVICE_KEY'), "tsp": now, "status": "online", "device_name": os.environ.get('DEVICE_NAME'), "deleted": False }) flock = IronFlock(mainFunc=main) flock.run()

4. Construire le board

Ouvrez l’éditeur de board et ajoutez des widgets connectés à vos tables de backend de données.

Afficher le statut des appareils

Ajoutez un widget Tableau connecté à la table devices. Activez l’option latest dans les paramètres de filtre du widget pour toujours afficher l’état actuel.

Visualiser les données de séries temporelles

Ajoutez un widget Graphique linéaire connecté à la table readings. Mappez tsp sur l’axe X et value sur l’axe Y. Le graphique se met à jour en temps réel à mesure que de nouvelles données arrivent.

Comment tout s’assemble

┌─────────────────────────────────────────────────────────┐ │ Board (Tableau de bord) │ │ ┌──────────┐ ┌──────────────┐ ┌───────────────────┐ │ │ │ Tableau │ │ Formulaire │ │ Graphique linéaire │ │ │ │ devices │ │ config │ │ readings │ │ │ └────┬─────┘ └──────┬───────┘ └────────┬──────────┘ │ │ │ │ │ │ └───────┼───────────────┼───────────────────┼─────────────┘ │ │ │ ┌────▼───────────────▼───────────────────▼────┐ │ Base de données du projet │ └────▲───────────────▲───────────────────▲────┘ │ │ │ ┌────┴───────────────┴───────────────────┴────┐ │ Code edge (sur l'appareil) │ │ enregistre → lit config → collecte data │ └─────────────────────────────────────────────┘
Last updated on