发作品签到
专业版

基于梁山派(GD32F470)的无线手持环境检测仪

工程标签

2.6k
0
0
5

简介

基于梁山派微控制器的无线手持环境检测仪,复刻官方项目

简介:基于梁山派微控制器的无线手持环境检测仪,复刻官方项目
立创·开发板电子设计训练营

开源协议

GPL 3.0

创建时间:2023-08-31 12:14:33更新时间:2023-10-08 08:13:50

描述

2023.10.8日更新内容(按键+功耗测试)

 

按键

在之前的程序中,按键按动是支持连按的,所以按一下按键可能会多次触发,尤其是在使用开关按键的时候,按下按键大概率会连续触发两次,导致无法实现开关功能,体验非常不好

所以我修改了一下程序的按键判断程序,将按键按动设置为不支持连按

具体实现是参考正点原子按键设计,参考链接如下:正点原子-按键输入实验

具体程序请参考附件“软件程序_主机_按键.7z”文件中的bsp_key.c文件中的all_key_scan函数

vM5lErUBJEstiLsepxzYQFJwpyqkaSSae09ds0LI.png

 

功耗测试

在本项目中使用的电池的容量为250mAh

在亮度开到最大且同时开启云端上传功能和从机显示功能时的平均功率约为535mW,即最大功率

1SfxP0dcvCa5dIuHiCKgGD1CHXcMciWZdyZuJlfB.png

 

在亮度开到最小且同时关闭云端上传功能和从机显示功能时的平均功率约为417mW,即最小功率

QucezvIKueNAIR2sOpb3hyAvkX9YVLq3FOVXqxgO.png

 

电池续航时间计算公式:续航时间=电池容量/设备功率

由该公式可得:

本项目手持环境检测仪的理论最长续航时间=250/417 = 0.59h

实际时间如下图所示,约为36m=0.6h

dmBOjgdMTOsjlK1DXXvyhjAUOgrFKzjBM0eT03W1.png

 

本项目手持环境检测仪的理论最短续航时间=250/535 = 0.46h

实际时间如下图所示,约为28m=0.46h

wfLPkRnSFAQGCKgttgHWgzYOzF5FKXl7w9p1VWTH.png

 

所以在满电状态下,本环境监测仪预计可工作时间在28-36分钟

 

测试设备为合宙CC表

 

 

-------2023年10月8日手动分割线-------

 

 

1、项目分析

本项目是基于梁山派微控制器制作的无线手持环境检测仪,参加立创开发板电子设计训练营-基础营,复刻官方项目

官方项目链接:

1、环境检测扩展板

2、【环境仪扩展板】资料

实现功能:

1、采集温湿度、大气压以及有害气体等参数

2、通过LVGL显示以上信息

3、通过NB模块将采集的信息上传到阿里云平台,并能通过手机APP实时查看

4、通过NF-03无线模块将采集的信息发送到从机上并显示

5、通过LVGL实现人机交互界面

 

本项目基于官方案例设计,本人所作的工作如下:

1、基于手头的NB模块-BC260Y绘制对应原理图

2、根据原理图绘制PCB,并根据PCB布局相应修改原理图连线

3、打板焊接调试三件套

4、移植BC260Y驱动(基于原本EC-01F的驱动)

5、根据教程配置生活物联网平台

6、完成BC260Y与云平台的连接

7、适配本项目与官方例程函数

2、原理图设计说明

2.1 BC260Y原理图

VP1PwXQbjdGvTY8PJd5MiWUEN5oXTggmy2NAInmv.png

 

通过串口与BC260Y建立连接,由于使用的是现成的模块,所以无需搭建其他外围电路

注意电源输入使用3.3V或者5V都可以,内部有电源电路,无需担心

2.2 各部分与梁山派建立的连接

bOcsFbcMb5SvJmTR2nyJEbyDLr6StXuMtId0fKXr.png

 

这部分主要是因为在绘制PCB时方便连接,对官方案例的连接进行了一些修改

 

其他部分基本与官方案例一致,在此不做赘述【环境仪扩展板】资料

3、PCB设计说明

3.1 电池接口

电池接口这里需要注意的是留空,因为电池接线向内,需要注意不要在这个区域放置器件,以影响电池连接

kxj6VweMIWyNiCXxftHpUD2gQgVemAfEkB7DtuHK.png

 

3.2 BC260Y封装

BC260Y的封装接口并不是居中的,而是有一些偏右,放置时不能居中放置

Pzb3SGhniPnUQq4iNSBrMlNVWK2qgGjOApuAZBi6.png

 

3.3 BC260Y模块

BC260Y模块买来是直插排针,而在本项目中为了将该模块放进梁山派与扩展版之间,所以将直插排针更换为弯插排针

tEqLk5W1BNochD6hHBRQy6a1n7qBDCkFKkqrdFFD.png

 

4、软件说明

BC260Y连接阿里云平台代码

void bc260Y_connect_aliyun(void)
{
char at_cmd[500]={0};
 
//初始化BC260Y
//RST:
    //测试指令AT
bc260Y_send_cmd("AT\r\n","OK",100,5);
 
//断开MQTT服务器
if( bc260Y_send_cmd("AT+QMTDISC=0\r\n","",100,5) == 0 ) 
        printf("AT+QMTDISC=0 fail\r\n");
 
//关闭飞行模式
if( bc260Y_send_cmd("AT+CFUN=1\r\n","OK",100,5) == 0 ) 
        printf("AT+CFUN=1 fail\r\n");
    
    //获取卡号,类似是否存在卡的意思,比较重要,返460,表明识别到卡了
if( bc260Y_send_cmd("AT+CIMI\r\n","460",100,5) == 0 ) 
        printf("AT+CIMI fail\r\n");
    
    //查询激活状态   如果注册成功,会返回 1,如果失败,返回 0
if( bc260Y_send_cmd("AT+CGATT=1\r\n","OK",100,5) == 0 ) 
        printf("AT+CGATT=1 fail\r\n");
    
    //查询激活状态
if( bc260Y_send_cmd("AT+CGATT?\r\n","+CGATT: 1",100,5) == 0 ) 
        printf("AT+CGATT? fail\r\n");
    
    //查看获取CSQ值 是查询信号的,如果注册网络成功,会有信号产生,最大 31,如果信号小于 10
if( bc260Y_send_cmd("AT+CSQ\r\n","+CSQ:",100,5) == 0 ) 
        printf("AT+CSQ fail\r\n");
 
 
//MQTT初始化    
    //连接设备证书
    sprintf(at_cmd, "AT+QMTCFG=\"aliauth\",0,\"%s\",\"%s\",\"%s\"\r\n",ProductKey,DeviceName,DeviceSecret);
if( bc260Y_send_cmd(at_cmd,"OK",100,5) == 0 ) 
        printf("%s  fail\r\n",at_cmd);
 
    //打开客户端连接  
    sprintf(at_cmd, "AT+QMTOPEN=0, \"%s.iot-as-mqtt.cn-shanghai.aliyuncs.com\",1883\r\n", ProductKey);  
if( bc260Y_send_cmd(at_cmd,"+QMTOPEN: 0,0",100,20) == 0 ) 
        printf("Unable to connect to Aliyun\r\n");
 
//连接客户端到 MQTT 服务器
if( bc260Y_send_cmd("AT+QMTCONN=0, \"460083501703296\"\r\n","OK",100,100) == 0 )
        printf("Unable to log in to MQTT server\r\n");
    
    
// //订阅一次即可
//    sprintf(at_cmd, "AT+QMTSUB=0,1,\"/sys/%s/%s/thing/service/property/set\",2\r\n", ProductKey, DeviceName);    
// ec01f_send_cmd(at_cmd,"+QMTSUB: 0,1,0",100,10);
 
    printf("连接aliyu成功\r\n");
bc260Y_rx_buff_clear();//清除串口接收缓存
//while(1);
}    

 

在连接客户端到MQTT服务器时,可以将用户名更换为物联网卡号,以防止用户名重复导致的连接失败

LOpnrSMJqqzBOwLsAaCxZqzwhcSiluU3e95KuniP.png

 

在订阅时注意订阅成功一次即可,之后将订阅代码注释掉即可,第一次使用时记得将订阅代码解开注释(这里我已经订阅成功,所以将订阅代码注释掉了)

DE19N6osHnBTDfdli3PPmk85MQVBkVy0vKimqBO8.png

 

注意将设备证书更换为自己的

j2eCBa3WrAEnyAKTKj10ZP5zn5vYsvSgv7ha0Mgz.png

 

实物展示说明

正面

Jk1kjvdSfqhrzvWbwiRVtE7Dj1xmaio2xvIEslK1.png

 

反面

WrFyuxArDdpYXC6Qg8dpVvANyu5I9zX08DKpGxg9.png

 

注意事项

1、本项目中的TYPE-C接口仅有VCC和GND两个接口,不支持快充协议充电器,建议使用普通充电器,不然可能无法为电池充电

2、与梁山派连接的排母和2.4G无线通信模块的焊接顺序,建议先焊接排母后再焊接2.4G模块,不然可能会影响排母的焊接

R6RzpWlylAPZV2RXLgorRlHDuRfkZiERYUHddrq3.png

 

制作从机只需要焊接屏幕部分和2.4G模块部分即可,如图所示

AfixFGEHPhM56zD0VOdrmhQf1CJGJgmolLmu66ic.pngrW9QbbiJKjrHwJ69Ncuq3Wp0WCsxI5sMnVWdSI6a.png

 

项目总结

我通过本项目学习到了很多知识,总结如下:

梁山派硬件电路知识

3.3V电池充放一体电路设计

1.69寸IPS屏幕的使用

PCB设计

GD32F450/470使用

多种传感器学习

NB模块使用

生活物联网平台学习使用

LVGL移植使用

无线2.4G通信模块使用

C语言开发知识

系统程序开发

 

非常感谢嘉立创提供的学习平台,还要感谢为梁山派移植各种模块并开源的大佬

 

参考链接

1、环境检测扩展板

2、【环境仪扩展板】资料

3、正点原子-按键输入实验

 

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
软件程序_主机.7z
65
2
软件程序_从机.7z
20
3
软件程序_主机_按键.7z
21
4
演示视频.mp4
5
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航