一种基于智能手机的作物种植参数采集系统的制作方法

文档序号:6718644阅读:269来源:国知局
一种基于智能手机的作物种植参数采集系统的制作方法
【专利摘要】本实用新型涉及一种基于智能手机的作物种植参数采集系统,包括发射端和智能接收端,所述发射端包括PSOC4片上系统模块、电源模块、温度传感器、湿度传感器、氧气传感器和蓝牙接口输出模块;所述PSOC4片上系统模块分别与电源模块、温度传感器、湿度传感器、氧气传感器和蓝牙接口输出模块相连,所述蓝牙接口输出模块与智能接收端之间实现蓝牙通信连接。本实用新型能够方便人们对农田数据的采集。
【专利说明】
一种基于智能手机的作物种植参数采集系统

【技术领域】
[0001]本实用新型涉及农田监测【技术领域】,特别是涉及一种基于智能手机的作物种植参数采集系统。

【背景技术】
[0002]随着社会的发展,科技的进步,人们对传统的农业生产方式提出了新的要求。传统的农业生产方式已经跟不上时代发展的潮流,而智能化、精准化、远程化将是未来农业发展的趋势,而科技无疑将发挥巨大的作用。而我国的农业发展薄弱,现代化程度低,农业从事人员整体文化水平较低等劣势决定了我们在农业现代化领域有着巨大的潜力。说到现代农业就不得不提到精准农业,它被认为是21世纪的科技前沿,它将是我国农业由传统转向现代的关键所在,从而可以期待更多的科技产品将走向农田,在带来便捷的同时也将带来更大的收益。相比于传统的有线通信方式,无线通信在农业通信领域有着得天独厚的优势,其中以ZIGBEE、WIF1、蓝牙为代表的无线通信方式在农业领域将扮演着越来越重要的角色。
实用新型内容
[0003]本实用新型所要解决的技术问题是提供一种基于智能手机的作物种植参数采集系统,方便人们对农田数据的采集。
[0004]本实用新型解决其技术问题所采用的技术方案是:提供一种基于智能手机的作物种植参数采集系统,包括发射端和智能接收端,所述发射端包括PS0C4片上系统模块、电源模块、温度传感器、湿度传感器、氧气传感器和蓝牙接口输出模块;所述PS0C4片上系统模块分别与电源模块、温度传感器、湿度传感器、氧气传感器和蓝牙接口输出模块相连,所述蓝牙接口输出模块与智能接收端之间实现蓝牙通信连接。
[0005]所述电源模块为太阳能供电模块。
[0006]所述温度传感器采用DS18B20芯片实现,所述DS18B20芯片的VDD端与PS0C4片上系统模块的电源端相连,GND端接地,信号输入端与PS0C4片上系统模块上的第一输入管脚相连。
[0007]所述湿度传感器采用AM2306芯片实现,所述AM2306芯片的VDD端与PS0C4片上系统模块的电源端相连,GND端接地,信号输入端与PS0C4片上系统模块上的第二输入管脚相连。
[0008]所述氧气传感器为40XV传感器。
[0009]有益效果
[0010]由于采用了上述的技术方案,本实用新型与现有技术相比,具有以下的优点和积极效果:本实用新型通过温度传感器、湿度传感器、含氧量传感器完成对农田中这些必备数据的采集,然后通过单片机端的蓝牙串口模块将采集到的数据发送到手机终端,成功的解决了经济成本大、功耗大、使用寿命短,操作不便捷等问题,极大地方便了人们对农田数据的采集。其中,发射端主要功能就是完成对数据的采集并能在被接收端连接时不断地将数据发送出去。接收端在接收温度、湿度、含氧量数据的同时又可显示植物的多种生长信息,并可以在摇一摇手机时能自动播报即时接收的传感器数据,极大地方便了老年人用户的使用,达到了很好的人机交互效果。

【专利附图】

【附图说明】
[0011]图1是本实用新型的结构示意图;
[0012]图2是本实用新型中PS0C4片上系统模块示意图;
[0013]图3是本实用新型中温度传感器连接图;
[0014]图4是本实用新型中湿度传感器连接图;
[0015]图5是本实用新型中氧气传感器连接图。

【具体实施方式】
[0016]下面结合具体实施例,进一步阐述本实用新型。应理解,这些实施例仅用于说明本实用新型而不用于限制本实用新型的范围。此外应理解,在阅读了本实用新型讲授的内容之后,本领域技术人员可以对本实用新型作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
[0017]本实用新型的实施方式涉及一种基于智能手机的作物种植参数采集系统,如图1所示,包括发射端和智能接收端,所述发射端包括PS0C4片上系统模块、电源模块、温度传感器、湿度传感器、氧气传感器和蓝牙接口输出模块;所述PS0C4片上系统模块分别与电源模块、温度传感器、湿度传感器、氧气传感器和蓝牙接口输出模块相连,所述蓝牙接口输出模块与智能接收端之间实现蓝牙通信连接。
[0018]如图2所示,本实用新型采用赛普拉斯提供的PS0C4可编程片上系统,它将PSoC模拟构架和数字架构和ARM的低功耗Cortex-MO内核完美的融合在一起。它的一些常用模拟功能有放大器、ADC、DAC、比较器以及滤波器等,常用数字功能有定时器、计数器、PWM、SP1、IIC和UART等。本实用新型所使用的开发环境是PS0CCreator3.0,实际上相比于平时多见的51单片机或者PIC单片机是降低了设计的难度,利用它开发人员可以节约大量的时间,同时相对于其单片机,PS0C4片上系统模块也能很大的降低功耗,系统成本显著降低。在本实用新型中主要用到该模块的ADC、UART等功能,这些功能的实现均是现有技术,在此不再赘述。
[0019]出于节能环保的考虑,本实用新型采用的供电模块是一个太阳能供电模块。该太阳能供电模块是一个50W直流发电系统,有12V和5V两种输出,本实用新型中选用5V的输出即可以满足实际的要求。
[0020]温度传感器采用最常见的DS18B20(防水型),其探头是由不锈钢管封装,因此具有很强的防水防潮性,而且还不容易生锈。此外它的体积小、连接方便(特有的单总线接口)、抗干扰能力强、精度高等优点也是我们选择它要考虑的因素。单总线模式通常都需要外接一个大约5.1kQ的上拉电阻,当总线处于空闲状态时,其状态为高电平。其模块连接原理如图3所示。在实际操作中,将DS18B20的VDD接PS0C4的+3.3V或+5V,GND接地,唯一的信号线接PS0C4的P2[l]管脚。需要注意的是PS0C4的端口模块需要定义成双向模式,也就是端口读写模式,既可读又可写,否则将不能正确读出传感器数值。另外值得一提的是该温度传感器不仅可以测量空气很中的温度,也可准确测量土壤中的温度,对改进农作物的种植方式具有重要的参考意义。
[0021]湿度传感器模块采用的是AM2306,它是一种户外型湿度传感模块。其测量精度高、稳定性强、连接简单、寿命长是我们选择它的主要原因。和DS18B20 —样它也采用单总线进行通信,也需要外接一个大约5.1kQ的上拉电阻。其连接模块原理图如图4所示。和DS18B20—样,PS0C4的端口模块需要设置成双向的,否则也不能正确读出数值。AM2306有四个引脚,第一个引脚VDD,是电源正极,接PS0C4的+3.3V或+5V ;第二个引脚GND是电源负极,接地;第三个引脚也就是串行数据线,接PS0C4的P2[3]管脚。第四个引脚是NC,它是一个空引脚。该类型湿度传感器因为接线较长,所以对它的摆放位置有充足的选择空间。
[0022]氧气传感器模块选择英国CITY公司生产的40XV传感器。该该类型传感器是一种电化学传感器,通常用于医疗、煤矿、化工能领域。该传感器在精度、稳定性、功耗等各方面都能很好的满足要求。该传感器模块的连接原理图如图5所示。由原理图可以看到需将输出的的电流转化为电压才可以,故需要在外部接上一个电阻来完成这种转换。PS0C4也是一种高度灵活可配置的数模转换器。在此处采样转换模式可选用单一样本转换模式,分辨率选择为16位,输入模式选择单端输入,时钟上选择内部时钟,参考电压选择内部1.024V。
[0023]蓝牙串口模块选用HC-07从机模块。它的简单易用、稳定度高、价格实惠是选择它的主要原因。通过这个模块将原有的有线的串口通信变成一种通过蓝牙进行的无线串口通讯。该模块是5针接口,每两个PIN之间的距离是2.54mm。第一个PIN是STSTUS,蓝牙状态输出,如果在此PIN有持续的高电平,表示数据链路已经接通了,不过这个PIN通常是可以选择不连接的。第二个PIN是VCC,电源接口,需与PS0C4的+5V进行连接。第三个PIN是GND,接地。第四个是TXD,数据输出端口,必须接PS0C4的数据输入接口即RX或RXD,在此可以选择?30(:4的?1[5]管脚。第五个是RXD,数据输入端口,必须接PS0C4的数据发送接口即了乂或了乂0,在此选择?5(^4的?1[4]管脚。事实上本实用新型中的蓝牙串口模块只用于数据的输出,所以第五个PIN是可以不进行处理的。在实际操作中该模块有一个用于提示连接是否成功的指示灯,当未进行连接或连接失败时,该指示灯就一直闪烁,当连接成功时该指示灯变成常亮状态。
[0024]由于发射端是放置在农田中的,因此必须考虑刮风下雨等不可抗拒因素对它的影响。所以特意设计了一种透明箱子,该箱子可以将PS0C4模块部分、蓝牙串口部分、电源供电模块放在其中,露出几个传感器接线外接的小孔,这样对整个系统起到了很好的保护作用,使系统的使用寿命大大延长。
[0025]智能接收端的蓝牙通信是整个接收系统中最重要的一环,蓝牙通信大致可分为打开蓝牙、获取蓝牙、连接蓝牙、数据传输四个部分。下面来详细讲述一下这四个过程:
[0026](I)打开蓝牙
[0027]打开蓝牙的体验方式有两种,第一种是当打开应用时跳出对话框询问用户是否打开蓝牙,用户选择“是”即可打开蓝牙,否则不打开蓝牙。还有一种方式是直接打开蓝牙,也就是打开应用程序时不弹出选择对话框,直接打开蓝牙。在这两种方式中需要用到的类是BluetoothAdapter,对于类BluetoothAdapter,简单点说就是该设备的蓝牙适配器。通过创建BluetoothAdapter对象,利用该对象的enable()、disable ()方法完成对本地蓝牙设备的打开与关闭。其中isEnabledO方法用于判断蓝牙是否已经打开,而enable O方法的作用是打开蓝牙。如果想关闭蓝牙的话我们还需要用到disable O方法。在本发明的智能接收端我们选择打开蓝牙的体验方式是第二种,即不需要提醒用户,直接打开蓝牙设备。【具体实施方式】为:在已创建的类SensorActivity.java中创建一个BluetoothAdapter对象取名为mBluetoothAdapter,在onStart O方法中调用该对象的isEnabledO方法判断蓝牙是否已打开,若未打开则调用enableO方法打开蓝牙。
[0028](2)获取蓝牙
[0029]因为每部手机的设置选项中都有自带的蓝牙搜索程序,所以为了减少应用的体积,这部分功能将不会在我们的应用中予以体现。该智能接收端获取的蓝牙设备是本地已配对的设备。在此用到的主要类依然是BluetoothAdapter,用到的方法有getDefaultAdapter O、getBondedDevices O、getName O、getAddress ()等。其中方法getDefaultAdapter O的作用是获取默认的蓝牙适配器,方法getBondedDevices O是获取本地已配对的设备。方法getName O是获取已配对设备的名称,而方法getAddress O的作用是获取已配对设备的物理地址。获取的蓝牙设备名称和物理地址将在主页面中按下“连接”按钮后弹出的的对话框中显示。在从主页面跳转到选择对话框式时需要用到的类是Intent, Intent在此处的作用主要是当按下“连接”按钮时应用从主页面对应的sensor,xml布局跳转到设备列表页面对应的device_list.xml布局。【具体实施方式】为:创建一个设备类,起名为 DeviceActivity。在 DeviceActivity.java 对应的布局文件 device_list.xml中采用LinearLayout布局方式,采用默认的垂直向下分布进行布局,从上至下依次为TextView和ListView,其中TextView用于显示“请选择您要连接的设备”,ListView用于显示获得的蓝牙设备。在DeviceActivity.java中创建BluetoothAdapter对象,取名为 mBtAdapter,创建 ArrayAdapter〈String> 对象,取名为 mPairedDevicesArrayAdapter。然后利用方法setContentView(R.layout, devicelist)来显示布局界面,然后通过获取的蓝牙设备填充上面的布局。获取蓝牙设备的具体方式大致可分为下面几步:创建 IistView 类 Iistview,创建页面显不适配器 mPairedDevicesArrayAdapter,通过getDefaultAdapter O方法创建本地蓝牙适配器,定义Set〈BluetoothDevice>类,取名为pairedDevices,通过getBondedDevices O方法得到一组已配对的蓝牙设备。然后利用方法SizeO对已获得的蓝牙设备数量进行判断,如果不为O则通过getNameO和getAddress O获取蓝牙设备的名称及物理地址然后利用add O方法将蓝牙设备名称和物理地址添加到页面显不适配器mPairedDevicesArrayAdapter中。然后通过setAdapter O方法绑定 mPairedDevicesArrayAdapter,最后通过方法 setContentView(Iistview)在页面中进行显示。如果获取的设备数为O则不进行任何处理。最后还要对这些获得的蓝牙设备添加响应事件,具体处理方式为:利用setOnltemClickListenerO方法创建对点击蓝牙设备事件的响应,利用方法getText0.toStringO获取点击到的设备的信息赋给String变量info,利用info的substring (info, length ()-17)方法获得点击到的设备的地址。然后创建intent对象,目的是将地址信息传递到将要进行的操作中。调用setResult (Activity.RESULT_0K, intent)进行信息的传递,然后调用finish O返回主页面并调用SensorActivity.java中的onActivityResult O方法进行相应的处理。注意一定要在 AndroidManifest.xml 中力口入 android:name = "com.mfg.garden.DeviceActivity",这段代码的作用是应用程序允许DeviceActivity.class对应的页面打开。此外由于要显不的是一个类似于对话框的页面,所以要在AndroidManifest.xml中与android:name =〃com.mfg.garden.DeviceActivity〃对应的地方力口入 android: theme = 〃@android: style/Theme.Dialog"。
[0030](3)连接蓝牙
[0031]如果想让两个蓝牙设备能够正常通信就必须建立两个设备之间的连接,因此就得定义一个服务端和客户端,在本实用新型中作为接收端的智能手机就是客户端,而发射端的蓝牙模块就是服务端。需要用到的类有BluetoothServerSocket和BluetoothSocket。在进行详细阐述之前必须先提到两个名词RFCOMM和UUID。其中RFCOMM是一个基于欧洲电信标准协会ETS107.10规程的串行线性仿真协议,其目的是针对如何在两个不同设备上的应用之间保证一条完整的通信路径,并在它们之间保持一通信段。而UUID是一种通用唯一标识码(UniversallyUniqueIdentifier),是指在一台机器上生成的数字,它保证对在同一时空的所有机器都是唯一的。判断两个蓝牙设备是否已经建立连接的标准就是看两个设备是否在同一个RFCOMM通道下分别拥有一个连接的BluetoothSocket。但是服务端设备和客户端设备获取BluetoothSocket的方式又有所区别。服务端设备是通过接受一个即将到来的连接来获取的,而客户端设备则是通过打开一个到服务器设备的RFCOMM通道来获取的。下面具体说明两种方式的获取方式:
[0032]服务端实现
[0033]通过调用BluetoothAdapter 的 IistenUsingRfcommWithServiceRecordO 方法来获取BluetoothServerSocket(UUID用于客户端与服务器端之间的配对)。然后再调用BluetoothServerSocket类的accept O方法来监听连接请求,如果收到请求就返回一个BluetoothSocket实例。因为这一方法是在连接前时刻运行着的,因此有必要将其放在一个线程中来执行,在本实施方式中该线程的名称就是Acc印tThread。尽管手机端是作为客户端而存在的也就是说这个Acc印tThread线程是可以不要的,但是为了应用的完整性还是添加了接受线程Acc印tThread。当不想再接受其它的连接请求时,则需要调用BluetoothServerSocket类的close O方法去释放资源。值得注意的是当调用close O方法后,之前获得的BluetoothSocket实例并没有关闭。因为RFCOMM在任一时刻只能在一条通道中有一个连接,所以通常情况下在接收一个连接后,就关闭BluetoothServerSocket。
[0034]客户端的实现
[0035]通过搜索来得到服务器端的BluetoothService。调用BluetoothAdapter的listenUsingRfcommffithServiceRecord O 方法来获取 BluetoothSocket (此时的 UUID 应该和服务器端的UUID相等)。然后调用BluetoothSocket的connect O方法。因为这一方法也是一个耗时操作,因此定义了一个连接线程,取名为ConnectThread。在线程ConnectThread中可以传递出两个蓝牙设备的连接状态并在页面中用Toast类予以显示。如果客户端的UUID和服务端的UUID相匹配并且连接请求被服务端接受,则connect O方法返回。
[0036](4)数据传输
[0037]本实施方式中只接收传感器采集到的数据而不发送相应的控制命令,因此整个应用只涉及到数据的接收而没有涉及到数据的发送。在此定义了一个两个蓝牙设备连接后用于管理连接的线程,取名为ConnectedThread,此线程负责管理连接后的数据通信问题。首先定义一个 BluetoothSocket 类 mmSocket 和一个 InputStream 类 mmlnStream,在ConnectedThreadO方法中利用getlnputStreamO方法获得输入流,然后在run O中定义一个字节型数组的缓冲器buffer和一个整形变量bytes,利用方法read (bytes [])将读得的缓冲值赋给bytes,最后将bytes通过handler传递给传感器界面,同时传过去的还有标识SensorActivity.MESSAGE_READ,注意此过程是循环进行的,和单片机中的循环类似。接下来在 SensorActivity.java 中的 Handler 类 mHandler 中,当 msg.what 的值为SensorActivity.MESSAGE_READ时即可进行传感器数值的接收,最后在对应的EditText中显不O
[0038]上述的蓝牙通信是本领域的现有技术,本申请并未对其进行改进,在此处进行说明只是为了能够让本领域的技术人员更好的理解本申请。
[0039]智能接收端还可通过摇一摇实时播报采集到的传感器数据。因为现有的安卓系统自带的TTS只支持英文朗读,经过查找资料最终确定了使用讯飞语音包进行中文播报,最终也达到了音质清晰、语速适中的良好效果。通过摇一摇动作触发页面的跳转,此次跳转是从sensor, xml布局对应的页面跳转到voice, xml布局对应的页面。跳转后的页面是一个有着“喇叭”图案的页面,表示正在进行语音播报。在跳转的过程中需要将传感器的数值从sensor, xml布局对应的页面传递到voice, xml布局对应的页面,在跳转后的那一刻启动语音引擎,进行播报。
【权利要求】
1.一种基于智能手机的作物种植参数采集系统,包括发射端和智能接收端,其特征在于,所述发射端包括?30(?片上系统模块、电源模块、温度传感器、湿度传感器、氧气传感器和蓝牙接口输出模块;所述?30(?片上系统模块分别与电源模块、温度传感器、湿度传感器、氧气传感器和蓝牙接口输出模块相连,所述蓝牙接口输出模块与智能接收端之间实现蓝牙通信连接。
2.根据权利要求1所述的基于智能手机的作物种植参数采集系统,其特征在于,所述电源模块为太阳能供电模块。
3.根据权利要求1所述的基于智能手机的作物种植参数采集系统,其特征在于,所述温度传感器采用0318820芯片实现,所述0318820芯片的700端与930(:4片上系统模块的电源端相连,6冊端接地,信号输入端与?3004片上系统模块上的第一输入管脚相连。
4.根据权利要求1所述的基于智能手机的作物种植参数采集系统,其特征在于,所述湿度传感器采用八12306芯片实现,所述八12306芯片的700端与930(:4片上系统模块的电源端相连,6^0端接地,信号输入端与930(:4片上系统模块上的第二输入管脚相连。
5.根据权利要求1所述的基于智能手机的作物种植参数采集系统,其特征在于,所述氧气传感器为40X7传感器。
【文档编号】G08C17/02GK204115767SQ201420526760
【公开日】2015年1月21日 申请日期:2014年9月12日 优先权日:2014年9月12日
【发明者】杨彦中, 杨义, 陈彦广, 谢锡冬, 郑涛 申请人:东华大学, 秦皇岛兴龙轮毂有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1