Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Programa MKR Over-the-Air + Goodies:Controle de Voz, etc.

Componentes e suprimentos

Arduino MKR1000
Isso é necessário para todos os projetos OTA. Os componentes abaixo são necessários apenas para o caso de uso / amostra:o termostato do ambiente.
× 1
Sensor DHT11 de Temperatura e Umidade (4 pinos)
× 1
Relé (genérico)
× 1
Breadboard (genérico)
× 1

Aplicativos e serviços online

Arduino IDE
Microsoft Azure
Microsoft Azure IoT Hub
Microsoft Visual Studio 2015
Usando UWP (Plataforma Universal do Windows)
Microsoft Azure
Microsoft Project Oxford (API de reconhecimento de fala)

Sobre este projeto





Visão geral


Nossa contribuição tem 2 partes.

Parte 1: Uma coleção de componentes reutilizáveis. Eles podem servir como uma estrutura para a construção de vários projetos de IoT que potencializam recursos úteis:
  • Programação Over-the-Air (OTA) do Arduino MKR1000 (ou seja, fazer upload do código binário compilado). Vários métodos estão disponíveis:por exemplo, de dentro da LAN ou da Internet, com segurança, via Microsoft Azure IoT Hub.
  • Plataforma Universal do Windows (UWP) aplicativo cliente , com uma interface de usuário agradável. Ele se comunica com segurança com a placa por meio do Hub IoT do Azure.
  • Reconhecimento de voz (no aplicativo cliente), por meio da API de reconhecimento de fala fornecida pelo Microsoft Project Oxford. Os comandos falados podem ser usados ​​para controlar a placa por meio do Hub IoT do Azure.

Parte 2: Um caso de uso / amostra, criado com os componentes acima:um termostato de ambiente, controlado por telefone (aplicativo UWP). Nós o construímos para servir de exemplo de como usar os componentes. E fomos ainda mais longe:instalámos no nosso escritório e, à medida que vamos escrevendo estas linhas, o sistema de aquecimento do escritório é controlado por este mesmo projecto.





Parte 1:Os componentes reutilizáveis ​​para OTA





Princípio de funcionamento da OTA


Desenvolvemos os seguintes componentes:

Para Arduino IDE:
  • uma biblioteca de tempo de execução . Ele lida com a mecânica de upload e cópia do firmware.
  • um pacote de "placas" personalizado . Ele tem algumas configurações relacionadas ao vinculador, necessárias para a biblioteca.
  • um plug-in Arduino IDE . Ele envia sinais de download e esboços binários compilados (também conhecido como firmware). Ele se comunica com a placa, Azure IoT Hub, o aplicativo de servidor do dispatcher IoT (cf. abaixo).

Para ser instalado em um servidor de terceiros (por exemplo, como o Microsoft Azure Web Site):
  • Expedidor IoT , um aplicativo PHP + MySQL que armazena e fornece firmware.





Princípio de funcionamento do aplicativo UWP


Nós desenvolvemos:
  • Um aplicativo cliente UWP, escrito em C #. Ele se comunica com a placa por meio do Azure IoT Hub e reconhece comandos falados por meio do Microsoft Project Oxford. Ele pode ser usado como ponto de partida para vários projetos.





OTA DEMO





Parte 2:Caso de uso / amostra:Termostato de sala


Como mencionado antes, desenvolvemos o termostato de ambiente para demonstrar como podemos combinar nossos componentes para construir um projeto de vida real. No nosso caso, chegamos a colocá-lo em produção, ou seja, ele controla o aquecimento do nosso escritório.

A lógica é simples:
  • quando a temperatura cai abaixo da temperatura predefinida => o relé (ou seja, aquecimento) liga
  • quando a temperatura está acima da temperatura predefinida => o relé / aquecimento é DESLIGADO
  • a interface do usuário / cliente UWP:mostra o status e define a temperatura predefinida (via caixa de texto ou voz)





1. Faça o projeto (hardware)


Não fornecemos um diagrama de Fritzing, pois usamos um Beta MKR1000. O layout do pino pode mudar no futuro.





2. Configure o Dev Environment para OTA e Azure IoT Hub

  • Instale o Arduino IDE, pelo menos a versão 1.6.7
  • Instale placas Arduino SAMD. No Arduino IDE: Tools> Board:...> Boards Manager ...> selecione "Arduino SAMD Boards"
  • Baixe e descompacte algumas bibliotecas em: SKETCHBOOK_DIR (por exemplo, Documentos / Arduino) / bibliotecas :WiFi101, AzureIoT, RTCZero.

E agora nossos componentes:
  • Baixe e descompacte a biblioteca de tempo de execução OTA em:SKETCHBOOK_DIR (por exemplo, Documentos / Arduino) / bibliotecas.
  • Faça download do nosso pacote personalizado de "placas" . Crie um diretório: SKETCHBOOK_DIR (por exemplo, Documentos / Arduino) / hardware / flower-platform . Descompacte o arquivo baixado aqui.
  • Faça download do plug-in IDE do Arduino . Crie um diretório:SKETCHBOOK_DIR (por exemplo, Documentos / Arduino) / ferramentas. Descompacte o arquivo baixado aqui.

Para OTA seguro via Internet / HTTPS:
  • Faça download do IoT Dispatcher e instale-o em um servidor PHP + MySQL. Por exemplo. temos instruções sobre como implantar na nuvem do Microsoft Azure.





3. Test Drive OTA


Existem 3 métodos de upload OTA.

1) Experimente OTA via LAN: Arquivo> Exemplos> Arduino-FlowerOTA> WiFiOTA . Altere as linhas comentadas com "// CHANGE ME" consequentemente, a fim de configurar o endereço IP, parâmetros WiFi, plain / ssl, assinatura do servidor. Em seguida, Flower Platform> Upload OTA ...

Certifique-se de usar:
  Cliente WiFiClient;  

e (cf. a "assinatura do servidor" na janela pop-up).
  ota.begin (&udp, &client, "1hvtdliHzKLjMykvfW1MfPwsFthUU / YfjN8fOZJ3Qhc =");  

NOTA :para todos os 3 métodos, você precisa fazer um upload inicial via USB. Depois disso, você pode continuar a usar OTA, com o método de sua escolha.

2) Experimente OTA por meio de despachante seguro , usando o mesmo arquivo:

Certifique-se de usar:
  Cliente WiFiSSLClient;  

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

3) Experimente OTA via distribuidor seguro + Hub IoT do Azure . Arquivo> Exemplos> Arduino-FlowerOTA> WiFiOTA-AzureIoTHub. Novamente:não se esqueça de ajustar as linhas comentadas com " // MUDE-ME "

4) Experimente o caso de uso / amostra:o termostato ambiente. Está disponível aqui.





4. Teste a interface do usuário (aplicativo UWP c / Azure IoT Hub e reconhecimento de fala)


O projeto UWP está disponível aqui. O Visual Studio 2015 e o Windows 10 são necessários.

Certifique-se de alterar os parâmetros de conexão cf. sua conta do Azure:

SendCloudToDevice.cs
  class SendCloudToDevice {// CHANGE ME:Substitua as constantes abaixo, por valores reais (retirados de seu Portal do Azure) private const string HOST ="???. azure-devices.net"; string const privada DEVICE_ID ="???"; string const privada DEVICE_KEY ="???"; string estática sharedAccessKeyName ="???"; static string sharedAccessKey ="???";  

ReadDeviceToCloud.cs
  class ReadDeviceToCloud {// Substitua as constantes abaixo, pelos valores reais (retirados do Portal do Azure) private static string ConnectionString ="???"; string estática privada eventHubEntity ="???";  

Este código pode servir como ponto de partida para aplicativos cliente para vários projetos. Você só precisa ajustar a interface do usuário de acordo com o seu projeto.





Etapas futuras


Placas como a Arduino MKR1000, que possuem razoável poder de processamento e recursos de comunicação SSL, representam um grande passo à frente para a comunidade de fabricantes.

Estamos dando continuidade ao trabalho iniciado com este projeto, a fim de desenvolver o Flower Platform IoT, um serviço online que aceleraria tremendamente os projetos de IoT:
  • desenvolvimento:uso de componentes OOP e linguagem de programação gráfica (que podem ser misturados com código escrito à mão);
  • implantação:uso de OTA.

Aproveitando a plataforma de flores, planejamos criar uma base que se concentrará em ensinar crianças a fazer e programar projetos de IoT.

Código

Biblioteca de tempo de execução que lida com a mecânica de upload e cópia do firmware (C ++)
https://github.com/flower-platform/Arduino-FlowerOTA
Pacote de "placas" personalizado com algumas configurações relacionadas ao vinculador, necessárias para a biblioteca (script do vinculador)
https://github.com/flower-platform/ArduinoCore-samd-OTA
Plug-in IDE do Arduino. Comunica-se com a placa, expedidor e IoT Hub (Java)
https://github.com/flower-platform/flower-platform-arduino-ide-plugin
Expedidor IoT. Armazena e fornece firmware necessário durante OTA (PHP + MySQL)
https://github.com/flower-platform/flower-platform-iot-dispatcher
Caso de uso / amostra do termostato de ambiente (C ++)
https://github.com/flower-platform/ThermostatIoT
Cliente UWP, para o caso de uso / amostra do termostato de ambiente (C #, HTML, JavaScript)
https://github.com/flower-platform/thermostat-uwp-ui

Esquemas

Não fornecemos um diagrama de Fritzing, pois usamos um Beta MKR1000. O layout do pino pode mudar no futuro.

Processo de manufatura

  1. Como se tornar um Microsoft Certified Azure Administrator?
  2. COMO É BOM É AZURE COMO UMA ESCOLHA DE CARREIRA
  3. Token Blockchain e Serviços de Gerenciamento de Dados do Microsoft Azure
  4. Folha de referências do Microsoft Azure 2020
  5. Conecte o Azure ao Power BI:um guia abrangente
  6. Pílula anticoncepcional
  7. Algoritmos e aumento de potência do hardware do controle de voz
  8. Controle de enchimento da piscina
  9. Microsoft lança Azure Edge Zones para aplicativos 5G
  10. unidade de sustentabilidade da Emerson com plataforma de controle de nuvem