- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
3.5基于BasicRF的无线传感网络构建
一、任务描述
以BasicRF无线点对点传输协议为基础,进行传感器数据的采集,分别采集开关量数据和模拟量数据。采用3个ZigBee模块,节点A作为协调器使用,负责数据收集节点B和节点C的数据,同时将收集的数据串口发送给PC机,PC机可通过串口助手软件查看接收到的传感器数据;节点B收集开关量传感器数据并无线发送给A节点;节点C收集模拟量传感器数据并无线发送给A节点。本应用可拓展为N个节点。
二、知识讲解
开关量传感器:即传感器发出的信号是断点信号,该物理量只有两种状态,比如液位开关就是一种常见的开关量传感器。当液位低于设定值时,液位开关断开(或闭合);当液位高于设定值时,液位开关闭合(或断开)。
常见的开关量传感器有:触点开关、接近传感器、人体红外传感器、红外对射传感器、火焰传感器、声音传感器等。
对控制系统来说,由于CPU是二进制的,数据的每位有“0”和“1”两种状态,因此,开关量只要用CPU内部的一位即可表示,比如,用“0”表示开,用“1”表示关。
开关量传感器:
二、知识讲解
在单片机CC2530开发中,通过I/O口采集传感器的数据,如传感器没有采集到数据时,引脚状态为高电平,传感器有采集到数据时,引脚为低电平。
根据此原理,我们在本任务中通过按键模拟开关量传感器的数据采集,只不过传感器是自动采集数据,此任务是手动模拟,原理是一致的。
在TI提供的点对点通讯工程模板中,按键引脚设置在hal_board.h文件中,如下所示:
//Buttons
#defineHAL_BOARD_IO_BTN_1_PORT1//ButtonS3
#defineHAL_BOARD_IO_BTN_1_PIN2
开关量传感器:
二、知识讲解
按键引脚初始化:
1、按键引脚初始化可在hal_board.c文件的halBoardInit(void)函数中完成,代码如下:
//Buttons
MCU_IO_INPUT(HAL_BOARD_IO_BTN_1_PORT,HAL_BOARD_IO_BTN_1_PIN,MCU_IO_TRISTATE);
2、按键引脚初始化也可通过hal_button.c文件中的halButtonInit(void)函数完成,两种代码一致,如下:
voidhalButtonInit(void)
{
//Buttonpushinput
MCU_IO_INPUT(HAL_BOARD_IO_BTN_1_PORT,HAL_BOARD_IO_BTN_1_PIN,MCU_IO_TRISTATE);
}
开关量传感器:
二、知识讲解
引脚状态查询:
通过hal_button.c文件中的halButtonPushed(void)函数来查看按键是否按下。
开关量传感器:
二、知识讲解
自定义初始化函数:在具体的工作中需要根据自己使用设备进行相应配置,可自行编写初始化函数,根据掌握的CC2530单片机知识可直接配置寄存器,完成按键引脚初始化,以及通过扫描引脚或通过外部中断方式查看引脚输入状态。例如我们可编写如下函数:
uint8get_swsensor(void)
{
P1SEL=~(12);//设置P1.2为普通I/O口
P1DIR=~(12);//设置P1.2为输入方向
returnP1_2;//返回P1.2电平
}
开关量传感器:
二、知识讲解
模拟量传感器:
模拟量传感器:即传感器发出的是连续信号,用电压、电流、电阻等表示被测参数的大小。
常见的模拟量传感器:光照传感器、气体浓度传感器、温度传感器、压力传感器等。
二、知识讲解
在本任务中,我们通过CC2530芯片的ADC模块获取片内温度,将节点的片内温度传输给协调器。在实际的工作中可根据具体电路配置ADC的相关寄存器。
本例获取片内温度代码如下:
1、创建get_adc.h文件,保存到source\components\targets\interface文件加下,并添加到工程的hal\interface分组下,文件代码如下:
#ifndefSIMPLE_adc_H
#defineSIMPLE_adc_H
externuint16get_adc(void);
#endif
模拟量传感器:
二、知识讲解
2、创建get_adc.c文件,保存到source\components\common文件加下,并添加到工程的hal\common分组下,文件代码如下:
模拟量传感
您可能关注的文档
- 无线扇区小区激活配置指南.pptx
- 无线网络技术-工业互联网平台应用-1765263531600.pptx
- 无线压力温度变送器偏远气井的无线哨兵-1765263952721.pptx
- 无线终端测试指南.pptx
- 无游梁式抽油机-一塔架式抽油机 LCYJl0 8 105HB-1765263433042.pptx
- 无障碍设计原则面向全用户群体-汇报人 WPS_1763774741-1765263792881.pptx
- 吴越文化旅游区 赣西赣南 游览区-1765263558403.pptx
- 吴越文化旅游区 苏南太湖沿岸 游览区-1765263905085.pptx
- 吴茱萸酸枣仁 栀子槟榔-1765263991980.pptx
- 五边航线训练手册.pptx
原创力文档


文档评论(0)