搭建Blynk开源物联网服务端(2)---开始使用

时间:2022-07-23
本文章向大家介绍搭建Blynk开源物联网服务端(2)---开始使用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

上一节,把后台跑起来了,现在我们可以尽情玩App啦 当然默认你安好了App啦 BlynkApp:https://www.apk4fun.com/link/62809/a/(毕竟google play进不去,这个地方可以下)

1.App端

1) 进入app

先创建一个账号吧

图片.png

2)配置自己服务器地址

也就是说app-后台-单片机要在一个局域网下哦,当然你可以搭在有外网ip的服务器下

图片.png

图片.png

3)登录进入

选择创建新项目

图片.png

4)设置新项目

图片.png

我用的是esp32,所以我选择的是

图片.png

选择设备之后,会有选择连接方式

图片.png

5)设置控件

这是我的,当然刚进去是空的,

图片.png

点击空白处,可以选择添加的控件

图片.png

6)设置控件

以图表控件为例

图片.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

图片.png

重启之后即可看到

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();
}

3.结果

图片.png