標(biāo)題: 用51單片機(jī)和esp8266實現(xiàn)通過手機(jī)app控制單片機(jī)小燈 [打印本頁]
作者: Floray002 時間: 2017-11-30 18:49
標(biāo)題: 用51單片機(jī)和esp8266實現(xiàn)通過手機(jī)app控制單片機(jī)小燈
用51單片機(jī)和esp8266實現(xiàn)通過手機(jī)app控制單片機(jī)小燈,也可以控制其他外設(shè),可以自行添加。附件為源程序,app可使用附件里面的安卓手機(jī)測試app或者ios系統(tǒng)可以去apple store下載netassist使用。
設(shè)計目的:
給所有客戶提供一個標(biāo)準(zhǔn)全功能而又經(jīng)濟(jì)適用的體驗平臺!客戶拿到手直接測試,而
沒有任何爭議的環(huán)節(jié)。
本測試板能完成什么:
擁有本測試板,你可以無需任何其他開發(fā)工具,對ESP8266 模塊進(jìn)行AT 類應(yīng)用與SDK類應(yīng)用開發(fā)。
簡單的演示功能:用安卓手機(jī)做的一個控制界面,用手機(jī)WIFI 和板載WIFI 進(jìn)行數(shù)據(jù)交互,讓手機(jī)控制 板載WIFI 輸出數(shù)據(jù),板載CPU 收到數(shù)據(jù)后控制板載LED,和蜂鳴器的動作!當(dāng)然你還可以進(jìn)過串口調(diào)試工具,直接對板載WIFI 模塊進(jìn)行手動測試!
測試版是一塊51/AVR開發(fā)板,MCU可更換,板上資源豐富。既可以學(xué)習(xí)WiFi又能學(xué)習(xí)單片機(jī),一舉兩得
下面是收到測試版后的簡單說明:
1. 默認(rèn)收到的開發(fā)板內(nèi)有開發(fā)板測試程序,使用WiFi功能時,需要用戶把程序燒寫到單片機(jī)(程序燒寫見“KR-51程序燒寫說明”)。
2.燒寫完程后,連接藍(lán)牙模塊,如下圖;
上圖為收到開發(fā)板的跳線的跳線帽位置,只需插USB供電,或者插上獨立供電電源供電(獨立供電電源不小于5V/600mA)。上電后如果電源燈不亮,請嘗試多次開關(guān)(左上角開關(guān))。正常上電后可看到模塊藍(lán)燈在間歇性閃爍,這是MCU在配置模塊作為服務(wù)端,在燈無閃爍后,可以在手機(jī)上搜索到ESP8266的WiFi名稱,安卓手機(jī)設(shè)置里可以看到這個WIFI,如下圖
連上這個WIFI,打開手機(jī)端APP(在測試版程序文件夾里),等待模塊藍(lán)燈停止閃爍,直接點連接,可以控制LED,蜂鳴器。
- 如果以上試過后無反應(yīng),依舊提示連接失敗,請檢查模塊波特率和單片機(jī)是否一致。
上圖:(注:此跳線用跳線帽短接3,5 和4,6,代表USB_UART和模塊的串口直連,)

查看波特率方法:模塊:打開03_調(diào)試工具里的“SSCOM”串口調(diào)試助手,如果這樣顯示 代表模塊工作在115200波特率下,如果不是,可調(diào)節(jié)波特率(一般是115200或者9600),直到輸出正常字符。這時可通過AT+CIOBAUD=9600,改為9600的波特率. (更多指令請參照指令說明設(shè)置)
恢復(fù)連接,插上模塊,重新連接
單片機(jī)源程序如下:
- /**************************************************************************************
- *功能:Wifi模塊測試 *
- *說明:手機(jī)安裝測試APP,手機(jī)連接WiFi模塊,控制開發(fā)板上的LED、蜂鳴器 *
- *硬件連接:在J10處插上跳線帽 1,3用跳線短路 2,4用跳線短路 *
- *作者:研發(fā)中心 *
- ***************************************************************************************/
- #include <REGX52.H>
- #include<intrins.h>
- typedef unsigned int uint;
- typedef unsigned char uchar;
- /**串口數(shù)據(jù)使用**/
- #define RX1_Lenth 32 //串口接收緩沖長度
- uchar idata RX1_Buffer[RX1_Lenth]; //接收緩沖
- uchar TX1_Cnt; //發(fā)送計數(shù)
- uchar RX1_Cnt; //接收計數(shù)
- bit B_TX1_Busy; //發(fā)送忙標(biāo)志
- /************* 端口引腳定義 **************/
- sbit LED1=P1^0;//LED1
- sbit LED2=P1^1;//LED2
- sbit LED3=P1^2;//LED3
- sbit DK1=P1^3;//繼電器
- sbit BEEP=P2^5;//蜂鳴器
- /**wifi模塊命令**/
- unsigned char RST[8]="AT+RST\r\n";
- unsigned char LYMS[13]="AT+CWMODE=2\r\n";
- //unsigned char SZLY[38]="AT+CWSAP='ESP8266','0123456789',11,0\r\n";
- unsigned char SZDLJ[13]="AT+CIPMUX=1\r\n";
- unsigned char KQFU[21]="AT+CIPSERVER=1,5000\r\n";
- unsigned char FSSJ[13]="AT+CIPSEND=\r\n";//AT+CIPSEND= 發(fā)送數(shù)據(jù)
- void Delay2(unsigned long cnt)
- {
- long i;
- for(i=0;i<cnt*100;i++);
- }
- void Delay3(unsigned int N)
- {
- int i;
- for(i=0;i<N*10;i++);
- }
- /********************************************************************
- * 名稱 : Uart_Init()
- * 功能 : 串口初始化,晶振11.0592,波特率9600,使能了串口中斷
- * 輸入 : 無
- * 輸出 : 無
- ***********************************************************************/
- void Uart_Init(void)
- {
- TMOD = 0x20; //定時器工作在定時器1的方式2
- PCON = 0x00; //不倍頻
- SCON = 0x50; //串口工作在方式1,并且啟動串行接收
- TH1 = 0xFd; //設(shè)置波特率 9600
- TL1 = 0xFd;
- TR1 = 1; //啟動定時器1
- ES = 1; //開串口中斷
- EA = 1; //開總中斷
- RX1_Cnt=0; //接受計數(shù)清零
- TX1_Cnt = 0; //發(fā)送計數(shù)清零
- B_TX1_Busy = 0;//初始化判忙標(biāo)志位
- }
- /********************************************************************
- * 名稱 : Main()
- * 功能 : 主函數(shù)
- * 輸入 : 無
- * 輸出 : 無
- ***********************************************************************/
- void main(void)
- {
- char i=0;
- Uart_Init();
- Delay3(2000);
- /******************設(shè)置WiFi模塊**********************************************/
- for(i=0;i<8;i++)//AT+RST 重啟
- {
- SBUF=RST[i];Delay3(5);
- }
- Delay3(5000);
- for(i=0;i<13;i++)//AT+CWMODE=2 設(shè)置成路由模式
- {
- SBUF=LYMS[i];Delay3(5);
- }
- /*Delay3(1000);
- for(i=0;i<38;i++)//AT+CWSAP="ESP8266","0123456789",11,0 設(shè)置路由
- {
- SBUF=SZLY[i];Delay3(5);
- }*/
- Delay3(3000);
-
- for(i=0;i<13;i++)//AT+CIPMUX=1 設(shè)置成多連接
- {
- SBUF=SZDLJ[i];Delay3(5);
- }
- Delay3(2000);
- for(i=0;i<21;i++)//AT+CIPSERVER=1,5000 開啟TCP服務(wù)端口
- {
- SBUF=KQFU[i];Delay3(5);
- }
- Delay3(2000);
- while (1)
- {
-
- }
- }
- /********************************************************************
- * 名稱 : Uart_Int()
- * 功能 : 串口中斷子函數(shù)
- * 輸入 : 無
- * 輸出 : 無
- ***********************************************************************/
- void UART1_int (void) interrupt 4
- {
- // char i,a,b,c;
- if(RI)
- {
- RI = 0;
- RX1_Buffer[RX1_Cnt] = SBUF; //保存一個字節(jié)
- if(RX1_Buffer[0]==0x45)
- {
- RX1_Cnt++;
- }
- else
- {
- RX1_Cnt=0;
- }
- if(RX1_Cnt>=10)
- {
- if(RX1_Buffer[0]==0x45&&RX1_Buffer[1]==0x53&&RX1_Buffer[2]==0x50)
- {
- if(RX1_Buffer[4]==0x4C&&RX1_Buffer[5]==0x45&&RX1_Buffer[6]==0x44)//判斷LED
- {
- if(RX1_Buffer[7]==0x31)//判斷LED1
- {
- if(RX1_Buffer[3]==0x4B)//判斷開
- {
- LED1=0;
- }
- if(RX1_Buffer[3]==0x47)//判斷關(guān)
- {
- LED1=1;
- }
- }
- if(RX1_Buffer[7]==0x32)//判斷LED2
- {
- if(RX1_Buffer[3]==0x4B)//判斷開
- {
- LED2=0;
- }
- if(RX1_Buffer[3]==0x47)//判斷關(guān)
- {
- LED2=1;
- }
- }
- if(RX1_Buffer[7]==0x33)//判斷LED3
- {
- if(RX1_Buffer[3]==0x4B)//判斷開
- {
- LED3=0;
- }
- if(RX1_Buffer[3]==0x47)//判斷關(guān)
- {
- LED3=1;
- }
- }
- }
- if(RX1_Buffer[4]==0x4A&&RX1_Buffer[5]==0x44&&RX1_Buffer[6]==0x51)//判斷繼電器
- {
- if(RX1_Buffer[7]==0x31)//判斷LED1
- {
- if(RX1_Buffer[3]==0x4B)//判斷開
- {
- DK1=1;
- }
- if(RX1_Buffer[3]==0x47)//判斷關(guān)
- {
- DK1=0;
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
0.png (9.05 KB, 下載次數(shù): 186)
下載附件
2017-12-1 03:34 上傳
以上資料51hei下載地址:
wifi測試程序.zip
(2.46 MB, 下載次數(shù): 1249)
2017-11-30 18:48 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者: Floray002 時間: 2017-12-1 11:39
以上實驗圖片來自此款開發(fā)板賣家提供的資料
作者: Floray002 時間: 2017-12-1 11:43
這幅圖為自己使用蘋果手機(jī)進(jìn)行的調(diào)試,經(jīng)檢測,板子上的3.3V實際上不夠這個電壓,所以esp8266模塊的供電是使用電池從外部供電的,還有就是實現(xiàn)時,注意各個模塊供地。
-
9D69A02DBC8C474946010FD2B3764EE3.png
(120.2 KB, 下載次數(shù): 258)
下載附件
2017-12-1 11:43 上傳
實驗圖
作者: Floray002 時間: 2017-12-3 09:11
我全部的資料都分享在上面了
作者: 永遠(yuǎn)的lgz 時間: 2018-1-7 22:01
樓主,我的手機(jī)用不了你這個軟件,怎么回事
作者: chengfgc 時間: 2018-2-1 11:33
APP用不了,怎么回事呢?
作者: bhjyqjs 時間: 2018-2-9 08:49
好貼,謝謝樓主!
作者: youcanyouup 時間: 2018-4-9 18:29
ESP8266需要燒寫嗎?
作者: jjj12345 時間: 2018-4-11 20:53
hulujia 發(fā)表于 2018-4-9 18:21
求分享
謝謝非常不錯哦
作者: chaselbaymax 時間: 2018-4-12 13:04
萌新有一個問題請教大佬:
我用的和你一樣的開發(fā)板,然后運(yùn)行程序沒有反應(yīng),手機(jī)上搜不到wifi,陰差陽錯打開了串口調(diào)試助手,發(fā)現(xiàn)這樣的一幕,我每按一次復(fù)位,就會從串口輸?shù)诫娔X上一串應(yīng)該傳送給wifi模塊的信息。
QQ截圖20180412125634.png (48.09 KB, 下載次數(shù): 114)
下載附件
2018-4-12 12:58 上傳
(試了試,沒打開串口調(diào)試助手,程序也沒有反應(yīng))
我剛開始學(xué),不是很懂,是不是我哪連線連錯了,把單片機(jī)傳送給wifi模塊的信息傳到了電腦上
還是說這兩個接口是連通的,發(fā)送到wifi模塊的信息都能通過數(shù)據(jù)線顯示在電腦上,如果這樣的話,我為啥搜不到模塊的wifi。。。
作者: hulujia 時間: 2018-4-12 15:00
樓主請問電池外部供電怎么實現(xiàn)?是要自己接線嗎,不知道用usb轉(zhuǎn)ttl模塊接電腦上可以供電嗎?
作者: 么么了 時間: 2018-4-16 20:49
你解決了嗎
作者: hzp1239 時間: 2018-4-20 08:18
謝謝分享
作者: Aphroditezero9 時間: 2018-4-29 17:27
您的app用不了啊,麻煩問下app向單片機(jī)發(fā)送的具體是什么字符或字符串呢
作者: 12348856 時間: 2018-5-12 11:17
為什么下載了資料里面的程序打不開?
作者: sssjjj 時間: 2018-5-17 21:22
你們的可以用嗎
作者: sssjjj 時間: 2018-5-18 19:17
不能用
作者: tony054 時間: 2018-5-27 00:38
好東西,來這里學(xué)習(xí)一下~
作者: sefawg 時間: 2018-6-28 11:22
我遇到了和你一模一樣的問題,你的問題解決了嗎? 是什么原因造成的?
作者: gnalorange 時間: 2018-7-9 22:33
好東西,正是我想要的!
作者: 一葉_知秋 時間: 2018-7-11 23:38
請問有app的代碼嗎
作者: ligongping 時間: 2018-8-1 08:55
本帖最后由 ligongping 于 2018-8-1 10:44 編輯
為什么我下載后會彈出來這個E:捕獲1.PNG
-
捕獲1.PNG
(41.01 KB, 下載次數(shù): 215)
下載附件
2018-8-1 10:44 上傳
作者: 太陽神犬 時間: 2018-8-1 09:44
看到樓主做的,瞬間自己也想做一個了
作者: 驢闖天涯 時間: 2018-8-10 21:45
謝謝分享
作者: anxuchu1 時間: 2018-9-15 22:06
謝謝樓主了
作者: dcein 時間: 2018-10-10 20:22
大家能發(fā)一份wifi程序和app給我嗎?多謝
作者: zqy181818 時間: 2018-10-13 11:58
這個E4A文件造成的,因為你的殺毒軟件會誤判。你可以放心用好了。
作者: zmc419 時間: 2018-10-14 09:54
用8266的端口直接輸出不更好么,省掉了單片機(jī)
作者: zmc419 時間: 2018-10-14 10:00
朋友會做APP么。這個8266,用的是AT固件,單片機(jī)通過串口和8266通訊,不如直接用NODMCU固件
作者: lqsgg 時間: 2018-10-19 21:44
謝謝分享!學(xué)習(xí)學(xué)習(xí)!
作者: bhjyqjs 時間: 2018-10-26 14:18
很不錯,謝謝分享!
作者: bioveronica 時間: 2018-11-25 20:51
第一次學(xué)習(xí)Wifi,謝謝樓主分享!
作者: Ramon123 時間: 2018-11-30 19:57
chaselbaymax 發(fā)表于 2018-4-12 13:04
萌新有一個問題請教大佬:
我用的和你一樣的開發(fā)板,然后運(yùn)行程序沒有反應(yīng),手機(jī)上搜不到wifi,陰差陽錯打 ...
現(xiàn)在能用了嗎?我也出現(xiàn)了這樣的情況
作者: xunxing 時間: 2018-11-30 22:10
嘗試一下呀
作者: tong553 時間: 2019-3-23 13:13
資料不錯,值得學(xué)習(xí)
作者: azi197417 時間: 2019-4-22 22:37
這個挺好的
作者: 方回首已百年身 時間: 2019-4-24 12:48
不錯的東東,贊一個!
作者: JJJJ123 時間: 2019-6-20 22:16
樓主軟件用不了。。
作者: wushengxu0718 時間: 2019-7-23 14:27
學(xué)習(xí)學(xué)習(xí)
作者: 不就一個你 時間: 2019-7-23 19:59
可以
作者: yihai703 時間: 2019-7-26 19:40
參考一下,謝謝
作者: assini 時間: 2019-8-6 10:05
很好 很棒 贊一個
作者: 18856141120 時間: 2019-9-2 00:03
謝謝分享謝謝謝
作者: ww8577 時間: 2019-9-5 15:57
我的手機(jī)是安卓系統(tǒng)無法使用這個軟件,大家有什么好的方法嗎?可能是我安卓版本太新了
作者: xyt9812 時間: 2019-9-17 19:15
太棒了,正想要一個51控制WiFi的實例代碼,謝謝樓主!
作者: xyt9812 時間: 2019-9-17 19:16
太棒了,有了代碼就會用了,謝謝樓主分享。
作者: lern01 時間: 2020-2-7 19:00
Esp8266的發(fā)送格式好似是:+IPD
作者: dyjpc 時間: 2020-2-10 23:12
三星手機(jī)A6s打不開安卓app,不能運(yùn)行,不知差在哪里
作者: 太陽黑子1 時間: 2020-2-11 19:21
太好玩了!
作者: 570612699 時間: 2020-6-11 10:33
謝謝樓主,很有用
作者: sniar 時間: 2020-6-11 20:44
文件能用嗎?

作者: sniar 時間: 2020-6-11 20:45
文件下載下來可以用嗎?有人測試嗎?
作者: dilongking 時間: 2020-9-11 08:58
回家試一下,這好像很復(fù)雜,暈,我這真是太新手了
作者: liushiming82 時間: 2020-9-11 09:09
APP是什么軟件寫的
作者: 快樂眼淚 時間: 2020-9-11 20:52
我做了一個沒成功
作者: zhaobolove 時間: 2020-9-21 21:53
這個沒有技術(shù)含量, 太簡單了
作者: 萬人棄 時間: 2020-9-29 16:15
這個好!代碼也在!試了一下!還不錯
作者: Floray002 時間: 2020-10-26 16:57
我的話是蘋果手機(jī),沒有用過安卓的那一款,我用的是蘋果對應(yīng)的那款軟件
作者: Floray002 時間: 2020-10-26 16:58
配套的安卓手機(jī)測試app我沒有試過,因為我是蘋果,我用的apple store的netassist使,這個調(diào)試過沒問題
作者: heikeji123456 時間: 2021-6-19 15:58
APP源碼要如何編寫呢?大家有類似能傳個附件,給我們學(xué)習(xí)嗎?
作者: mc6666 時間: 2021-6-28 16:45
一樣的,什么情況,解決了嘛
作者: magicfu 時間: 2021-8-18 16:56
有沒有實現(xiàn)LED調(diào)光功能的,手機(jī)APP上帶調(diào)光條,控制單片機(jī)上LED的亮度
作者: KKK1177 時間: 2022-4-5 15:24
APP用不了怎么回事
作者: QQQQ987 時間: 2022-9-2 00:33
51加物連網(wǎng)呀——,贊一個,
| 歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |