基于物联网的农田环境监控系统的设计与研究.docx

上传人:李司机 文档编号:6712922 上传时间:2024-01-08 格式:DOCX 页数:41 大小:751.35KB
返回 下载 相关 举报
基于物联网的农田环境监控系统的设计与研究.docx_第1页
第1页 / 共41页
基于物联网的农田环境监控系统的设计与研究.docx_第2页
第2页 / 共41页
基于物联网的农田环境监控系统的设计与研究.docx_第3页
第3页 / 共41页
基于物联网的农田环境监控系统的设计与研究.docx_第4页
第4页 / 共41页
基于物联网的农田环境监控系统的设计与研究.docx_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《基于物联网的农田环境监控系统的设计与研究.docx》由会员分享,可在线阅读,更多相关《基于物联网的农田环境监控系统的设计与研究.docx(41页珍藏版)》请在三一办公上搜索。

1、基于物联网的农田环境监控系统的设计与研究院、部:计算机与信息科学学院采用物联网技术对农业生产环节中农作物的生长环境监控,实现一个轻量级别的辅助管理系统。基于传感网络采集的温度、湿度、光照等相关数据达到对当前实时环境的远程监控并做出实际的机械操作。整个系统是通过传感器将基本的监控数据利用ZigBee技术传送到局域网路由器,基于C/S模式,服务器对传感网络收集的数据进行容错筛选,再存储。管理者通过移动终端向服务器发出请求命令,服务器收到请求解析并做出相应的反应,从而达到对系统环境状况的实时监察调度。本文从当前物联网出发,结合农艺技术,提出了物联网农业系统结构的总体框架,为用户实时监控农田并进行生产

2、决策提供了数据支持,真正实现了农业管理的智能化,符合现代农业的发展。关键词物联网;传感网络;现代农业;生产决策ABSTRACTUsingInternettechnologytoagriculturalproductionincropgrowthenvironmentmonitortoImplementalightweightauxiliarymanagementsystem.Basedondataoftemperature,humidity,lightandothersensornetworkstoachievethecurrentcollectionofreal-timeremotemoni

3、toringoftheenvironmentandmaketheactualmechanicaloperation.ThewholesystemismonitoredbybasicsensordatautilizingZigBeetechnologytransfertotheLANrouter;basedonC/Smode,thesensornetworkserverdatacollectedfaulttolerancescreening,andthenstore.Managersissuedthroughthemobileterminalrequeststotheservercommand,

4、theserverreceivestherequestparsingandreactaccordingly,soastoachievereal-timemonitoringsystemschedulingenvironment.Thisarticlefromthecurrentofthings,combinedwithagronomictechniques,madethingsoverallframeworkofpolicedispatchsystemstructureofagriculture.Theuserreal-timemonitoringoffarmlandandproduction

5、datatosupportdecision-making,trulyintelligentmanagementofagriculture,inlinewiththedevelopmentofmodernagriculture.Keywordsepcnetwork;sensornetwork;modernagriculture;productiondecision目录第一章基于物联网的农田环境监控系统的设计框架61.1 智能家居系统中的环境监控解决思路61.2 基于物联网的农田环境监控系统8第-SH-硬件环t的搭建1。2.1硬件环境组成框图102.2服务器端环境搭建112.2.1开发与调试工具包

6、安装112.2.2开发板开发与调试环境配置122.3数据采集端环境配置162.3.1硬件资源概览162.3.2模块芯片的选择172.3.3开发与调试工具包安装18第三章软件设计203.1服务器端的软件设计213.1.1Linux内核移植213.1.2SQLite数据库213.1.3 JSon文件的格式实现223.1.4 服务器端的通信协议的设置223.2数据采集端软件设计253. 2.1总体设计概述254. 2.2数据采集端MO与服务器端A9通信协议设置263. 3Android客户端软件设计28第四章系统实验与调试294.1服务器A9模块的数据接/发调试的相关过程展示294. 2数据采集MO

7、模块的调试364.3客户端测试展示38第五章总结反思40参考文献41致谢42引言物联网是当今新一代信息技术的核心,物联网从一开始的提出就不断赋予新的意义。物联网是个泛概念,它是多学科、多领域的集合体,它集中体现了后互联网时代的技术方向,同样是人类更高层次发展的切入口。从单纯的知识概念上讲,这是一个入门很高的学科领域,它所体现的就是当今互联网理念思想发展的更高层次的分化与融合。从市场与技术的纵向上看,物联网实现的是更高生活品质的宜人化的服务层次,它所蕴含的产业价值也定不会逊色于电商时代。物联网概念的提出其实是很早的,但是受制于现实技术等因素,它的发展也总是很缓慢,物联网展现的是多领域的融合。从这

8、个角度讲,它的的发展同样是一个面的概念,反而是单个因素成为磕绊发展的短板!物联网不是中国首次提出的,却是在当前背景下发展最为全面的,而从实际的角度上讲,先驱意味着前行,意味着时间与金钱上无限的投入,但是从长远角度上讲,这些投入都是必须的也是值得的!2009年美国白宫,肯定了在基于物联网基础提出的“智慧地球”概念,并在全球经济下行压力极大的情况下,大手笔的投入智慧地球。对于高科技美国人历来是唯快不破,并牢牢把握科技的上游,这也体现了物联网背后的政治与科技的角逐!物联网从本世纪出的首次提出到今天,它的应用已经渗入了我们生活的方方面面。从国内外的视角来看,在农业上物联网的应用也在不断扩大。在农业生态

9、环境监测领域,美国、法国和日本等一些国家运用高科技手段构建全国性或者全区域性的先进农业生态环境监测网络,利用先进的传感器感知技术、信息融合传输技术以及互联网技术建立区域性的农业信息化平台,实现对农业生态环境的自动监测,从宏观上保证农业生态环境的可持续发展,并指导农业现代化种植与发展。在农业生产精细管理领域,美国、澳大利亚、法国等传统的农畜牧业比较强大的西方国家建立了完善的指导机制平台,并形成了广泛的实用性极强的控制系统。在物联网农业的发展我国其实也是奋起直追,在相关领域也有着不错的成绩,现阶段我们在北京、上海、江苏等地方建立起了很多农业示范园,同时各地也在积极推进物联网农业的优质项目,并且这些

10、项目的到了较好的回应,在保证农民征收的基础上,对于粮食供给和食品安全领域的助推也是显而易见的。在全国性的环境监控上我们同样有我们自己的特色。但是我们相较之国外的发展,还是有很多的问题的。物联网农业遍地开花的局面并没有产生,传统小田农业结构的弱化甚至是破碎较为严重,换言之,我们的传统的耕作与管理模式都在弱化!国家从2003年就在不断的加大农业生产上的补助与扶持,从国家政策层面上来讲,我国已经在农业发展上出台了多个国家级文件。但是我国的传统农业的发展也仅仅是缓慢的发展。物联网农业的成熟应用主要集中在农畜牧业发展比较强大的西方国家,这不是偶然却存在着必然!农业的发展是一个积累的过程,对于中国这样一个

11、传统的农业大国来说,农业发展是的不平衡性不是一个政策一揽子文件就能解决的,它背后体现的是市场与价值还有实际人文的选择与转变,这就意味着农业的不平衡性将是长期的。一时的大手笔绝对不是解决的方法,一味的放置偏颇更是不可取,在技术与资金上的积极引导才是正道,国家层面的示范建设是标杆,企业及个人的投入是补充,主体与局部的结合才是物联网农业在中国当前的实际技术与地理环境上的真正选择!本文研究的是小型化的农业生产环节的环境监控的设计。主要就是建立一个核心在局域网的小型农田监控系统,主要是对中、近距离数据传输与监控。整个设计分为三个模块:服务器模块,数据采集模块,应用层模块。服务器端采用CorteX-A9芯

12、片,数据采集模块采用的是芯片CorteX-M0,应用层是移动终端通过访问本地路由器建立与通信。在MO模块将实现光照监控,温度监控。还有简单的模拟开关灯,模拟开关风扇。在服务器A9端实现数据的处理存储,同时是通过有线与本地路由器进行连接,服务器A9与MO模块是通过ZigBee模块进行通信的。用户可以通过手机、平板等移动终端通过WIFl与路由器进行通信,从而访问服务器。针对现实学习需求与知识技能的储备,本文仅仅是有选择有裁剪的模拟实现了环境检测的简单框架。本文第一章简要介绍了智能家居实现监控的基本逻辑框架与思路,因为物联网农业监控与智能家居在起点与数据处理阶段同宗同源,同时详细说明本设计的框架。第

13、二章对整个系统的模块细分并说明各自的功能与实现逻辑。第三章为硬件设计部分。第四章为软件设计部分。第五章是单元测试以及系统集成测试。第六章指出该系统的特色与反思以及对物联网农业的展望。第一章基于物联网的农田环境监控系统的设计框架1.1智能家居系统中的环境监控解决思路这里首先介绍下当前物联网框架下的智能家居系统的模式与基本实现解决思路。物联网农业是基于物联网发展而来的,是物联网应用向农业的触及,但是从当前的大环境上来讲,物联网在农畜牧业的发展也仅仅停留在大田示范园的阶段,而物联网在适宜人居环境的应用、推广与投入是比较成功也是比较大的。这种现象其实很好找到原因。作为一个商业性的发展,利益驱动才是根本

14、,很明显投资物联网农业在成本上与市场回报上周期都是很长的,而研发成本以及硬件成本是很高的,而做出的产品在市场的普及上又是未知的,利益小风险大,所以说这个领域的成熟的参考是较少的。但是智能家居与物联网农业在模块化的数据采集与数据的传输阶段又是相通的,我们基于“用已知去探求未知,化抽象为具体”的解决思想,从当前智能家居的模式与问题解决方案来找到灵感,打趣的说我们是站在巨人的肩膀上看待物联网农业前景的!在智能家居领域与以往的产品竞争不同,面对智能家居这片蓝海,更多的企业选择抢夺智能家居入口,通过借助智能家居控制平台来打造自己的常青树。智能硬件企业:手机+智能单品模式。今天当我们谈及智能硬件企业,各大

15、国产手机厂商当属其中的主要力量。小米发布了小米路由器和一系列的智能家居配件,中兴主打安全牌进军智能家居,华为也借助路由器探路智能家居。总的来说智能硬件企业纷纷采用了手机+智能小配件来搭建自己的智能家居平台。利用智能路由器等产品作为智能家居产品的网络入口和控制入口,并开放了相应的开放平台,对于手机制造厂家来说轻车熟路更易于成功,所要解决的问题主要是“点”的定位,而不完全受制于一个完整的平台约束,扩展性很强,在网络接入和产品控制上,变得更容易!互联网企业:用解决方案做顶级的智能家居。传统互联网大佬的触角有多长,从BAT一系列的收购行为以及对P2P与020平台的投入便可看出。对于智能家居,当然不肯错

16、过。百度搭建硬件平台并推出了百度云服务和整套的免费解决方案,腾讯的智能家居入口则是以微信为突破口,阿里则借助电视盒子和云OS作为智能家居平台的入口,京东欲通过APP的概念,将京东平台上的合作伙伴“一网打尽”。互联网公司优势是其巨大的流量、用户数据、软件等,结合当前的云存储与云计算,为智能家居的提供一个顶层设计。但是到目前为止也仅仅是百度做出了点成效。不得不承认互联网公司对大小家电产品理解不够深入,解决方案的涉及比较单一相较之小米这样强劲的产品研发势头,它们在短时间内难以覆盖到智能家居的各个领域,由此可见当前市场上小产品激增主流价值产品缺席的趋势就不足为怪了!但是没有主流产品布局的智能家居入口显

17、然是不完整的。传统家电企业:产业联盟式入口模式。最先察觉到智能家居趋势的恐怕还是传统的家电企业,物联网本身就是一个技术驱动的产业,凭借传统电商的营销老路子是走不通的,曾经大批家电企业在轰轰烈烈的进军PC产业的教训是痛在他们心里的,加之技术和策略的限制传统家电企业在智能家居上的作为显得十分有限。当物联网的浪潮全面袭来的时候,主流的家电公司纷纷选择用联盟来打造智能家居入口。比如海尔的U-home系统为平台,凭借E家佳联盟标准达到了多产品的兼容。传统家电企业对家用电子设备是真正理解,凭借自己在行业内的威望,拉拢一批小型智能家居制造商,从而搭建统一的开放平台,提供相应的技术支持,智能家居的入口级战略也

18、就水到渠成。这里我主要关注的是小米家的解决模式。手机+智能单品的模式下,小米绝对是独树一帜的前行者,小米的产品的营销模式虽广受诟病,但是小米产品还算是成功的。回看以智能手机为核心的等一批便携式的智能硬件的发展轨迹,4年来,有的企业倒了,有的市场在不断萎缩。小米在壮大中,正如小米的技术总监孙鹏说的,智能家居的思路想法谁都有,能做出使用的产品在说!在小米的智能家居梦里,路由器是中心,智能插座是入口。各种米系列的产品通过无线或者有线链接到路由器,米路由器从功能上来说,除了基本路由器常有的网关、Wi-Fi热点功能之外,还支持小米设备快连、可扩展功能的插件模式、DLNA方式共享文件、支持LAMP功能。我

19、的设计就是基于本地路由访问方式实现数据收集与监控的!整个设计是模式探索型的设计,基于这种定位整个系统的模块是很简单的,在功能上也进行了相关的裁剪和功能的模拟转移。这种定位是对实际技术与成本进行相关考量后做出决定的。作为一个毕业设计受制于个人知识与眼界,我仅仅能做我能胜任的部分,同时当前可以学习参考的模型是有的,但都不是开源的资料,对于当前物联网来说一切都是在起步上下功夫,一切都是商业!虽然小米曾承诺将相关协议开放,就是BAT也成说将平台开放,但是实际对于个体用户的测试学习还是很困难的。本设计主要分为三个模块,服务器模块,数据采集模块,移动控制端模块。服务器端选择的是三星以ARM的corte-9

20、系列为核心开发的Exynos44120这款芯片采用了三星最新的32nmHKMG工艺,主频最高为1.4GHGz,是三星的第一款四核处理器。因为采用了新的工艺实现相同性能的同时功耗控制更加出色。此外,三星Exynos4412支持双通道LPDDR21066内存,这款芯片在同期同层次的芯片中算是最优的,特别在很多媒体的测试中,搭载了这款芯片的移动设备的跑分都是很高的。数据采集模块采用的以Cortex-MO为核心板的LPC11C14芯片。数据传输模块用的是ZigBee技术。LPCIlC14集成了温湿度度传感器,光照传感器,可调速小风扇等小模块,通过这些模块对周围环境的温湿度,光照强度数据进行收集,然后通

21、过组合的ZigBee模块将数据传输到EXynOS4412服务器端,服务器端对数据容错,存储。服务器一端通过ZigBee与LPC11C14模块通信,另一端通过有线与本地路由器进行链接通信。当用户通过设置固定IP访问本地路由器的移动端向服务器发出服务请求,服务器端对相关请求进行解析,做出开关灯、风扇的逻辑操作。约定:以下Corte-A9表示服务器,简称A9;以下Cortex-MO表示数据采集模块,简称M0;以下APP表示智能家居Android客户端应用程序。第二章硬件环境的搭建2.1 硬件环境组成框图本设计主要分为三个大模块,服务器模块,数据采集模块,移动控制端模块,服务器模块与数据采集都集成了数

22、据传输模块。服务器端选择的是三星公司开发的EXynoS4412。这是一款性价比很高的一个嵌入式开发芯片。数据采集模块采用的LPCIIC14芯片。数据传输模块用的是ZigBee技术。LPCIlC14集成了温湿度度传感器,光照传感器,可调速小风扇等小模块,这些模块获得的数据通过组合的ZigBee模块传输到EXynoS4412服务器端,服务器端对数据容错,存储。服务器一端通过ZigBee与LPC11C14模块通信,另一端通过有线与本地路由器进行链接通信。用户通过设置固定IP访问本地路由器,服务器端对相关请求进行解析,做出及时响应。整体系统组成框图如图2-1:设通由IP;A移动访丽H病-一户|_IWW

23、WuBMMlIIZigBeeH宏伯编模决WgtiKU15LJ:环境实时awIBa开关灯/小冈物联网农业环境监控系I刖幽壁一)统KCffM)数据采集益IwhMalI服务器送IWtta*-finsJIEoS卬比片IIwMt(=IUK转Ifi模埃ZigBeI图27整体系统组成框图2.2服务器端环境搭建2. 2.1开发与调试工具包安装对于整个系统来讲环境的配置是至关重要的,整个系统将会把大把的时间花在硬件的调试,以期获得一个稳定的性能,(1)安装gcc编译工具:yagarto-bu-2.21gcc4.6.2-c-c+_nl-l.19.Ogdb-7.3.1eabi20111119.exe。(2)安装to

24、ols工具:yagarto-tools-20100703-setup.exe0(3)安装FS-JTAG工具:(4)安装JTAG驱动:把JTAG接入计算机USB口,会提示发现新硬件,选择从列表或指定位置安装。(这个过程需要安装3次)2.2.2开发板开发与调试环境配置服务器A9中跑的不是裸机是一个裁剪了小型化的Linux内核,下边就是往开发板上配置相关环境。我们板子上跑的是Linux系统所以我们开发调试阶段也要在这样一个环境中进行,所以开发的阶段必须在Linux虚拟机上通过调试工具建立一个相关联的环境。模拟一个同板子环境相似的环境。在产品开发并测试完成后在将板子与虚拟机环境彻底分离。Exynos4

25、412开发板如图:图2-2Exynos4412整个A9模块开发的过程分为两个三个阶段:阶段一进行相关环境的配置,主要是对开发环境与开发板环境的配置;阶段二进行软件层次的设计,诸如服务器端的数据库的设计;阶段三将进行A9单个模块的调试以及整体组合后的调试,这个过程是最为关键的,关乎整个系统的稳定性能,同是也是复杂程度最高的模块。在阶段一,我们将开发环境与开发板环境分别称为Host端开发与Target端开发,在Host端开发我们要安装一系列的开发调试工具包,并且配置HoSt与Target开发的服务器环境。在Target端我们主要是对目标机环境简单设置,同是进行相关功能的实验。当三个阶段做好之后将做

26、好的BootLoader和Kernel还有Roofs烧写到开发板上,至此一个裁剪的嵌入式小型数据处理服务器做好了!嵌入式Linux开发模式如图2-3:图2-3嵌入式LinUX开发模式图2-4开发板调试模式这里将X86机器作为开发服务器机器,开发板作为目标机或者调试机。tftp服务器配置:TFTP(TrivialFileTransferProtocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供开销不大且不复杂的文件传输服务。端口号为69oTFTP是一个传输文件的简单协议,它基于UDP协议而实现。在调试开发阶段我们使用tftp服务器目的就是

27、可以将我们在Host机中编译开发好的内核高速的下载到Target中。对于产品的快速开发调试是至关重要的。Tftp服务器的具体配置如图2-5:服务器端配置客户靠;配置nfs是NetWOrkFileSySteln的缩写,即网络文件系统。一种使用于分散式文件系统的协定,它的最大的功能就是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,它的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。也正是nfs简单实现但功能相对健壮的特点。利用这个工具可以直接利用服务器上面的文件,而不用先下载到本地,给调试程序

28、和文件系统带来极大的便利。具体搭建过程详见图2-6:开始图2-6nfs服务器配置整个过程必须保证完整且正确,在实际的配置的过程会出现很多调试配置上的问题,一定要克服解决!做好A9开发和调试后环境后就是具体的内核移植的过程了。内核移植主要工作就是IMmage的制作,这个制作过程在第三章讲解,下边大体介绍整个开发板的启动流程如图2-7:初始化硬件图2-7开发板的启动流程2.3数据采集端环境配置2.3.1硬件资源概览数据采集模块采用的是基于LPC11C14微控制器(ARMCortex-MO内核),集成多种传感器、RFID、ZigBee、OLED显示模块等的一款芯片。配套有开放的CoLink仿真器,使

29、用者可以在不另外配置U-LINK2仿真器的情况下进入开发。本设计中我选择了温湿度传感模块、光照传感模块、ZigBee数据传输模块。LPC11C14芯片整体框架如图2-8:图2-8LPCIIC14芯片整体框架本套架构设计是用于Exynos4412服务器端与LPC11C14之间的程序设计的整体框架和数据的处理过程。EXynOS4412通过发送操作请求数据包到LPCl1C14来完成相应的用户希望得到的操作与数据,同时LPCllC14给EXynoS4412回复相应的确认包,表示LPC11C14已经完成了这项操作。这样就可以完成一次交互。LPeIlC14的实物展示如图2-9:2.3.2模块芯片的选择温湿

30、度传感器DHTll的基本原理:DHTll是一款有校准数字信号输出的温湿度传感器。精度湿度+-5%RH,温度+-2,量程湿度20-90领H,温度050。它采用的是简化的单总线通信,系统中的数据交换、控制均由单总线完成。DATA用于微处理器与DHTll之间的通讯和同步,采用单总线数据格式,一次传送40位数据,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验位。原理图如图2-10:图2-10光照感应器ISL29003的基本原理:ISL29003内部有两个光电管。光电管1对可见光和红外光都是敏感的,光电管2主要是对红外光敏感的。这

31、两个的光谱反应是独立的。两个光电管将光信息转换为电流,然后通过二极管的电流输出会被一个16位的A/D转换为数字信号。原理图如图2-11:2. 3.3开发与调试工具包安装在这个阶段开发环境是KeilRealViewMDK,是ARM公司目前最新推出的对各种嵌入式处理器的软件开发工具。RealViewMDK集成了业内最领先的技术,包括Vision4集成开发环境与ReaIVieW编译器,支持ARM7、ARM9和最新的Cortex-MOCortex-MlCorte-M3和Corte-M4核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能。产品有以下模块

32、组成:Vision4IDE;启动代码生成向导;设备模拟器性能分析器;RealVieW编译器;MircoLib;RL-ARM(可选);U-LINK2仿真器以及其他仿真器。在LPC11C14开发过程我们同样需要调试工具,这里我们选用的是CoLink仿真器,该仿真器上有C。Iink固件,此固件在有新版本时可以升级。CoIin实物展示如图2-12:图272C。Iin实物展示Colin的安装调试如图2-13:将CoMDKPlUginL3.Lexe插件安装,实现CoUnk仿真器与ReaIViewMDK编译环境建立关联结束图273COlin的安装调试第三章软件设计整个系统的软件设计部分主要有四个部分:服务器

33、端,数据采集端,数据传输模块,APP模块,在服务器端主要的工作将集中在对LinUX系统移植和数据传输阶段,前者是一些固化的操作,仅仅是在驱动的实现阶段有点难度,相较之后者要比较麻烦要不断的进行测试才可以稳定的数据传输通信。数据采集端主要实现的是数据通信与光照传感器与温湿度传感器的驱动,这个过程都算可以,还是传输数据的阶段最为反复。在移动APP设计,用的是AnCIrOid进行开发的,主要解决的问题是数据的展示与请求命令的解析处理。在服务器端采用的是Json格式数据进行存储的。整个系统的软件框架如图3-1:IBOotLOade制作IRootfsUlmage服务器端I设备树ISqlite3数据库实现

34、软件设计架构-.、实现驱动光照传感器数据采集我K一实现温湿度传感器。I.实现UART转USB通信。数据传输端实现A9与MoZigBee通信。移动APP端实现设省本地路田。口*实现与服务器前实现具有纠错的通信协议图37系统的软件框架3.1服务器端的软件设计3. 1.1Linux内核移植内核移植是这个模块的核心工作,也同样是嵌入式产品的核心,我们是在一个固定的框架下做东西,是在开源代码的基础上裁剪出自己需要的模块,在根据自己实际的需求,去实现相应的模块的驱动,这个过程在这里不详细说明,这个过程的框架流程如图3-2:LinUX移植U-BootKernelRootfsDTB利用 bu sybox- 4

35、 1.22.Ltar 这个 .工具生成自己的用文件冬送PlantfOrm总线 模式实现相关 驱动make编 译生成设缶树 文件图3-2Linux内核移植3.1.2 SQLite数据库SQLite,是一款关系型数据库管理系统,它的设计目标是嵌入式的,目前在嵌入式领域绝对是二选择。这个数据库占用资源非常的低,很符合嵌入式内存有限的基本现状。它能够支持WinCIc)WS/Linux/UniX等等主流的操作系统,同时能够跟很多程序语言相结合,这里使用SQLite3来对MO传输来的数据进行存储。3.1.3 JSon文件的格式实现这里数据通信中的数据格式都是采用的Json,这是一种轻量级的数据交换格式,它

36、采的是用完全独立于语言的文本格式,但同时又保留了类C的习惯。也正是这些特性使它成为比较理想的数据交换语言。易于人编写和阅读,同时也易于快速的解析和生成。3.1.4 服务器端的通信协议的设置服务器A9的通信主要是与客户端通信、机)进行通信,双方之间通信通过TCP协议通信,在应用层指定自己的数据包格式,并且带有确认机制,这个模块讲解说明的是Android的APP与服务器A9进行通信。这里根据实际的功能需求进行了通信协议的设置如表3-1,表3-2:表3-1JSON格式的KEY值如下:UserName用户名OldPassword旧密码newPassword新密码password密码PhoneNumbe

37、r手机号UserToken用户身份识别码验证码(6位大小写字母和数字组randomCode成)StateCode状态值(int)temperature温度humidity湿度light光照deviceNumber设备号deviceCode设备操作码deviceState设备状态码videoList获取视频文件列表表3-2服务器返回给客户端的状态码:StateCode:0客户端请求成功StateCode:1客户端请求失败StateCode:2客户端用户名错误StateCode:3客户端密码错误StateCode:4客户端手机号错误StateCode:5客户端验证码错误StateCode:6客户端

38、UserToken错误StateCode:7客户端UserToken过期服务器返回给客户端的设备状态:deviceState:0设备处于打开状态deviceState:1设备处于关闭状态deviceState:2设备处于故障状态客户端请求设备操作码:deviceCode:0请求打开设备deviceCode:1请求关闭设备deciceCode:2请求获取当前设备的状态数据包格式如下:报文类型功能号数据长度数据内容数据包格式的详细说明(1)报文类型:表示谁跟谁通信,大小为Ibyte报文类型表示谁跟谁通信OxaaAndroidAPP-A9OxffA9一AndroidAPP(2)功能号:表示要干什么事

39、情,大小为Ibyte功能号(大小为Ibyte)用户操作0x00用户注册0x01用户登陆0x02忘记密码0x21发送用户原密码0x03修改密码0x04请求获取温度0x05请求获取湿0x06请求获取光照0x07请求获取三轴数据0x08打开关闭灯0x09打开关闭风扇OxOa打开关闭门OxOb得到视频文件OxOc获取设备状态(3)数据长度:数据包携带大小为2byteJSON格式的数据(4)数据内容:JSON格式的字符串数据包3.2.1总体设计概述本套架构设计是用于的Exynos4412(CorteX-A9)与LPClICl4(Cortex-MO)之间的程序设计的整体框架和数据的处理过程。这里采用的是“

40、三次握手”的机制进行可靠传输的,首先A9通过发送操作请求数据包到MO完成相应的用户希望得到的操作,同时MO给A9回复相应的确认包,表示机)已经完成了这项操作,这样就可以完成一次交互。具体实现如图3-3:图3-3MO与A9通信的框架模型图一:(1)设计思路:A9与MO之间是用ZigBee来进行数据的传输,ZigBee有两个模块,一个是协调器,它与A9是通过串口相连接。另一个是终端,它与MO也是通过串口相连接。所以我们通过读和写串口的函数接口就可以得到我们想要的数据包。(2)设计讲解:在图中分别有发出的数据包和获得数据包两种包,这里的包是由之前我们自己定义的通信协议来决定的。图中标为浅蓝色的字体,

41、数据包是从MO发送到A9。红色字体说明处理的是温湿度的数据包,当A9请求MO发送温湿度或者是光照的时候,MO采集到温湿度或光照的信息之后,通过写串口函数接口把数据写入ZigBee的写缓冲区中,终端ZigBee再通过从电磁波上分离出的数据包发送到协调器ZigBee,此时的协调器将数据包搬移到串口的读缓冲区,A9通过读串口的函数接口获取到希望得到的传感器数值。图二(1)设计思路:Mo中程序的执行逻辑,因为数据都是通过串口来发送和获取的,所以我们可以采用轮询的方式来查询终端ZigBee的读缓冲区是否有A9数据包请求。如果有,则解析这个数据包,从而做出客户想要得到的操作效果;如果没有,则需要温度的数据

42、实时(ImS)的写入终端ZigBee的写缓冲区中,目的是为了客户可以随时获取和感知家里的温度信息。(2)设计讲解:在图中的第一个分支,当检测到终端ZigBee的读缓冲区中有数据,表明客户希望操作家里的硬件设备(风扇、灯)或者是获取当前家里的温湿度、光照信息。在这时MO就要解析这些从A9发来的数据包,完成客户的操作后返回一个确认包,表明已经完成此项操作。当检测到终端ZigBee的读缓冲区中没有数据,表明客户没有操作请求,需要MO实时的将信息发送到终端ZigBee的写缓冲区,再通过ZigBee把数据包发送到A9,实时的对周围环境行监控。MO模块对数据发送与请求命令的解析过程如图3-4:图3-43.

43、 2.2数据采集端MO与服务器端A9通信协议设置这里的协议是涉及的是MO与A9进行通信的,这些协议是根据实际的硬件需要建立的比较简单的一个协议。如图表3-4:表3-41.请求数据包格式如下报文类型功能号设备编号数据内容(1)报文类型:表示谁跟谁通信,大小为Ibyteo报文类型源端(发送端)目标端(接收端)OxddExynos4412(corte-A9)LPCl1C14(cortex-M0)(2)功能号:表示要干什么事情,大小为Ibyteo功能号功能说明0x04FS4412请求LPClICl4控制灯0x05FS4412请求LPCl1C14控制风扇0x06FS4412请求LPClICl4控制门(3

44、)设备编号:区分同类的每个设备,大小为Ibyteo如LED1:0x00;LED2:0x01数据大(4)数据内容:小温度(Ibyte)湿度(Ibyte)光照(2byte)7byte门禁状态(Ibyte):0x00表示打开0x01表示关闭Ibyte灯光状态(Ibyte):0x00表示打开0x01表示关闭Ibyte风扇状态(Ibyte):0x00表示打开0x01表示关闭Ibyte2.应答数据包格式如下数据内报文类型功能号设备编号容(1)报文类型:确认包,报文类型固定为OXCC,占用1个字节。报文类型源端(发送端)目标端(接收端)OxccLPCl1C14(corte-M0)Exynos4412cort

45、e-A9)(2)功能号:确认的是什么事情。功能号(Ibyte)功能说明0x00LPC11C14响应温度数据到Exynos44120x01LPC11C14响应湿度数据到Exynos44120x02LPC11C14响应光照数据到Exynos44120x03LPCl1C14响应三轴数值到Exynos44120x04LPCl1C14响应灯状态到Exynos44120x05请求LPCl1C14响应风扇状态Exynos44120x06请求LPCl1C14响应门的状态Exynos4412(3)设备编号:区分同类每个设备大小为Ibyte。如LED1:OXOO;LED2:OXol(4)状态:成功还是失败,占用1

46、个字节。状态说明0x00门打开0x01门关闭0x00灯打开0x01灯关闭0x00风扇打开0x01风扇关闭如图3-5:所示,这个是整个客户端软件的功能展示与通信流程:图3-5Android客户端软件模块设计图3-6是整个客户端执行流程:图3-6AndrOid客户端执行流程第四章系统实验与调试4.1服务器A9模块的数据接/发调试的相关过程展示依据前面对服务器与客户端约定的协议进行通信测试:表4-1注册数据包收发格式注册发送数据包APP向服务器A9发送注册数据包数据流向APP-A9报文类型功能号数据长度数据内容Oxaa0x00APP那边发送的JSON长度用户名,密码,手机号发送数据包A9向服务器APP发送注册数据包数据流向A9APP报文类型功能号数据长度数据内容

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号