亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

MKR1000 到 ThingSpeak.com

组件和用品

DHT11 温湿度传感器(4 针)
× 1
Arduino MKR1000
× 1

关于这个项目

我已经为 ESP8266 12-E 开发了代码,让 DHT11 获取环境传感器数据,然后无线上传到 ThingSpeak 网站并绘制成图表。我只需要做一些小改动就可以让它与新的 Arduino MKR1000 配合使用。

第一步。

将 DHT 数据线连接到 MKR1000 Pin1(板背面标有 1)。

步骤 2. 从以下位置下载 WiFi101 库和 DHT 库:

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

https://learn.adafruit.com/dht

第 3 步。

转到 Arduino IDE 中的 Board Manager

工具-->看板-->看板管理器

搜索 Arduino SAMD 开发板(32 位 ARM Cortex M0+)

下载 1.6.3 版(我遇到了 1.6.4 版的问题,因为 MKR100 板没有安装)

第 4 步。

创建一个免费的 ThingSpeak.com 帐户,将字段标记为 Graph(湿度和温度),然后将您的 ThingSpeak“写入”API 密钥与您的 WiFi SSID 和 WiFI 密码一起粘贴到提供的草图中。

第五步。

选择合适的Com Port,寻找MKR1000,编译运行代码。

您应该会在串行窗口中看到发送到 ThingSpeak 的更新。

玩得开心!

代码

  • MKR1000 到 DHT 到 ThingSpeak Wireless 基于云的环境传感器绘图
MKR1000 到 DHT 到 ThingSpeak 基于无线云的环境传感器图形Arduino
来自 AdaFruit、WiFi101 WebClient 和 ThingSpeak Arduino 模板的草图的组合。
/*此草图是 ADAFruits DHT 草图、WiFi101 Webclient 和来自 ThingSpeakModified 的 arduino 示例的组合,由 Stephen Borsay 为 MKR1000,随意使用 */ #include  //你不需要这个,因为我们不使用屏蔽芯片#include #include "DHT.h"#define DHTPIN 1 //我们是什么引脚连接到,pin1 是从末端开始的第 5 个引脚// 取消注释您使用的任何 DHT 传感器类型!#define DHTTYPE DHT11 // DHT 11//#define DHTTYPE DHT21 // DHT 21//#define DHTTYPE DHT22 // DHT 22DHT dht (DHTPIN,DHTTYPE);String apiKey ="YourApiKeyHere"; // 来自 ThingSpeakchar 的 api ssid[] ="YourSSIDHERE"; // 您的网络 SSID (name)char pass[] ="YourPasswordHere"; //您的网络密码int keyIndex =0; // 您的网络密钥索引号(仅 WEP 需要)//#define WEBSITE "api.thingspeak.com"int status =WL_IDLE_STATUS;// 如果您不想使用 DNS(并减小草图大小)//使用数字 IP 代替服务器名称://IPAddress server(74,125,232,128); // 谷歌的数字 IP(无 DNS)char server[] ="api.thingspeak.com"; // Google 的名称地址(使用 DNS)// 使用您要连接的服务器的 IP 地址和端口// 初始化以太网客户端库(端口 80 是 HTTP 的默认端口):WiFiClient 客户端;无效设置() { //初始化串口并等待端口打开:Serial.begin(9600); while (!Serial) {; // 等待串口连接。仅本地 USB 端口需要 } // 检查屏蔽是否存在: if (WiFi.status() ==WL_NO_SHIELD) { Serial.println("WiFi shield not present"); // 不要继续:while (true); } // 尝试连接到 Wifi 网络:while (status !=WL_CONNECTED) { Serial.print("Attempting to connect to SSID:"); Serial.println(ssid); //连接到WPA/WPA2网络。如果使用open/WEP网络,请更改此行 status =WiFi.begin(ssid, pass); // 等待 10 秒连接:delay(10000); } Serial.println("连接到wifi");打印无线状态(); }void loop() { // 在测量之间等待几秒钟。延迟(2000); //更喜欢使用浮点数,但包大小或浮点数转换不起作用 //将来会使用字符串函数或浮点数转换函数进行修改 int h =dht.readHumidity(); // 读取摄氏温度(默认) int t =dht.readTemperature(); // 读取温度为华氏度 (isFahrenheit =true) int f =dht.readTemperature(true); // 检查是否有任何读取失败并提前退出(重试)。 if (isnan(h) || isnan(t) || isnan(f)) { Serial.println("从 DHT 传感器读取失败!");返回; } // 计算华氏度的热指数(默认) int hif =dht.computeHeatIndex(f, h); // 计算摄氏温度指数 (isFahreheit =false) int hic =dht.computeHeatIndex(t, h, false); Serial.print("湿度:"); Serial.print(h); Serial.print("%\t"); Serial.print("温度:"); Serial.print(t); Serial.print(" *C "); Serial.print(f); Serial.print(" *F\t"); Serial.print("热指数:"); Serial.print(hic); Serial.print(" *C "); Serial.print(hif); Serial.println(" *F\n"); Serial.println("\n开始连接服务器..."); // 如果获得连接,则通过串行报告: if (client.connect(server, 80)) { Serial.println("connected to server"); 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=" //需要给 ThingSpeak 的长度 + (String) h + "&field2=" +(String) t + "&field3=" +(String) f + "&field4=" +(String) hic + "&field5=" +(String) hif; client.print("POST /update HTTP/1.1\n"); client.print("主机:api.thingspeak.com\n"); client.print("连接:关闭\n"); client.print("X-THINGSPEAKAPIKEY:" + apiKey + "\n"); client.print("内容类型:应用程序/x-www-form-urlencoded\n"); client.print("内容长度:"); client.print(tsData.length()); //发送数据字符串legth给ts client.print("\n\n");客户端打印(tsData);客户端停止();延迟(1000); } }void printWifiStatus() { // 打印您连接的网络的 SSID:Serial.print("SSID:"); Serial.println(WiFi.SSID()); // 打印你的 WiFi 盾的 IP 地址:IPAddress ip =WiFi.localIP(); Serial.print("IP 地址:"); Serial.println(ip); // 打印接收到的信号强度:long rssi =WiFi.RSSI(); Serial.print("信号强度(RSSI):");串行打印(RSSI); Serial.println("dBm");}
GitHub 中的代码
相同的代码,但在 GitHub 上用于 MKR1000 https://github.com/sborsay/Arduino_Wireless/blob/master/MRK100_DHt_TS

示意图

将 DHT 数据线连接到 MKR100 引脚 1(第 5 个引脚向上)
将 5v 和地连接到 DHT 传感器,两者均由 MKR1000 提供

制造工艺

  1. 专家访谈:Philip Cotton,3Dfilemarket.com 的创始人
  2. RP 平台和 3Faktur 在 3Dprinting.com 上的特色
  3. Manhattan Skyline:带有 NXP i.MX 8MM 的紧凑型 ARM COM
  4. 控创:新的嵌入式计算标准 COM HPC
  5. 树莓派的 DHT Tiny Breakout
  6. ThingSpeak 温度监视器与 Raspberry Pi
  7. 使用 Raspberry Pi、DHT11 传感器和 Thingspeak 构建您的第一个物联网。
  8. Mkr1000 引脚分配:物联网项目的首选
  9. Parts.Cat.Com 的优势以及如何注册
  10. Shop.Cat.Com 指南
  11. My.Cat.com 入门
  12. ASTM A551 类 DHT 热处理