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在线| vvvv98国产成人综合青青| 国产精品无码制服丝袜| 日韩二区三区| 亚洲天堂网在线视频| 日本免费福利视频| 2021国产精品自产拍在线观看| 国产在线观看一区精品| 2022国产91精品久久久久久| 99一级毛片| 最近最新中文字幕在线第一页 | 亚洲美女一级毛片| 国产亚洲成AⅤ人片在线观看| 91精品小视频| 欧洲一区二区三区无码| 九色视频一区| 国产在线97| 欧美精品啪啪一区二区三区| 亚洲人成网7777777国产| 青青极品在线| 国产日韩精品欧美一区喷| 亚洲精品高清视频| 日日噜噜夜夜狠狠视频| 日韩视频福利| 精品无码日韩国产不卡av| 日本亚洲欧美在线| 日本免费高清一区| 国产人妖视频一区在线观看| 狠狠躁天天躁夜夜躁婷婷| 98精品全国免费观看视频| 成人字幕网视频在线观看| 自拍偷拍欧美日韩| 欧美精品1区| 久久久久九九精品影院| 国产自无码视频在线观看| 中文字幕有乳无码| 一级一级一片免费| 九色在线观看视频| 亚洲一区二区三区麻豆| 亚洲欧美精品一中文字幕| 69视频国产| 免费在线视频a| 国产丝袜无码精品| 亚洲成人在线网| 97免费在线观看视频| 五月天香蕉视频国产亚| 国内精品一区二区在线观看| 国产丝袜无码精品| 日本人妻一区二区三区不卡影院 | 欧美中文字幕在线二区| 香蕉伊思人视频| 亚洲AV免费一区二区三区| 色天堂无毒不卡| 中文字幕中文字字幕码一二区| 国产美女自慰在线观看| 特级欧美视频aaaaaa| 日韩中文无码av超清| 麻豆国产精品| 久久这里只有精品66| 免费看久久精品99| 乱人伦视频中文字幕在线| 亚洲男人的天堂在线观看| 九色综合视频网| 国产亚洲精| 欧美日韩一区二区三| 无码AV高清毛片中国一级毛片| 欧美 亚洲 日韩 国产| 毛片久久网站小视频| a级高清毛片| 亚洲中文字幕无码爆乳| 丁香婷婷在线视频| 亚洲一区二区三区麻豆| 日韩麻豆小视频| 国内精品伊人久久久久7777人| 免费人成在线观看视频色| 国产白丝av| 国产一区二区免费播放| 亚洲欧美另类专区| 日韩麻豆小视频| 这里只有精品在线|