999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android平臺串口驅動的多傳感器數據傳輸的實現

2017-05-17 09:18:20崔世鋼代鳳輝梁帆
江蘇農業科學 2016年1期
關鍵詞:多傳感器智能控制

崔世鋼 代鳳輝 梁帆

摘要:為了實現將植物生長柜傳感器節點的信息傳輸到Android系統下,同時在該系統下實現對各傳感器節點的數據顯示和控制。本研究在對Android平臺串口驅動進行重點分析的基礎上,設計并實現多傳感器(包括2個溫度傳感器、1個濕度傳感器、1個光照傳感器、1個二氧化碳濃度傳感器)的數據傳輸和實時顯示。Android平臺具有強大的功能,將多傳感器數據傳輸到該平臺下,為后續開發提供廣闊空間。

關鍵詞:智能植物生長柜;Android系統;智能控制;串口驅動;多傳感器;

中圖分類號:TP274;S126 文獻標志碼:A 文章編號:1002—1302(2016)01—0403—03

當前,世界人口不斷增長、物質需求不斷增加,而資源卻不斷減少,環境不斷惡化,為解決全球資源與環境問題,設施農業越來越受到人們的推崇,得到了前所未有的發展與應用。智能植物生長柜作為設施農業的一部分,以節省資源、環境保護、安全、放心、健康為出發點,得到社會的廣泛關注與認可。隨著城市的現代化建設步伐和環境污染速度越來越快,可利用農業耕地面積越來越少,同時人們生活水平的提高,對生活質量也提出了更高的要求。作為一種保護環境、節約資源和能生產出安全健康的新型植物生產系統,智能植物生長柜有很強的應用性。在我國,對于農業生產環境的監控基本處于人工采樣、化學分析的人工監測階段,實時性不好,少數便攜式儀表還存在使用維護困難等問題,此外生長柜對環境具有非常高的要求。Android系統作為開源的操作系統、操作簡單、功能強大,基于該平臺下的各類控制系統很多大學與公司的研究方向。Android設備驅動程序是Android操作系統的重要組成部分,是軟件與硬件連接的“橋梁”,分析該系統下的設備驅動運行機理,對于Android系統上層應用程序的設計開發有重大的指導意義。

1材料與方法

1.1系統方案

系統主要分為執行模塊、生長柜監控模塊、Android測控端等部分。本研究對Android系統內核中的串口驅動程序進行了詳細的分析,并在此基礎上編寫了應用程序,實現多傳感器的數據傳輸。試驗利用FS_V210開發板(運行Android系統)為終端,由下位機STM32實現對5個傳感器數據的采集,通過其串口與運行Android系統的上位機進行通信,在開發板顯示屏上實時顯示5個傳感器數據。FS_V210開發板具有攝像頭、LCD觸摸屏、網口等豐富硬件資源,便于攜帶、交互性強、易于開發,為智能植物生長柜提供優秀的控制系統平臺。Android系統結構框圖如圖1所示。

1.2實現方法

1.2.1 Android串口驅動開發 串口驅動的實現過程就是Android系統下的通信數據流和功能調用的過程。Android串口終端驅動結構如圖2所示,串口驅動結構共分為4個層次,即驅動層、HAL層(1ibhardware)、JNI層(java native inter-face)、Framework層和應用層。

1.2.1.1串口驅動層 Android內核是由標準的Linux內核修改而來的,最底層的Android硬件驅動層就是Linux設備驅動層,二者內核驅動程序的編寫方法是一樣的,都是以Linux模塊的方法實現的。驅動層是與硬件設備直接聯系的一層,通過訪問相應驅動程序直接對硬件進行操作,在該層中定義串口設備文件的訪問方法,主要定義串口的Open、Read和Write。此外,還執行了串口設備的注冊和初始化操作。

1.2.1.2 HAL層 硬件驅動程序一方面分布在Linux內核中,另一方面分布在用戶空間的硬件抽象層中,在該層中增加串口的硬件抽象層模塊訪問Linux內核驅動程序。按照An-droid硬件抽象層規范的要求,分別定義模塊ID(UART_HARDWARE_MODULE_ID)、模塊結構體(struct uart_module_t)以及硬件接口結構體(struct uart_control_device_t)。在硬件接口結構體中,fd表示設備文件描述符,HAL層結構如圖3所示。

1.2.1.3 JNI層 Android系統的應用程序是用Java語言編寫的,而硬件驅動程序是用c語言來實現的,應用程序要調用串口驅動程序操作硬件必須通過Java本地調用JNI來調用硬件抽象層接口。JNI層主要實現Java與C/C++之間的過渡,不涉及復雜的邏輯,只根據規則為上層函數調用串口的下層接口。該層定義HAL的模塊ID和2個全局變量sUartDe-vice和sUartModule,在Uart_init函數中,通過Android硬件抽象層提供的hw_get_module方法來加載模塊ID為UART_HARDWARE_MODULE_ID的硬件抽象層模塊,其中HELLO_HARDWARE_MODULE_ID是在中定義的。Android硬件抽象層會根據UART_HARDWARE_MOD-ULE_ID的值在Android系統的/system/lib/hw目錄中找到相應的模塊,然后加載起來,并且返回hw_module_t接口給調用者使用。

1.2.1.4 Framework層 為硬件抽象層模塊編寫完串口的JNI方法后,須要為Android系統的Application Frameworks層增加硬件訪問服務MyUartService,通過該層提供的硬件服務來調用JNI方法,進而調用底層的硬件抽象層接口去訪問硬件。在Application Frameworks層中包含自定義的硬件服務MyUartService,在Android系統啟動時自動加載MyUartSer-vice。這時應用程序就可以通過Java接口來訪問uart硬件服務了。

1.2.2串口應用程序的開發 本研究中實現的功能是由單片機STM32實現對2個溫度傳感器(為區分2個溫度傳感器的值,顯示分別命名為根部溫度、溫度)、1個濕度傳感器、1個光照強度傳感器、1個CO2濃度傳感器數據的采集,通過其串口將接收到的5個傳感器數據在開發板上實時顯示。底層編寫的串口驅動程序,實現的功能是1個字節的讀和字符串的寫,在應用程序層調用字符型函數GpsDataUpdate()實現1個字節的讀取,整型函數GpsDataUpdate_write(string s)實現字符串的寫。為實現各個傳感器數據的正確顯示,須要在上層對串口應用程序進行開發。程序設計流程圖如圖4所示。

開發的關鍵技術和部分代碼如下:(1)在Android系統應用程序開發軟件eclipse中新建工程,然后在該工程新建Uart類,這個類主要用來加載SO文件(uart_runtime.so),通過JNI的方式打開關閉串口。

(2)為實現通過串口接收到的所有數據的顯示,定義1個字符串s1,用于存放通過GpsDataUpdate()讀取到的1個字節(以下代碼是把該字節先讀取到sbuffer,再由sbuffer存放于s1辛),在這里有1個while循環用于判斷是否數據接收完,未接收完就繼續接收,并把接收到的值放到s1,接收完就跳出。在區里加1個線程將接收到的數據實時顯示,睡眠時間為1 s。

(3)實現以上代碼的功能,可以讀到5個傳感器的數據,但是須要將5個傳感器的數據分開,分別顯示在5個EditText中。利用split根據給定的參數把原來的分割為幾個子字符串。核心代碼如下:

在本例中,下位機STM32串口發送的1串數據中開頭與結尾分別加上字母b,中間的每個傳感器數據之間都加上字母a。以上代碼strView.split(“b”)中,將字符串strView根據參數b分割為3個部分,取中間的傳感器數據部分,再根據參數a進行分割,可以準確得到5組數據,分別存放于字符串strView0、strViewl等5個字符串中。updateView()為刷新函數,數據不斷更新。

2結果與分析

本例中使用Android第3方圖形庫AndroidPlot繪制圖形,先創建1個數組保存繪制用的數據,然后將數組轉換為XYSeries,將數組中的傳感器值繪制在圖形庫中,生成曲線圖。試驗結果以植物生長柜的空氣溫度為例,如圖5所示。

3結論

本研究通過對Android系統下的串口驅動原理的具體實現方法進行詳細分析的狀態下,實現FS_V210開發板與單片機STM32的串口通信,完成對智能植物生長柜中各個傳感器節點信息的接收與顯示,為實現生長柜的智能化、網絡化打下基礎。設計實例,開發Android系統的串口應用程序,接收到5個傳感器數據,對串口驅動程序進行驗證分析,對智能植物生長柜在Android系統下的開發具有指導意義。

猜你喜歡
多傳感器智能控制
多傳感器數據融合技術在機房監控系統中的應用
基于智能粒子濾波的多傳感器信息融合算法
多傳感器圖像融合技術
車載充電機的電瓶電壓采樣及處理
智能控制在機器人領域中的應用
基于物聯網的智能控制項目實踐教學設計
舞臺演出智能多媒體多網合一系統的研發與應用
演藝科技(2016年10期)2016-11-26 22:11:21
淺談開關式電梯IC卡系統及展望
一種基于多傳感器的PM2.5數據分析系統
船舶動力定位中的數據融合技術文獻綜述
科技視界(2016年14期)2016-06-08 13:24:00
主站蜘蛛池模板: 亚洲欧美自拍中文| 伊人无码视屏| 中文字幕无码av专区久久| 91小视频在线观看免费版高清| 国产主播喷水| 狠狠躁天天躁夜夜躁婷婷| 91娇喘视频| 极品国产一区二区三区| 91人妻在线视频| 亚洲中文字幕在线观看| 成人福利在线免费观看| 亚洲综合天堂网| 99精品在线看| 国产无套粉嫩白浆| 国产原创自拍不卡第一页| 国产爽妇精品| 拍国产真实乱人偷精品| 国产福利2021最新在线观看| 免费人成网站在线观看欧美| 人妻少妇乱子伦精品无码专区毛片| 婷婷亚洲综合五月天在线| 黄色一及毛片| 亚洲成人黄色在线| 色悠久久久| 黄色网址免费在线| 88av在线| 久久国产精品麻豆系列| 日韩小视频在线播放| 99激情网| 国产第三区| 亚洲综合天堂网| 国产精品yjizz视频网一二区| 色综合国产| 亚洲床戏一区| 国产欧美视频综合二区| 91成人在线免费观看| 国产色网站| 久久国产精品国产自线拍| 亚洲综合色吧| 国产精品嫩草影院av| 久草视频精品| 91无码视频在线观看| 99视频精品全国免费品| 婷婷久久综合九色综合88| 亚洲视屏在线观看| 久久无码av三级| 午夜无码一区二区三区| 亚洲成人播放| 免费啪啪网址| 成人av手机在线观看| 日韩高清在线观看不卡一区二区 | 欧美天天干| 国产欧美日韩专区发布| 九九热视频在线免费观看| 992Tv视频国产精品| 中文精品久久久久国产网址 | 在线欧美一区| 成人精品区| 99性视频| 色哟哟国产精品| 亚洲免费三区| 亚洲码一区二区三区| 沈阳少妇高潮在线| 中文字幕第4页| 国产av色站网站| 久无码久无码av无码| 国产成人精品一区二区三区| 九色综合伊人久久富二代| 国产美女一级毛片| 茄子视频毛片免费观看| 精品伊人久久大香线蕉网站| 国产97公开成人免费视频| 亚洲日产2021三区在线| 99精品伊人久久久大香线蕉| 亚洲日本中文字幕乱码中文 | 免费看的一级毛片| 午夜性爽视频男人的天堂| 亚洲人妖在线| 日韩性网站| 亚洲天堂免费| 五月天综合网亚洲综合天堂网| 亚洲国产清纯|