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

Sensor de temperatura e umidade MKR1000

Componentes e suprimentos

Arduino MKR1000
× 1
Sensor de temperatura DHT22
× 1

Aplicativos e serviços online

Microsoft Azure
Arduino IDE
Microsoft Visual Studio 2015

Sobre este projeto


Paul DeCarlo tem um ótimo artigo sobre o envio de dados meteorológicos de um Particle Photon para o Microsoft Azure. Eu queria duplicar isso com o novo Arduino MKR1000.

O Photon usa um webhook para enviar dados da nuvem de partículas para o Azure. Como o MKR1000 oferece suporte a HTTPS, os dados podem ser enviados diretamente para o Azure. Este guia conectará seu MKR1000 ao Azure e reutilizará grande parte do código do servidor do projeto Microsoft Connect the Dots.





Hardware


Um sensor DHT22 é usado para medir temperatura e umidade. Você também pode modificar o código para oferecer suporte ao sensor DHT11. Conecte o sensor DHT na placa de ensaio. Envie 3,3 volts do MKR1000 para o primeiro pino. Coloque um resistor pullup de 10.000Ω de 3,3 V ao pino 2. Conecte o pino 3 ao aterramento. Passe um fio do pino 2 no DHT22 ao pino 6 no MKR1000.

Para obter mais informações sobre o DHT22, consulte o tutorial do DHT da Adafruit.





IDE Arduino


Abra o IDE do Arduino. Use o gerenciador de placas para instalar a placa MKR1000. Use o Library Manager para instalar a biblioteca WiFi101.





HTTPS


O Arduino MKR1000 suporta HTTPS, mas precisamos instalar manualmente os certificados para os sites que visitaremos. Isso é necessário porque a memória do dispositivo é limitada. Este é um processo de duas etapas. Primeiro carregamos um esboço no quadro e, em seguida, executamos um programa em nosso computador para fazer o upload dos certificados.

Use o Arduino IDE para carregar o Firmware Updater Sketch em sua placa.

Baixe o atualizador de firmware WiFi101. Descompacte o arquivo e execute winc1500-uploader-gui.exe.

O certificado HTTPS para hubs de eventos do Azure é emitido para servicebus.windows.net, portanto, qualquer URL de barramento de serviço deve funcionar. Digite ctd-ns.servicebus.windows.net no campo de texto. Escolha sua porta COM e carregue os certificados.





Arduino Sketch


Clone ou baixe o esboço do Arudino em https://github.com/don/MKR1000-Azure. Edite a guia ssid e altere o ssid [] e senha [] para corresponder às suas configurações de rede. Faça upload do esboço para a placa MKR1000.

Se você receber erros, pode precisar usar o gerenciador de biblioteca Arduino (Sketch -> Incluir biblioteca -> Gerenciar bibliotecas ...) para instalar a "biblioteca de sensores DHT", ArduinoJson ou biblioteca RTCZero.

Abra o Arduino Serial Monitor (Ferramentas -> Serial Monitor) e certifique-se de que os dados sejam enviados ao Azure.

O esboço reutiliza um hub de eventos do projeto conectar os pontos. Isso significa que podemos usar o aplicativo Web do Azure existente para visualizar nossos dados. Abra http://connectthedotsdx.azurewebsites.net/ em seu navegador. Você deve ver os dados do MKR1000. Como este é um hub de eventos "público", os dados do seu sensor serão misturados com outros sensores. Se várias pessoas estiverem executando este código MKR1000, você pode querer alterar o displayname ou guid no createJSON função.





Criação de seu próprio Centro de Eventos


Executar no hub de eventos existente está OK, mas você também pode criar seu próprio hub de eventos para seus dados. Isso requer Visual Studio e uma assinatura do Azure. A edição da Comunidade Visual Studio 2015 gratuita funciona bem. Você também pode se inscrever para uma assinatura de avaliação gratuita do Azure.

Estaremos usando o código do projeto Connect the Dots. Clone o projeto com o git ou use o botão Download ZIP na página do Github.

git clone https://github.com/Azure/connectthedots.git

Você pode seguir as instruções da Microsoft para criar os recursos do Azure, o que leva um tempo, mas fornece uma compreensão profunda de como as peças são colocadas juntas. Sugiro usar o projeto AzurePrep do repositório clonado para criar automaticamente esses recursos.

Use o Visual Studio e abra a solução AzurePrep em connectthedots \ Azure \ AzurePrep. Execute o projeto AzurePrep no Modo de Liberação .

O aplicativo abrirá algumas janelas solicitando que você faça logon no Azure e conceda permissão aos seus recursos. Depois disso, responda a um monte de perguntas no terminal para criar os recursos.

Você precisa escolher um nome para os recursos. A documentação conecte os pontos recomenda o nome ctd (conecte os pontos) + suas iniciais. Por exemplo, escolhi "ctddc".

De volta ao Visual Studio, execute o destino CreateWebConfig do AzurePrep para criar um arquivo de configuração para o site. Faça o login, siga as instruções. Um arquivo web.config será gravado na área de trabalho.

Copie web.config de sua área de trabalho para o projeto de site connectthedots, connectthedots \ Azure \ WebSite \ ConnectTheDotsWebSite.

Abra a solução ConnectTheDotsWebsite em connectthedots \ Azure \ WebSite no Visual Studio.

Você precisa adicionar o novo arquivo web.config ao projeto. Clique com o botão direito na solução no Solution Explorer. Escolha "Adicionar -> Item Existente ..." no menu. Navegue até ConnectTheDotsWebSite e adicione web.config.

Execute o projeto no Microsoft Edge. Você não verá nenhum dado até que atualizemos o esboço no MKR1000.

O esboço do Arduino precisa de uma chave SAS para acessar os recursos do Azure. Use a ferramenta Event Hubs Signature Generator de Sandrino Di Mattia para gerar a chave no formato correto. Baixe em https://github.com/sandrinodimattia/RedDog/releases. Descompacte a ferramenta e inicie RedDog.ServiceBus.EventHubs.SignatureGenerator.

Preencha a IU usando o namespace que você criou antes. Como usei ctddc ao criar os recursos do Azure, meu namespace é ctddc-ns. O nome do hub é ehdevices. O editor e o nome da chave do remetente devem ser D1. Defini o Token TTL para 1 ano (525.600 minutos). A assinatura deve ser válida por toda a vida útil do dispositivo.

Você precisa fazer logon no Portal do Azure para obter a chave do remetente. No menu à esquerda, escolha navegar e use o filtro para localizar hubs de eventos.

Os hubs de eventos abrem uma nova janela no antigo portal do Azure.
  • Clique no namespace que você criou.
  • Escolha centros de eventos
  • Escolha dispositivos eletrônicos
  • Escolha configurar
  • Role até o final e copie a chave primária para D1

Volte para a ferramenta Signature Generator e cole a chave no Sender Key Field. Clique no botão Gerar para gerar uma assinatura.

Copie a assinatura gerada.

Abra o esboço MKR1000-Azure no Arduino IDE novamente. Precisamos substituir o hostname [] e authSAS [] variáveis ​​com nossas novas configurações de hub de eventos. Cole a assinatura gerada no char authSAS [] campo. Edite o campo do nome do host para corresponder ao seu nome do host. por exemplo. char hostname [] ="ctddc-ns.servicebus.windows.net";

Salve o esboço e carregue-o em seu MKR1000. Opcionalmente, abra o Serial Monitor e verifique se os dados são enviados ao Azure.

ALT + TAB para conectar o site dos pontos em execução no Microsoft Edge e você deve começar a ver os dados do seu dispositivo.





IoT Hub


O hub IoT do Azure é mais recente do que o hub de eventos e pode ser mais apropriado para o seu projeto. O Hub IoT suporta mensagens de dispositivo para nuvem (como este projeto) e mensagens de nuvem para dispositivo.

Use o Portal do Azure para criar um novo Hub IoT.

O Device Explorer é usado para gerar assinaturas para acessar o hub IoT. Baixe SetupDeviceExplorer.msi em https://github.com/Azure/azure-iot-sdks/releases.

Volte para o Portal do Azure e abra o novo hub Iot. Clique no ícone da chave, selecione a linha iothubowner, copie a string de conexão para a chave primária.

Abra o Device Explorer, cole a string de conexão e clique em atualizar.

Clique na guia Gerenciamento. Clique no botão criar em Ações. Insira D1 como ID do dispositivo e clique em Criar.

Destaque a linha D1 e clique no botão SAS Token e gere um novo token.

Abra o esboço MKR1000-Azure no IDE do Arduino.

Substitua o hostname [] com o nome do hub IoT + ".azure-devices.net". Atualize authSAS [] com o valor gerado com o Device Explorer. Certifique-se de copiar apenas a parte do SAS Token após "SharedAcessSignature =". Ajuste o URI para apontar para o hub IoT.
  char hostname [] ="hacksterdemo.azure-devices.net"; char authSAS [] ="SharedAccessSignature sr =hacksterdemo.azure-devices.net% 2fdevices% 2fD1 &sig =jnyTV8j2% 2bY9BJ9fyEbdb7zu3eAV 3dcRyQ 1490944761 "; String deviceName =" D1 "; String uri =" / devices / "+ deviceName +" / messages / events? Api-version =2016-02-03 ";  




Edite o código na função sendEvent que verifica se há uma resposta válida. O hub de eventos envia um HTTP 201 para indicar o sucesso. O hub IoT envia um HTTP 204.

Mudar

if (response.startsWith ("HTTP / 1.1 201")) {

Para

if (response.startsWith ("HTTP / 1.1 204")) {

Use o IDE do Arduino para fazer o upload do esboço para o seu Arduino MKR1000.

Alterne a guia Dados no Device Explorer. Clique no botão do monitor para visualizar os dados enviados ao Event Hub.

Como este projeto está enviando dados do dispositivo para a nuvem, estou usando HTTP POST para enviar os dados. Também existem bibliotecas para enviar e receber dados com o Hub IoT do Azure. Infelizmente, o IMO ainda não é muito parecido com o Arduino ou amigável. Se você deseja que seu dispositivo receba dados do Azure, as bibliotecas podem ser mais úteis. Como alternativa, verifique a postagem do blog de Mohan Palanisamy sobre o envio de dados do hub IoT para um MKR1000.

Esta postagem mostrou como enviar dados de sensor do MRK1000 para os Hubs de Eventos do Azure e Iot Hub. Usamos a visualização de código existente e representamos graficamente os dados. Confira o projeto conectar os pontos para obter mais maneiras de escrever código para armazenar, manipular e visualizar seus dados com o Azure.

Agora que você terminou, pode encerrar ou excluir recursos que não está usando para limitar a quantia cobrada. A solução AzurePrep tem um projeto ClearResources para ajudá-lo a remover os serviços do Azure.

Código

Explorador de dispositivos
Ferramenta para IoT Hub. Baixe SetupDeviceExplorer.msihttps://github.com/Azure/azure-iot-sdks/releases
Conecte os pontos
Código de amostra do Azurehttps://github.com/Azure/connectthedots
MKR1000-Arduino
Código-fonte do Arduinohttps://github.com/don/MKR1000-Azure
Atualizador de firmware WiFi101
Ferramenta para adicionar certificados TLS a MKR1000https://github.com/arduino-libraries/WiFi101-FirmwareUpdater/releases/latest
Gerador de assinatura de hubs de eventos
Ferramenta para gerar credenciais do Azure para MKR1000https://github.com/sandrinodimattia/RedDog/releases

Esquemas

Postando uma foto, já que não há parte do MKR1000 Fritzing. Consulte o texto do artigo para obter detalhes sobre a fiação.

Processo de manufatura

  1. Sensor Arduino - Tipos e Aplicações
  2. Sensor de umidade funcionando e suas aplicações
  3. Sensor DHT11 e seu funcionamento
  4. Aeroponia com Raspberry Pi e sensor de umidade
  5. Como verificar e calibrar um sensor de umidade
  6. Sensor DHT11 com LEDs e um alto-falante Piezo
  7. Registrador de dados de temperatura e umidade
  8. Arduino Temp. Monitor e relógio em tempo real com tela 3.2
  9. Arduino Cloud Sensor Tower
  10. BME280 Temperatura, Umidade e Pressão na Tela Nextion