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

MKR1000 a ThingSpeak.com

Componentes y suministros

Sensor de temperatura y humedad DHT11 (4 pines)
× 1
Arduino MKR1000
× 1

Acerca de este proyecto

Ya había desarrollado un código para que el ESP8266 12-E tuviera datos de sensores ambientales, tomados por el DHT11, cargados de forma inalámbrica al sitio web ThingSpeak y graficados. Solo necesitaba hacer cambios menores para que funcione con el nuevo Arduino MKR1000.

Paso 1.

Conecte la línea de datos DHT a la clavija 1 del MKR1000 (etiquetada como 1 en la parte posterior de la placa).

Paso 2. Descargue la biblioteca WiFi101 y la biblioteca DHT desde:

https://github.com/arduino-libraries/WiFi101

https://learn.adafruit.com/dht

Paso 3.

Vaya al Administrador de la placa en el IDE de Arduino

Herramientas -> Tablero -> Administrador de tableros

Busque placas Arduino SAMD (ARM Cortex M0 + de 32 bits)

Descargue la versión 1.6.3 (tuve problemas con 1.6.4 porque la placa MKR100 no se instaló)

Paso 4.

Cree una cuenta gratuita de ThingSpeak.com, etiquete los campos en Graph (humedad y temperaturas) y pegue su clave API de "escritura" de ThingSpeak en el boceto proporcionado junto con su SSID WiFi y contraseña WiFI.

Paso 5.

Seleccione el puerto Com adecuado, busque el MKR1000 y compile y ejecute el código.

Debería ver las actualizaciones enviadas a ThingSpeak en su ventana serial.

diviértete!

Código

  • MKR1000 a DHT a ThingSpeak Gráficos de sensores ambientales basados ​​en la nube inalámbricos
MKR1000 a DHT a ThingSpeak Inalámbrico basado en la nube Sensor ambiental graficado Arduino
Una combinación de bocetos de AdaFruit, WiFi101 WebClient y ThingSpeak Arduino Templates.
 / * Este boceto es una combinación de ADAFruits DHT boceto, WiFi101 Webclient y El ejemplo de arduino de ThingSpeak Modificado por Stephen Borsay para el MKR1000, no dude en usarlo * / #include  // no necesitas esto ya que no estamos usando el chip shiled #include  #include "DHT.h" #define DHTPIN 1 // qué pin estamos conectado a, pin1 es el quinto pin desde el final // ¡Descomente el tipo de sensor DHT que esté usando! #define DHTTYPE DHT11 // DHT 11 // # define DHTTYPE DHT21 // DHT 21 // # define DHTTYPE DHT22 // DHT 22DHT dht (DHTPIN, DHTTYPE); String apiKey ="YourApiKeyHere"; // api de ThingSpeakchar ssid [] ="YourSSIDHERE"; // su red SSID (nombre) char pass [] ="YourPasswordHere"; // su contraseña de redint keyIndex =0; // su clave de red Número de índice (necesario solo para WEP) // # defina SITIO WEB "api.thingspeak.com" int status =WL_IDLE_STATUS; // si no desea usar DNS (y reducir el tamaño de su boceto) // utilice la IP numérica en lugar del nombre del servidor:// IPAddress server (74,125,232,128); // IP numérica para el servidor de caracteres de Google (sin DNS) [] ="api.thingspeak.com"; // nombre de la dirección para Google (usando DNS) // Inicialice la biblioteca del cliente Ethernet // con la dirección IP y el puerto del servidor // al que desea conectarse (el puerto 80 es el predeterminado para HTTP):Cliente WiFiClient; configuración nula () {// Inicializar serie y esperar a que se abra el puerto:Serial.begin (9600); while (! Serial) {; // espera a que se conecte el puerto serie. Necesario solo para puerto USB nativo} // comprobar la presencia del escudo:if (WiFi.status () ==WL_NO_SHIELD) {Serial.println ("No hay escudo WiFi"); // no continúe:while (verdadero); } // intenta conectarse a la red Wifi:while (status! =WL_CONNECTED) {Serial.print ("Intentando conectarse a SSID:"); Serial.println (ssid); // Conéctese a la red WPA / WPA2. Cambie esta línea si usa open / WEP network status =WiFi.begin (ssid, pass); // esperar 10 segundos para la conexión:delay (10000); } Serial.println ("Conectado a wifi"); printWifiStatus (); } void loop () {// Espere unos segundos entre mediciones. retraso (2000); // prefiero usar float, pero el tamaño del paquete o la conversión flotante no funcionan // se revisará en el futuro con una función de cadena o función de conversión flotante int h =dht.readHumidity (); // Lee la temperatura como Celsius (por defecto) int t =dht.readTemperature (); // Lee la temperatura como Fahrenheit (isFahrenheit =true) int f =dht.readTemperature (true); // Compruebe si alguna lectura falló y salga antes (para volver a intentarlo). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println ("¡No se pudo leer el sensor DHT!"); regreso; } // Calcula el índice de calor en Fahrenheit (el valor predeterminado) int hif =dht.computeHeatIndex (f, h); // Calcular el índice de calor en Celsius (isFahreheit =false) int hic =dht.computeHeatIndex (t, h, false); Serial.print ("Humedad:"); Serial.print (h); Serial.print ("% \ t"); Serial.print ("Temperatura:"); Serial.print (t); Serial.print ("* C"); Serial.print (f); Serial.print ("* F \ t"); Serial.print ("Índice de calor:"); Serial.print (hic); Serial.print ("* C"); Serial.print (hif); Serial.println ("* F \ n"); Serial.println ("\ nIniciando la conexión al servidor ..."); // si obtiene una conexión, informe a través de serie:if (client.connect (servidor, 80)) {Serial.println ("conectado al servidor"); client.print (F ("POST")); client.print ("/ update? key =apiKey &field1 =" + (String) h + "&field2 =" + (String) t + "&field3 =" + (String) f + "&field4 =" + (String) hic + " &field5 ="+ (String) hif); String tsData ="field1 =" // necesita la longitud para dar a ThingSpeak + (String) h + "&field2 =" + (String) t + "&field3 =" + (String) f + "&field4 =" + (String) hic + "&campo5 =" + (Cadena) hif; client.print ("POST / actualización HTTP / 1.1 \ n"); client.print ("Host:api.thingspeak.com \ n"); client.print ("Conexión:cerrar \ n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Tipo de contenido:aplicación / x-www-form-urlencoded \ n"); client.print ("Content-Length:"); client.print (tsData.length ()); // envía la longitud de la cadena de datos a ts client.print ("\ n \ n"); client.print (tsData); client.stop (); retraso (1000); }} void printWifiStatus () {// imprime el SSID de la red a la que está conectado:Serial.print ("SSID:"); Serial.println (WiFi.SSID ()); // imprime la dirección IP de tu escudo WiFi:IPAddress ip =WiFi.localIP (); Serial.print ("Dirección IP:"); Serial.println (ip); // imprime la intensidad de la señal recibida:long rssi =WiFi.RSSI (); Serial.print ("intensidad de la señal (RSSI):"); Serial.print (rssi); Serial.println ("dBm");} 
Código en GitHub
Mismo código pero en GitHub para MKR1000https://github.com/sborsay/Arduino_Wireless/blob/master/MRK100_DHt_TS

Esquemas

Conecte la línea de datos DHT al pin 1 del MKR100 (quinto pin hacia arriba)
conecte 5v y tierra al sensor DHT, ambos proporcionados por el MKR1000

Proceso de manufactura

  1. Entrevista con un experto:Philip Cotton, fundador de 3Dfilemarket.com
  2. Manhattan Skyline:COM ARM compacto con NXP i.MX 8MM
  3. Kontron:nuevo estándar informático integrado COM HPC
  4. DHT Tiny Breakout para Raspberry Pi
  5. Monitor de temperatura ThingSpeak con Raspberry Pi
  6. Cree su primer IOT con una Raspberry Pi, un sensor DHT11 y Thingspeak.
  7. Mkr1000 Pinout:una opción preferida para proyectos de IoT
  8. Los beneficios de Parts.Cat.Com y cómo registrarse
  9. Tu guía para Shop.Cat.Com
  10. Cómo comenzar con My.Cat.com
  11. ASTM A551 Clase DHT con tratamiento térmico