Arduino系列:利用blynk远程获取DH11传感器数据

blynk是波波最近翻墙发现的一款很不错的工具,利用blynk我们不仅可以很快速的完成Arduino的相关开发,而且利用blynk搭建智能家居或者物联网更加方便了。尤其是blynk自带定时器机制,我们在开发过程中无需再引入多线程或者定时器的类库。

利用blynk远程获取DH11传感器数据

今天波波的例子是让安卓手机远程查看家中温度湿度的DEMO,物料配置不详细介绍,简单的说就是Arduino通过Esp8266将传感器DH11数据读取出来发送到安卓手机端。

实验步骤:

1、下载安卓客户端:

因为国内有部分应用市场内有相关下载,这里波波不分享下载链接了。

2、烧写固件代码:(源码如下)

  1. #define BLYNK_PRINT Serial
  2. #include <ESP8266_Lib.h>
  3. #include <BlynkSimpleShieldEsp8266.h>
  4. #include <DHT.h>
  5. //先在安卓客户端建立项目,建立后将生成Token填写此处
  6. char auth[] = "这里填写TOKEN";
  7. // 家庭Wifi账号密码配置此处,也可以用easyConfig
  8. char ssid[] = "YourNetworkName";
  9. char pass[] = "YourPassword";
  10. //定义ESP8266芯片接口
  11. #include <SoftwareSerial.h>
  12. SoftwareSerial EspSerial(2, 3); // RX, TX
  13. // ESP8266 基带频率
  14. #define ESP8266_BAUD 115200
  15. ESP8266 wifi(&EspSerial);
  16. #define DHTPIN 2          // DH11芯片针脚定义
  17. // 温湿度传感器类型定义,这里默认DH11
  18. #define DHTTYPE DHT11     // DHT 11
  19. //#define DHTTYPE DHT22   // DHT 22, AM2302, AM2321
  20. //#define DHTTYPE DHT21   // DHT 21, AM2301
  21. DHT dht(DHTPIN, DHTTYPE);
  22. BlynkTimer timer;
  23. // 发送传感器数据线程
  24. void sendSensor()
  25. {
  26.   float h = dht.readHumidity();
  27.   float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit
  28.   if (isnan(h) || isnan(t)) {
  29.     Serial.println("Failed to read from DHT sensor!");
  30.     return;
  31.   }
  32.   // 1秒钟发送数据要少于10个!!!
  33.   Blynk.virtualWrite(V5, h);
  34.   Blynk.virtualWrite(V6, t);
  35. }
  36. void setup()
  37. {
  38.   Serial.begin(9600);
  39.   EspSerial.begin(ESP8266_BAUD);
  40.   delay(10);
  41.   Blynk.begin(auth, wifi, ssid, pass);
  42.   // You can also specify server:
  43.   //Blynk.begin(auth, wifi, ssid, pass, "blynk-cloud.com", 80);
  44.   //Blynk.begin(auth, wifi, ssid, pass, IPAddress(192,168,1,100), 8080);
  45.   dht.begin();
  46.   // 回调
  47.   timer.setInterval(1000L, sendSensor);
  48. }
  49. void loop()
  50. {
  51.   Blynk.run();
  52.   timer.run();
  53. }

源码中,波波已经做了详细的注释,很简单。需要的朋友可以自行研究。记得Arduino开发的IDE中要引入相关类库哦~~

你想把广告放到这里吗?

发表评论

您必须 登录 才能发表留言!