版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
目錄
1產(chǎn)品功能分析....................................................1
2設(shè)計(jì)方案遴選....................................................1
2.1單片機(jī)的選擇...............................................1
2.2通訊方式的選擇.............................................1
2.3系統(tǒng)框圖設(shè)計(jì)...............................................1
3產(chǎn)品硬件設(shè)計(jì)....................................................2
3.1STC89C52RC單片機(jī)核心電路設(shè)計(jì)..............................2
3.2按鍵電路設(shè)計(jì)...............................................2
3.3ESP8266WiFi模塊電路設(shè)計(jì)...................................3
4產(chǎn)品軟件設(shè)計(jì)....................................................4
4.1主程序流程圖...............................................4
4.2ESP8266WiFi模塊控制程序設(shè)計(jì)...............................5
4.3上位機(jī)APP程序設(shè)計(jì).........................................6
4.4產(chǎn)品程序清單...............................................7
5產(chǎn)品使用說明....................................................8
5.1產(chǎn)品裝配圖.................................................8
5.2產(chǎn)品調(diào)試...................................................8
5.3產(chǎn)品使用說明...............................................8
6產(chǎn)品設(shè)計(jì)技術(shù)標(biāo)準(zhǔn).................................................9
參考資料..........................................................10
附錄..............................................................11
附錄1元器件清單..............................................11
附錄2電路原理圖..............................................12
附錄3PCB設(shè)計(jì)圖...............................................13
附錄4產(chǎn)品實(shí)物圖..............................................14
附錄5主程序代碼..............................................16
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
基于51單片機(jī)WiFi控制智能窗簾設(shè)計(jì)與制作
1產(chǎn)品功能分析
該設(shè)計(jì)具有窗簾控制系統(tǒng)的最基本的功能,可以通過微動(dòng)開關(guān)控制窗簾開
合,在此基本功能的前提下,該智能窗簾還設(shè)計(jì)了可以通過光照強(qiáng)度控制窗簾
自動(dòng)開合功能,考慮到使用更加方便,本設(shè)計(jì)還了采用WiFi模塊連接手機(jī)APP,
可以用手機(jī)APP控制窗簾開合。
2設(shè)計(jì)方案遴選
2.1單片機(jī)的選擇
采用STC89C52芯片,STC89C52是一種帶8K字節(jié)閃爍可編程可擦除只讀存
儲(chǔ)器的低電壓,高性能微處理器。
2.2通訊方式的選擇
選擇WiFi控制的通訊方式,采用ESP8266串口WiFi模塊,該模塊可以連
接WiFi熱點(diǎn),并與外部設(shè)備進(jìn)行雙向通訊。在此情況下ESP8266可以作為一個(gè)
WiFi接口,去連接外部設(shè)備,連接后就可以發(fā)送和接收數(shù)據(jù)來控制設(shè)備。
2.3系統(tǒng)框圖設(shè)計(jì)
系統(tǒng)組成框圖如圖1所示。
圖1系統(tǒng)組成框圖
1
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
3產(chǎn)品硬件設(shè)計(jì)
3.1STC89C52RC單片機(jī)核心電路設(shè)計(jì)
單片機(jī)最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片
機(jī)可以工作的系統(tǒng)。對(duì)51系列單片機(jī)來說,最小系統(tǒng)一般應(yīng)該包括:單片機(jī)、
晶振電路、復(fù)位電路。一個(gè)51單片機(jī)的最小系統(tǒng)如圖2所示。
VCCU3VCCJ?
140
P1.0VCC1
24239
P1.1(AD0)P0.02
KS338
P1.2(AD1)P0.13
437
P1.3(AD2)P0.24
536
P1.4(AD3)P0.35
+C1635
P1.5(AD4)P0.46
10uFRESET734
P1.6(AD5)P0.57
3
1833
P1.7(AD6)P0.68
932
RST(AD7)P0.79
1031
P3.0(RXD)EA/VPP
1130CON9
P3.1(TXD)ALE/PROG
R271229
P3.2(INT0)PSEN
10K1328
P3.3(INT1)(A15)P2.7
1427
P3.4(T0)(A14)P2.6
1526
P3.5(T1)(A13)P2.5
C22301625
P3.6(WR)(A12)P2.4
1724
P3.7(RD)(A11)P2.3
1823
XTAL2(A10)P2.2
z1922
XTAL1(A9)P2.1
H2021
MGND(A8)P2.0
2
C2330189C51/C52
圖2最小系統(tǒng)電路圖
單片機(jī)復(fù)位電路就好比電腦的重啟部分,當(dāng)電腦在使用中出現(xiàn)死機(jī),按下
重啟按鈕電腦內(nèi)部的程序從頭開始執(zhí)行。單片機(jī)也一樣,當(dāng)單片機(jī)系統(tǒng)在運(yùn)行
中,受到環(huán)境干擾出現(xiàn)程序跑飛的時(shí)候,按下復(fù)位按鈕內(nèi)部的程序自動(dòng)從頭開
始執(zhí)行。
一般的晶振振蕩電路都是在一個(gè)反相放大器的兩端接入晶振,再有兩個(gè)電
容分別接到晶振的兩端,每個(gè)電容的另一端再接到地,這兩個(gè)電容串聯(lián)的容量
值就應(yīng)該等于負(fù)載電容,一般的晶振的負(fù)載電容為15pF或12.5pF如果再考慮
元件引腳的等效輸入電容則兩個(gè)22pF的電容構(gòu)成晶振的振蕩電路就是比較好
的選擇。
3.2按鍵電路設(shè)計(jì)
本設(shè)計(jì)僅采用兩個(gè)按鍵:作用是控制窗簾自動(dòng)開合的啟動(dòng)與暫停,以及
電源開關(guān)。電路圖如圖3,圖4所示。
2
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖3圖4
3.3ESP8266WiFi模塊電路設(shè)計(jì)
ESP8266是一個(gè)完整且自成體系的WiFi網(wǎng)絡(luò)解決方案,能夠獨(dú)立運(yùn)行,
也可以作為slave搭載于其他Host運(yùn)行。
在搭載應(yīng)用并作為設(shè)備中唯一的應(yīng)用處理器時(shí),能夠直接從外接閃存中啟
動(dòng)。內(nèi)置的高速緩沖存儲(chǔ)器有利于提高系統(tǒng)性能,并減少內(nèi)存需求。另外一種
情況是,無線上網(wǎng)接入承擔(dān)WiFi適配器的任務(wù)時(shí),可以將其添加到任何基于
微控制器的設(shè)計(jì)中,連接簡(jiǎn)單易行,只需通過SPI/SDIO接口或中央處理器AHB
橋接口即可。
強(qiáng)大的片上處理和存儲(chǔ)能力,使其可通過GPIO口集成傳感器及其他應(yīng)用的
特定設(shè)備,實(shí)現(xiàn)了最低前期的開發(fā)和運(yùn)行中最少地占用系統(tǒng)資源。
高度片內(nèi)集成,包括天線開關(guān)balun、電源管理轉(zhuǎn)換器,因此僅需極少的外
部電路,且包括前端模塊在內(nèi)的整個(gè)解決方案在設(shè)計(jì)時(shí)將所占PCB空間降到最
低。
裝有ESP8266的系統(tǒng)表現(xiàn)出來的領(lǐng)先特征有:節(jié)能VoIP在睡眠/喚醒模式
之間的快速切換、配合低功率操作的自適應(yīng)無線電偏置、前端信號(hào)的處理功能、
故障排除和無線電系統(tǒng)共存特性為消除蜂窩/藍(lán)牙/DDR/LVDS/LCD干擾。
ESP8266的三種工作模式
(1)AP模式(模塊作為熱點(diǎn),可以發(fā)散出wifi信號(hào),實(shí)現(xiàn)手機(jī)或電腦直接與模
塊通訊,實(shí)現(xiàn)局域網(wǎng)無線控制)
(2)STA模式(模塊通過路由器連接互聯(lián)網(wǎng),手機(jī)或電腦通過互聯(lián)網(wǎng)實(shí)現(xiàn)對(duì)設(shè)
備的遠(yuǎn)程控制)
(3)STA+AP模式(兩種模式的共存即可通過互聯(lián)網(wǎng)控制可實(shí)現(xiàn)無縫對(duì)接切換)
本設(shè)計(jì)采用了第一種工作模式,電路原理圖如圖5所示。
3
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖5WIFI接口電路
4產(chǎn)品軟件設(shè)計(jì)
4.1主程序流程圖
主程序流程圖如圖6所示。
4
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖6主程序流程圖
4.2ESP8266WiFi模塊控制程序設(shè)計(jì)
使用軟件keliuVsion5,C語言編寫單片機(jī)程序通過esp8266實(shí)現(xiàn)單片機(jī)與
手機(jī)APP的數(shù)據(jù)通信。通過這個(gè)wifi模塊進(jìn)行局域網(wǎng)模擬控制窗簾。
原理:這里沒有更改8266的at固件,所以編程讓51單片機(jī)使用AT指令
一步一步設(shè)置wifi模塊,讓其開啟AP模式,也就是熱點(diǎn),設(shè)置名字為esp8266
和密碼,配置器開啟服務(wù)器,8080端口,獲取當(dāng)前esp8266的IP地址顯示出來,
此時(shí)手機(jī)打開wifi,連接wifi模塊的,打開手機(jī)上網(wǎng)絡(luò)調(diào)試助手,輸入IP地
址和端口,點(diǎn)擊開啟客戶端,就能夠跟8266連接上了,此時(shí)可以互相發(fā)送數(shù)據(jù),
這里就直接通過單片機(jī)的串口接收中斷來解析對(duì)應(yīng)的命令格式,根據(jù)命令來開
5
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
閉窗簾。
4.3上位機(jī)APP程序設(shè)計(jì)
上位機(jī)APP開發(fā)使用Androidstudio編寫代碼。
UI界面設(shè)計(jì)流程:
采用RelativeLayout布局,在下方設(shè)計(jì)三個(gè)TextView和一個(gè)EditText,
TextView分別顯示“WiFi智能窗簾控制系統(tǒng)”,“自動(dòng)模式開關(guān)“,”手動(dòng)開
關(guān)”,EditText用于使用者輸入IP地址與端口號(hào)。
接下來設(shè)計(jì)五個(gè)Button,分別用于“關(guān)閉自動(dòng)“,”打開自動(dòng)“,”打
開”,”關(guān)閉”,”停止”。
設(shè)計(jì)Java代碼:
需要Java控制監(jiān)聽五個(gè)button事件,對(duì)每一次按下次做出數(shù)據(jù)反饋,將
數(shù)據(jù)上反饋至單片機(jī)控制窗簾開閉。
6
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
4.4產(chǎn)品程序清單
圖7產(chǎn)品程序清單
7
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
5產(chǎn)品使用說明
5.1產(chǎn)品裝配圖
圖8產(chǎn)品裝配圖
5.2產(chǎn)品調(diào)試
將元器件電路焊接好,使用萬用表檢測(cè)是否出現(xiàn)短路情況。確保無誤后接
通電源,用光源照射光敏電阻,測(cè)試自動(dòng)測(cè)光開合功能是否正常。
調(diào)試ESP8266WiFi模塊,使用AT命令配置WiFi模塊,設(shè)置模塊熱點(diǎn)的賬
戶號(hào)密碼。
測(cè)試APP是否正常運(yùn)行,連接智能窗簾WiFi信號(hào),控制窗簾開合即可。
5.3產(chǎn)品使用說明
(1)接通電源可使用自動(dòng)模式:可感知光線強(qiáng)度,光強(qiáng)時(shí)控制窗簾關(guān)閉,
光弱時(shí)控制窗簾打開。
8
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
(2)使用ESP8266串口WIFI模塊連接WiFi控制APP,可實(shí)現(xiàn):手動(dòng)模式:
使用APP連接控制,可手動(dòng)打開或關(guān)閉窗簾。
6產(chǎn)品設(shè)計(jì)技術(shù)標(biāo)準(zhǔn)
[1]J-STD-001E電氣與電子組件的焊接要求
[2]IPC-A-610D(中文版),IPC-A-610E電子組件的可接受性要求
[3]IPC-7711/21電子組件和電路板的返工&返修
[4]GB/T11457-2006信息技術(shù)軟件工程術(shù)語
[5]GB/T8566-2007信息技術(shù)軟件生存周期過程標(biāo)準(zhǔn)
[6]GB/T8567-2006計(jì)算機(jī)軟件文檔編制規(guī)范
9
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
參考資料
[1]馬忠梅等,單片機(jī)的C語言應(yīng)用程序設(shè)計(jì),北京航空航天大學(xué)出版社,2003修訂版
[2]李廣弟等單片機(jī)基礎(chǔ)北京航空航天出版社,2001.7
10
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
附錄
附錄1元器件清單
CommentDescriptionDesignatorFootprintLibRefQuantity
Header
Header4X2Header,4-Pin,Dualrow8266HDR2X41
4X2
Header5Header,5-PinbjjkHDR1X5Header51
CapCapacitorC1,C2HDR1X2Cap2
PolarizedCapacitor
CapPol1C3,lb1R.1/.2ACapPol12
(Radial)
Header4Header,4-Pinck1,gmHDR1X4Header42
L324D1LED2.5LED1
Header3Header,3-PindyzPOWER_P3Header31
DIPSwitch,2Position,
SWDIP-2f1SW-PB2.5SWDIP-21
SPST
Res2ResistorR3,xy1AXIAL-0.4Res22
MCUU1DIP40at89c511
DIPSwitch,8Position,ULN2003步
SWDIP-8DIP_SW_8WAY_SMDSWDIP-81
SPST進(jìn)電機(jī)芯片
XTALCrystalOscillatorY1XTAL1_ARCXTAL1
DIPSwitch,2Position,
SWDIP-2使能按鍵DIP-4SWDIP-21
SPST
Diode1AmpGeneralPurposeDiode
降壓二極管DO-411
1N4001Rectifier1N4001
11
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
附錄2電路原理圖
12
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
附錄3PCB設(shè)計(jì)圖
13
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
附錄4產(chǎn)品實(shí)物圖
14
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
15
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
附錄5主程序代碼
單片機(jī)程序
#include"reg51.h"
#defineuintunsignedint
#defineucharunsignedchar
sbitgm=P1^0;
sbitwd1=P1^1;
unsignedcharkongzhi=0;
unsignedcharcodeRUN1[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};//正轉(zhuǎn)
unsignedcharcodeRUN2[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};//反轉(zhuǎn)
voidchushihua()
{
IE=0x90;
SCON=0x50;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TCON=0x40;
TR1=1;
ES=1;
EA=1;
}
//串行口連續(xù)發(fā)送char型數(shù)組,遇到終止號(hào)/0將停止
voidfasongshuju(uchar*str)
{
while(*str!='\0')
{
SBUF=*str;
while(!TI);//等待發(fā)送完成信號(hào)(TI=1)出現(xiàn)
TI=0;
str++;
}
}
//延時(shí)函數(shù)
voidyanshi(uintttt)
{
while(ttt--);
}
16
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
//ESP8266上電初始化
voidwifichushihua()
{
fasongshuju("AT+CIPMUX=1\r\n");
yanshi(50000);
fasongshuju("AT+CIPSERVER=1,8080\r\n");
}
/******延時(shí)函數(shù)****************/
voiddelay(unsignedintt)
{
unsignedintk;
while(t--)
{
for(k=0;k<60;k++)//用for的空循環(huán)延長(zhǎng)程序的執(zhí)行時(shí)間
{}
}
}
//步進(jìn)電機(jī)驅(qū)動(dòng)正轉(zhuǎn)
voidzz()
{
unsignedchari;
for(i=0;i<8;i++)//一個(gè)周期轉(zhuǎn)3.75*8=30度
{
P2=RUN1[i]&0x1f;//取數(shù)據(jù)
delay(2);//調(diào)節(jié)轉(zhuǎn)速
}
}
//步進(jìn)電機(jī)驅(qū)動(dòng)反轉(zhuǎn)
voidfz()
{
unsignedchari;
for(i=0;i<8;i++)//一個(gè)周期轉(zhuǎn)3.75*8=30度
{
P2=RUN2[i]&0x1f;//取數(shù)據(jù)
delay(2);//調(diào)節(jié)轉(zhuǎn)速
}
17
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
}
//傳感器自動(dòng)控制的
voidzidong()
{
if(gm==0)//有光的時(shí)候
{
zz();
}
else//無光的時(shí)候
{
fz();
}
}
voidmain()
{
yanshi(50000);
yanshi(5000);
chushihua();
wifichushihua();
while(1)
{
if(kongzhi==1)
{
zz();
}
if(kongzhi==2)
{
fz();
}
if(kongzhi==3)
{
P2=0xff;
}
if(kongzhi==4)
18
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
{
zidong();
}
if(wd1==0)
{
kongzhi=3;
}
}
}
/*
串口服務(wù)子函數(shù)
*/
voidtime()interrupt4
{
if(RI)
{
RI=0;
switch(SBUF)
{
case'a':kongzhi=1;break;//接收到安卓端的'a'字符
case'b':kongzhi=2;break;//接收到安卓端的'b'字符
case'c':kongzhi=3;break;//接收到安卓端的'b'字符
case'd':kongzhi=4;break;//接收到安卓端的'c'字符
/*
case'e':guangbiaozhiwei=1;P2=0xff;
break;//接收到安卓端的'd'字符
*/
}
}
}
19
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
上位機(jī)APP程序代碼
APP布局程序:
<RelativeLayoutxmlns:android="/apk/res/android"
xmlns:tools="/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Main">
<Button
android:id="@+id/guanbizidongbtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/dakaizidong"
android:layout_alignBottom="@+id/dakaizidong"
android:layout_alignParentRight="true"
android:text="關(guān)閉自動(dòng)"
android:textSize="20sp"/>
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="WiFi智能窗簾控制系統(tǒng)"
android:textSize="30sp"
/>
<EditText
android:id="@+id/iped"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textView3"
android:layout_centerHorizontal="true"
android:ems="10"
android:text="12:8080"
android:textSize="25sp"/>
<Button
20
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
android:id="@+id/dakaizidong"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/iped"
android:layout_marginTop="122dp"
android:text="打開自動(dòng)"
android:textSize="20sp"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/guanbizidongbtn"
android:layout_centerHorizontal="true"
android:text="自動(dòng)模式開關(guān)"
android:textSize="30sp"/>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/dakaizidong"
android:layout_centerHorizontal="true"
android:layout_marginTop="74dp"
android:text="手動(dòng)開關(guān)"
android:textSize="30sp"
/>
<Button
android:id="@+id/dakaibtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:text="打開"
android:textSize="20sp"/>
<Button
android:id="@+id/guanbibtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/dakaibtn"
21
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
android:layout_alignBottom="@+id/dakaibtn"
android:layout_alignParentRight="true"
android:text="關(guān)閉"
android:textSize="20sp"/>
<Button
android:id="@+id/tingzhibtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="停止"
android:textSize="20sp"/>
</RelativeLayout>
APPJava程序設(shè)計(jì):
packagecom.example.wificontrol;
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.PrintWriter;
import.Socket;
importjava.util.ArrayList;
importjava.util.Timer;
importjava.util.TimerTask;
importandroid.app.Activity;
importandroid.app.PendingIntent;
importandroid.content.ContentValues;
importandroid.content.Context;
importandroid.content.Intent;
importandroid.content.SharedPreferences;
importandroid.content.SharedPreferences.Editor;
importandroid.content.pm.ActivityInfo;
importandroid.database.Cursor;
importandroid.database.sqlite.SQLiteDatabase;
importandroid.os.Bundle;
importandroid.os.Handler;
importandroid.os.Message;
importandroid.telephony.TelephonyManager;
importandroid.telephony.gsm.SmsManager;
importandroid.util.Log;
22
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
importandroid.view.KeyEvent;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.view.Window;
importandroid.widget.Button;
importandroid.widget.EditText;
importandroid.widget.TextView;
importandroid.widget.Toast;
publicclassMainActivityextendsActivity{
EditTextIPText;
Buttondakaizidongbtn,guanbizidongbtn;
Buttondakaibtn,guanbibtn;
Buttontingzhibtn;
privateContextmContext;
privatebooleanisConnecting=false;
privatebooleanonflag=false;
privateThreadmThreadClient=null;
privateSocketmSocketClient=null;
staticBufferedReadermBufferedReaderServer=null;
staticPrintWritermPrintWriterServer=null;
staticInputStreammBufferedReaderClient=null;
staticPrintWritermPrintWriterClient=null;
privateStringrecvMessageClient="";
privateStringrecvMessageServer="";
@Override
protectedvoidonCreate(BundlesavedInstanceState){
//Log.v(tag,"log---------->onCreate!");
super.onCreate(savedInstanceState);
//requestWindowFeature(Window.FEATURE_NO_TITLE);
//setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setContentView(R.layout.activity_main);
mContext=this;
IPText=(EditText)findViewById(R.id.iped);
//按鍵獲取
dakaizidongbtn=(Button)findViewById(R.id.dakaizidong);
guanbizidongbtn=(Button)findViewById(R.id.guanbizidongbtn);
dakaibtn=(Button)findViewById(R.id.dakaibtn);
guanbibtn=(Button)findViewById(R.id.guanbibtn);
23
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
tingzhibtn=(Button)findViewById(R.id.tingzhibtn);
dakaibtn.setOnClickListener(newdakai());
guanbibtn.setOnClickListener(newguanbi());
dakaizidongbtn.setOnClickListener(newdakaizidong());
guanbizidongbtn.setOnClickListener(newguanbizidong());
tingzhibtn.setOnClickListener(newtingzhi());
IPText.setText("12:8080");
lianjie();
}
classdakaiimplementsOnClickListener
{
@Override
publicvoidonClick(Viewv){
if(isConnecting&&mSocketClient!=null){
newThread(){
publicvoidrun(){
Stringoutput="a";
try{
mPrintWriterClient.print(output);//?????????????
mPrintWriterClient.flush();
}
catch(Exceptione){
//TODO:handleexception
Toast.makeText(mContext,"通訊尚未",
Toast.LENGTH_SHORT).show();
24
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
}
};
}.start();
}
if(mSocketClient==null){
Toast.makeText(mContext,"未連接,請(qǐng)退出之后先連接wifi再打
開APP",Toast.LENGTH_SHORT).show();
}
}
}
classguanbiimplementsOnClickListener
{
@Override
publicvoidonClick(Viewv){
if(isConnecting&&mSocketClient!=null){
newThread(){
publicvoidrun(){
Stringoutput="b";
try{
mPrintWriterClient.print(output);//?????????????
mPrintWriterClient.flush();
}
catch(Exceptione){
//TODO:handleexception
Toast.makeText(mContext,"手機(jī)通信權(quán)限未開放"+
e.getMessage(),
Toast.LENGTH_SHORT).show();
}
};
}.start();
25
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
}
if(mSocketClient==null){
Toast.makeText(mContext,"未連接,請(qǐng)退出之后先連接wifi再打
開APP",Toast.LENGTH_SHORT).show();
}
}
}
classtingzhiimplementsOnClickListener
{
@Override
publicvoidonClick(Viewv){
if(isConnecting&&mSocketClient!=null){
newThread(){
publicvoidrun(){
Stringoutput="c";
try{
mPrintWriterClient.print(output);//?????????????
mPrintWriterClient.flush();
}
catch(Exceptione){
//TODO:handleexception
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 提升表達(dá)能力課程設(shè)計(jì)
- 包裝材料質(zhì)量手冊(cè)第一版(一)
- 特殊計(jì)算器課程設(shè)計(jì)c
- 2024年藥房管理制度
- PEP小學(xué)英語三年級(jí)上冊(cè)Unit1 PartA Let's talk 同步課時(shí)練
- 財(cái)務(wù)工作總結(jié)應(yīng)收賬款與付款管理
- 導(dǎo)演行業(yè)人事工作總結(jié)
- 研究所保安工作總結(jié)
- 聚焦業(yè)績(jī)提升的年度工作方案計(jì)劃
- 股份接受協(xié)議三篇
- 貴州省貴陽市某區(qū)2022-2023學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試題
- 三國(guó)群英傳2-所有武將屬性
- 統(tǒng)編版語文二年級(jí)上冊(cè) 句子練習(xí)專項(xiàng)練習(xí)題(試題)( 無答案)
- 上海市歷年中考語文現(xiàn)代文閱讀真題40篇(2003-2021)
- 腫瘤科醫(yī)院感染管理制度
- 產(chǎn)品拆解:飛書多維表格怎么用
- 意識(shí)障礙的診斷鑒別診斷及處理
- 客房服務(wù)員(四級(jí))考證理論考核試題及答案
- 英語演講知到章節(jié)答案智慧樹2023年哈爾濱工程大學(xué)
- 商務(wù)禮儀培訓(xùn)職業(yè)禮儀員工培訓(xùn)PPT
- 圍手術(shù)期手術(shù)部位感染預(yù)防與控制措施試題及答案
評(píng)論
0/150
提交評(píng)論