本文讲解使用blynk app+服务器(本地) + 零知ESP8266硬件的方法,通过手机APP来观察由ESP8266获取的温湿度信息。
需要的模块
零知ESP8266开发板 :http://www.lingzhilab.com/index.php/home/goods/introduction?gid=467
SHT30温湿度模块:http://www.lingzhilab.com/index.php/home/goods/introduction?gid=86
关于准备工作不再细讲,请查看 Blynk手机APP点灯示例 ,已经对操作步骤进行了详细说明。
手机APP端
我们需要两个组件分别显示温度和湿度信息,做好后界面如下:
或者扫描该二维码复制我共享的demo:
ESP8266端
代码如下
/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "xx";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "xx";
char pass[] = "xx";
char local_domain[] = "192.168.0.111";
/*SHT3X 传感器
* 使用软I2C接口
*/
#define SHT3X_SDA D5
#define SHT3X_SCL D6
#include "SHT3X.h"
SlowSoftWire shtWire(SHT3X_SDA,SHT3X_SCL,true);
HTU3X myHumidity;
BlynkTimer timer;
void myTimerEvent()
{
float humd, temp;
myHumidity.readTempAndHumi(&temp, &humd);
Serial.print("时间:");
Serial.print(millis());
Serial.print(" 温度:");
Serial.print(temp, 1);
Serial.print(" °C");
Serial.print(" 湿度:");
Serial.print(humd, 1);
Serial.print("%");
Serial.println();
Blynk.virtualWrite(V0, temp);
Blynk.virtualWrite(V1, humd);
}
void setup()
{
// Debug console
Serial.begin(9600);
Blynk.begin(auth, ssid, pass, local_domain,8080);
myHumidity.begin(shtWire);
timer.setInterval(1000L, myTimerEvent);
}
void loop()
{
Blynk.run();
timer.run(); // Initiates BlynkTimer
}
更改代码中的IP、token等信息,然后验证并上传到零知-ESP8266板上。
完整工程代码:blynk-esp8266.7z(点击下载)
在手机blynk app上可以观察到如下结果: