Étape 6: Flux de matériel
Dans notre configuration, le Client, les applications ne doivent jamais parler à l’usine directement, tout était sur le nuage car maintenant plus de Wifi seuls défaites tout le but de « I » dans IOT.
Croquis de l’Arduino
Arduino croquis implémentation contient la logique d’acquisition de données de capteurs et actionneurs. Instructions de l’application cliente sont reçues par le nœud de serveur et puis, ils ont été communiqués sur Arduino utilisant le protocole MQTT.
Ce qui est MQTT ?
MQTT signifie MQ Telemetry Transport. C’est qu'une publication/abonnement, extrêmement léger et simple protocole de messagerie, conçu pour les systèmes et faible bande passante, les réseaux à latence élevée ou non fiables. Les principes de conception sont à réduire au minimum les besoins de ressources de bande passante et périphérique de réseau tout en essayant d’assurer la fiabilité et un certain degré d’assurance de livraison. Ces principes s’avèrent également de rendre le protocole idéal des émergent "machine-to-machine » (M2M) ou « Internet des objets » monde des appareils connectés et pour les applications mobiles où la puissance de bande passante et la batterie sont à une prime.
NodeJS serveur
NodeJS serveur s’exécute uniquement sur Intel Edison. Serveur est connecté au Cloud backend en temps réel. Un des décision architecturale cruciale que nous avons pris pour GreenBit est de faire de notre architecture Deux niveaux au lieu de typiques architectures à trois couches.
NodeJS serveur a trois responsabilités :
1) en temps réel de maintenir connexion avec nuage en nuage - cette connexion est implémentée à l’aide de Firebase noeud Api qui fondamentalement nous donne un ensemble de crochets sur certains paramètres que nous voulons garder sous surveillance. Toute modification apportée à ces valeurs est immédiatement communiquées à tous les Clients qui regardent cette valeur.
2) OpenCV pour les photos en cliquant à chaque fois une demande pour une plante selfie vient NodeJS serveur exécute notre module d’OpenCV qui prend une photo et qui stocke ensuite dans le système de fichiers en format Base64 encodée. Nœud serveur lira ce fichier et ensuite transmettre l’image sous forme cryptée au serveur.
3) obtenir journaux dans chaque minute - dans un intervalle d’une minute nœud demande Arduino pour prendre des lectures et le transmettre nœud MQTT. Ces valeurs sont ensuite consignés dans les nuages.
4) Invoking actionneurs - à recevoir des appels de l’action de l’App comme modifier des paramètres ou un commutateur de valeurs, prenait des photos etc sont communiquées à l’Arduino.