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

基于Linux的溫濕度采集系統及QT人機界面的實現

2019-09-24 06:03:39范麗
電腦知識與技術 2019年21期

范麗

摘要:針對ARM9平臺設計了SHT10溫濕度傳感器硬件電路,針對Linux內核編寫了AD及溫濕度驅動程序;利用Qt/Embedded軟件設計了QT人機界面,用戶可通過人機界面及Linux系統終端的溫濕度測試程序實時監測溫濕度信息。最終程序可以很好地運行在開發板上,驗證了軟硬件的有效性和可靠性。

關鍵詞:ARM9;Linux;驅動程序;QT人機界面

中圖分類號:TP368? ? ? ? 文獻標識碼:A

文章編號:1009-3044(2019)21-0232-02

開放科學(資源服務)標識碼(OSID):

Abstract: According to the ARM9 platform, a hardware circuit of SHT10 temperature and humidity sensor was designed, AD and temperature and humidity drivers were written for Linux kernel. Then designed QT man-machine interface with Qt/Embedded, users can monitor temperature and humidity information through the man-machine interface and the temperature and humidity testing program of Linux system terminal in real-time. The final program can run well on the development board, which verifies the effectiveness and reliability of software and hardware.

Key words: ARM9; Linux; Driver; QT man-machine interface

傳統溫濕度采集系統采用以單片機為核心的設計模式[1],有運算能力和精度有限、人機交互復雜等缺點,并且由于缺少底層操作系統,在需求改變時,需要對系統進行較大的改動[2],對程序設計者要求較高。嵌入式系統近年來得到了迅速發展,被研發人員廣泛應用于各個領域。Qt是專門為嵌入式系統設計的圖形用戶界面,并且提供了完整的C++程序工具包,使得嵌入式開發變得更加高效。

基于ARM9硬件平臺及嵌入式Linux2.6.30.4內核編寫了驅動程序,利用Qt/Embedded軟件設計了交互友好的人機界面。

1 系統硬件組成及總體結構

1.1 系統總體結構

該系統由核心處理器、數據采集模塊、顯示模塊、電源模塊等組成,其總體結構如圖1所示。

本文采用ARM9的S3C2440微處理器作為嵌入式系統的核心處理器,它是三星(Samsung)公司ARM9系列中的主流產品,具有高性能、低功耗等優點,應用非常廣泛。選擇Linux為ARM9平臺操作系統,其源代碼具有開放、廣泛的后續支持等優點[3]。人機界面的設計是基于Qt/Embedded軟件開發平臺。

系統工作時,SHT10溫濕度傳感器采集環境溫濕度,并將檢測到的信號通過ARM的GPIO模塊傳回到主控制器ARM9,主控制器對數據進行處理,并且通過控制器的人機界面實時顯示數據。

1.2 溫濕度采集模塊設計

本系統選用的溫濕度傳感器為SHT10,SHT10是Sensirion公司生產的一種數字式傳感器,濕度精度達±4.5%RH,溫度在25℃時達±0.5℃。

SHT10的VDD、GND為電源引腳,SCK和DATA引腳為兩線串行接口,主要用于控制器和傳感器之間的數據通信。SHT10的供電電壓建議為3.3V。在電源引腳(VDD,GND)之間須加一個電容,在(VDD,DATA)之間須加一個上拉電阻Rp,以提高數據讀取的可靠性。其中SCK接ARM9 GPIO口的TOUT0,DATA接TOUT1,GND接ARM的GND,VDD接3.3V。其與控制器的硬件連接圖如圖2所示。

2 系統開發環境

2.1 Linux開發環境的建立

在Linux系統中,需要交叉編譯環境為ARM9開發板編譯內核、QT界面等其他應用程序。TQ2440提供的是EABI_4.3.3EmbedSky_20100610.tar.bzr。

為了驗證交叉編譯器是否生效,需要在Linux終端輸入如下命令:#arm-linux-gcc-v[4]。如果生效將會顯示arm-linux-gcc的相關信息和版本。

一個完善的嵌入式系統通常包括:系統引導程序、Linux操作系統內核和文件系統。Linux操作系統的移植主要是針對以上內容,需要有四個步驟:燒寫uboot、Linux內核、文件系統和開機LOGO到開發板。在完成uboot、內核、文件系統和開機LOGO鏡像的燒寫后,在一鍵式菜單下使用命令8,即可啟動S3C2440的Linux操作系統。

2.2 QT開發環境的建立

Qt/Embedded實際上就是一個C++工具開發包,其是專門為嵌入式設備的開發而訂做的。建立QT開發環境的步驟為:

1解壓共享目錄中的Qte_20100601.tar.bz2的源碼到EmbedSky/Qte目錄下;

2編譯PC版本的Qtopia-2.2.0,在Linux的終端執行命令:./x86-qtopia-2.2.0-kongqueror_build;

3編譯ARM版本的Qtopia-2.2.0,在Linux的終端執行命令:./arm-qtopia-2.2.0-kongqueror_build;

4制作Qtopia-2.2.0的文件系統。

3 系統軟件設計

系統軟件設計主要是驅動程序和應用程序的設計。

3.1驅動程序的設計

操作系統不能直接對硬件進行操作和控制,需要用設備驅動作為操作系統和硬件之間的粘合劑,負責上下兩邊的溝通。本文所需的驅動有溫濕度傳感器SHT10驅動以及AD驅動。

驅動設計的具體步驟如下:

1在“linux-2.6.30.4\drivers\char”內核源碼目錄下新建一個名為EmbedSky_gpio.c的文件,用來編寫本文所要用到的溫濕度驅動程序sht10.c。

2在內核源碼中添加對SHT10溫濕度傳感器驅動和AD驅動的支持:修改同目錄下的Kongfig文件,然后再修改同目錄下的Makefile文件。

3配置菜單:在Linux終端輸入命令make menuconfig,配置“gpio Driver”為“*”(編譯進內核),然后保存配置。

4make zImage:編譯出內核鏡像zImage.bin燒寫到開發板中。

同樣的步驟,編寫AD驅動程序EmbedSky_adc.c,然后重新編譯內核,將內核鏡像燒寫到開發板中,即可在開發板dev目錄下看到對應的設備名稱,如圖3所示。

3.2 QT應用程序的設計

Qt人機界面的設計步驟如下:

1在PC機Linux下的“opt/EmbedSky/Qte/x86_qtopia/pro”目錄下新建一個名為“renjijiemian”的目錄。用命令“qt2/bin/designer &”在后臺啟動Qt designer設計器,設計好相關功能的按鈕及顯示數據的窗口。

2添加main.cpp文件、產生*.pro文件、生成Makefile文件

3制作桌面圖標和桌面啟動器

使用photoshop軟件制作桌面圖標文件,文件格式為*.png、大小為16*16。創建一個桌面啟動器(*.desktop)文件。

4仿真并移植

在PC的Linux的終端輸入make命令,進行編譯仿真,在實際測試過程中,開發板人機界面如圖4所示。

同時運行人機界面和Linux系統終端的溫濕度測試程序,人機界面能實時顯示溫濕度信息。同時,Linux系統終端運行的測試程序也能夠實時地顯示溫濕度變化,并且與開發板界面顯示的數據基本一致,如圖5所示。

4 結束語

本文在主控制模塊的S3C2440微處理器上移植了嵌入式Linux操作系統,在PC的Linux操作系統上移植了QT/E開發環境,采用QT Designer設計了人機畫面,利用C++編程語言完善了人機界面。在ARM的LCD觸摸屏上實現了實時顯示傳感器

數值功能,本系統電路簡單,使用方便,并且在此基礎上可以擴展其他用于測量的傳感器,只要為他們設計對應的硬件接入電路,就可以使用本文通用的AD驅動,提高效率。

參考文獻:

[1] 宋閩,朱乾坤,鄭建廷,等.基于嵌入式Linux的遠程數據采集系統[J].微計算機信息,2009,25(16):110-111+121.

[2] 劉偉民,韓斌,李征.基于linux的數據采集及在QT界面的顯示[J].微計算機信息,2008(22):97-99.

[3] 劉偉華,劉仁學.基于S3C2440與Linux的ARM9嵌入式系統的構建[J].冶金自動化,2008(S2):409-411.

[4] 武杰.基于ARM9的嵌入式Linux移植[J].自動化技術與應用,2014(03):47-49.

【通聯編輯:朱寶貴】

主站蜘蛛池模板: 亚洲精品波多野结衣| 亚洲人成网站在线播放2019| 日本精品中文字幕在线不卡| 久久天天躁狠狠躁夜夜2020一| 亚洲an第二区国产精品| 亚洲精品777| 一本大道视频精品人妻| 國產尤物AV尤物在線觀看| 欧美精品xx| 18禁色诱爆乳网站| 香蕉国产精品视频| 亚洲国产精品无码AV| 国产国产人成免费视频77777 | 无码中文字幕加勒比高清| 老色鬼久久亚洲AV综合| 亚洲精品无码抽插日韩| 激情综合网址| 亚洲欧美成aⅴ人在线观看 | 嫩草在线视频| 久久亚洲欧美综合| 福利在线一区| a在线亚洲男人的天堂试看| 国产国语一级毛片| 欧美www在线观看| 2019年国产精品自拍不卡| 丁香五月激情图片| 91免费在线看| 亚洲va视频| 欧美高清日韩| 2021亚洲精品不卡a| 成人中文字幕在线| 麻豆精品视频在线原创| 中文天堂在线视频| 国产精品极品美女自在线网站| 欧美国产日韩一区二区三区精品影视| 2020亚洲精品无码| 91在线视频福利| 免费看的一级毛片| 精品福利网| 亚洲AV人人澡人人双人| 中国一级特黄视频| 国产成人91精品免费网址在线| 日韩欧美国产区| AV不卡无码免费一区二区三区| 欧美色视频网站| 国禁国产you女视频网站| 国产91麻豆视频| 黄色成年视频| 亚洲高清中文字幕在线看不卡| 香蕉在线视频网站| 狼友av永久网站免费观看| 欧美成人综合视频| 国产高清在线精品一区二区三区| 日韩av高清无码一区二区三区| 五月天天天色| 国产欧美日韩资源在线观看| 黄色网站在线观看无码| 99视频精品全国免费品| 一级毛片在线播放免费| 欧美日一级片| 亚洲一区毛片| 亚洲人成色在线观看| 999国产精品永久免费视频精品久久| 欧美激情视频一区二区三区免费| 国产高清色视频免费看的网址| 狠狠综合久久久久综| 免费不卡视频| 欧美啪啪一区| 精品剧情v国产在线观看| 在线播放91| 一级爆乳无码av| 欧美在线综合视频| 欧美日韩在线成人| 国产91麻豆免费观看| 中文字幕无线码一区| 亚洲综合片| 就去吻亚洲精品国产欧美| 国产精品大白天新婚身材| 永久免费精品视频| 亚洲侵犯无码网址在线观看| 国产永久在线视频| 色综合婷婷|