搭建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
- 如何预先处理电影评论数据以进行情感分析
- 如何在Python中从零开始实现随机森林
- 教程从头开始在Python中实现k最近邻居
- 建立安全的 AI
- Python NLTK 自然语言处理入门与例程
- 漏洞预警 | Apache Struts2 曝任意代码执行漏洞 (S2-045,CVE-2017-5638)
- 详解OSSIM-OSSEC WIN 4771案例
- JSShell:一个基于python的交互式Shell
- golang中操作excel
- 企业安全漏洞通告引擎
- 通过httprouter和redis框架搭建restful api服务
- .NET Core 实现定时抓取博客园首页文章信息并发送到邮箱
- 基于 R 语言和 SPSS 的决策树算法介绍及应用
- Android 8.0 中的安全增强功能
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- centos7搭建hadoop2.10高可用(HA)
- 在 React 中实现 keep alive(可参与文末讨论哦)
- Android仿淘宝切换商品列表布局效果的示例代码
- android 右滑返回的示例代码
- 关于linux服务器hosts文件配置详解
- android中Glide实现加载图片保存至本地并加载回调监听
- CentOS8部署LNMP环境之编译安装mysql8.0.29的教程详解
- Android获取内置sdcard跟外置sdcard路径
- Android简易电话拨号器实例详解
- Linux 为特定的用户或用户组启用或禁用 SSH的方法
- Android 中IntentFilter的匹配规则实例详解
- Android VideoCache视频缓存的方法详解
- Android标题栏最右边添加按钮的实例
- Ubuntu18.04系统安装、配置Redis及phpredis扩展操作详解
- Android电话拨号器实例详解