Table des matières:

IOT123 - ASSIMILATION DU RÉSEAU IOT : 26 étapes
IOT123 - ASSIMILATION DU RÉSEAU IOT : 26 étapes

Vidéo: IOT123 - ASSIMILATION DU RÉSEAU IOT : 26 étapes

Vidéo: IOT123 - ASSIMILATION DU RÉSEAU IOT : 26 étapes
Vidéo: IOT123 - ASSIMILATE SENSOR: DHT11 EXPLODED 1 2024, Juillet
Anonim
IOT123 - ASSIMILATION DU RÉSEAU IOT
IOT123 - ASSIMILATION DU RÉSEAU IOT

Le RÉSEAU ASSIMILÉ IOT est un ensemble de protocoles qui permettent une intégration facile des capteurs, des acteurs, des nœuds d'objets et des courtiers locaux avec le monde extérieur.

Ce Instructable est des instructions pour les instructions; il indexe tous les différents projets et indique où se trouvent les articles et les ressources pour chaque projet.

CARACTÉRISTIQUES ET VISION Actuellement, les esclaves (capteurs et acteurs) sont autonomes et reposent sur des messages I2C basés sur des conventions pour lire les propriétés ou agir sur les commandes. Le maître récupère les métadonnées et les propriétés des esclaves et les envoie à un courtier MQTT. Il démarre également un serveur Web et sert des fichiers JSON qui peuvent être modifiés pour configurer le maître et personnaliser les métadonnées/propriétés qui sont finalement consommées par Crouton. Les capteurs/acteurs individuels sont lus/commandés via Crouton sans que le maître ait aucune connaissance préalable de ce que font les esclaves.

L'un des objectifs du RÉSEAU ASSIMILATE IOT est de personnaliser AssimilateCrouton afin que les éditeurs de mashup servis à partir des serveurs Web IOT NODE (voir les hubs suivants) soient ajoutés en tant que composants Web qui donneront un contrôle complet sur ce que fait la chose, c'est-à-dire que le maître n'est pas programmé, les esclaves ont des ensembles de fonctionnalités de base mais le tableau de bord Crouton intègre toutes les règles métier nécessaires pour faire fonctionner la chose !

La fourche Crouton est considérée comme une option pour le contrôle/la configuration décentralisée des choses. En substance, toute combinaison client/GUI MQTT peut administrer vos éléments, car chaque fonction (capteurs et acteurs) est exposée en tant que points de terminaison MQTT.

CROÛTON

Croûton. https://crouton.mybluemix.net/ Crouton est un tableau de bord qui vous permet de visualiser et de contrôler vos appareils IOT avec une configuration minimale. Il s'agit essentiellement du tableau de bord le plus simple à configurer pour tout passionné de matériel IOT utilisant uniquement MQTT et JSON.

Les ESCLAVES ASSIMILÉS (capteurs et acteurs) ont des métadonnées et des propriétés intégrées que le maître utilise pour créer le paquet json deviceInfo que Crouton utilise pour créer le tableau de bord. L'intermédiaire entre ASSIMILATE NODES et Crouton est un broker MQTT qui est compatible avec les websockets: Mosquito est utilisé pour la démo.

Comme ASSIMILATE MASTER (voir hubs suivants) demande des propriétés, il formate les valeurs de réponse dans le format requis pour les mises à jour de Crouton.

Étape 1: ASSIMILATION DU HUB DE CAPTEURS: COMPOSANTS WEB ICOS10 CORS

ASSIMILATE SENSOR HUB: COMPOSANTS WEB ICOS10 CORS
ASSIMILATE SENSOR HUB: COMPOSANTS WEB ICOS10 CORS

Sur l'appareil, toutes les fonctionnalités du serveur Web avec authentification et hébergement dans SPIFFS sont toujours prises en charge, mais une attention particulière a été accordée à la prise en charge de CORS (Cross Origin Resource Sharing) pour les composants Web Polymer (Crouton utilise Polymer 1.4.0).

RESSOURCESInstructable, Référentiel

Étape 2: ASSIMILATION DU HUB DE CAPTEURS: WEBSERVER DE PERSONNALISATION ICOS10

ASSIMILATE SENSOR HUB: WEBSERVER DE PERSONNALISATION ICOS10
ASSIMILATE SENSOR HUB: WEBSERVER DE PERSONNALISATION ICOS10

Les esclaves ASSIMILATE SENSOR/ACTOR intègrent des métadonnées qui sont utilisées pour définir les visualisations dans Crouton. Cette version ajoute un serveur Web au maître ESP8266, sert des fichiers de configuration qui peuvent être modifiés par l'utilisateur, puis utilise ces fichiers pour redéfinir les visualisations. Ainsi, les noms des cartes de tableau de bord et la plupart des propriétés configurables peuvent être modifiés. Cela était nécessaire, par ex. le DHT11 publie les propriétés Température et Humidité: si un site possède plusieurs nœuds avec des capteurs DHT11 séparés, ils ne peuvent pas tous être appelés Température (Temp. Garage, Temp Cour…). La restriction de longueur des métadonnées définie par le bus I2C (16 caractères) n'existe pas et des valeurs plus riches peuvent être appliquées (jusqu'à 64 caractères).

L'authentification de base facultative est configurable pour la page Web d'édition, ainsi qu'une liste d'exclusion de l'authentification pour d'autres ressources. Un interrupteur côté bas qui met les esclaves hors tension si nécessaire, a également été développé sur une carte fille existante. Comme note technique, avant de commencer cette construction, l'empreinte mémoire était de 70 % à cause d'un graphe d'objet de métadonnées global. La dernière bibliothèque AssimilateBus a subi des modifications importantes qui découplent la variable globale en fichiers JSON plus petits enregistrés dans SPIFFS. Cela a ramené l'empreinte à environ 50 %, ce qui est plus sûr pour l'ensemble de l'analyse/construction JSON. La bibliothèque AssimilateBusSlave reste la même (ASSIM_VERSION 2) tout au long de ces modifications.

RESSOURCES

Instructable, Référentiel

Étape 3: ASSIMILER LE HUB DE CAPTEUR: ICOS10 CROUTON RESET NODE

ASSIMILATE SENSOR HUB: ICOS10 CROUTON RESET NODE
ASSIMILATE SENSOR HUB: ICOS10 CROUTON RESET NODE

Il s'agit du prédécesseur de la version Customization Webserver. Il a toujours l'intégration de Crouton.

Cette version envoie le deviceInfo requis par Crouton au courtier MQTT, pour amorcer les tableaux de bord automatiques. L'ASSIM_VERSION doit être de 2 pour les AssimilateBusSlaves (acteurs et capteurs). Les précédents HOUSING HEADERS ont été légèrement modifiés, le rail D0 remplaçant le rail D6 inutilisé. Une nouvelle carte fille a été ajoutée qui permet les réinitialisations matérielles, la mise en veille sous certaines conditions et sera à l'avenir utilisée pour l'interrupteur d'alimentation côté bas (pour le contrôle de l'alimentation des esclaves).

RESSOURCES

Instructable, Référentiel

Étape 4: ASSIMILER LE HUB DE CAPTEUR: ICOS10 3V3 MQTT NODE

ASSIMILE CAPTEUR HUB: ICOS10 3V3 MQTT NODE
ASSIMILE CAPTEUR HUB: ICOS10 3V3 MQTT NODE

Il s'agit de la première d'une variété de combinaisons MCU/fonctionnalités dans les CENTRES DE CAPTEURS ASSIMILÉS: les maîtres qui collectent les vidages de données des esclaves CAPTEURS ASSIMILÉS I2C.

Cette version utilise un Wemos D1 Mini pour publier toutes les données extraites des CAPTEURS ASSIMILÉS sur un serveur MQTT. Il fournit un bus 3V3 I2C aux capteurs. Un rail 5V est toujours fourni mais il n'y a pas de convertisseur de niveau logique pour le 5V I2C et il peut ne pas fonctionner comme souhaité. Cela sera livré dans un futur remplacement de carte fille avec un ensemble de fonctionnalités pour celui présenté ici.

RESSOURCESInstructable, Référentiel

Étape 5: ASSIMILATION DU HUB DE CAPTEUR: ENSEMBLE DE COQUE GÉNÉRIQUE ICOS10 (IDC)

MOYEU DE CAPTEUR D'ASSIMILATION: ENSEMBLE DE COQUE GÉNÉRIQUE ICOS10 (IDC)
MOYEU DE CAPTEUR D'ASSIMILATION: ENSEMBLE DE COQUE GÉNÉRIQUE ICOS10 (IDC)

Il s'agit d'une version améliorée (robustesse du circuit) de l'assemblage ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE). Il s'assemble plus rapidement et possède un circuit de meilleure qualité, mais coûte plus cher (environ 10 $ de plus s'il prend en charge 10 capteurs). La principale caractéristique est qu'il est maintenant très modulaire: les panneaux et les câbles peuvent être remplacés/personnalisés sans avoir besoin de dessouder/souder.

RESSOURCESInstructable, pièces 3D

Étape 6: IOT123 - ASSIMILATE SENSOR HUB: ASSEMBLAGE DE COQUE GÉNÉRIQUE ICOS10 (FIL DE RACCORDEMENT)

IOT123 - MOYEU DE CAPTEUR D'ASSIMILATION: ASSEMBLAGE DE COQUE GÉNÉRIQUE ICOS10 (FIL DE RACCORDEMENT)
IOT123 - MOYEU DE CAPTEUR D'ASSIMILATION: ASSEMBLAGE DE COQUE GÉNÉRIQUE ICOS10 (FIL DE RACCORDEMENT)

Il s'agit de l'assemblage Shell d'origine. Utilisez l'IDC ci-dessus.

RESSOURCESInstructable, pièces 3D

Étape 7: BRIQUE I2C MAX9812

BRIQUE I2C MAX9812
BRIQUE I2C MAX9812
BRIQUE I2C MAX9812
BRIQUE I2C MAX9812

C'est le circuit qui est utilisé par le SERSOR ASSIMILÉ suivant.

Cette brique I2C MAX9812 déverse 3 propriétés de détection sonore:

  • audMin (0-1023) - valeur la plus basse dans la fenêtre d'échantillonnage de 50 ms (20 Hz)
  • audMax (0-1023) - valeur la plus élevée dans la fenêtre d'échantillonnage de 50 ms (20 Hz)
  • audDiff (0-50) - une valeur dérivée de la différence de aMin et aMax

RESSOURCES

Instructable, Référentiel

Étape 8: ASSIMILEZ LE CAPTEUR: MAX9812

CAPTEUR D'ASSIMILE: MAX9812
CAPTEUR D'ASSIMILE: MAX9812
CAPTEUR D'ASSIMILE: MAX9812
CAPTEUR D'ASSIMILE: MAX9812

Cette version est basée sur la BRICK I2C MAX9812.

Si vous avez besoin d'un gain réglable, je vous recommande de remplacer ce capteur par le MAX4466.

Ce CAPTEUR D'ASSIMILATION affiche 3 propriétés:

  1. audMin (0-1023) - valeur la plus basse dans la fenêtre d'échantillonnage de 50 ms (20 Hz)
  2. audMax (0-1023) - valeur la plus élevée dans la fenêtre d'échantillonnage de 50 ms (20 Hz)
  3. audDiff (0-50) - une valeur dérivée de la différence de aMin et aMax

RESSOURCES

Instructable, référentiel, pièces 3D

Étape 9: BRIQUE HEARTBEAT I2C

BRIQUE HEARTBEAT I2C
BRIQUE HEARTBEAT I2C
BRIQUE HEARTBEAT I2C
BRIQUE HEARTBEAT I2C

C'est le circuit qui est utilisé par le SERSEUR ASSIMILÉ suivant.

Cette I2C HEARTBEAT BRICK indique si l'esclave ATTINY est vivant, ainsi que le trafic I2C, et a une propriété:

STATUT ("VIVANT")

RESSOURCES

Instructable, Référentiel

Étape 10: ASSIMILEZ L'ACTEUR: HEARTBEAT

ACTEUR ASSIMILÉ: BATTEMENT DE CUR
ACTEUR ASSIMILÉ: BATTEMENT DE CUR
ACTEUR ASSIMILÉ: BATTEMENT DE CUR
ACTEUR ASSIMILÉ: BATTEMENT DE CUR

Cette version est basée sur la brique I2C HEARTBEAT.

Cet ACTEUR ASSIMILÉ a une propriété:

STATUT ("VIVANT")

PB1 (fil blanc, LED bleue) indique la santé ATTINY.

PB3 (fil jaune, LED verte) bascule avec les requêtes I2C du maître.

PB4 (fil orange, LED rouge) bascule avec la réception I2C du maître.

RESSOURCES

Instructable, référentiel, pièces 3D

Étape 11: BRIQUE DE RELAIS I2C 2CH

BRIQUE DE RELAIS I2C 2CH
BRIQUE DE RELAIS I2C 2CH
BRIQUE DE RELAIS I2C 2CH
BRIQUE DE RELAIS I2C 2CH

C'est le circuit qui ne convient pas en tant qu'ACTEUR ASSIMILÉ standard. Il peut être mieux adapté sur les rails PCB I2C.

Cette brique de relais I2C 2CH étend les fonctionnalités de la brique I2C KY019 et possède deux propriétés de lecture/écriture:

  • RELAIS 2CH[0] (vrai/faux).
  • RELAIS 2CH[1] (vrai/faux).

RESSOURCES

Instructable, Référentiel

Étape 12: BRIQUE I2C KY019

BRIQUE I2C KY019
BRIQUE I2C KY019
BRIQUE I2C KY019
BRIQUE I2C KY019

C'est le circuit qui est utilisé par l'ACTEUR ASSIMILÉ suivant.

Cette BRIQUE I2C KY019 est la première des ACTEURS, et possède une propriété de lecture/écriture:

Commutateur (vrai/faux)

RESSOURCES

Instructable, Référentiel

Étape 13: ASSIMILEZ L'ACTEUR: KY019

ACTEUR ASSIMILÉ: KY019
ACTEUR ASSIMILÉ: KY019
ACTEUR ASSIMILÉ: KY019
ACTEUR ASSIMILÉ: KY019

Cette version est basée sur la brique I2C KY019.

Si vous avez besoin de 2 canaux, je vous recommande de remplacer cet acteur par le 2CH RELAY BRICK.

Cet ASSIMILATE ACTORS, et a une propriété de lecture/écriture:

Commutateur (vrai/faux)

RESSOURCES

Instructable, référentiel, pièces 3D

Étape 14: BRIQUE I2C TEMT6000

BRIQUE I2C TEMT6000
BRIQUE I2C TEMT6000
BRIQUE I2C TEMT6000
BRIQUE I2C TEMT6000

C'est le circuit qui est utilisé par l'ACTEUR ASSIMILÉ suivant.

Cette brique I2C TEMT6000 déverse 3 propriétés:

  • Illumination ambiante (Lux)
  • Illumination ambiante (unités Foot Candel)
  • Irradiation ambiante (Watt par mètre carré).

RESSOURCES

Instructable, Référentiel

Étape 15: ASSIMILEZ LE CAPTEUR: TEMT6000

CAPTEUR D'ASSIMILE: TEMT6000
CAPTEUR D'ASSIMILE: TEMT6000
CAPTEUR D'ASSIMILE: TEMT6000
CAPTEUR D'ASSIMILE: TEMT6000

Cette version est basée sur la brique I2C TEMT6000.

Ce CAPTEUR D'ASSIMILATION affiche 3 propriétés:

  • Illumination ambiante (Lux)
  • Illumination ambiante (unités Foot Candel)
  • Irradiation ambiante (Watt par mètre carré).

RESSOURCES

Instructable, référentiel, pièces 3D

Étape 16: BRIQUE I2C MQ2

BRIQUE I2C MQ2
BRIQUE I2C MQ2
BRIQUE I2C MQ2
BRIQUE I2C MQ2

C'est le circuit qui est utilisé par l'ACTEUR ASSIMILÉ suivant.

Cette brique I2C MQ2 déverse 3 propriétés:

  • GPL (parties par million)
  • CO (PPM)
  • FUMÉE (PPM).

RESSOURCES

Instructable, Référentiel

Étape 17: ASSIMILER LE CAPTEUR: MQ2

CAPTEUR D'ASSIMILE: MQ2
CAPTEUR D'ASSIMILE: MQ2
CAPTEUR D'ASSIMILE: MQ2
CAPTEUR D'ASSIMILE: MQ2

Cette version est basée sur le I2C MQ2 BRICK.

Ce CAPTEUR D'ASSIMILATION affiche 3 propriétés:

  • GPL (parties par million)
  • CO (PPM)
  • FUMÉE (PPM).

RESSOURCES

Instructable, référentiel, pièces 3D

Étape 18: BRIQUE I2C DHT11

BRIQUE I2C DHT11
BRIQUE I2C DHT11
BRIQUE I2C DHT11
BRIQUE I2C DHT11

C'est le circuit qui est utilisé par l'ACTEUR ASSIMILÉ suivant.

Cette brique I2C DHT11 déverse 5 propriétés:

  • Humidité (%)
  • Température (C)
  • Température (F)
  • Température (K)
  • Point de rosée (C).

RESSOURCES

Instructable, Référentiel

Étape 19: ASSIMILEZ LE CAPTEUR: DHT11

CAPTEUR D'ASSIMILE: DHT11
CAPTEUR D'ASSIMILE: DHT11
CAPTEUR D'ASSIMILE: DHT11
CAPTEUR D'ASSIMILE: DHT11

Cette version est basée sur le I2C MQ2 BRICK.

Ce CAPTEUR D'ASSIMILATION affiche 5 propriétés:

  • Humidité (%)
  • Température (C)
  • Température (F)
  • Température (K)
  • Point de rosée (C).

RESSOURCES

Instructable, référentiel, pièces 3D

Étape 20: RAILS PCB I2C

RAILS PCB I2C
RAILS PCB I2C

Là où des boîtiers durables ne sont pas nécessaires, les capteurs et les acteurs ASSIMILATE IOT NETWORK SENSORS et ACTORS peuvent s'empiler plus efficacement et avec moins de ressources et d'efforts, directement sur des rails minimalistes. Les cylindres d'enveloppe peuvent être utilisés (comme indiqué dans cette construction) ou les briques sous-jacentes peuvent être branchées directement.

RESSOURCESInstructable

Étape 21: ESCLAVE DE PROTOTYPAGE DE BRIQUES I2C

ESCLAVE DE PROTOTYPAGE DE BRIQUES I2C
ESCLAVE DE PROTOTYPAGE DE BRIQUES I2C
ESCLAVE DE PROTOTYPAGE DE BRIQUES I2C
ESCLAVE DE PROTOTYPAGE DE BRIQUES I2C

Lors du développement du dernier ASSIMILATE ACTOR (KY-019 RELAY), une carte de développement générique a été créée pour m'économiser du travail supplémentaire sur mon bureau.

Il a les brochages standard du I2C IOT123 BRICK, mais permet des connexions personnalisées au capteur de l'ATTINY85.

L'ATTINY85 est amovible via la prise DIL. Les lignes I2C sont câblées. Tout le reste est connectable en petits groupes. Cela fonctionne très bien avec le I2C BRICK MASTER JIG.

RESSOURCESInstructable

Étape 22: JIG MAÎTRE DE BRIQUE I2C

JIG MAÎTRE DE BRIQUE I2C
JIG MAÎTRE DE BRIQUE I2C

Lors du développement des CAPTEURS ASSIMILÉS et des ACTEURS, je garde un UNO à portée de main pour envoyer des commandes I2C adhoc aux prototypes en cours de développement.

L'un des avantages des BRICKS I2C est le brochage standardisé. Plutôt que d'utiliser des fils de planche à pain à chaque fois (voir les Fritzings), un robuste bouclier lo-tech est utilisé.

RESSOURCESInstructable

Étape 23: TESTEUR DE CÂBLE IDC (6 FILS)

TESTEUR DE CÂBLE IDC (6 FILS)
TESTEUR DE CÂBLE IDC (6 FILS)

Lors du développement du HUB DE CAPTEUR D'ASSIMILATION ICOS10, j'avais besoin de vérifier les câbles que je créais. La vérification consistait à vérifier la continuité entre les prises et l'isolement entre les fils. La conception que j'ai proposée utilisait des commutateurs DIP pour basculer entre les tests de continuité et d'isolement. Comme je m'attends à avoir une carte différente pour chaque test (les commutateurs DIP ne sont pas conçus pour une utilisation constante), les deux circuits peuvent être câblés sans avoir besoin de commutateurs DIP, RESSOURCESInstructable

Étape 24: TESTEUR DE CIRCUIT DE PANNEAU ICOS

TESTEUR DE CIRCUIT DE PANNEAU ICOS
TESTEUR DE CIRCUIT DE PANNEAU ICOS
TESTEUR DE CIRCUIT DE PANNEAU ICOS
TESTEUR DE CIRCUIT DE PANNEAU ICOS

Lors du développement de l'ICOS10 ASSIMILATE SENSOR HUB, j'ai dû vérifier les circuits du panneau au fur et à mesure de leur fabrication. De plus, comme les broches étaient soudées sur les en-têtes 3P, je voulais qu'une broche mâle 3P y soit insérée pour arrêter toute déformation pendant la soudure. Autre élément clé de cette conception: j'avais déjà développé un testeur de circuit pour les câbles IDC à 6 fils.

RESSOURCESInstructable

Étape 25: JIG DE PROGRAMMATION EMBARQUÉ ATTINY85

JIG DE PROGRAMMATION EMBARQUÉ ATTINY85
JIG DE PROGRAMMATION EMBARQUÉ ATTINY85

Sur les conceptions BRICK, j'ai mentionné que les trous traversants adjacents à l'ATTINY85 ont été laissés inutilisés, pour permettre un programmeur de broches pogo pendant que le DIP8 est soudé au PCB. C'est ce programmeur de broches pogo. Il ne s'agit en réalité que d'un câble adaptateur reliant la prise DIP8 DIL d'un programmeur existant au gabarit pogo à espacement 6 x 4 trous à utiliser sur le PCB.

RESSOURCESInstructable

Étape 26: VIDÉOS

Conseillé: