2277|2

62

帖子

3

TA的资源

一粒金砂(中级)

楼主
 

基本功能展示和过程介绍 [复制链接]

 
   第三篇,前段时间太忙了,基本没多少时间来搞弄,只能现在放假更新,给相关的人员带来的不便还望见谅。不多说,马上介绍项目进度。
   首先根据我个人的设计内容,主要要解决的问题其实不多,一个就是蓝牙通信,二个是环境数据的读取,第三个就是联网。鉴于时间比较少,就尽最大限度的利用开发SDK包,直接在源码里改,APP端的调试直接用官方的ST BlueMS软件调试。目前已解决蓝牙通信和温度获取,其它环境数据获取基本一样,个人打算只做温度一个了。下面介绍一下具体操作吧。
   1,首先大致了解主函数的运作,本人使用的是IAR FOR ARM的开发软件,怎么安装和使用,我就不做介绍了,这个可以在网上找到很详细的资料。如图:

顺着红圈1的路径找到工程文件,然后在2里打开工程
打开的工程如下:

打开主函数main.c找到主函数入口,在下图画圈位置:

顺着主函数往下看,前面都是初始化等功能函数,这个我们不必细看,主要是看以下几个函数:

我这里就只介绍我个人会用到的函数了,其中下面这个函数是处理蓝牙BlueNRG有信息传过来的中断事件的,大致是通过中断函数然后置位标识,然后通过HCI函数读取数据并转移的。大家可以仔细的看一下。

还有一个比较重要的函数是,如下:
此处是处理气压,温度和湿度并发送出去的函数,其中包括环境数据的获取函数也在里面,都在SendEnvironmentalData()这个函数里处理,下图是函数中获取温度和发送到蓝牙的语句,其它一样:

还有一个重要的函数就是蓝牙的定制服务机制,也就是蓝牙获取APP发过来的数据的地方,这个函数在sensor_service.c这个C文件里,处理函数则是void Attribute_Modified_CB(uint16_t attr_handle, uint8_t * att_data,uint8_t data_length)这个函数,如图的12

其中处理ST BlueMSDebug Console中测试通信的函数也在这里,而返回数据的函数的位置如下图:

好了,看到这里基本就能大致了解套件的蓝牙收发函数,以及环境处理函数,对于我个人的项目可以作个简单的开发了。目前已经可以实现蓝牙点灯,获取温度的功能,基于简化作品,作品就以控制LED灯模拟类推控制家电的开关咯,效果可以看看我发的视频,相关资料可以到我的上一个帖下载。
    接下来就会进一步实现通过设置一个温度值,当环境温度值大于此值就会打开一个开关,其中开关用LED类比。目前就这样,不知今晚能不能够把剩下的功能完善,唉~还是继续肝吧!!!各位参赛的朋友也加油了,谢谢大家,再见。






最新回复

加油加油  详情 回复 发表于 2017-5-1 16:09
点赞 关注
 
 

回复
举报

111

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
加油加油

点评

谢谢您的鼓励咯!!  详情 回复 发表于 2017-5-3 17:34
 
 
 

回复

62

帖子

3

TA的资源

一粒金砂(中级)

板凳
 

谢谢您的鼓励咯!!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表