一种基于智能手机的植物冠层叶面积指数TRAC测量仪的制作方法

文档序号:11651387阅读:375来源:国知局
一种基于智能手机的植物冠层叶面积指数TRAC测量仪的制造方法与工艺

本发明涉及一种利用智能手机实现对植物冠层结构中叶面积指数进行trac方式的低成本观测分析的设备。



背景技术:

植被冠层是植被进行光合作用最主要的部分,通过对植被冠层结构参数的测量,可以对日光辐照截取率、光合作用效果、冠下光线时空分布等进行评估。在诸多冠层结构参数中,用于表示植被冠层单位面积上叶面积总量的叶面积指数(leafareaindex,lai)最为重要。lai的测量方法可分为直接法与间接法。直接法冠层叶面积指数测量需要对植被进行大范围的破坏性采样,如将冠层中的树叶采下后利用叶面积仪进行逐叶扫描测面积,由此计算得到叶面积指数。这样不仅会造成对植被冠层结构的破坏,且人力物力消耗较大。而利用叶面积指数间接方法则可以避免上述问题。基于鱼眼摄像的半球图像lai测量技术虽然具有较高的准确性与有效性,但是其测量多借助单反相机与鱼眼镜头组合进行图像采集。这使其设备成本较高,且需要较为苛刻的水平准直信息与采集时间,不利于长时间手持移动操作。而lai-2000、accupar等手持式设备虽然增强了设备的便携性,但是其测量结果只能反映局部冠层特性。若要其测量较大面积林区的叶面积指数,必须要经过多点多次测量,工作量较大。而trac(tracingradiationandarchitectureofcanopies,trac)方式在使用中经由对使用者行进路线上的日光辐照透过冠层形成的照射间隙进行统计分析运算,获得叶面积指数。该方法结构简单、成本低廉,尤其适合评估较大范围内叶面积指数的平均分布情况。但是该方法在使用中也存在一定问题。由于使用者手持trac设备时的行进速度和方向往往受障碍物等影响难以保持一致,此外在户外环境下所选取的样线存在方向偏离,由此造成了对照射间隙尺寸的统计误差,这一误差进而影响了trac的统计计算结果。此外市场上常见叶面积指数测量设备在完成数据采集后,还需将数据导入计算机进行相应的分析,数据的空间位置信息也须辅助设备提供,这也为叶面积指数的现场分析带来了不便。

我国农业与林业等行业近年来得到了较大的发展。对叶面积指数的评估可以有效地掌控植物的生长过程,进而优化其生长参数,从而提高其经济效益。但是传统的叶面积指数测量设备价格昂贵,使用复杂。而我国的农业与林业经营模式又多以个体经营为主。农林业从业者难以承担设备成本,从业者较低的信息技术水平也使得很难对其加以有效应用,从而限制了传统叶面积指数测量设备在我国农林业生产中的使用。

近年来智能手机得到了快速发展。智能手机不仅具有较强的运算能力与存储能力,而且其上集成的gps、陀螺仪等传感器也为其在特定应用中的使用提供了相应的支撑能力。如能够在智能手机上添加外置的测量模块,则有望实现基于智能手机的测量系统。trac方式具有算法简单、测量适用范围大等优点,其测量误差主要来自于由行进速度和方向不一致性。而如果利用智能手机中的gps轨迹数据对照射间隙数据进行修正,有望提高测量精度。其gps数据与实时时间也可便于确定行进样线,而手机中的陀螺仪也有助于提醒使用者trac光学探头的方位角度信息,从而方便使用者保持光学探头垂直。借助于智能手机上的近距离通信功能(如蓝牙btble),可实现trac测量模块与移动智能设备之间的通信,使系统体积及结构得到优化。智能手机的运算能力与存储能力也有助于进行trac算法的计算及测量结果的存储。通过结合智能手机与trac测量方式,有望实现满足测量效率高、易于携带、结构简单、成本低廉、可靠性高、可拓展性强等条件的trac测量系统。



技术实现要素:

本发明要解决的技术问题是:将trac植物冠层叶面积指数测量方式与智能手机相结合,从而抑制由于trac行进速度及方向的不一致性为trac测量结果带来的误差。

为了解决上述技术问题,本发明的技术方案是提供了一种基于智能手机的植物冠层叶面积指数trac测量仪,其特征在于,包括固定于同一支撑架上的trac测量模块与智能手机,其中:

支撑架,供使用者手持;

trac测量模块,包括导光光纤束、光电转换部分、微控制器、无线传输部分及供电部分,其中:多根tir型光子晶体光纤根据具体导光长度进行两端烧结成型,并将其烧结端打磨成与其纤芯走向垂直的平面,形成导光光纤束,两束导光光纤束分别固定在支撑架的两端,由两束导光光纤束分别收集由冠层直接透射下来的日光辐照与由地面反射回的日光辐照;导光光纤束与光电转换部分相连,由光电转换部分将由导光光纤束传来的日光辐照采样信号转换为电信号;微控制器,用于对光电转换部分输出的电信号进行采样,获得测量数据;无线传输部分,用于将微控制器获取的测量数据发往智能手机;

智能手机,用于读取实时天气信息,仅当天气信息为晴朗气象条件,使用者开始进行测量,在开始测量前,使用者通过智能手机设定:采样的起始位置与结束位置以及根据智能手机的陀螺仪提供的水平准直信息设定准直参考平面,并且智能手机通过gps所提供的地理位置计算出日光辐照入射方向,依据日光辐照入射方向为使用者指出初始样线方向;在测量过程中,使用者依据该初始样线方向行进,由智能手机接收trac测量模块的测量数据,每一次完成测量数据的接收后读取gps数据,将其作为位置参考信息与测量数据一起进行存储,同时,智能手机依据陀螺仪判断系统平面与准直参考平面之间的偏离度是否超过预先设定好的阈值,若超过则产生告警;在完成测量后,由智能手机对数据进行trac处理并计算出叶面积指数。

优选地,所述微控制器的采样速率为每秒8次;所述智能手机通过蓝牙每秒8次接收所述trac测量模块的测量数据。

优选地,所述无线传输部分采用蓝牙模块。

优选地,所述支撑架采用t型支架,t型支架的短边与地面垂直,从而一端指向地面、另一端指向天空。

优选地,所述光电转换部分选用模场面积较大、且与导光光纤束匹配的光电传感器,该光电传感器的光谱响应范围包含光合作用波长范围。

优选地,所述供电部分采用锂电池结合ldo方式。

优选地,所述ldo部分具有较高的转换效率及较宽的温度工作范围,以便适应户外移动的使用环境。

本发明提出了一种基于智能手机实现对植物冠层叶面积指数trac测量的方法。本方法通过引入智能手机上的gps、地理位置信息、陀螺仪数据、实时时间、实时天气及较强的计算与存储等功能,有效抑制了样线偏离、行进速度与方向的不一致、采样准直平面的倾斜、天气信息误差等引起trac测量的主要误差源,提高了传统trac测量方法的精度。此外在匹配手机的trac模块设计中,采用光子晶体光纤结合光电传感器的方式实现对光照间隙边缘更为锐利的采集,并采用无线传输方式使采样数据与传输更为便捷,并由此降低了系统重量,提高了使用者的使用体验。该发明成本低廉,使用简单,并能较好地适应我国林业发展水平不一、资金投入不足的情况,为广大农林从业者提供一种切实可行的低成本植物冠层叶面积指数测量方案。

附图说明

图1为一种基于智能手机的植物冠层叶面积指数trac测量仪系统结构图;

图2为实施例中trac测量模块部分的结构图;

图3为实施例中智能手机的功能结构图。

具体实施方式

为使本发明更明显易懂,兹以优选实施例,并配合附图作详细说明如下。

本发明提供的一种基于智能手机的植物冠层叶面积指数trac测量仪由trac测量模块与智能手机组成。trac测量模块负责采集冠层下照射间隙上的日光辐照,智能手机负责获取空间位置信息、提供trac样线方向指导、提供陀螺仪水平准直参考、进行测量结果处理及存储。二者共同安置于一个支撑架上,供使用者手持。使用时使用者设定好采集路线,并按照智能手机的语音提示行进,系统可自动地完成叶面积指数测量与后续处理。

结合图1及图2,trac测量模块1由导光光纤束、光电转换部分、微控制器、蓝牙模块、供电部分组成。以往trac测量设备常使用单一光学传感器探头,但是这一架构的问题在于探测照射间隙的边缘不够锐利,而且对探头误差缺乏校正,光纤传感器探头的重量也会在使用中造成不便。在本发明中,采用多维导光光纤束来收集辐照,其较小的前端面积使辐照间隙的边缘探测效能有所提高,其较轻的重量也使得使用者在把握时较少出现手臂及腕部的抖动及偏移。但是传统的单模光纤或多模光纤纤芯面积较小,对日光辐照的收集效果欠佳。而光子晶体光纤可通过设计得到较大的光线纤芯,从而提高辐照采集效果。在本发明中,采用全内反射型(tir)光子晶体光纤。将7根tir型光子晶体光纤2根据具体导光长度进行两端烧结成型,并将其烧结端打磨成与其纤芯走向垂直的平面,形成导光光纤束。之后将按照上述方法成型的导光光纤束安装在一个t型支架的两端。该t型支架短边与地面垂直,由此一端指向地面、一端指向天空。两路导光光纤束收集由冠层直接透射下来的日光辐照与由地面反射回的日光辐照。导光光纤束的两端应采用夹具3充分固定,而其中间部分也应避免半径过小的弯曲。t型支架中部为智能手机水平夹具4,后端为手持部分5。tir型光子晶体光纤2采用nkt公司出品的lma-25大模场光子晶体光纤,其模场直径为20.9微米,使用中采用与七柱光纤相同的结构将其烧结成束。t型支架采用铝合金材料,短边长度为20cm,长边长度为70cm。

光电转换部分将由导光光纤束传来的日光辐照采样转换为电信号,在使用中应尽可能选用模场面积较大、且与导光光纤束匹配的传感器。由于本发明主要面向低成本林业应用领域,而传统par传感器的成本通常较高,且trac方式主要从日光辐照间隙尺寸来获得叶面积指数,所以在系统中光电传感器选用其光谱响应范围包含光合作用波长范围的光电传感器即可。光电转换部分通过fds-100型光电传感器实现,需要注意的是在fds-100的偏置端需要采用有1kω电阻与0.1μf组成的噪声滤波器以抑制电源噪声。

微控制器为trac测量模块的核心控制部分,其负责对2路日光辐照信号经过光电转换后的信号进行采样,采样速率定为每秒8次。微控制器应选用功耗较低、可靠性高、模数转换效能好并适用于户外环境工作的型号。其还应可支持uart、i2c等协议,以便于外接设备及调试。在实施中trac测量模块采用微芯公司出品qfn-64封装的pic24fj128gc006型低功耗微控制器。该微控制器的可靠性与稳定性较佳、耐候特性较强、工作功耗较低且有较高的功能集成度,适于在户外监测等对集成度与稳定性要求较高的场合使用。pic24fj128gc006内置两路运算放大器,其在实施中用于放大光电传感器所输出的日光辐照强度数据。pic24fj128gc006中的两路16位的高精度δ∑adc用于采集被运算放大器放大处理后的日光辐照强度数据。

本发明提供的系统中蓝牙模块负责将微控制器获取的测量数据按照每秒8次的发送速率发往智能手机。蓝牙模块通过微芯公司出品的rn4020低功耗蓝牙模块实现。该模块符合btble标准,rn4020的uart的tx与rx端口分别与pic24fj128gc006的rx与tx端口相连。

本发明的系统供电采用锂电池结合ldo方式,ldo部分应具有较高的转换效率及较宽的温度工作范围,以便适应户外移动的使用环境。本实施例的供电来自于智能手机。智能手机输出的5v电压通过tps73033型电源芯片转换为3.3v的稳定供电电压供低功耗微控制器及蓝牙模块等部件使用。

在本实施例中,pic24fj128gc006通过rn4020收到智能手机发来的采集开始命令后,其通过两路高精度δ∑adc依照每秒8次的频率先后采集处理后的日光辐照强度值,并不断通过rn4020发往移动智能设备,直到收到智能手机发来的停止命令为止。

智能手机中以app软件的形式为系统的使用者提供trac冠层监测服务,手机在使用中将其布置于t型支架的尾端位置。在智能手机中需要为冠层叶面积指数监测采样提供相应的位置与路径信息服务。在使用者开始进行照射间隙辐照采集时,其先在app软件基于第三方地图所提供路径设置服务设定采样的起始位置与结束位置。由于基于trac的方式需要使用者行进方向与日光辐照入射方向垂直(样线垂直),所以在行进前智能手机中的trac冠层监测app通过gps所提供的地理位置计算出日光辐照入射方向,之后为使用者指出初始样线方向,使用者依据该初始样线方向行进。而利用智能手机还可通过移动网络等获得天气数据。由于trac需要在晴朗天气条件下才能取得最优测量结果,当trac冠层监测app通过api接口从其他第三方天气app中读取的实时天气信息为多云、阴等非晴朗气象条件,则使用图标向使用者发出提示。之后使用者点击开始进行采样测量。在trac测量中,智能手机通过蓝牙接收到每秒8次的trac测量模块的数据,并在每一次完成数据接收后读取gps数据,将其作为位置参考信息与测量数据一起存入智能手机的sd卡中。智能手机中的陀螺仪用于为系统提供水平准直信息。用户在开始测试前设定好准直参考平面,之后在手持系统行走的过程中,智能手机每秒钟对陀螺仪数据进行16次采样,如果发现系统平面偏离原有准直参考平面超过预先设定好的阈值,则通过提示音发出报警,并在手机屏幕上显示偏离角度。在完成测量后,智能手机还要对数据进行trac处理并计算出叶面积指数。传统的trac叶面积指数计算是通过对日光辐照的照射间隙进行统计分布得出最终结果。而在本发明中在这一计算过程中,通过导入每一个采样点的gps数据,之后按照预先设定的样线,利用每次采样之间的行进方向与样线之间的夹角,将各次采样之间的行进距离向样线做投影计算,进而得到实际对应样线的投影照射间隙。最终通过投影照射间隙进行trac叶面积指数所需的统计分布计算,得到对应样线路径上的植物冠层叶面积指数结果。

在实施中,采用百度地图作为定位和获取行进轨迹信息的基础,使用中调用百度地图开发的api,创建bdlocation的实例,即bdlocationlocation=newbdlocation(),然后通过location.getaddstr()方法获得位置信息。在测量开始前,依据位置信息与智能手机中的时间信息,给出[060°]区间上天顶角以10°为间隔的等间隔观测样线指导。用户选取之后即可开始测量,在测量中记录每一次对应fds-100监测数据的当前的位置信息,并由这些位置信息形成行进轨迹信息。通过比较相邻两点的位置信息与预定样线的夹角,为用户提供行进方向修正指导,尤其是在偏离角度大于15°时,智能手机发出滴滴声予以告警。

为了使系统平面不偏离准直参考平面,需要利用智能手机中的陀螺仪作为辅助参考信息。

在实施中首先通过sensormanager来获取所有的传感器管理器:sensormanager=(sensormanager)getsystemservice(sensor_service)。再利用sensor来获取陀螺仪传感器:

sensor=sensormanager.getdefaultsensor(sensor.type_gyroscope)。

并且定义publicvoidonsensorchanged(sensoreventevent){}函数定义传感器的监听器函数,测量陀螺仪三个方向的参数,event.value[0]表示x轴方向的角速度,event.value[1]表示y轴方向的角速度,event.value[2]表示z轴方向的角速度。当x、y、z均为0时,可以判断出手机是放置水平的。但是由于使用者手部所限,很难达到绝对水平。所以系统在x、y、z方向的容忍度阈值设为10°,如果偏离超过该值,智能手机则通过发出滴滴声进行告警。

智能手机还需为使用者提供天气参考信息。读取天气信息的方法即手机访问网络,获取json数据,然后对数据进行解析并显示在界面上。目前,已经有多方提供免费的天气接口,如google、新浪、百度等。本应用程序中采用的是中国天气网的天气预报接口,在该接口中不同的城市有着不同的序号,例如01表示北京,02表示上海,03表示天津。以上海为例,本设计中访问的接口地址是,http://www.weather.com.cn/data/list3/city02.xml,通过访问该接口可以获取更详细的地址信息。在java代码中,首先需要创建实例,parameterspara=newparameters(),根据城市拼音请求json数据,para.put(“city”,“shanghai”),然后通过申请的api秘钥访问接口信息,即apistoresdk.execute(http://apis.baidu.com/heweather/weather/free”,apistoresdk.get,para,newapicallback(){}。在该方法中,若数据请求成功时,则能成功获取json数据。在获取的json数据中,利用jsondata.getsting(“temp1”)获取今日温度,jsondata.getstring(“wind1”)获取当前的风速等。

智能手机与trac测量模块之间通过btble进行通信,trac模块获得的日光监测数据由此进入智能手机中。实施中首先通过privatebluetoothadapter_bluetooth=bluetoothadapter.getdefaultadapter()获取本地的蓝牙适配器,通过_bluetooth.startdiscovery()方法来搜索蓝牙设备,利用bluetoothdevicedevice=intent.getparcelableextra(bluetoothdevice.extra_device)从intent中取得搜索的设备,将移动端作为客户端通信,需要创建一个socket连接,即socket=device.createrfcommsockettoservicerecord(uuid.formstring(“a60f35f0-b93a-11de-8a39-08002009c666”)),然后通过socket.connect()进行连接通信。

实施中,滴滴声告警通过以下步骤实现。实施中首先将播放声音初始化,通过soundpool=newsoundpool(10,audiomanager.stream_system,5),其中,第一个参数表示同时播放数据流的最大个数,第二个参数表示数据类型,第三个参数表示声音质量。music=soundpool.load(context,r.raw.beep,1),在该函数中,把能够发出滴滴声的素材放到res/raw中即第二个参数作为资源文件,第三个参数是音乐的优先级。初始化结束之后,通过soundpool.play(music,1,1,0,0,1)方法来完成音乐的播放。

将监测数据存入sd卡中通过如下步骤实现:首先在manifest中添加用户权限,即:

<uses-permissionandroid:name=“android.permission.write_external_storage”/>。

然后通过environment.getextemalstoragedirectory().tostring()获取sd卡的根目录,自定义privatevoidwritestr2sdcard(stringstr)方法实现向sd卡中写数据的功能,具体实现步骤是利用fileoutputstreamfos=newfileoutputstream(getrootpath()+“文件名”);fos.write(str.getbytes());两个方法实现。

智能手机通过system.currenttimemills()函数获取当前安卓系统的实时时间。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1