時間:2018年01月18日 分類:電子論文 次數(shù):
在網(wǎng)絡(luò)技術(shù)和通信技術(shù)的不斷發(fā)展背景下,先進(jìn)的移動通信設(shè)備掌控家居生活已經(jīng)成為了人們研究的重點。由于平板自身具有顯示屏幕大等優(yōu)點,用平板掌控家居,操作起來更加方便,也很適合老年人使用。而本文開發(fā)的平板App程序和對應(yīng)的硬件電路更是為智能家居提供了幫助,實現(xiàn)了通過WiFi和ZigBee技術(shù)來控制家中電燈、空調(diào)與門鎖等設(shè)備的目標(biāo),讓家居生活充滿智能化。
關(guān)鍵詞:App,WiFi平板,紅外,智能家居
隨著互聯(lián)網(wǎng)技術(shù)和3G、4G通信技術(shù)的不斷發(fā)展,WiFi已成為目前最普遍的無線通信方式之一。如今90%以上的家庭都擁有WiFi,主要用于手機上網(wǎng)。利用WiFi通信,無需布線,因此,利用WiFi進(jìn)行智能家居的自動化控制成為目前工程師們研究的熱點。由于老年人反應(yīng)遲鈍,視力欠佳,操作手機時,經(jīng)常會因看不清或抖動出現(xiàn)按錯鍵的情況,更有甚者可能無法操作手機,而平板具有比手機更大的屏幕,因此,本文開發(fā)了一個基于平板和WiFi技術(shù)的智能家居監(jiān)控系統(tǒng),通過在平板電腦上“指指戳戳”實現(xiàn)開燈、開門和開關(guān)空調(diào)。
1 系統(tǒng)結(jié)構(gòu)與功能
1.1 總體設(shè)計
系統(tǒng)的總體硬件結(jié)構(gòu)如圖1所示。
1.2 系統(tǒng)的工作原理
平板通過ESP8266 WiFi模塊與基于CC2530的協(xié)調(diào)器相連。WiFi選擇AP模式,默認(rèn)的IP地址為:192.168.4.1;通過AT指令可以查看或修改WiFi模塊的IP地址(具體方法見ESP8266中AT指令手冊)。為了控制空調(diào)、電燈和門鎖等設(shè)備,采用積木式結(jié)構(gòu),每個設(shè)備對應(yīng)一個終端節(jié)點,終端節(jié)點與CC2530協(xié)調(diào)器之間通過ZigBee協(xié)議進(jìn)行組網(wǎng)通信。不同的終端節(jié)點具有不同的硬件電路和控制功能,由此最終實現(xiàn)通過平板對家中設(shè)備如電燈、空調(diào)以及門鎖的控制。
2 系統(tǒng)硬件設(shè)計
系統(tǒng)硬件主要由基于CC2530的協(xié)調(diào)器和基于CC2530的終端節(jié)點組成,其工作原理如圖2所示。
CC2530是由美國TI公司設(shè)計的SoC芯片,它采用8051內(nèi)核,含有可編程閃存、8 KB RAM、UART和SPI接口等,最重要的是具有采用ZigBee協(xié)議進(jìn)行數(shù)據(jù)無線發(fā)射和接收的功能,適用于智能家居、工業(yè)控制等特定場合,能夠省去連線的麻煩,被廣泛應(yīng)用于物聯(lián)網(wǎng)技術(shù)領(lǐng)域[1]。本項目中用CC2530分別設(shè)計了協(xié)調(diào)器和終端節(jié)點,兩者之間通過ZigBee進(jìn)行無線通信。協(xié)調(diào)器作為平板和終端節(jié)點之間的橋梁,用以轉(zhuǎn)發(fā)各種命令和數(shù)據(jù);終端節(jié)點用于數(shù)據(jù)采集或執(zhí)行平板發(fā)送的命令,實現(xiàn)室內(nèi)溫度數(shù)據(jù)采集、控制電燈開關(guān)、開啟門鎖和空調(diào)等。對于不同的終端節(jié)點,僅焊接相關(guān)的電子元件即可。
2.1 WiFi模塊
WiFi模塊的主芯片為高性能無線 SOC esp8266-01,在較小尺寸封裝集成了業(yè)界領(lǐng)先的 Tensilica L106 超低功耗 32 位 MCU以及WiFi MAC/ BB/RF/PA/LNA等,支持 16 位精簡模式和RTOS,支持標(biāo)準(zhǔn)的 IEEE 802.11 b/g/n 協(xié)議和完整的 TCP/IP 協(xié)議棧。WiFi模塊的工作電路如圖3所示。
2.2 空調(diào)控制電路設(shè)計
為了控制空調(diào),用CC2530的P2.0通過電阻外接三極管9013的基極,9013的集電極接紅外發(fā)光二極管。通過CC2530的P2.0引腳輸出脈沖可以開啟和關(guān)閉空調(diào)。
2.3 電燈和開鎖電路設(shè)計
用CC2530的P1.3和 P1.5 輸出兩路控制信號,經(jīng)三極管驅(qū)動后接繼電器,由繼電器控制燈泡的220 V電源和12 V開鎖電源,最終實現(xiàn)開關(guān)燈泡和門鎖。
2.4 室內(nèi)溫度采集電路設(shè)計
DS18B20是美國DALLAS半導(dǎo)體公司設(shè)計的數(shù)字溫度傳感器[2],它可直接將溫度轉(zhuǎn)換成數(shù)字溫度值,溫度測量范圍為 -55 ~ 125℃;采用1-Wire 接口。可以編程設(shè)置上限和下限報警溫度和溫度轉(zhuǎn)換分辨,使用方便。在本系統(tǒng)中,CC2530的P1.1 接DS18B20的數(shù)據(jù)線,可實現(xiàn)室內(nèi)溫度的采集。
3 系統(tǒng)軟件設(shè)計
線性布局(Linear Layout)是一種比較靈活的布局方式,具有操作簡單、修改方便以及界面友好等特點[3]。因此,該平板APP的設(shè)計采用線性布局的方法實現(xiàn)。首先,將頁面母板分成若干部分,母板Linear Layout使用Android:orientation="vertical"將各個部分垂直分布;然后,每個部分中的對象通過Android:orientation="horizontal"實現(xiàn)橫向分布。且采用了TextView,Editext,ToggleButton , Button,ImageView等控件。通過對每一個Button設(shè)置setOnCheckedChangeListener()語句實現(xiàn)對該控件的監(jiān)聽。當(dāng)Button被按下時,會觸發(fā)一個事件。平板App軟件大致分為3個模塊,分別是連接模塊、控制模塊和接收模塊。App運行界面如圖4所示。
3.1 IP連接模塊設(shè)計
App默認(rèn)端口號為8080,默認(rèn)IP地址為:192.168.1.1,如果需要也可以在IP地址欄輸入新的IP。點擊連接,會觸發(fā)Socket事件,進(jìn)行Socket通信。連接成功后,App與硬件的通信都通過Socket進(jìn)行,進(jìn)而控制硬件操作。具體開啟線程代碼如下:
toggleButton2.setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
toggleButton2.setChecked(isChecked);
if(isChecked == true)
{
socket = null;
ReceiveMessageThread r1 = new ReceiveMessageThread();// 開啟客戶端線程
r1.start();
//延時讓子線程執(zhí)行完畢后再執(zhí)行下方程序
for(int i=1;i<10000;i++)
for(int j=1;j<10000;j++);
if(socket != null)
Toast.makeText(MainActivity.this,"正確連入", Toast.LENGTH_SHORT).show();
else {
Toast.makeText(MainActivity.this, "失敗連入", Toast.LENGTH_SHORT).show();
}
}else{
socket = null;
Toast.makeText(MainActivity.this,"斷開連接", Toast.LENGTH_SHORT).show();
}}})
3.2 控制模塊
控制模塊包括電燈控制,門鎖控制,空調(diào)控制等。燈與門鎖通過繼電器控制,空調(diào)則用紅外控制。軟件通過Socket中的BufferedWriter將攜帶的所有控制信息發(fā)送給硬件。實現(xiàn)代碼如下:
BufferedWriter writer = new BufferedWriter (new
InputStreamWriter(socket.getOutputStream()))
開關(guān)控制代碼如下:
switch1.setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton
buttonView, boolean isChecked) {
Toast.makeText(LampActivity.this, "LED1"+isChecked,
Toast.LENGTH_SHORT).show();
if(isChecked == true)
{
String up1 = "@LED1UP";
try {
writer2.write(up1);
writer2.newLine();
writer2.flush();
} catch (IOException e) {
e.printStackTrace();
}catch(Exception e){
System.out.println(e.toString());
}}else{
String down1 = "@LED1DOWN";
try {
writer2.write(down1);
writer2.newLine();
writer2.flush();
} catch (IOException e) {
e.printStackTrace();
}catch(Exception e){
System.out.println(e.toString());
}}}})
3.3 溫度采集顯示模塊
連接后,溫度采集終端節(jié)點每秒采集一次溫度,通過Socket緩沖區(qū)BufferedReader將溫度實時上傳到平板。具體代碼如下:
線程:class ReceiveMessageThread extends Thread {
public void run() {
try {
s1 = ed1.getText().toString().trim();
//s1是文本框填寫的IP地址
socket = new Socket(s1,8080);
reader = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
while((valueString1=reader.readLine()) != null){
Message message1 = new Message();
message1.what = UPDATE_RECEIVEMSG;
handler.sendMessage(message1); }
} catch (IOException e) {
e.printStackTrace();
}}}
在onResume()中運行以下代碼:
Handler handler = new Handler(){
public void handleMessage(Message msg) {
switch(msg.what) {
case UPDATE_RECEIVEMSG:
ed2.setText(valueString1.toString());
valueString1 = null;
break;
default:
break;
}}}
4 結(jié) 語
本文研究了基于平板的家居智能控制技術(shù),通過WiFi和ZigBee無線方式傳送命令和數(shù)據(jù),省去了布線的麻煩。一方面,通過平板可以開門,由于電插鎖安裝在室內(nèi),使得想通過開鎖行竊的盜賊望而卻步,起到了防盜的作用。另一方面,特別是夏天,用戶無需打開蚊帳,躺在床上即可用平板開關(guān)電燈和空調(diào),避免蚊子鉆入蚊帳中,使生活變得非常方便。本文設(shè)計的系統(tǒng)經(jīng)過實際使用,取得了良好的效果,所研究的技術(shù)具有非常重要的意義和廣闊的應(yīng)用前景。
參考文獻(xiàn)
[1]董澤龍,毋茂盛. SPI/UART與ZigBee協(xié)議轉(zhuǎn)換模塊設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2015,5(12):32-34.
[2]毋茂盛.單片機原理與開發(fā)[M].北京:高等教育出版社,2015.
[3]郭霖.Android第一行代碼[M].北京:中國工信出版集團(tuán), 2016.
[4]王健權(quán),王蒙.基于WiFi的智能家居的設(shè)計與實現(xiàn)[J].科技風(fēng),2016(2):61-62.
[5]何文樂.基于物聯(lián)網(wǎng)和wifi的智能家居移動控制系統(tǒng)[J].信息通信,2016(2):90-91.
[6]朱祥賢.基于Android和ZigBee的智能家居系統(tǒng)設(shè)計[J].數(shù)字技術(shù)與應(yīng)用,2014(9):131-133.
[7]薛誓穎,李捍東.基于ZigBee技術(shù)智能家居安防監(jiān)控系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2017,7(7):68-70.
[8]魯玉軍,劉振.ZigBee技術(shù)在智能家居系統(tǒng)中的應(yīng)用[J].物聯(lián)網(wǎng)技術(shù),2017,7(4):40
評職人員寫好論文后事要發(fā)表的,這時就需要選擇期刊,然而作者在選擇期刊時分不清期刊的真假或者期刊的級別。目前一些期刊,尤其是學(xué)術(shù)期刊為了迎合發(fā)表論文需要,會擅自更改期刊級別說明,為了避免上當(dāng),作者在發(fā)表職稱論文的時候多關(guān)注期刊相關(guān)信息。那么智能計算機與應(yīng)用是省級期刊嗎?怎么判定呢?