L'open source dans l'IoT : plateformes, données et IA embarquée qui font la différence

  • Les plateformes IoT ouvertes (DeviceHive, ThingSpeak, Mainflux, Thinger.io, OpenRemote) et Google Cloud IoT couvrent la connectivité, la gestion et l'analyse.
  • Suite industrielle avec Chirpstack, Node-RED, TICK, Grafana et InfluxDB pour l'acquisition, le traitement et la visualisation en temps réel.
  • Ressources clés en matière de données/infrastructure (Hudi, Iceberg, Superset, CockroachDB, DuckDB, Istio, Bun, CPython, HTMLX/Hyperscript, Claude 2).

Aiot

L'écosystème de l'Internet des objets se développe sans contrôle, et les logiciels libres y jouent un rôle de premier plan. Des plateformes IoT aux outils de données et aux modèles d'IA pour le edge computingDe nombreuses options vous permettent de concevoir des solutions performantes à un coût raisonnable et avec une grande flexibilité. Si vous hésitez encore sur la technologie à adopter, voici un guide complet et pratique contenant toutes les informations essentielles.

Avant d'aborder le sujet, il est important de clarifier certains concepts. « Logiciel libre » n’est pas exactement la même chose que « logiciel open source ».Le choix entre un framework open source et une plateforme personnalisée peut avoir un impact considérable sur la sécurité, le coût et l'évolution de votre projet. De plus, si vous travaillez avec des appareils aux ressources limitées, il est important de savoir quels modèles d'IA légers sont performants en périphérie de réseau.

Logiciel libre vs logiciel open source

Ces termes sont souvent confondus, mais ils comportent d'importantes nuances. Les logiciels libres privilégient les libertés des utilisateursLa liberté d'exécuter, d'étudier, de modifier et de redistribuer le programme, en s'appuyant sur les quatre libertés fondamentales de la FSF. Le logiciel libre, quant à lui, met l'accent sur la disponibilité du code source pour consultation, modification et distribution. bien que les licences puissent imposer des conditions concernant la redistribution ou les modifications, et ne poursuivent pas toujours les mêmes objectifs que le mouvement du logiciel libre.

En d'autres termes, L'objectif du logiciel libre est de défendre les droits des utilisateurs.Bien que l'open source se concentre sur le code ouvert et la collaboration, il existe bien sûr des recoupements, mais leurs philosophies et leurs objectifs ne sont pas identiques.

Qu'est-ce qu'une plateforme IoT exactement ?

Une plateforme IoT constitue l'infrastructure qui connecte les appareils, les données et les applications. Elle fournit l'infrastructure et les éléments de base pour développer votre service : communication avec les appareilsGestion et approvisionnement, sécurité, intégration au cloud et outils d'analyse, entre autres. En résumé, Cela vous permet de vous concentrer sur les fonctionnalités métier. sans réinventer la roue en matière de connectivité et de fonctionnement.

Modèles d'IA légers pour la périphérie de l'IoT

Dans les implémentations périphériques avec mémoire, batterie et processeur optimisés, Des modèles compacts et efficaces font toute la différenceParmi ceux qui se distinguent par leur équilibre entre taille et capacités, citons : Meta Llama 3.1 8B (efficacité et performance multilingues), GLM-4-9B-0414 (appels de fonction et intégration avec des outils) et Qwen2.5-VL-7B (intelligence multimodale avec vision). Ces approches sont essentielles pour permettre la prise de décisions locales. sans toujours dépendre du cloud.

Plateformes IoT open source et sujets connexes

DeviceHive

DeviceHive propose un framework M2M pour connecter les appareils et gérer les services cloud, avec un accent particulier sur le Big Data. Il comprend un panneau de configuration web très simple. pour créer des réseaux, appliquer des règles de sécurité et de surveillance, ainsi que des exemples de projets et une instance de test en ligne. Leur proposition couvre le pont entre le nuage, systèmes embarqués et applications mobiles de manière assez équilibrée.

ChoseParle

ThingSpeak, étroitement lié à MathWorks, se distingue par ses analyses utilisant MATLAB sur des données de capteurs quasi temps réel. Parmi ses fonctions Ces fonctionnalités incluent l'agrégation et l'analyse de flux en direct, l'enregistrement de chaînes publiques pour un usage privé, le partage de chaînes, les visualisations, les mises à jour via API REST et MQTT, les outils MATLAB en ligne, et alertes avec TimeControl déclenché par des événements.

Flux principal

Mainflux est une pile technologique Golang qui brille par sa connectivité et sa gestion. Prend en charge HTTP, MQTT, WebSocket et CoAPIl intègre le provisionnement et la gestion des appareils, le déploiement Docker et l'orchestration Kubernetes. sécurité via des clés API personnalisables et JWT avec portéeet contribue à réduire les coûts d'exploitation. Il peut être installé sur site, dans un environnement hybride ou dans le cloud.

Thinger.io

Thinger.io est une plateforme cloud déployable via des conteneurs Docker. Il intègre une grande variété de matériels. (Arduino IDE, Linux, Sigfox, cartes ARM Mbed), offre une console de gestion conviviale, la diffusion en continu sur les WebSockets, des tableaux de bord de données en temps réel, Applications mobiles iOS et Android et les automatisations IFTTT pour plusieurs appareils. Bien que sa visualisation ne soit pas la plus attrayante visuellement, Leur approche de « programmation réactive » est leur plus grande force..

IdO de Google Cloud

Bien qu'elle ne soit pas à proprement parler open source, la plateforme de Google fournit des éléments utiles pour les architectures IoT connectées. Mettre en place un pont MQTT Pour la connectivité, il se connecte à un équilibreur de charge réseau proxy externe. Les applications IoT peuvent consommer des données via Pub/Sub ou utiliser le connecteur MQTT de Dataflow, tandis que le système offre services de gestion clés: informations d'identification, Authentification et autorisationLa configuration et l'enregistrement des appareils, le moteur de règles et la gestion des mises à jour sont également des fonctionnalités communes. Jumeaux numériques, alertes et statistiques dans son écosystème.

Ouvrir à distance

OpenRemote facilite l'intégration pour les intégrateurs, les fabricants et les administrations avec des protocoles tels que HTTP, SNMP, MQTT ou Bluetooth. Vos forces Ils comprennent des vues cartographiques et d'actifs, un modèle d'actifs avec des types définis par l'utilisateur, des protocoles d'agents ajustables par modèle, une interface graphique pour les règles SI-ALORS, des tableaux de bord, interconnexion entre les instances Edge et un centre et la gestion multi-locataires. Cela s'applique à flottesénergie, gestion collective, bâtiments, villes, aéroports ou santé.

Plateforme open source ou personnalisée ?

Bien que de nombreuses plateformes ouvertes puissent sembler similaires sur le papier, le choix dépend des objectifs, du budget, des risques et de l'équipe. L'open source permet de gagner du temps et offre une grande flexibilité.Cependant, elle n'est pas sans défis : des contributions de qualité inégale, une maintenance et une sécurité délicates, et une confidentialité des données de plus en plus critique. Les coûts ne sont pas toujours faibles et un ensemble de fonctionnalités standard qui ne correspondent peut-être pas parfaitement à vos objectifs. De plus, Ils ne sont généralement pas destinés aux utilisateurs inexpérimentés.

Lorsqu'on opte pour une plateforme personnalisée, l'argument principal est le contrôle. Maîtriser parfaitement la conception, la sécurité et les fonctionnalités Elle permet l'intégration aux systèmes existants, assure une protection de bout en bout et optimise les performances, la fiabilité et l'évolutivité. Cette approche, lorsqu'elle est bien mise en œuvre, maximise le rendement et préparez votre solution à évoluer dans un environnement en constante mutation.

Solution eManager et suite d'outils

eManager a été créé comme contrôleur IoT industriel pour les professionnels du logiciel qui en ont besoin. matériel polyvalent et multiprotocole où mettre en œuvre facilement des projets. Leur répertoire compile une liste des 8 meilleurs logiciels d'acquisition, de visualisation et de stockage, conçus pour mettre en production des cas concrets rapide.

Acquisition et visualisation

Chirpstack fournit une pile open source complète pour les réseaux LoRaWAN avec traduction de messages, intégration au cloud, gestion de l'état de santé, inventaire, activation des capteurs et envoi des données aux appareilsElle fournit une interface web pour les utilisateurs, les organisations, les applications et les appareils, et expose des API gRPC et REST. Les données peuvent transiter via MQTT/HTTP et être écrit dans InfluxDB.

Node-RED, quant à lui, est le couteau suisse de l'IoT pour orchestrer des flux avec peu de code. Sa programmation visuelle facilite la connexion du matériel, des API et des services et les transformer en temps réel, ce qui en fait un choix de premier ordre dans l'Industrie 4.0. Si vous recherchez l'agilité sans courbe d'apprentissage abrupte, C'est un indispensable..

La pile TICK combine Telegraf (agent de métriques et d'événements), Kapacitor (traitement en temps réel) et Chronograf (interface InfluxData), avec InfluxDB comme base. Ensemble, ils forment une solution de bout en bout Capturer, surveiller, visualiser et automatiser des séries temporelles avec une charge d'écriture et de requêtes importante.

Grafana complète le cercle de la visualisation avec des tableaux de bord et des alertes riches. Il est idéal pour exploiter les données InfluxDB. et d'autres sources, pour créer facilement des tableaux de bord attrayants. Si vous devez détecter des tendances ou des anomalies. à première vueVoici votre allié.

Base de données

InfluxDB, au sein de la pile TICK, est optimisé pour les séries temporelles : Beaucoup d'écriture, des demandes rapidesSurveillance, indicateurs, capteurs et analyses en temps réel. Quand chaque seconde compte. son architecture fait la différence.

MariaDB hérite du meilleur de MySQL et y ajoute des améliorations : mise en cache pour les requêtes complexesNouvelle gestion des connexions, accès aux clusters et prise en charge des hiérarchies et structures avancées. Si vous venez de l'écosystème MySQL, Vous le trouverez familier et puissant.

PostgreSQL est la référence en matière de bases de données relationnelles open source, grâce à sa haute concurrence, ses types de données variés, son orientation objet et sa compatibilité multiplateforme. Il prend en charge SQL pour les données relationnelles et JSON pour les données non relationnelles.ce qui le rend extrêmement flexible dans les projets hybrides.

SQLite est idéal pour les systèmes embarqués et le matériel modeste : léger, efficace et rapide pour un stockage local simple. Lorsque le périphérique est la principale préoccupation et que les ressources sont limitées, Cela vous sort de plus d'une situation délicate..

Quelles sont les nouveautés dans la suite ?

La gamme eManager a mis à jour son logiciel vers Node-RED 2.1.4 et Yocto Dunfell, intégrant également le protocole UPnP et d'autres améliorations. Vous bénéficiez d'une amélioration des performances, de la sécurité des mises à jour, du débogage et de la journalisation.optimiser l'expérience pour les déploiements industriels exigeants. Si vous souhaitez plus de détails, consulter la documentation officielle et restez informé grâce à leur newsletter.

Logiciel libre : ce que cela implique et pourquoi c’est important

Nous appelons open source tout outil dont le code source est publié et peut être consulté, modifié et redistribuéCela permet un développement collaboratif et transparent où la communauté contribue en corrigeant les bogues, en ajoutant de nouvelles fonctionnalités et en améliorant la qualité. Les licences autorisent généralement ces utilisations. promouvoir l'innovation et l'adaptation à des besoins spécifiques.

Les exemples ne manquent pas : Linux dans les systèmes d’exploitation, Mozilla Firefox dans les navigateurs, ou LibreOffice dans les suites bureautiques. Le motif se répèteLorsqu'un problème majeur survient et qu'aucune solution n'est trouvée, un projet ouvert apparaît pour y remédier.

Ressources open source de référence pour les données, le backend et bien plus encore

1) Apache Hudi

Hudi propose un cadre pour le stockage et le traitement incrémentiels en temps réel sur Hadoop et Spark. Leur intérêt porte sur les mises à jour, les suppressions et les modifications incrémentales Cela le rend idéal pour l'ingestion continue de données et l'analyse interactive ; il s'intègre parfaitement aux lacs de données et aux environnements de stockage de données (lakehouses), permettant requêtes à faible latence Pour les gros volumes de données, il s'intègre à Spark, Flink, Presto, StarRocks ou Amazon Athena.

2) L'iceberg Apache

Iceberg propose un format de table transactionnelle avec écriture atomique, instantanés, lectures optimisées et partitionnement/triIl fonctionne avec Spark, Hive, Presto et d'autres moteurs (ClickHouse, Dremio, StarRocks), résolvant Les goulots d'étranglement HDFS/Hive dans les grands ensembles de données et en facilitant l'évolution, la compaction et les retours en arrière des schémas.

3) Sur-ensemble Apache

Superset est la plateforme d'analyse en libre-service dont de nombreuses équipes ont besoin pour évoluer. Connectez-vous avec SQL, les entrepôts de données et les lacs de donnéesIl propose un outil de création de graphiques et un IDE SQL, et prend en charge tous les types de graphiques, des diagrammes à barres et circulaires aux visualisations géospatiales avancées. Si votre projet comporte une composante BI importante, Cela vous fait gagner du temps et vous évite bien des soucis..

4) Petit pain

Bun se concentre en un seul outil d'exécution, gestionnaire de paquets et outil d'emballage pour JS côté serveur. Sa plus grande force réside dans ses performances. (grâce notamment à Zig) et à son expérience intégrée, ce qui en fait une alternative sérieuse à Node et Deno. Si vous souhaitez gagner de précieuses secondes sur vos temps d'exécution en ligne de commande et de compilation, Essayez-le.

5) Claude 2

Cet assistant Anthropic gère des contextes énormes (jusqu'à ~100 000 jetons) et rédige ou transforme en douceur du texte dans plusieurs langues. Vous pouvez résumer, extraire, réécrire et répondre. Compétences en contenu et maîtrise des langages de programmation courants. Formation basée sur le principe HHH (Serviable, Honnête, Inoffensif). est moins sujette aux sorties dangereuses et il ne s'entraîne pas avec vos données et ne consulte pas Internet pour répondre.

6) CockroachDB

Base de données SQL distribuée, conforme ACID et à haute disponibilité, avec réplication automatique et mise à l'échelle horizontale des lectures et des écrituresIdéale pour les applications à haut débit transactionnel ou déployées dans plusieurs régions, elle réduit la latence et facilite la conformité réglementaire. Utile pour des organisations comme Netflix et les institutions financières. Ils l'utilisent dans la production à grande échelle.

7) CPython (améliorations récentes)

Python 3.11 et 3.12 ont apporté une progrès tangible dans les performances de l'interprète de référencequi profitent à la plupart des projets sans modification du code. À l'horizon, des projets visant à s'attaquer au GIL ouvrent la voie à véritable parallélisme dans le multiprocesseur et des revenus supplémentaires.

8) DuckDB

Moteur analytique intégrable avec Exécution en colonnes, parallélisme et faible consommationIdéal pour les requêtes complexes et l'exploration interactive sur ordinateurs portables ou systèmes embarqués. Compatible avec SQL standard, les transactions ACID et l'intégration avec pandas et dplyr. Réduit les frictions entre l'analyse et l'application.

9) HTML et Hyperscript

Ils proposent d'adopter pleinement le HTML conventionnel : HTMLx remplace le JavaScript répétitif par Attributs déclaratifs pour AJAX, les états et les donnéesHyperScript simplifie l'asynchronisme et le DOM grâce à une syntaxe de type HyperCard. Ensemble, ils offrent une alternative sobre aux frameworks réactifs lorsque vous recherchez la vitesse sans surcharge.

10) Istio

Le maillage de services ultime : facilite le routage et l’équilibrage de charge, observabilité détailléeChiffrement, authentification et autorisation entre microservices. Il s'intègre à Kubernetes et sépare les problèmes de réseau et de sécurité du code, normalisant les politiques dans les déploiements complexes.

Communauté et bonnes pratiques

Si vous travaillez avec des outils d'IA et d'automatisation, il est judicieux de participer à des communautés qui partagent du code, des conseils et des bonnes pratiques. Il existe des subreddits consacrés à la programmation avec ChatGPT. où sont publiés les échanges, les conseils d'utilisation et les projets complets ; n'oubliez pas de lire les règles avant de publier pour assurer la continuité du site. un environnement utile et respectueux.

Ressources et expansion

Si vous souhaitez en savoir plus sur les outils open source, vous trouverez de vastes listes recensant des dizaines de projets couvrant le développement, les données, l'analyse, l'IA et le ML. La sélection précédente s'étend de 1 à 10 et se poursuit dans les articles suivants. Pour des informations plus détaillées, vous pouvez télécharger la documentation et les guides techniques, tels que les rapports universitaires et les livres blancs. Ils développent les concepts de lacs de données, d'entrepôts de données et de centres de données lacustres.Voici un exemple de référence au format PDF. disponible pour consultationEt au fait, Suivez-nous sur Twitter et LinkedIn Si vous souhaitez rester informé(e) des actualités.

À première vue, il apparaît que c'est une structure technologique très solide : plateformes IoT ouvertes avec des composants matures (DeviceHive, ThingSpeak, Mainflux, Thinger.io, OpenRemote), des solutions cloud adaptées aux flux de travail ouverts (Google Cloud IoT), une suite logicielle industrielle comme eManager avec des outils clés (Chirpstack, Node-RED, TICK, Grafana, InfluxDB, MariaDB, PostgreSQL, SQLite), et une multitude de projets open source pour les données et le backend (Hudi, Iceberg, Superset, Bun, Claude 2, CockroachDB, CPython, DuckDB, HTML/Hyperscript, Istio). Ils couvrent tout, de l'ingestion à la visualisation et à la gouvernanceAvec tout cela, vous disposez de suffisamment de matière pour concevoir une solution IoT solide, sécurisée et évolutive, prête à se développer sans perte de contrôle.

MKR1000
Article connexe:
MKR1000, une nouvelle carte Arduino pour l'IoT