《一种基于智能手机的农田监测系统.pdf》由会员分享,可在线阅读,更多相关《一种基于智能手机的农田监测系统.pdf(12页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104197991A43申请公布日20141210CN104197991A21申请号201410466565922申请日20140912G01D21/02200601G08C17/0220060171申请人东华大学地址201620上海市松江区松江新城人民北路2999号申请人秦皇岛兴龙轮毂有限公司72发明人杨彦中杨义陈彦广谢锡冬郑涛74专利代理机构上海泰能知识产权代理事务所31233代理人宋缨孙健54发明名称一种基于智能手机的农田监测系统57摘要本发明涉及一种基于智能手机的农田监测系统,包括发射端和智能接收端,所述发射端包括PSOC4片上系统模块、电源模块、温度传感器、湿度传感。
2、器、氧气传感器和蓝牙接口输出模块;所述PSOC4片上系统模块分别与电源模块、温度传感器、湿度传感器、氧气传感器和蓝牙接口输出模块相连,所述蓝牙接口输出模块与智能接收端之间实现蓝牙通信连接。本发明能够方便人们对农田数据的采集。51INTCL权利要求书1页说明书6页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书6页附图4页10申请公布号CN104197991ACN104197991A1/1页21一种基于智能手机的农田监测系统,包括发射端和智能接收端,其特征在于,所述发射端包括PSOC4片上系统模块、电源模块、温度传感器、湿度传感器、氧气传感器和蓝牙接口输出模块;所述P。
3、SOC4片上系统模块分别与电源模块、温度传感器、湿度传感器、氧气传感器和蓝牙接口输出模块相连,所述蓝牙接口输出模块与智能接收端之间实现蓝牙通信连接。2根据权利要求1所述的基于智能手机的农田监测系统,其特征在于,所述电源模块为太阳能供电模块。3根据权利要求1所述的基于智能手机的农田监测系统,其特征在于,所述温度传感器采用DS18B20芯片实现,所述DS18B20芯片的VDD端与PSOC4片上系统模块的电源端相连,GND端接地,信号输入端与PSOC4片上系统模块上的第一输入管脚相连。4根据权利要求1所述的基于智能手机的农田监测系统,其特征在于,所述湿度传感器采用AM2306芯片实现,所述AM230。
4、6芯片的VDD端与PSOC4片上系统模块的电源端相连,GND端接地,信号输入端与PSOC4片上系统模块上的第二输入管脚相连。5根据权利要求1所述的基于智能手机的农田监测系统,其特征在于,所述氧气传感器为4OXV传感器。权利要求书CN104197991A1/6页3一种基于智能手机的农田监测系统技术领域0001本发明涉及农田监测技术领域,特别是涉及一种基于智能手机的农田监测系统。背景技术0002随着社会的发展,科技的进步,人们对传统的农业生产方式提出了新的要求。传统的农业生产方式已经跟不上时代发展的潮流,而智能化、精准化、远程化将是未来农业发展的趋势,而科技无疑将发挥巨大的作用。而我国的农业发展薄。
5、弱,现代化程度低,农业从事人员整体文化水平较低等劣势决定了我们在农业现代化领域有着巨大的潜力。说到现代农业就不得不提到精准农业,它被认为是21世纪的科技前沿,它将是我国农业由传统转向现代的关键所在,从而可以期待更多的科技产品将走向农田,在带来便捷的同时也将带来更大的收益。相比于传统的有线通信方式,无线通信在农业通信领域有着得天独厚的优势,其中以ZIGBEE、WIFI、蓝牙为代表的无线通信方式在农业领域将扮演着越来越重要的角色。发明内容0003本发明所要解决的技术问题是提供一种基于智能手机的农田监测系统,方便人们对农田数据的采集。0004本发明解决其技术问题所采用的技术方案是提供一种基于智能手机。
6、的农田监测系统,包括发射端和智能接收端,所述发射端包括PSOC4片上系统模块、电源模块、温度传感器、湿度传感器、氧气传感器和蓝牙接口输出模块;所述PSOC4片上系统模块分别与电源模块、温度传感器、湿度传感器、氧气传感器和蓝牙接口输出模块相连,所述蓝牙接口输出模块与智能接收端之间实现蓝牙通信连接。0005所述电源模块为太阳能供电模块。0006所述温度传感器采用DS18B20芯片实现,所述DS18B20芯片的VDD端与PSOC4片上系统模块的电源端相连,GND端接地,信号输入端与PSOC4片上系统模块上的第一输入管脚相连。0007所述湿度传感器采用AM2306芯片实现,所述AM2306芯片的VDD。
7、端与PSOC4片上系统模块的电源端相连,GND端接地,信号输入端与PSOC4片上系统模块上的第二输入管脚相连。0008所述氧气传感器为4OXV传感器。0009有益效果0010由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果本发明通过温度传感器、湿度传感器、含氧量传感器完成对农田中这些必备数据的采集,然后通过单片机端的蓝牙串口模块将采集到的数据发送到手机终端,成功的解决了经济成本大、功耗大、使用寿命短,操作不便捷等问题,极大地方便了人们对农田数据的采集。其中,发射端主要功能就是完成对数据的采集并能在被接收端连接时不断地将数据发送出去。接收端在接收温度、湿度、含氧量数据的同。
8、时又可显示植物的多种生长信息,并可以在说明书CN104197991A2/6页4摇一摇手机时能自动播报即时接收的传感器数据,极大地方便了老年人用户的使用,达到了很好的人机交互效果。附图说明0011图1是本发明的结构示意图;0012图2是本发明中PSOC4片上系统模块示意图;0013图3是本发明中温度传感器连接图;0014图4是本发明中湿度传感器连接图;0015图5是本发明中氧气传感器连接图。具体实施方式0016下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些。
9、等价形式同样落于本申请所附权利要求书所限定的范围。0017本发明的实施方式涉及一种基于智能手机的农田监测系统,如图1所示,包括发射端和智能接收端,所述发射端包括PSOC4片上系统模块、电源模块、温度传感器、湿度传感器、氧气传感器和蓝牙接口输出模块;所述PSOC4片上系统模块分别与电源模块、温度传感器、湿度传感器、氧气传感器和蓝牙接口输出模块相连,所述蓝牙接口输出模块与智能接收端之间实现蓝牙通信连接。0018如图2所示,本发明采用赛普拉斯提供的PSOC4可编程片上系统,它将PSOC模拟构架和数字架构和ARM的低功耗CORTEXM0内核完美的融合在一起。它的一些常用模拟功能有放大器、ADC、DAC。
10、、比较器以及滤波器等,常用数字功能有定时器、计数器、PWM、SPI、IIC和UART等。本发明所使用的开发环境是PSOCCREATOR30,实际上相比于平时多见的51单片机或者PIC单片机是降低了设计的难度,利用它开发人员可以节约大量的时间,同时相对于其单片机,PSOC4片上系统模块也能很大的降低功耗,系统成本显著降低。在本发明中主要用到该模块的ADC、UART等功能,这些功能的实现均是现有技术,在此不再赘述。0019出于节能环保的考虑,本发明采用的供电模块是一个太阳能供电模块。该太阳能供电模块是一个50W直流发电系统,有12V和5V两种输出,本发明中选用5V的输出即可以满足实际的要求。002。
11、0温度传感器采用最常见的DS18B20防水型,其探头是由不锈钢管封装,因此具有很强的防水防潮性,而且还不容易生锈。此外它的体积小、连接方便特有的单总线接口、抗干扰能力强、精度高等优点也是我们选择它要考虑的因素。单总线模式通常都需要外接一个大约51K的上拉电阻,当总线处于空闲状态时,其状态为高电平。其模块连接原理如图3所示。在实际操作中,将DS18B20的VDD接PSOC4的33V或5V,GND接地,唯一的信号线接PSOC4的P21管脚。需要注意的是PSOC4的端口模块需要定义成双向模式,也就是端口读写模式,既可读又可写,否则将不能正确读出传感器数值。另外值得一提的是该温度传感器不仅可以测量空气。
12、很中的温度,也可准确测量土壤中的温度,对改进农作物的种植方式具有重要的参考意义。说明书CN104197991A3/6页50021湿度传感器模块采用的是AM2306,它是一种户外型湿度传感模块。其测量精度高、稳定性强、连接简单、寿命长是我们选择它的主要原因。和DS18B20一样它也采用单总线进行通信,也需要外接一个大约51K的上拉电阻。其连接模块原理图如图4所示。和DS18B20一样,PSOC4的端口模块需要设置成双向的,否则也不能正确读出数值。AM2306有四个引脚,第一个引脚VDD,是电源正极,接PSOC4的33V或5V;第二个引脚GND是电源负极,接地;第三个引脚也就是串行数据线,接PSO。
13、C4的P23管脚。第四个引脚是NC,它是一个空引脚。该类型湿度传感器因为接线较长,所以对它的摆放位置有充足的选择空间。0022氧气传感器模块选择英国CITY公司生产的4OXV传感器。该该类型传感器是一种电化学传感器,通常用于医疗、煤矿、化工能领域。该传感器在精度、稳定性、功耗等各方面都能很好的满足要求。该传感器模块的连接原理图如图5所示。由原理图可以看到需将输出的的电流转化为电压才可以,故需要在外部接上一个电阻来完成这种转换。PSOC4也是一种高度灵活可配置的数模转换器。在此处采样转换模式可选用单一样本转换模式,分辨率选择为16位,输入模式选择单端输入,时钟上选择内部时钟,参考电压选择内部10。
14、24V。0023蓝牙串口模块选用HC07从机模块。它的简单易用、稳定度高、价格实惠是选择它的主要原因。通过这个模块将原有的有线的串口通信变成一种通过蓝牙进行的无线串口通讯。该模块是5针接口,每两个PIN之间的距离是254MM。第一个PIN是STSTUS,蓝牙状态输出,如果在此PIN有持续的高电平,表示数据链路已经接通了,不过这个PIN通常是可以选择不连接的。第二个PIN是VCC,电源接口,需与PSOC4的5V进行连接。第三个PIN是GND,接地。第四个是TXD,数据输出端口,必须接PSOC4的数据输入接口即RX或RXD,在此可以选择PSOC4的P15管脚。第五个是RXD,数据输入端口,必须接P。
15、SOC4的数据发送接口即TX或TXD,在此选择PSOC4的P14管脚。事实上本发明中的蓝牙串口模块只用于数据的输出,所以第五个PIN是可以不进行处理的。在实际操作中该模块有一个用于提示连接是否成功的指示灯,当未进行连接或连接失败时,该指示灯就一直闪烁,当连接成功时该指示灯变成常亮状态。0024由于发射端是放置在农田中的,因此必须考虑刮风下雨等不可抗拒因素对它的影响。所以特意设计了一种透明箱子,该箱子可以将PSOC4模块部分、蓝牙串口部分、电源供电模块放在其中,露出几个传感器接线外接的小孔,这样对整个系统起到了很好的保护作用,使系统的使用寿命大大延长。0025智能接收端的蓝牙通信是整个接收系统中。
16、最重要的一环,蓝牙通信大致可分为打开蓝牙、获取蓝牙、连接蓝牙、数据传输四个部分。下面来详细讲述一下这四个过程00261打开蓝牙0027打开蓝牙的体验方式有两种,第一种是当打开应用时跳出对话框询问用户是否打开蓝牙,用户选择“是”即可打开蓝牙,否则不打开蓝牙。还有一种方式是直接打开蓝牙,也就是打开应用程序时不弹出选择对话框,直接打开蓝牙。在这两种方式中需要用到的类是BLUETOOTHADAPTER,对于类BLUETOOTHADAPTER,简单点说就是该设备的蓝牙适配器。通过创建BLUETOOTHADAPTER对象,利用该对象的ENABLE、DISABLE方法完成对本地蓝牙设备的打开与关闭。其中IS。
17、ENABLED方法用于判断蓝牙是否已经打开,而ENABLE方法的作用是打开蓝牙。如果想关闭蓝牙的话我们还需要用到DISABLE方法。在本发明的智能接收端我们选择打开蓝牙的体验方式是第二种,即不需要提醒用户,直接打开蓝牙设备。具体说明书CN104197991A4/6页6实施方式为在已创建的类SENSORACTIVITYJAVA中创建一个BLUETOOTHADAPTER对象取名为MBLUETOOTHADAPTER,在ONSTART方法中调用该对象的ISENABLED方法判断蓝牙是否已打开,若未打开则调用ENABLE方法打开蓝牙。00282获取蓝牙0029因为每部手机的设置选项中都有自带的蓝牙搜索程。
18、序,所以为了减少应用的体积,这部分功能将不会在我们的应用中予以体现。该智能接收端获取的蓝牙设备是本地已配对的设备。在此用到的主要类依然是BLUETOOTHADAPTER,用到的方法有GETDEFAULTADAPTER、GETBONDEDDEVICES、GETNAME、GETADDRESS等。其中方法GETDEFAULTADAPTER的作用是获取默认的蓝牙适配器,方法GETBONDEDDEVICES是获取本地已配对的设备。方法GETNAME是获取已配对设备的名称,而方法GETADDRESS的作用是获取已配对设备的物理地址。获取的蓝牙设备名称和物理地址将在主页面中按下“连接”按钮后弹出的的对话框中。
19、显示。在从主页面跳转到选择对话框式时需要用到的类是INTENT,INTENT在此处的作用主要是当按下“连接”按钮时应用从主页面对应的SENSORXML布局跳转到设备列表页面对应的DEVICE_LISTXML布局。具体实施方式为创建一个设备类,起名为DEVICEACTIVITY。在DEVICEACTIVITYJAVA对应的布局文件DEVICE_LISTXML中采用LINEARLAYOUT布局方式,采用默认的垂直向下分布进行布局,从上至下依次为TEXTVIEW和LISTVIEW,其中TEXTVIEW用于显示“请选择您要连接的设备”,LISTVIEW用于显示获得的蓝牙设备。在DEVICEACTIVI。
20、TYJAVA中创建BLUETOOTHADAPTER对象,取名为MBTADAPTER,创建ARRAYADAPTER对象,取名为MPAIREDDEVICESARRAYADAPTER。然后利用方法SETCONTENTVIEWRLAYOUTDEVICELIST来显示布局界面,然后通过获取的蓝牙设备填充上面的布局。获取蓝牙设备的具体方式大致可分为下面几步创建LISTVIEW类LISTVIEW,创建页面显示适配器MPAIREDDEVICESARRAYADAPTER,通过GETDEFAULTADAPTER方法创建本地蓝牙适配器,定义SET类,取名为PAIREDDEVICES,通过GETBONDEDDEVIC。
21、ES方法得到一组已配对的蓝牙设备。然后利用方法SIZE对已获得的蓝牙设备数量进行判断,如果不为0则通过GETNAME和GETADDRESS获取蓝牙设备的名称及物理地址然后利用ADD方法将蓝牙设备名称和物理地址添加到页面显示适配器MPAIREDDEVICESARRAYADAPTER中。然后通过SETADAPTER方法绑定MPAIREDDEVICESARRAYADAPTER,最后通过方法SETCONTENTVIEWLISTVIEW在页面中进行显示。如果获取的设备数为0则不进行任何处理。最后还要对这些获得的蓝牙设备添加响应事件,具体处理方式为利用SETONITEMCLICKLISTENER方法创建对。
22、点击蓝牙设备事件的响应,利用方法GETTEXTTOSTRING获取点击到的设备的信息赋给STRING变量INFO,利用INFO的SUBSTRINGINFOLENGTH17方法获得点击到的设备的地址。然后创建INTENT对象,目的是将地址信息传递到将要进行的操作中。调用SETRESULTACTIVITYRESULT_OK,INTENT进行信息的传递,然后调用NISH返回主页面并调用SENSORACTIVITYJAVA中的ONACTIVITYRESULT方法进行相应的处理。注意一定要在ANDROIDMANIFESTXML中加入ANDROIDNAME“COMMFGGARDENDEVICEACTIVI。
23、TY“,这段代码的作用是应用程序允许DEVICEACTIVITYCLASS对应的页面打开。此外由于要显示的是一个类似于对话框的页面,所以要在ANDROIDMANIFESTXML中与ANDROIDNAME“COMMFGGARDENDEVICEACTIVITY“对应的地方加入ANDROIDTHEME“ANDROIDSTYLE/说明书CN104197991A5/6页7THEMEDIALOG“。00303连接蓝牙0031如果想让两个蓝牙设备能够正常通信就必须建立两个设备之间的连接,因此就得定义一个服务端和客户端,在本发明中作为智能接收端的手机就是客户端,而发射端的蓝牙模块就是服务端。需要用到的类有BL。
24、UETOOTHSERVERSOCKET和BLUETOOTHSOCKET。在进行详细阐述之前必须先提到两个名词RFCOMM和UUID。其中RFCOMM是一个基于欧洲电信标准协会ETSI0710规程的串行线性仿真协议,其目的是针对如何在两个不同设备上的应用之间保证一条完整的通信路径,并在它们之间保持一通信段。而UUID是一种通用唯一标识码UNIVERSALLYUNIQUEIDENTIER,是指在一台机器上生成的数字,它保证对在同一时空的所有机器都是唯一的。判断两个蓝牙设备是否已经建立连接的标准就是看两个设备是否在同一个RFCOMM通道下分别拥有一个连接的BLUETOOTHSOCKET。但是服务端设。
25、备和客户端设备获取BLUETOOTHSOCKET的方式又有所区别。服务器端设备是通过接受一个即将到来的连接来获取的,而客户端设备则是通过打开一个到服务器设备的RFCOMM通道来获取的。下面具体说明两种方式的获取方式0032服务器端实现0033通过调用BLUETOOTHADAPTER的LISTENUSINGRFCOMMWITHSERVICERECORD方法来获取BLUETOOTHSERVERSOCKETUUID用于客户端与服务器端之间的配对。然后再调用BLUETOOTHSERVERSOCKET类的ACCEPT方法来监听连接请求,如果收到请求就返回一个BLUETOOTHSOCKET实例。因为这一方。
26、法是在连接前时刻运行着的,因此有必要将其放在一个线程中来执行,在本实施方式中该线程的名称就是ACCEPTTHREAD。尽管手机端是作为客户端而存在的也就是说这个ACCEPTTHREAD线程是可以不要的,但是为了应用的完整性还是添加了接受线程ACCEPTTHREAD。当不想再接受其它的连接请求时,则需要调用BLUETOOTHSERVERSOCKET类的CLOSE方法去释放资源。值得注意的是当调用CLOSE方法后,之前获得的BLUETOOTHSOCKET实例并没有关闭。因为RFCOMM在任一时刻只能在一条通道中有一个连接,所以通常情况下在接收一个连接后,就关闭BLUETOOTHSERVERSOCK。
27、ET。0034客户端的实现0035通过搜索来得到服务器端的BLUETOOTHSERVICE。调用BLUETOOTHADAPTER的LISTENUSINGRFCOMMWITHSERVICERECORD方法来获取BLUETOOTHSOCKET此时的UUID应该和服务器端的UUID相等。然后调用BLUETOOTHSOCKET的CONNECT方法。因为这一方法也是一个耗时操作,因此定义了一个连接线程,取名为CONNECTTHREAD。在线程CONNECTTHREAD中可以传递出两个蓝牙设备的连接状态并在页面中用TOAST类予以显示。如果客户端的UUID和服务端的UUID相匹配并且连接请求被服务端接受,。
28、则CONNECT方法返回。00364数据传输0037本实施方式中只接收传感器采集到的数据而不发送相应的控制命令,因此整个应用只涉及到数据的接收而没有涉及到数据的发送。在此定义了一个两个蓝牙设备连接后用于管理连接的线程,取名为CONNECTEDTHREAD,此线程负责管理连接后的数据通信问题。首先定义一个BLUETOOTHSOCKET类MMSOCKET和一个INPUTSTREAM类MMINSTREAM,在CONNECTEDTHREAD方法中利用GETINPUTSTREAM方法获得输入流,然后在RUN中定义一个字节型数组的缓冲器BUFFER和一个整形变量BYTES,利用方法READBYTES将读得。
29、说明书CN104197991A6/6页8的缓冲值赋给BYTES,最后将BYTES通过HANDLER传递给传感器界面,同时传过去的还有标识SENSORMESSAGE_READ,注意此过程是循环进行的,和单片机中的循环类似。接下来在SENSORJAVA中的HANDLER类MHANDLER中,当MSGWHAT的值为SENSORMESSAGE_READ时即可进行传感器数值的接收,最后在对应的EDITTEXT中显示。0038上述的蓝牙通信是本领域的现有技术,本申请并未对其进行改进,在此处进行说明只是为了能够让本领域的技术人员更好的理解本申请。0039智能接收端还可通过摇一摇实时播报采集到的传感器数据。因。
30、为现有的安卓系统自带的TTS只支持英文朗读,经过查找资料最终确定了使用讯飞语音包进行中文播报,最终也达到了音质清晰、语速适中的良好效果。首先通过摇一摇动作触发页面的跳转,此次跳转是从SENSORXML布局对应页面跳转到VOICE。XML布局对应的页面。跳转后的页面是一个有着“喇叭”图案的页面表示正在进行语音播报。在跳转的过程中也需要将传感器的数值从SENSORXML布局对应的页面传递到VOICEXML布局对应的页面,在跳转后的那一刻启动语音引擎,进行播报。说明书CN104197991A1/4页9图1说明书附图CN104197991A2/4页10图2说明书附图CN104197991A103/4页11图3图4说明书附图CN104197991A114/4页12图5说明书附图CN104197991A12。