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
主站蜘蛛池模板: 中文字幕乱码中文乱码51精品| 国产福利在线观看精品| 久久午夜夜伦鲁鲁片不卡| A级毛片高清免费视频就| 精品少妇人妻一区二区| 丝袜美女被出水视频一区| 91麻豆精品国产91久久久久| 色综合综合网| 99热最新在线| 欧美激情福利| 亚洲综合激情另类专区| 久久永久精品免费视频| 国产第一页屁屁影院| 欧美中出一区二区| 国产色爱av资源综合区| 波多野结衣无码AV在线| 亚洲人视频在线观看| 国产成人精品一区二区免费看京| 99热最新网址| 麻豆国产精品视频| 波多野结衣亚洲一区| 狠狠色香婷婷久久亚洲精品| 三级国产在线观看| 67194成是人免费无码| 538国产视频| 澳门av无码| 性欧美久久| 成AV人片一区二区三区久久| 日韩 欧美 小说 综合网 另类| 久久99国产乱子伦精品免| 日韩福利在线观看| 亚洲不卡av中文在线| 国产麻豆福利av在线播放| 国产区在线观看视频| 国产精品99久久久久久董美香| 精品人妻一区二区三区蜜桃AⅤ| 午夜毛片福利| 久久久久国产精品熟女影院| www.99精品视频在线播放| 亚洲第一区在线| 999精品在线视频| 久久 午夜福利 张柏芝| 国产乱肥老妇精品视频| 国产欧美中文字幕| 激情视频综合网| 九九精品在线观看| 人妻精品久久无码区| 四虎免费视频网站| 欧美激情视频一区二区三区免费| 国产欧美专区在线观看| 久久青草热| 激情综合图区| 欧美一级高清片欧美国产欧美| 亚洲AV无码乱码在线观看裸奔| 国产成人夜色91| 国产区网址| 国产浮力第一页永久地址| 亚洲精品无码久久久久苍井空| 国产成人综合亚洲欧美在| 四虎永久免费网站| 国产原创自拍不卡第一页| 亚洲天堂色色人体| 亚洲欧美国产五月天综合| 久久无码免费束人妻| 国产理论最新国产精品视频| 538国产在线| 91在线免费公开视频| 精品99在线观看| 国产00高中生在线播放| 欧美综合中文字幕久久| 欧美一级高清视频在线播放| 97狠狠操| 国产精品一老牛影视频| 亚洲男人天堂2018| 成人av专区精品无码国产 | 丁香五月亚洲综合在线| 日本午夜网站| 99久久精品国产自免费| 精品欧美日韩国产日漫一区不卡| 久久婷婷六月| 曰韩人妻一区二区三区| 国产精品lululu在线观看|