- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《物联网应用综合设计》课程设计题 目: 周界环境监测系统 院 别: 电子工程学院 专 业: 应用电子技术 班 级: B1321 姓 名: 高文阳 学 号: 21311100109 时 间:2015年11月16号——2015年11月27号 指导老师:毛莉莉 目录第一章 系统设计分析31.1 设计要求31.2 系统组成3第二章 硬件实现32.1 光传感器模块32.2 温湿度传感器模块42.3 控制模块4第三章 软件设计53.1 系统软件流程53.2 主要实现代码6第四章 设计结果及分析 104.1 设计结果分析104.2 心得体会11参考文献12系统设计分析设计要求 这个设计综合了传感器采集、点对点通讯、串口通讯这三个实验。这个设计分为两个部分,一个是基站部分,另外一个是节点部分。其中基站部分主要负责处理串口数据和发送采集命令给基本节点,节点部分主要是完成接收基站下达的采集命令和采集传感器数据并且发送给基站 熟练掌握 CC2530 基础实验中的串口通讯实验和 ATOS 点对点通讯。同时要了解 TCP/IP 协议中广播是如何实现的。系统组成 1. 带有 CC2530 芯片的基站;2. 光传感器模块;3. 温湿度传感器模块;4. 天线三个;5. 烧录线一根;6. 平行串口线一根;第二章 硬件实现2.1 光传感器模块 光敏电阻是一种光电效应半导体器件,它能提供很经济实用的解决方案,应用于光存在与否的感应(数字量)以及光强度的测量(模拟良)等领域。光电效应半导体探测器可以分为两大类:结和体效应装置。结装置工作于光电传导模式,它利用 PN 结的反向特征。在反向偏转时,PN 结产生一个受光控制的电流信号。输出量与触发照明成正比,而不受供应电源的影响。硅光电管就是这类的产品。而体效应光电半导体没有结,它的体电阻系数随照明强度的增强而减小,容许更多的光电流流过。这种阻性特征使得体效应光电半导体具有很好的品质:通过调节供应电源就可以从探测器上获得信号流,且有着很宽的范围。为了区别,珀金埃尔默光电子将体效应光电半导体称作为光电半导体单元,简单的说就叫光敏电阻。光敏电阻是薄膜元件,它是由在陶瓷底衬上覆一层光电半导体材料。金属接触点盖在光电半导体面下部。这种光电半导体材料薄膜元件有很高的电阻。所以在两个接触点之间,做的狭小、交叉,使得在适度的光线时产生较低的阻值。2.2 温湿度传感器模块 传感器包括一个电容式聚合体测湿元件和一个能隙式测温元件,并与一个 14 位的 A/D 转换器以及串行接口电路在同一芯片上实现无缝连接。因此,该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个 SHTxx 传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在 OTP 内存中,传感器内部在检测信号的处理过程中要 调用这些校准系数。两线制串行接口和内部基准电压,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。1.接口说明2. 电源引脚SHTxx 的供电电压为 2.4~5.5V。传感器上电后,要等待 11ms 以越过“休眠”状态。在此期间无需发送任何指令。电源引脚(VDD,GND)之间可增加一个 100nF的电容,用以去耦滤波。3.串行接口 (两线双向)SHTxx的串行接口,在传感器信号的读取及电源功耗方面,都做了优化处理;但与I 2 C接口并不兼容。第三章 软件设计3.1 系统软件流程 1.基站流程图 3.2 主要实现代码3.2.1. 节点参考程序 interface Boot; interface AMPacket; interface Packet; interface PacketEx; interface AtosControl as AtosNetControl; interface Intercept; interface AtpCmdComm; interface StdControl as SystemHeartControl; } event void Boot.booted() { ADBG(100,#########Boot.booted myaddr=%d#########\n, (int)call AMPacket.address()); call SystemHeartControl.start(); //call UartDebugControl.setLevelInput(TRUE); post initTask(); } uint16_t prepareReport(message_t * msg, uint8_t *report, atosroute_data_header_t *data_header, void *_payload
文档评论(0)