Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Programa MKR Over-the-Air + extras:control por voz, etc.

Componentes y suministros

Arduino MKR1000
Esto es necesario para todos los proyectos OTA. Los componentes a continuación son necesarios solo para el caso de uso / muestra:el termostato de ambiente.
× 1
Sensor de temperatura y humedad DHT11 (4 pines)
× 1
Retransmisión (genérico)
× 1
Breadboard (genérico)
× 1

Aplicaciones y servicios en línea

Arduino IDE
Microsoft Azure
Microsoft Azure IoT Hub
Microsoft Visual Studio 2015
Uso de UWP (Plataforma universal de Windows)
Microsoft Azure
Microsoft Project Oxford (API de reconocimiento de voz)

Acerca de este proyecto

Descripción general

Nuestra contribución tiene 2 partes.

Parte 1: Una colección de componentes reutilizables. Pueden servir como marco para construir varios proyectos de IoT que aprovechan características útiles:

  • Programación inalámbrica (OTA) del Arduino MKR1000 (es decir, cargar el código binario compilado). Hay varios métodos disponibles:p. Ej. desde LAN o desde Internet, de forma segura, a través de Microsoft Azure IoT Hub.
  • Aplicación cliente de la Plataforma universal de Windows (UWP) , con una agradable interfaz de usuario. Se comunica de forma segura con la placa a través de Azure IoT Hub.
  • Reconocimiento de voz (en la aplicación cliente), a través de la API de reconocimiento de voz proporcionada por Microsoft Project Oxford. Los comandos hablados se pueden usar para controlar la placa a través de Azure IoT Hub.

Parte 2: Un caso de uso / muestra, creado con los componentes anteriores:un termostato de habitación, controlado por teléfono (aplicación para UWP). Lo hemos construido para que sirva de ejemplo de cómo utilizar los componentes. Y fuimos aún más lejos:lo hemos instalado en nuestra oficina, y mientras escribimos estas líneas, el sistema de calefacción de la oficina está controlado por este mismo proyecto.

Parte 1:Los componentes reutilizables para OTA

Principio de funcionamiento de OTA

Hemos desarrollado los siguientes componentes:

Para Arduino IDE:

  • una biblioteca en tiempo de ejecución . Maneja la carga de firmware y la mecánica de copia.
  • un paquete de "tableros" personalizados . Tiene algunas configuraciones relacionadas con el vinculador, necesarias para la biblioteca.
  • un complemento IDE de Arduino . Envía señales de descarga y bocetos binarios compilados (también conocido como firmware). Se comunica con la placa, Azure IoT Hub, la aplicación del servidor del despachador de IoT (véase a continuación).

Para ser instalado en un servidor de terceros (por ejemplo, como el sitio web de Microsoft Azure):

  • Despachador de IoT , una aplicación PHP + MySQL que almacena y sirve firmware.

Principio de funcionamiento de la aplicación para UWP

Hemos desarrollado:

  • Una aplicación cliente para UWP, escrita en C #. Se comunica con la placa a través de Azure IoT Hub y reconoce los comandos hablados a través de Microsoft Project Oxford. Se puede utilizar como punto de partida para varios proyectos.

DEMOSTRACIÓN OTA

Parte 2:Caso de uso / muestra:termostato de ambiente

Como se mencionó anteriormente, desarrollamos el termostato de ambiente para demostrar cómo se pueden combinar nuestros componentes para construir un proyecto de la vida real. En nuestro caso, incluso lo ponemos en producción, es decir, controla la calefacción de nuestra oficina.

La lógica es simple:

  • cuando la temperatura desciende por debajo de la temperatura preestablecida => el relé (es decir, la calefacción) se enciende
  • cuando la temperatura está por encima de la temperatura preestablecida => el relé / calefacción se apaga
  • la interfaz de usuario / cliente de UWP:muestra el estado y establece la temperatura preestablecida (mediante cuadro de texto o voz)

1. Realice el proyecto (hardware)

No proporcionamos un diagrama de Fritzing, ya que usamos un Beta MKR1000. El diseño de los pines puede cambiar en el futuro.

2. Configure el entorno de desarrollo para OTA y Azure IoT Hub

  • Instale Arduino IDE, al menos la versión 1.6.7
  • Instale las placas SAMD de Arduino. Desde Arduino IDE: Tools> Board:...> Boards Manager ...> seleccione "Arduino SAMD Boards"
  • Descargue y descomprima algunas bibliotecas en: SKETCHBOOK_DIR (por ejemplo, Documentos / Arduino) / bibliotecas :WiFi101, AzureIoT, RTCZero.

Y ahora nuestros componentes:

  • Descargue y descomprima la biblioteca en tiempo de ejecución de OTA en:SKETCHBOOK_DIR (por ejemplo, Documentos / Arduino) / bibliotecas.
  • Descargue nuestro paquete de "tableros" personalizados . Cree un directorio: SKETCHBOOK_DIR (por ejemplo, Documentos / Arduino) / hardware / flower-platform . Descomprima el archivo descargado aquí.
  • Descargue el complemento IDE de Arduino . Cree un directorio:SKETCHBOOK_DIR (por ejemplo, Documentos / Arduino) / herramientas. Descomprima el archivo descargado aquí.

Para OTA seguro a través de Internet / HTTPS:

  • Descarga IoT Dispatcher e instalarlo en un servidor PHP + MySQL. P.ej. tenemos instrucciones sobre cómo implementar en la nube de Microsoft Azure.

3. Prueba de conducción OTA

Hay 3 métodos de carga OTA.

1) Pruebe OTA a través de LAN: Archivo> Ejemplos> Arduino-FlowerOTA> WiFiOTA . Cambia las líneas comentadas con "// CAMBIARME" en consecuencia, para configurar la dirección IP, los parámetros WiFi, plain / ssl, la firma del servidor. Luego Flower Platform> Subir OTA ...

Asegúrese de utilizar:

  Cliente WiFiClient;  

y (cf. la "firma del servidor" de la ventana emergente).

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

NOTA :para los 3 métodos, debe realizar una carga inicial a través de USB. Después de eso, puede continuar usando OTA, con el método que elija.

2) Pruebe OTA a través de un despachador seguro , usando el mismo archivo:

Asegúrese de utilizar:

  Cliente WiFiSSLClient;  

y

  ota.begin (&udp, &client, "my-iot-dispatcher-upload-key"); // cf. configurado dentro de IoT Dispatcher (PHP)  

3) Pruebe OTA a través de un despachador seguro + Azure IoT Hub . Archivo> Ejemplos> Arduino-FlowerOTA> WiFiOTA-AzureIoTHub. Nuevamente:no olvides ajustar las líneas comentadas con " // CAMBIARME ".

4) Pruebe el caso de uso / muestra:el termostato de habitación. Está disponible aquí.

4. Pruebe la interfaz de usuario (aplicación para UWP con Azure IoT Hub y reconocimiento de voz)

El proyecto UWP está disponible aquí. Se necesitan Visual Studio 2015 y Windows 10.

Asegúrese de cambiar los parámetros de conexión cf. su cuenta de Azure:

SendCloudToDevice.cs

  class SendCloudToDevice {// CAMBIARME:reemplace las constantes a continuación, con valores reales (tomados de su Portal de Azure) private const string HOST ="???. azure-devices.net"; cadena const privada DEVICE_ID ="???"; cadena const privada DEVICE_KEY ="???"; cadena estática sharedAccessKeyName ="???"; cadena estática sharedAccessKey ="???";  

ReadDeviceToCloud.cs

  class ReadDeviceToCloud {// Reemplace las constantes a continuación, con valores reales (tomados de su Portal de Azure) private static string ConnectionString ="???"; cadena estática privada eventHubEntity ="???";  

Este código puede servir como punto de partida para aplicaciones cliente para varios proyectos. Solo necesita ajustar la interfaz de usuario de acuerdo con su proyecto.

Pasos futuros

Las placas como la Arduino MKR1000, que tienen una potencia de procesamiento razonable y capacidades de comunicación SSL, representan un gran paso adelante para la comunidad de fabricantes.

Continuamos el trabajo iniciado con este proyecto, con el fin de desarrollar Flower Platform IoT, un servicio en línea que aceleraría enormemente los proyectos de IoT:

  • desarrollo:uso de componentes de programación orientada a objetos y lenguaje de programación gráfico (que se puede mezclar con código escrito a mano);
  • implementación:uso de OTA.

Aprovechando la Flower Platform, planeamos crear una base que se centrará en enseñar a los niños pequeños a hacer y programar proyectos de IoT.

Código

Biblioteca en tiempo de ejecución que maneja la carga de firmware y la mecánica de copia (C ++)
https://github.com/flower-platform/Arduino-FlowerOTA
Paquete de "tableros" personalizados que tiene algunas configuraciones relacionadas con el vinculador, que necesita la biblioteca (secuencia de comandos del vinculador)
https://github.com/flower-platform/ArduinoCore-samd-OTA
Complemento IDE de Arduino. Se comunica con la placa, el despachador y IoT Hub (Java)
https://github.com/flower-platform/flower-platform-arduino-ide-plugin
Despachador de IoT. Almacena y sirve el firmware necesario durante OTA (PHP + MySQL)
https://github.com/flower-platform/flower-platform-iot-dispatcher
Ejemplo / caso de uso de termostato de habitación (C ++)
https://github.com/flower-platform/ThermostatIoT
Cliente UWP, para el caso de uso / muestra del termostato de habitación (C #, HTML, JavaScript)
https://github.com/flower-platform/thermostat-uwp-ui

Esquemas

No proporcionamos un diagrama de Fritzing, ya que usamos un Beta MKR1000. El diseño de los pines puede cambiar en el futuro.

Proceso de manufactura

  1. ¿Cómo convertirse en un administrador certificado de Microsoft Azure?
  2. LO BUENO ES AZUR COMO UNA ELECCIÓN DE CARRERA
  3. Servicios de gestión de datos y token de cadena de bloques de Microsoft Azure
  4. Hoja de referencia de Microsoft Azure 2020
  5. Conectar Azure a Power BI:una guía completa
  6. Píldora anticonceptiva
  7. Algoritmos y aumento de potencia del hardware del control por voz
  8. Control de llenado de piscinas
  9. 3 claves para recuperar el control de un programa de mantenimiento preventivo
  10. Microsoft lanza Azure Edge Zones para aplicaciones 5G
  11. La iniciativa de sostenibilidad de Emerson con la plataforma de control en la nube