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