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

MKR1000 para ThingSpeak.com

Componentes e suprimentos

Sensor DHT11 de Temperatura e Umidade (4 pinos)
× 1
Arduino MKR1000
× 1

Sobre este projeto


Eu já havia desenvolvido um código para o ESP8266 12-E para que os dados do sensor ambiental, obtidos pelo DHT11, fossem carregados sem fio no site da ThingSpeak e gráficos. Eu só precisava fazer pequenas alterações para que funcionasse com o novo Arduino MKR1000.

Passo 1.

Conecte a linha de dados DHT ao MKR1000 Pin1 (identificado como 1 na parte traseira da placa).

Etapa 2. Baixe a biblioteca WiFi101 e a biblioteca DHT em:

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

https://learn.adafruit.com/dht

Etapa 3.

Vá para o Board Manager no Arduino IDE

Ferramentas -> Placa -> Gerenciador de placas

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

Baixe a versão 1.6.3 (tive problemas com a 1.6.4 porque a placa MKR100 não foi instalada)

Passo 4.

Crie uma conta ThingSpeak.com gratuita, rotule os campos para Gráfico (umidade e temperaturas) e cole sua chave API de "gravação" do ThingSpeak no esboço fornecido junto com seu SSID WiFi e senha WiFI.

Etapa 5.

Selecione a porta Com apropriada, procurando pelo MKR1000, e compile e execute o código.

Você deve ver as atualizações sendo enviadas para ThingSpeak em sua janela serial.

divirta-se!


Código

  • MKR1000 para DHT para ThingSpeak Wireless nuvem com base em gráficos de sensores ambientais
MKR1000 para DHT para ThingSpeak Wireless baseado em nuvem de Sensor Ambiental gráfico Arduino
Uma combinação de esboços de AdaFruit, WiFi101 WebClient e ThingSpeak Arduino Templates.
 / * Este esboço é uma combinação de esboço ADAFruits DHT, WiFi101 Webclient e O exemplo de arduino de ThingSpeakModified por Stephen Borsay para o MKR1000, sinta-se à vontade para usar * / #include  // você não precisa disso, pois não estamos usando o shiled apenas chip # include  #include "DHT.h" #define DHTPIN 1 // qual pino estamos conectado, o pino1 é o 5º pino da extremidade // Descomente qualquer tipo de sensor DHT que você 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"; // SSID da sua rede (nome) char pass [] ="YourPasswordHere"; // sua senha de redeint keyIndex =0; // o número do índice da sua chave de rede (necessário apenas para WEP) // # define WEBSITE "api.thingspeak.com" int status =WL_IDLE_STATUS; // se você não quiser usar DNS (e reduzir o tamanho do esboço) // use o IP numérico em vez do nome do servidor:// servidor IPAddress (74,125,232,128); // IP numérico para o servidor de char do Google (sem DNS) [] ="api.thingspeak.com"; // endereço do nome para o Google (usando DNS) // Inicializar a biblioteca cliente Ethernet // com o endereço IP e a porta do servidor // ao qual você deseja se conectar (a porta 80 é o padrão para HTTP):WiFiClient client; void setup () {// Inicializar serial e esperar a porta abrir:Serial.begin (9600); while (! Serial) {; // aguarde a conexão da porta serial. Necessário apenas para porta USB nativa} // verifique a presença do escudo:if (WiFi.status () ==WL_NO_SHIELD) {Serial.println ("escudo WiFi não presente"); // não continue:while (true); } // tentativa de conexão à rede Wifi:while (status! =WL_CONNECTED) {Serial.print ("Tentando conectar ao SSID:"); Serial.println (ssid); // Conecta-se à rede WPA / WPA2. Altere esta linha se estiver usando open / WEP network status =WiFi.begin (ssid, pass); // aguarde 10 segundos pela conexão:delay (10000); } Serial.println ("Conectado a wi-fi"); printWifiStatus (); } void loop () {// Aguarde alguns segundos entre as medições. atraso (2000); // prefiro usar float, mas o tamanho do pacote ou conversão float não está funcionando // revisará no futuro com uma função de string ou função de conversão float int h =dht.readHumidity (); // Lê a temperatura como Celsius (o padrão) int t =dht.readTemperature (); // Lê a temperatura como Fahrenheit (isFahrenheit =true) int f =dht.readTemperature (true); // Verifique se alguma leitura falhou e saia mais cedo (para tentar novamente). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println ("Falha ao ler do sensor DHT!"); Retorna; } // Computa o índice de calor em Fahrenheit (o padrão) int hif =dht.computeHeatIndex (f, h); // Computa o índice de calor em Celsius (isFahreheit =false) int hic =dht.computeHeatIndex (t, h, false); Serial.print ("Umidade:"); 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 conexão com o servidor ..."); // se você obtiver uma conexão, reporte via serial:if (client.connect (server, 80)) {Serial.println ("conectado ao 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 =" // precisa do comprimento para dar a ThingSpeak + (String) h + "&field2 =" + (String) t + "&field3 =" + (String) f + "&field4 =" + (String) hic + "&field5 =" + (String) hif; client.print ("POST / atualizar HTTP / 1.1 \ n"); client.print ("Host:api.thingspeak.com \ n"); client.print ("Conexão:fechar \ n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Content-Type:application / x-www-form-urlencoded \ n"); client.print ("Content-Length:"); client.print (tsData.length ()); // envia a string de dados legth para ts client.print ("\ n \ n"); client.print (tsData); client.stop (); atraso (1000); }} void printWifiStatus () {// imprime o SSID da rede à qual você está conectado:Serial.print ("SSID:"); Serial.println (WiFi.SSID ()); // imprime o endereço IP do seu escudo WiFi:IPAddress ip =WiFi.localIP (); Serial.print ("Endereço IP:"); Serial.println (ip); // imprime a intensidade do sinal recebido:long rssi =WiFi.RSSI (); Serial.print ("intensidade do sinal (RSSI):"); Serial.print (rssi); Serial.println ("dBm");} 
Código no GitHub
Mesmo código, mas no GitHub para MKR1000https://github.com/sboursay/Arduino_Wireless/blob/master/MRK100_DHt_TS

Esquemas

Conecte a linha de dados DHT ao pino 1 do MKR100 (5º pino para cima)
conectar 5v e aterrar ao sensor DHT, ambos fornecidos pelo MKR1000

Processo de manufatura

  1. Manhattan Skyline:ARM COM compacto com NXP i.MX 8MM
  2. Kontron:novo padrão de computação incorporado COM HPC
  3. DHT Tiny Breakout para Raspberry Pi
  4. Monitor de temperatura ThingSpeak com Raspberry Pi
  5. Crie sua primeira IOT com um Raspberry Pi, sensor DHT11 e Thingspeak.
  6. Mkr1000 Pinout:uma escolha preferencial para projetos de IoT
  7. Os benefícios do Parts.Cat.Com e como se registrar
  8. Seu guia para Shop.Cat.Com
  9. Introdução ao My.Cat.com
  10. ASTM A551 Classe DHT tratado termicamente