【DFRobot 云雀气象仪】学习笔记07(微信小程序实时显示云雀气象仪数据和阈值告警)
## 11:制作一个微信小程序,手机端实时查看数据变化;小程序*是一种新的开放能力,可以在*微信*内被便捷地获取和传播,同时具有出色的使用体验。小程序开发者可在小程序内提供便捷、丰富的服务,如预订、商品购买、游戏、信息查询等。我们这里使用微信小程序实时查看云雀气象仪中的各个气象数据。为了方便对接小程序,我们使用腾讯物联网云平台来实现。
### 11.1:创建产品
登录腾讯云物联网云平台,[总览 - 控制台 - 腾讯云 (tencent.com)](https://console.cloud.tencent.com/),点击进入物联网开放平台。
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20231220163855178.png)
选择公共实例,如下图所示:
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20231220163932838.png)
点击新建产品,创建名为云雀气象仪的产品。
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20231220164327822.png)
具体创建信息如下:
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20231220164421807.png)
### 11.2:设置物模型数据信息
点击新建自定义功能。分别添加温度,湿度,风速,风向,海拔,气压等信息。
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20231220164521936.png)
比如添加温度功能信息:
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20231220165140275.png)
创建好的信息如下:
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20231220165111825.png)
### 11.3:创建设备
点击新建设备,创建自己的设备,命名位dev001。
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20231220165309643.png)
可以看到当前设备是位激活,处于离线状态。接着进行设备对接
### 11.4:数据对接
查看物联网开发平台开发文档:
[物联网开发平台 物模型协议-开发者指南-文档中心-腾讯云 (tencent.com)](https://cloud.tencent.com/document/product/1081/34916)
其中最关键的设备属性上报:
当设备需要向云端上报设备运行状态的变化时,以通知应用端小程序、App 实时展示或云端业务系统接收设备上报属性数据,物联网开发平台为设备设定了默认的 Topic:
设备属性上行请求 Topic: `$thing/up/property/{ProductID}/{DeviceName}`
设备属性下行响应 Topic: `$thing/down/property/{ProductID}/{DeviceName}`
点击上面的设备名,可查看具体的设备信息:
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20231220170006939.png)
这些是三元组信息,用于MQTT协议调试使用。
### 11.5:数据调试
首先配置ESP8266网络,先连接云平台,使设备在线。
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20231220172608025.png)
这就说明我们的物联网通讯协议连接成功,MQTT协议正常响应和应答。首先将获取到的气象仪数据在LCD上显示:
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20231220173332207.png)
再进行数据上传,登录云平台,发现数据已更新:
!(C:\Users\qzc09\AppData\Roaming\Typora\typora-user-images\image-20231220174348772.png)
### 11.6:微信小程序显示数据
回到设备界面,点击查看二维码信息:
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20231220174719633.png)
弹出二维码信息:
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20231220174746270.png)
使用腾讯连连微信小程序扫一扫。
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20231220175037747.png)
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20231220175127926.png)
## 12:数据阈值报警
使用蜂鸣器进行阈值报警,蜂鸣器采用有源蜂鸣器。使用GPIO口输出,具体代码如下:
```c
/**
* 功能:初始化BEEP
* 参数:None
* 返回值:None
*/
void BEEP_Pin_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO初始化结构体
RCC_APB2PeriphClockCmd(BEEP_PORT_RCC, ENABLE); //使能GPIO和复用外设时钟
GPIO_InitStructure.GPIO_Pin = BEEP_PIN; //设置对应引脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //工作速度50MHz
GPIO_Init(BEEP_PORT, &GPIO_InitStructure); //设置生效
GPIO_SetBits(BEEP_PORT, BEEP_PIN); //默认低电平,LED不亮
}
/**
* 功能:点亮LED
* 参数:None
* 返回值:None
*/
void Buzzer_Start(void)
{
GPIO_ResetBits(BEEP_PORT, BEEP_PIN); //设置引脚为低电平
}
/**
* 功能:熄灭LED
* 参数:None
* 返回值:None
*/
void Buzzer_Stop(void)
{
GPIO_SetBits(BEEP_PORT, BEEP_PIN); //设置引脚为高电平
}
/**
* 功能:翻转LED
* 参数:None
* 返回值:None
*/
void Toggle_BEEP(void)
{
BEEP_PORT->ODR ^= BEEP_PIN;
}
```
对阈值进行报警,当大于指定阈值时候,蜂鸣器报警。
```c
if((gVarInfo.tempH>=gVarInfo.maxTemp)||(gVarInfo.humiH>=gVarInfo.maxHumi))
{
Buzzer_Start();
}
else
{
Buzzer_Stop()
}
```
大佬这前端后端玩得很溜,让大家学习到何把物联网开发流程走了一遍,感谢优秀的分享! lugl4313820 发表于 2023-12-21 07:23
大佬这前端后端玩得很溜,让大家学习到何把物联网开发流程走了一遍,感谢优秀的分享!
<p>没有没有,前端比较浅<img height="55" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/wanwan11.gif" width="70" /></p>
qzc0927 发表于 2023-12-21 09:10
没有没有,前端比较浅
<p>这次这个评测的人选选得非常好呀,大佬你这样的帖子,非常适合我这种新手学习。</p>
<p>这个微信的收不收费,我最近被他们家的小程序搞死,代码没变,不给通了,关键是4年前我的源码还找不着了。</p>
lugl4313820 发表于 2023-12-21 09:29
这个微信的收不收费,我最近被他们家的小程序搞死,代码没变,不给通了,关键是4年前我的源码还找不着了。
...
<p>不收费,对接到腾讯云平台,直接生成</p>
页:
[1]