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

ThingSpeak Arduino 气象站

组件和用品

Arduino UNO
× 1
乐鑫 ESP8266 ESP-01
× 1
DHT11 温湿度传感器(3 针)
× 1
面包板(通用)
× 1
跳线(通用)
× 1
SparkFun 面包板电源 5V/3.3V
× 1

应用和在线服务

ThingSpeak API
Arduino IDE
Microsoft Windows 10

关于这个项目

THINGSPEAK ARDUINO 气象站

涉足物联网

作为初学者,在物联网中涉足可能具有挑战性,因为不知道从可用的大量选项中开始。上帝保佑物语。本博客将引导您完成您的第一个 Thingspeak IoT 项目:

a) 便宜且方便

b) 易于理解

c) RAD 冷却。

项目 - 使用 Arduino 和 ESP - 01 wifi 模块将数据传输到 Thingspeak Cloud 的温度和湿度传感器。

你需要的东西

1. Arduino UNO

2. ESP - 01

3.DHT-11传感器

4.面包板

5.面包板电源

5. 接线。

注意 - 现在您可以使用 arduino 为传感器和 wifi 模块供电,但是像面包板电源模块这样的外部电源会更好,因为电路板无法满足运行中的 wifi 模块的峰值电流需求。我试过相信我

好吧,让我们直接潜入。

连接

ESP -01

1. VCC - 3.3V

2. 地-地

3. CH_PD - 3.3V

4. 复位 - 3.3V

5. TX - 2 (Arduino)

6. RX - 3 (Arduino)

DHT - 11

1. VCC - 5V

2. OUT - A0

3. 地-地

不要忘记将面包板电源上的跳线设置为 3.3V。

现在打开所有电源,如果没有任何东西燃烧或冒烟,到目前为止一切顺利。

设置 THINGSPEAK

转到thingspeak主页。

注册并创建一个包含两个字段温度和湿度的新频道。

创建新频道时,您将获得称为 API 密钥的东西。

我们稍后会用到这些。

设置 ARDUINO IDE

现在这一步是让代码运行的关键。图书馆。

您将在代码中使用两个,在代码中使用第三个。

在红色框中突出显示。

SoftwareSerial.h 是一个内置库,所以没有问题。

1. 您需要自行安装的库是 Adafruit 统一传感器库和 DHT 传感器库。下载链接

adafruit 的 DHT 传感器- https://github.com/adafruit/DHT-sensor-library

Adafruit 统一 传感器 图书馆- https://github.com/adafruit/Adafruit_Sensor

2. 下载两者并使用 IDE 中的 Add.ZIP 库功能添加它们。

家庭伸展

代码在这里 - https://github.com/imalwaysontheinternet/Weather-Stasion 或者只需从这里复制代码并将其粘贴到您的草图中。

在上传代码之前,有几件事要做。

1. 在此处粘贴您的 Write API 密钥

2. 在此处输入您的 Wifi SSID 和密码。

上传代码。如果一切顺利,您的 Thingspeak 频道应如下所示。

请注意,图表的更新间隔为 15 秒。

如果它仍然不起作用,请在下面的评论中写下您的问题,我们总是很乐意提供帮助。如有任何疑问和更多此类项目,请访问 virginrobotics.blogspot.com。

代码

  • 代码
CODEArduino
String myAPIkey ="您在此处写入 API 密钥"; #include #include ;SoftwareSerial ESP8266(2, 3); // Rx, Tx#define DHTTYPE DHT11#define DHTPIN A0DHT dht(DHTPIN, DHTTYPE,11);浮动湿度,temp_f;长写定时器 =17; long startTime =0;long waitTime =0;boolean relay1_st =false;布尔值relay2_st =false; unsigned char check_connection=0;unsigned char times_check=0;boolean error;void setup(){ Serial.begin(9600); ESP8266.begin(9600); dht.begin();开始时间 =毫秒(); ESP8266.println("AT+RST");延迟(2000); Serial.println("连接到无线网络"); while(check_connection==0) { Serial.print("."); ESP8266.print("AT+CWJAP=\"Wifi 网络名称\",\"密码\"\r\n"); ESP8266.setTimeout(5000); if(ESP8266.find("WIFI CONNECTED\r\n")==1) { Serial.println("WIFI CONNECTED");休息; } times_check++;如果(times_check>3){times_check=0; Serial.println("尝试重新连接.."); } }}void loop(){ waitTime =millis()-startTime; if (waitTime> (writingTimer*1000)) { readSensors(); writeThingSpeak();开始时间 =毫秒(); }}void readSensors(void){ temp_f =dht.readTemperature();湿度 =dht.readHumidity();}void writeThingSpeak(void){ startThingSpeakCmd(); // 准备字符串 GET String getStr ="GET /update?api_key="; getStr +=myAPIkey; getStr +="&field1="; getStr +=String(temp_f); getStr +="&field2="; getStr +=String(湿度); getStr +="\r\n\r\n"; GetThingspeakcmd(getStr); }void startThingSpeakCmd(void){ ESP8266.flush(); String cmd ="AT+CIPSTART=\"TCP\",\""; cmd +="184.106.153.149"; // api.thingspeak.com IP 地址 cmd +="\",80"; ESP8266.println(cmd); Serial.print("开始命令:"); Serial.println(cmd); if(ESP8266.find("Error")) { Serial.println("AT+CIPSTART 错误");返回; }}String GetThingspeakcmd(String getStr){ String cmd ="AT+CIPSEND="; cmd +=String(getStr.length()); ESP8266.println(cmd); Serial.println(cmd); if(ESP8266.find(">")) { ESP8266.print(getStr); Serial.println(getStr);延迟(500); String messageBody =""; while (ESP8266.available()) { String line =ESP8266.readStringUntil('\n'); if (line.length() ==1) { messageBody =ESP8266.readStringUntil('\n'); Serial.print("MessageBody 收到:"); Serial.println(messageBody);返回消息体; } else { ESP8266.println("AT+CIPCLOSE"); Serial.println("AT+CIPCLOSE"); } }

示意图

代码
https://github.com/imalwaysontheinternet/Weather-Station

制造工艺

  1. Raspberry Pi 2 气象站
  2. Raspberry Pi 气象站
  3. Weather Station V 2.0
  4. Arduino 数字骰子
  5. 钢铁侠
  6. 找到我
  7. Arduino 3D 打印机械臂
  8. Arduino 加湿器控制
  9. $10 便携式 Arduino 气象站 (AWS)
  10. eDOT - 基于 Arduino 的精密时钟和气象站
  11. Arduino Joystick
  12. 计步器(Arduino 101)