Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Programme MKR Over-the-Air + Goodies :Contrôle vocal, etc.

Composants et fournitures

Arduino MKR1000
Ceci est nécessaire pour tous les projets OTA. Les composants ci-dessous ne sont nécessaires que pour le cas d'utilisation/échantillon :le thermostat d'ambiance.
× 1
Capteur de température et d'humidité DHT11 (4 broches)
× 1
Relais (générique)
× 1
Planche à pain (générique)
× 1

Applications et services en ligne

Arduino IDE
Microsoft Azure
Microsoft Azure IoT Hub
Microsoft Visual Studio 2015
Utilisation de UWP (Universal Windows Platform)
Microsoft Azure
Microsoft Project Oxford (API de reconnaissance vocale)

À propos de ce projet

Présentation

Notre contribution comporte 2 parties.

Partie 1 : Une collection de composants réutilisables. Ils peuvent servir de cadre pour la création de divers projets IoT qui exploitent des fonctionnalités utiles :

  • Programmation en direct (OTA) de l'Arduino MKR1000 (c'est-à-dire en téléchargeant le code binaire compilé). Plusieurs méthodes sont disponibles :par ex. depuis le réseau local ou depuis Internet, en toute sécurité, via Microsoft Azure IoT Hub.
  • Application cliente Plateforme Windows universelle (UWP) , avec une interface utilisateur agréable. Il communique en toute sécurité avec le tableau via Azure IoT Hub.
  • Reconnaissance vocale (sur l'application cliente), via l'API de reconnaissance vocale fournie par Microsoft Project Oxford. Les commandes vocales peuvent être utilisées pour contrôler la carte via Azure IoT Hub.

Partie 2 : Un cas d'utilisation/un échantillon, construit avec les composants ci-dessus :un thermostat d'ambiance, contrôlé par téléphone (application UWP). Nous l'avons construit pour servir d'exemple d'utilisation des composants. Et nous sommes allés encore plus loin :nous l'avons installé dans notre bureau, et au moment où nous écrivons ces lignes, le système de chauffage du bureau est contrôlé par ce même projet.

Partie 1 :Les composants réutilisables pour l'OTA

Principe de fonctionnement de l'OTA

Nous avons développé les composants suivants :

Pour l'IDE Arduino :

  • une bibliothèque d'exécution . Il gère les mécanismes de téléchargement et de copie du micrologiciel.
  • un package "planches" personnalisé . Il a quelques paramètres liés à l'éditeur de liens, nécessaires à la bibliothèque.
  • un plug-in IDE Arduino . Il envoie des signaux de téléchargement et des esquisses binaires compilées (alias firmware). Il communique avec la carte, Azure IoT Hub, l'application serveur répartiteur IoT (cf. ci-dessous).

À installer sur un serveur tiers (par exemple, comme le site Web Microsoft Azure) :

  • Répartiteur IoT , une application PHP + MySQL qui stocke et sert le firmware.

Principe de fonctionnement de l'application UWP

Nous avons développé :

  • Une application cliente UWP, écrite en C#. Il communique avec la carte via Azure IoT Hub et reconnaît les commandes vocales via Microsoft Project Oxford. Il peut être utilisé comme point de départ pour divers projets.

DÉMO OTA

Partie 2 :Cas d'utilisation/exemple : Thermostat d'ambiance

Comme mentionné précédemment, nous avons développé le thermostat d'ambiance pour démontrer comment on peut combiner nos composants pour construire un projet réel. Dans notre cas, nous le mettons même en production, c'est-à-dire qu'il contrôle le chauffage de notre bureau.

La logique est simple :

  • lorsque la température descend en dessous de la température préréglée => le relais (c'est-à-dire le chauffage) s'active
  • quand la température est supérieure à la température préréglée => le relais/chauffage s'éteint
  • l'interface utilisateur/client UWP :affiche l'état et définit la température prédéfinie (via la zone de texte ou la voix)

1. Faire le projet (Matériel)

Nous ne fournissons pas de diagramme de Fritzing, car nous utilisons un Beta MKR1000. La disposition des broches peut changer à l'avenir.

2. Configurer l'environnement de développement pour OTA et Azure IoT Hub

  • Installez l'IDE Arduino, au moins la version 1.6.7
  • Installez les cartes Arduino SAMD. À partir de l'IDE Arduino :Outils > Carte :... > Gestionnaire de cartes... > sélectionnez « Cartes Arduino SAMD »
  • Téléchargez et décompressez certaines bibliothèques dans :SKETCHBOOK_DIR (par exemple, Documents/Arduino)/libraries :WiFi101, AzureIoT, RTZero.

Et maintenant nos composants :

  • Téléchargez et décompressez la bibliothèque d'exécution OTA dans :SKETCHBOOK_DIR (par exemple, Documents/Arduino)/libraries.
  • Téléchargez notre package "planches" personnalisées . Créez un répertoire :SKETCHBOOK_DIR (par exemple Documents/Arduino)/hardware/flower-platform . Décompressez le fichier téléchargé ici.
  • Téléchargez le plugin IDE Arduino . Créez un répertoire :SKETCHBOOK_DIR (par exemple Documents/Arduino)/tools. Décompressez le fichier téléchargé ici.

Pour une OTA sécurisée via Internet/HTTPS :

  • Télécharger Dispatcher IoT et installez-le sur un serveur PHP + MySQL. Par exemple. nous avons des instructions sur la façon de déployer dans le cloud Microsoft Azure.

3. Testez l'OTA

Il existe 3 méthodes de téléchargement OTA.

1) Essayez OTA via LAN : Fichier> Exemples> Arduino-FlowerOTA> WiFiOTA . Modifiez les lignes commentées avec "// CHANGE ME" en conséquence, afin de configurer l'adresse IP, les paramètres WiFi, plain/ssl, la signature du serveur. Ensuite, Flower Platform> Upload OTA ...

Assurez-vous d'utiliser :

Client WiFiClient ; 

et (cf. la "signature du serveur" de la fenêtre popup).

ota.begin(&udp, &client, "1hvtdliHzKLjMykvfW1MfPwsFthUU/YfjN8fOZJ3Qhc="); 

REMARQUE :pour les 3 méthodes, vous devez effectuer un premier téléchargement via USB. Après cela, vous pouvez continuer à utiliser l'OTA, avec la méthode de votre choix.

2) Essayez OTA via un répartiteur sécurisé , en utilisant le même fichier :

Assurez-vous d'utiliser :

Client WiFiSSLClient ; 

et

ota.begin(&udp, &client, "my-iot-dispatcher-upload-key"); // cf. configuré dans IoT Dispatcher (PHP) 

3) Essayez l'OTA via un répartiteur sécurisé + Azure IoT Hub . Fichier> Exemples> Arduino-FlowerOTA> WiFiOTA-AzureIoTHub. Encore une fois :n'oubliez pas d'ajuster les lignes commentées avec "// CHANGE ME ".

4) Essayez le cas d'utilisation/exemple :le thermostat d'ambiance. Il est disponible ici.

4. Testez l'interface utilisateur (application UWP avec Azure IoT Hub et reconnaissance vocale)

Le projet UWP est disponible ici. Visual Studio 2015 et Windows 10 sont nécessaires.

Assurez-vous de modifier les paramètres de connexion cf. votre compte Azure :

SendCloudToDevice.cs

 class SendCloudToDevice { // CHANGE ME :veuillez remplacer les constantes ci-dessous par les valeurs réelles (tirées de votre portail Azure) private const string HOST ="???.azure-devices.net"; chaîne const privée DEVICE_ID ="???" ; chaîne const privée DEVICE_KEY ="???" ; chaîne statique sharedAccessKeyName ="???" ; chaîne statique sharedAccessKey ="???" ; 

ReadDeviceToCloud.cs

 class ReadDeviceToCloud { // Veuillez remplacer les constantes ci-dessous par des valeurs réelles (tirées de votre portail Azure) private static string ConnectionString ="???"; chaîne statique privée eventHubEntity ="???" ; 

Ce code peut servir de point de départ pour les applications clientes pour divers projets. Il vous suffit d'adapter l'interface utilisateur en fonction de votre projet.

Étapes futures

Les cartes telles que l'Arduino MKR1000, qui ont une puissance de traitement raisonnable et des capacités de communication SSL, représentent un énorme pas en avant pour la communauté des fabricants.

Nous poursuivons le travail commencé avec ce projet, afin de développer Flower Platform IoT, un service en ligne qui accélérerait énormément les projets IoT :

  • développement :utilisation de composants POO et d'un langage de programmation graphique (qui peut être mélangé avec du code écrit à la main );
  • déploiement :utilisation de l'OTA.

En tirant parti de la plate-forme Flower, nous prévoyons de créer une fondation qui se concentrera sur l'enseignement aux jeunes enfants pour créer et programmer des projets IoT.

Code

Bibliothèque d'exécution gérant les mécanismes de téléchargement et de copie du micrologiciel (C++)
https://github.com/flower-platform/Arduino-FlowerOTA
Package "boards" personnalisé ayant quelques paramètres liés à l'éditeur de liens, requis par la bibliothèque (script de l'éditeur de liens)
https://github.com/flower-platform/ArduinoCore-samd-OTA
Plugin IDE Arduino. Communique avec le tableau, le répartiteur et IoT Hub (Java)
https://github.com/flower-platform/flower-platform-arduino-ide-plugin
Répartiteur IoT. Stocke et sert le firmware nécessaire pendant l'OTA (PHP + MySQL)
https://github.com/flower-platform/flower-platform-iot-dispatcher
Cas d'utilisation/exemple d'un thermostat d'ambiance (C++)
https://github.com/flower-platform/ThermostatIoT
UWP Client, pour le cas d'utilisation/exemple de thermostat d'ambiance (C#, HTML, JavaScript)
https://github.com/flower-platform/thermostat-uwp-ui

Schémas

Nous ne fournissons pas de diagramme de Fritzing, car nous utilisons un Beta MKR1000. La disposition des broches peut changer à l'avenir.

Processus de fabrication

  1. Comment devenir un administrateur Azure certifié Microsoft ?
  2. À quel point l'azur est bon comme choix de carrière
  3. Services de gestion de données et de jetons Blockchain Microsoft Azure
  4. Microsoft Azure Cheat Sheet 2020
  5. Connecter Azure à Power BI :un guide complet
  6. pilule contraceptive
  7. Contrôle de remplissage de la piscine
  8. Microsoft lance Azure Edge Zones pour les applications 5G
  9. Le développement durable d'Emerson avec la plate-forme de contrôle cloud