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

Sensor de temperatura y humedad MKR1000

Componentes y suministros

Arduino MKR1000
× 1
Sensor de temperatura DHT22
× 1

Aplicaciones y servicios en línea

Microsoft Azure
Arduino IDE
Microsoft Visual Studio 2015

Acerca de este proyecto

Paul DeCarlo tiene un excelente artículo sobre el envío de datos meteorológicos desde un Particle Photon a Microsoft Azure. Quería duplicar esto con el nuevo Arduino MKR1000.

Photon usa un webhook para enviar datos desde la nube de partículas a Azure. Dado que el MKR1000 admite HTTPS, los datos se pueden enviar directamente a Azure. Esta guía conectará su MKR1000 a Azure y reutilizará gran parte del código del lado del servidor del proyecto Microsoft Connect the Dots.

Hardware

Se utiliza un sensor DHT22 para medir la temperatura y la humedad. También puede modificar el código para admitir el sensor DHT11. Conecte el sensor DHT en la placa de pruebas. Envíe 3.3 voltios desde el MKR1000 al primer pin. Coloque una resistencia pullup de 10,000Ω de 3.3V al pin 2. Conecte el pin 3 a tierra. Ejecute un cable desde el pin 2 en el DHT22 al pin 6 en el MKR1000.

Para obtener más información sobre DHT22, consulte el tutorial de DHT de Adafruit.

IDE de Arduino

Abra el IDE de Arduino. Utilice Boards Manager para instalar la placa MKR1000. Utilice el Administrador de bibliotecas para instalar la biblioteca WiFi101.

HTTPS

El Arduino MKR1000 admite HTTPS, pero necesitamos instalar manualmente los certificados para los sitios que visitaremos. Esto es necesario ya que la memoria del dispositivo es limitada. Este es un proceso de dos pasos. Primero cargamos un boceto en la pizarra y luego ejecutamos un programa en nuestra computadora para cargar los certificados.

Utilice el IDE de Arduino para cargar el boceto del actualizador de firmware en su placa.

Descargue el actualizador de firmware WiFi101. Descomprima el archivo y ejecute winc1500-uploader-gui.exe.

El certificado HTTPS para Azure Event Hubs se emite a servicebus.windows.net, por lo que cualquier URL de bus de servicio debería funcionar. Ingrese ctd-ns.servicebus.windows.net en el campo de texto. Elija su puerto COM y cargue los certificados.

Bosquejo de Arduino

Clona o descarga el boceto de Arudino desde https://github.com/don/MKR1000-Azure. Edite la pestaña ssid y cambie el ssid [] y contraseña [] para que coincida con la configuración de su red. Sube el boceto a tu placa MKR1000.

Si obtiene errores, es posible que deba usar el Administrador de bibliotecas de Arduino (Sketch -> Incluir biblioteca -> Administrar bibliotecas ...) para instalar la "biblioteca de sensores DHT", ArduinoJson o la biblioteca RTCZero.

Abra Arduino Serial Monitor (Herramientas -> Serial Monitor) y asegúrese de que los datos comiencen a enviarse a Azure.

El boceto reutiliza un centro de eventos del proyecto conecta los puntos. Esto significa que podemos usar la aplicación web de Azure existente para ver nuestros datos. Abra http://connectthedotsdx.azurewebsites.net/ en su navegador. Debería ver los datos de MKR1000. Dado que se trata de un centro de eventos "público", los datos de sus sensores se mezclarán con otros sensores. Si varias personas están ejecutando este código MKR1000, es posible que desee cambiar el displayname o guid en el createJSON función.

Creando su propio Event Hub

Ejecutar contra el centro de eventos existente está bien, pero también puede crear su propio centro de eventos para sus datos. Esto requiere Visual Studio y una suscripción a Azure. La edición comunitaria Free Visual Studio 2015 funciona bien. También puede registrarse para obtener una suscripción de prueba gratuita de Azure.

Usaremos código del proyecto Connect the Dots. Clona el proyecto con git o usa el botón Descargar ZIP en la página de Github.

clon de git https://github.com/Azure/connectthedots.git

Puede seguir las instrucciones de Microsoft para crear los recursos de Azure, lo que lleva un tiempo, pero le brinda una comprensión profunda de cómo se unen las piezas. Sugiero usar el proyecto AzurePrep del repositorio clonado para crear automáticamente estos recursos.

Use Visual Studio y abra la solución AzurePrep desde connectthedots \ Azure \ AzurePrep. Ejecute el proyecto AzurePrep en Modo de lanzamiento .

La aplicación abrirá algunas ventanas pidiéndole que inicie sesión en Azure y otorgue permiso a sus recursos. Después de eso, responda un montón de preguntas en la terminal para crear los recursos.

Debe elegir un nombre para los recursos. La documentación de conecta los puntos recomienda el nombre ctd (conecta los puntos) + tus iniciales. Por ejemplo, elegí "ctddc".

De vuelta en Visual Studio, ejecute el destino CreateWebConfig desde AzurePrep para crear un archivo de configuración para el sitio web. Inicie sesión, siga las indicaciones. Se escribirá un archivo web.config en el escritorio.

Copie web.config de su escritorio al proyecto del sitio web connectthedots, connectthedots \ Azure \ WebSite \ ConnectTheDotsWebSite.

Abra la solución ConnectTheDotsWebsite de connectthedots \ Azure \ WebSite en Visual Studio.

Debe agregar el nuevo archivo web.config al proyecto. Haga clic con el botón derecho en la solución en el Explorador de soluciones. Elija "Agregar -> Elemento existente ..." en el menú. Navegue a ConnectTheDotsWebSite y agregue web.config.

Ejecute el proyecto en Microsoft Edge. No verá ningún dato hasta que actualicemos el boceto en el MKR1000.

El boceto de Arduino necesita una clave SAS para acceder a los recursos de Azure. Utilice la herramienta Event Hubs Signature Generator de Sandrino Di Mattia para generar la clave en el formato correcto. Descarga desde https://github.com/sandrinodimattia/RedDog/releases. Descomprima la herramienta y ejecute RedDog.ServiceBus.EventHubs.SignatureGenerator.

Complete la interfaz de usuario con el espacio de nombres que creó antes. Como utilicé ctddc al crear los recursos de Azure, mi espacio de nombres es ctddc-ns. El nombre del concentrador es ehdevices. El nombre de la clave del editor y del remitente deben ser D1. Configuré el Token TTL por 1 año (525,600 minutos). La firma debe ser válida para la vida útil del dispositivo.

Debe iniciar sesión en Azure Portal para obtener la clave del remitente. En el menú de la izquierda, elija examinar y utilice el filtro para buscar centros de eventos.

Event Hubs abre una nueva ventana en el antiguo Azure Portal.

  • Haga clic en el espacio de nombres que creó.
  • Elija Event Hubs
  • Elija ehdevices
  • Elija configurar
  • Desplácese hasta la parte inferior y copie la clave principal para D1

Vuelva a la herramienta Generador de firmas y pegue la clave en el campo Clave del remitente. Haga clic en el botón Generar para generar una firma.

Copie la firma generada.

Abra el boceto MKR1000-Azure en el IDE de Arduino nuevamente. Necesitamos reemplazar el nombre de host [] y authSAS [] variables con nuestra nueva configuración de centro de eventos. Pegue la firma generada en el char authSAS [] campo. Edite el campo de nombre de host para que coincida con su nombre de host. p.ej. char hostname [] ="ctddc-ns.servicebus.windows.net";

Guarde el boceto y cárguelo en su MKR1000. Opcionalmente, abra Serial Monitor y verifique que los datos comiencen a enviarse a Azure.

ALT + TAB para conectar el sitio web de puntos que se ejecuta en Microsoft Edge y debería comenzar a ver los datos de su dispositivo.

IoT Hub

Azure IoT Hub es más nuevo que Event Hub y puede ser más apropiado para su proyecto. IoT Hub admite la mensajería de dispositivo a la nube (como este proyecto) y la mensajería de nube a dispositivo.

Utilice Azure Portal para crear un nuevo IoT Hub.

El Explorador de dispositivos se utiliza para generar firmas para acceder a IoT Hub. Descargue SetupDeviceExplorer.msi desde https://github.com/Azure/azure-iot-sdks/releases.

Vuelva al Portal de Azure y abra el nuevo centro de Iot. Haga clic en el icono de la llave, seleccione la fila iothubowner, copie la cadena de conexión para la llave principal.

Abra el Explorador de dispositivos, pegue la cadena de conexión y haga clic en actualizar.

Haga clic en la pestaña Gestión. Haga clic en el botón crear debajo de Acciones. Ingrese D1 como el ID del dispositivo y haga clic en Crear.

Resalte la fila D1 y haga clic en el botón Token SAS y genere un token nuevo.

Abra el boceto MKR1000-Azure en el IDE de Arduino.

Reemplace el nombre de host [] con el nombre de su centro de IoT + ".azure-devices.net". Actualizar authSAS [] con el valor generado con Device Explorer. Asegúrese de copiar solo la parte del token SAS después de "SharedAcessSignature =". Ajuste el URI para que apunte al centro de IoT.

  char hostname [] ="hacksterdemo.azure-devices.net"; char authSAS [] ="SharedAccessSignature sr =hacksterdemo.azure-devices.net% 2fdevices% 2fD1 &sig =jnyTV8j2% 2bY9BJ9fyEdb7zuh3efAVphRy =1490944761 "; String deviceName =" D1 "; String uri =" / devices / "+ deviceName +" / messages / events? Api-version =2016-02-03 ";  


Edite el código en la función sendEvent que busca una respuesta válida. El centro de eventos envía un HTTP 201 para indicar el éxito. IoT hub envía un HTTP 204.

Cambiar

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

Para

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

Utilice el IDE de Arduino para cargar el boceto en su Arduino MKR1000.

Cambie la pestaña Datos en el Explorador de dispositivos. Haga clic en el botón del monitor para ver los datos que se envían al Centro de eventos.

Dado que este proyecto está enviando datos desde el dispositivo a la nube, estoy usando HTTP POST para enviar los datos. También hay bibliotecas para enviar y recibir datos con Azure IoT Hub. Desafortunadamente, en mi opinión, todavía no son muy parecidos a Arduino ni fáciles de usar. Si desea que su dispositivo reciba datos de Azure, las bibliotecas pueden ser más útiles. Como alternativa, consulte la publicación del blog de Mohan Palanisamy sobre el envío de datos desde el centro de IoT a un MKR1000.

Esta publicación mostró cómo enviar datos de sensores desde MRK1000 a Azure Event Hubs y Iot Hub. Usamos la vista de código existente y graficamos los datos. Consulte el proyecto conecta los puntos para conocer más formas de escribir código para almacenar, manipular y ver sus datos con Azure.

Ahora que ha terminado, es posible que desee cerrar o eliminar los recursos que no está utilizando para limitar la cantidad de dinero que se le cobra. La solución AzurePrep tiene un proyecto ClearResources para ayudarlo a eliminar los servicios de Azure.

Código

Explorador de dispositivos
Herramienta para IoT Hub. Descarga SetupDeviceExplorer.msihttps://github.com/Azure/azure-iot-sdks/releases
Conecta los puntos
Código de muestra de Azure https://github.com/Azure/connectthedots
MKR1000-Arduino
Código fuente de Arduino https://github.com/don/MKR1000-Azure
Actualizador de firmware WiFi101
Herramienta para agregar certificados TLS a MKR1000https://github.com/arduino-libraries/WiFi101-FirmwareUpdater/releases/latest
Generador de firmas de Event Hubs
Herramienta para generar credenciales de Azure para MKR1000https://github.com/sandrinodimattia/RedDog/releases

Esquemas

Publicar una foto, ya que no hay una pieza Fritzing del MKR1000. Consulte el texto del artículo para obtener detalles sobre el cableado.

Proceso de manufactura

  1. Sensor Arduino - Tipos y aplicaciones
  2. Funcionamiento del sensor de humedad y sus aplicaciones
  3. Sensor DHT11 y su funcionamiento
  4. Aeroponía con Raspberry Pi y sensor de humedad
  5. Cómo comprobar y calibrar un sensor de humedad
  6. Sensor DHT11 con LED y altavoz piezoeléctrico
  7. Registrador de datos de temperatura y humedad
  8. Arduino Temp. Monitor y reloj en tiempo real con pantalla 3.2
  9. Torre de sensores de nubes Arduino
  10. BME280 Temperatura, humedad y presión en la pantalla Nextion
  11. Cómo leer la temperatura y la humedad en Blynk con DHT11