上一节,把后台跑起来了,现在我们可以尽情玩App啦
当然默认你安好了App啦
BlynkApp:https://www.apk4fun.com/link/62809/a/(毕竟google play进不去,这个地方可以下)
1.App端
1) 进入app
先创建一个账号吧
图片.png
2)配置自己服务器地址
图片.png 图片.png也就是说app-后台-单片机要在一个局域网下哦,当然你可以搭在有外网ip的服务器下
3)登录进入
选择创建新项目
图片.png
4)设置新项目
图片.png我用的是esp32,所以我选择的是
图片.png选择设备之后,会有选择连接方式
图片.png5)设置控件
这是我的,当然刚进去是空的,
图片.png点击空白处,可以选择添加的控件
图片.png6)设置控件
以图表控件为例
图片.png我们设置数据点
图片.png这里的数据名称,就是代码里需要定义的
比如我们设置温度为V6,湿度为V5
7)获取auth token
要在后面设备代码里用到
图片.png
2.设备端
1)ESP32
配置ESP32的arduino开发环境:http://www.jianshu.com/p/1b51820407f6
2)导入blynk的arduino库
下载:https://github.com/blynkkk/blynk-library/releases/download/v0.4.10/Blynk_Release_v0.4.10.zip
解压放到arduino菜单-文件-首选项里的地址中
DHT11库:https://pan.baidu.com/s/1jIORh7g
重启之后即可看到
3)代码
#define BLYNK_PRINT Serial
#include <dht11.h>
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
//温湿度定义
dht11 DHT11;
#define DHT11PIN 18
BlynkTimer timer;
// 复制到的auth code
char auth[] = "b62ce07c14664360bc7e1fed9a5c1bb7";
// 配置wifi连接
char ssid[] = "nb";
char pass[] = "123456789";
//获取温湿度函数
void getTemHum() {
int chk = DHT11.read(DHT11PIN);
switch (chk)
{
case DHTLIB_OK:
Serial.println("OK");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.println("Checksum error");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.println("Time out error");
break;
default:
Serial.println("Unknown error");
break;
}
Serial.print("Humidity (%): ");
Serial.println(DHT11.humidity);
Serial.print("Temperature (oC): ");
Serial.println(DHT11.temperature);
//发送给app
Blynk.virtualWrite(V5,DHT11.humidity);
Blynk.virtualWrite(V6,DHT11.temperature);
// delay(2000);
}
void setup()
{
// Debug console
Serial.begin(9600);
//注意,最后一个参数就是服务器地址
Blynk.begin(auth, ssid, pass, "10.127.5.188");
//定时
timer.setInterval(2000, getTemHum);
}
void loop()
{
Blynk.run();
timer.run();
}
网友评论