基于Android手機(jī)的無線環(huán)境監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)
2.1.2 藍(lán)牙串口模塊簡介
本文引用地址:http://www.ex-cimer.com/article/273293.htm藍(lán)牙采用分散式網(wǎng)絡(luò)結(jié)構(gòu)以及快跳頻和短包技術(shù),支持點對點及點對多點通信,工作在全球通用的2.4GHz ISM(即工業(yè)、科學(xué)、醫(yī)學(xué))頻段。同時由于藍(lán)牙技術(shù)具有低功耗、傳輸速度快等優(yōu)勢,因此被廣泛地運用在日常生活和生產(chǎn)場合。本設(shè)計中采用的藍(lán)牙串口模塊與單片機(jī)串口的接線方式如圖2所示。
2.1.3 節(jié)點的整體效果圖
在本設(shè)計中STC89C52用作核心控制器,用來對DHT22和BH1750FVI傳感器的信息采集與處理,并控制藍(lán)牙模塊的收發(fā),在設(shè)計中起到至關(guān)重要的作用。環(huán)境節(jié)點的整體運行效果如圖5所示。
2.2 Android客戶端程序設(shè)計
Android客戶端應(yīng)用程序做為本系統(tǒng)的手機(jī)客戶端是本系統(tǒng)的亮點設(shè)計,Android終端程序初步設(shè)計總共具有1個主頁面,以及三個子界面。其中三個子界面包括:環(huán)境信息監(jiān)控頁面、燈光控制頁面、攝像頭監(jiān)控點選擇頁面。現(xiàn)僅將已經(jīng)具體實現(xiàn)的環(huán)境監(jiān)測子界面以及部分代碼進(jìn)行主要介紹。
2.2.1 程序流程設(shè)計
(1)主頁面
用戶打開應(yīng)用程序首先進(jìn)入的是主頁面,該頁面具體效果圖如圖6所示。
界面環(huán)境搭建主要通過在main.xml文件中,用代碼對文件進(jìn)行布局,下面對main.xml文件的布局進(jìn)行簡要說明。文件使用LinearLayout對界面進(jìn)行整體布局,其中使用TextView和ImageView對界面中的文字以及圖片進(jìn)行基本定義。在使用Button控件在界面的特定位置放置按鈕,即可得到如上所示界面布局。
具體對主界面按鈕的控制則由Main_activity類完成,該類繼承自Activity,通過重載父類的onCreate()方法實現(xiàn)對main.xml中各控件的操作,然后分別對其中的三個Button按鈕注冊監(jiān)聽事件,當(dāng)點擊對應(yīng)的按鈕時,將觸發(fā)所對應(yīng)的監(jiān)聽器,即可轉(zhuǎn)入相對應(yīng)的界面,部分代碼如下所示:
class ButtonListener1 implements OnClickListener{
@Override
public void onClick(View arg0) {
Intent intent = new Intent();
intent.setClass(Main_activity.this, BluetoothChat.class);
Main_activity.this.startActivity(intent);
}
}
class ButtonListener2 implements OnClickListener{
@Override
public void onClick(View arg0) {
Intent intent = new Intent();
intent.setClass(Main_activity.this, LightControl.class);
Main_activity.this.startActivity(intent);
}
}
class ButtonListener3 implements OnClickListener{
@Override
public void onClick(View arg0) {
Intent intent = new Intent();
intent.setClass(Main_activity.this, MediaItem.class);
startActivity(intent);
}
}
評論