標題: (開源)安卓手機APP控制51單片機LED, 通過WIFI [打印本頁]
作者: youngda 時間: 2020-7-13 10:51
標題: (開源)安卓手機APP控制51單片機LED, 通過WIFI
第一 、先上效果圖
app - 副本.png (53.23 KB, 下載次數: 33)
下載附件
2020-7-13 10:49 上傳
c51.jpg (95.62 KB, 下載次數: 45)
下載附件
2020-7-13 10:49 上傳
第二、原理講解原理簡述:利用發布訂閱模式。第一步,新建主題,第二步,stc89c51通過esp8266訂閱這個主題。第三步、通過app往這個主題發消息。由于單片機訂閱了這個主題,所以可以實時收到發往這個主題的消息。從而達到通過app或者小程序控制c51單片機的目的。
關于發布訂閱:
訂閱(訂閱):訂閱給定的一個主題。
發布(發布)將信息發送到指定的主題。
只有訂閱該主題的設備才可以收到發往該主題的消息。
通俗的來講:就是像博客訂閱的場景,什么意思呢,也就是說100個人訂閱了你的博客,如果博主發表了文章,那么100個人就會同時收到通知郵件,訂閱/發布模式就是這樣的原理。
如果還不理解的話再通俗講一下,就像生活中聽收音機,要想聽收音機,肯定就是調頻啦,只有在正確的頻道上面,我們才能聽得到好聽的節目,所以說訂閱首先要訂閱一個頻道/主題,只有訂閱了該主題,我們才能收到發往該頻道/主題的消息。
在本例程中,c51借助ESP8266訂閱主題,app訂閱或者小程序發布消息,c51會實時收到消息,就可以實時控制c51了。
第三、下載程序到c51下載程序的時候需要先斷開c51和esp8266的連接。
c51示例程序下載 cloud.bemfa點com/zip/c51_bemfa_cloud_led.zip
程序說明,波特率9600,晶振11.0592
由于ESP8266-01默認波特率是115200,需要先手動調節esp8266-01的波特率。
調整方法:ESP8266-01連接到usb轉ttl
五根線
esp8266---------UsbTTL
tx----------rx
rx----------tx
vcc-------3.3v
gnd--------gnd
en----------3.3v
打開串口調試助手,找到esp8266的com口并打開,發送
AT+UART=9600,8,1,0,0
末尾應該加上回車換行,串口會回復ok
01.png (60.63 KB, 下載次數: 44)
下載附件
2020-7-13 10:54 上傳
串口調試助手下載工具:www點lanzous點com/iax97ih 密碼:1234
如果上步設置波特率沒反應,則是你的esp8266固件不支持更改波特率,可以刷esp8266官方固件,教程:m.zg4o1577.cn/bbs/dpj-183787-1.html
用keil 打開程序,需要修改WIFI等信息
- //需要修改的部分
- #define Ssid "newhtc" //WIFI名稱,,修改為自己路由器的WIFI名稱,好像不支持中文
- #define PassWord "qq123456" //WIFI密碼,修改為自己路由器的
- #define Uid "4d9ec352e0376f2110a0c601a2857225" //巴法云UID密鑰,控制臺獲取
- #define TopicLed "light002" //巴法云控制臺創建,名稱自定義,app訂閱主題要和這個推送主題一致
復制代碼
在巴法創客云控制臺 新建一個主題,主題名字隨意,例如light002,本實例用用light002,使用示例代碼時應修改為自己的主題名字,字母或數字或字母加數字組合。UID為用戶私鑰,在 巴法創客云控制臺 注冊登陸后可獲得。
登陸完成后,可在控制臺看到自己的私鑰UID,如圖所示:
uid.png (12.86 KB, 下載次數: 41)
下載附件
2020-7-13 10:57 上傳
創建主題,在控制臺,可創建主題。
- 第一輸入主題,字母或數字或字母+數字組合。
- 點擊創建主題。
new.png (10.06 KB, 下載次數: 44)
下載附件
2020-7-13 10:57 上傳
WIFI名稱為自己的路由器WIFI名稱,區分大小寫,寫錯會導致連接不上網絡的。
重要代碼講解:
- //實際收到到指令:cmd=2&uid=4d9ec352e0376f2110a0c601a2857225&topic=light002&msg=on
- //字符串匹配,當檢測到字符串msg=on時,執行開燈
- //如果有多個主題,可以加上主題名字以區分不同設備控制命令,如: if(strstr(Recive_table,"light002&msg=on"))
- if(strstr(Recive_table,"&msg=on")){
- P1=0xfe; //打開燈,P10引腳置高電平
- }else if(strstr(Recive_table,"&msg=off")){ ////當檢測到字符串msg=off時,執行關燈
- P1=0xff; //關閉燈,P10引腳置低電平
- }else if(strstr(Recive_table,"ERROR")){ //如果掉線或網絡故障,重新連接
- ...
復制代碼
對收到的消息,進行字符串匹配,收到帶on的消息,把P10引腳置高,收到帶off的消息,把P10口置低電平。
具體接口可參考:巴法云官方文檔
下載工具STC-ISP:下載:www點lanzous點com/iaxa4fc 密碼:1234
STC89c51/52和ESP8266接線問題
c51 ----------8266
P30----------TX
P31----------RX
3.3v-----------3.3v
Gnd---------Gnd
3.3v-----------EN
試了8266直接接5v也工作,不過不建議使用
如果路由器有網絡的話,esp8266會自動連接服務器,可在巴法創客云控制臺 刷新網頁,查看訂閱設備是否在線。如果在線的話,可以在控制臺推送on或許off消息,可以在串口調試助手查看單片機是否收到指令。波特率9600。
如果控制臺沒有顯示訂閱設備在線,連接好esp8266和c51,然后斷電重啟重試即可。
第四 app inventor 開發
原理:同樣通過TCP 長連接,連接到服務器,當按下按鈕,就向服務器該主題推送個消息,ESP8266就可以收到該消息了。
簡介:Google App Inventor是一個完全在線開發的Android編程環境,拋棄復雜的程式代碼而使用積木式的堆疊法來完成您的Android程式。 而且這款編程軟件不一定非要是專業的研發人員,甚至根本不需要掌握任何的程序編制知識。因為這款軟件已經事先將軟件的代碼全部編寫完畢,用戶只需要根據自己的需求向其中添加服務選項即可。也就是我們所要做的只是寫簡單的代碼拼裝程序。
在appInventor 點擊跳轉國內站創建賬號,并登陸。
本操作只提供一個app的demo,界面過于丑陋,大家可自由發揮更改界面。
demo 下載,去掉“點”, http:/cloud.bemfa點com/docs/aia/smarthome.aia
頂部導航欄,依次點擊(項目-->導入項目aia),選擇上一步驟下載的aia文件導入即可。點擊導入的項目,即可看到控制面板,面板主要分為在組建設計和邏輯設計,用戶可在右上角進行模式切換。
(組建設計)面板可以向屏幕添加組建以進行二次開發。(邏輯面板)則進行相關邏輯編寫。

導入aia文件后,如果只是簡單使用,只需要修改兩個地方,一個是主題名字,一個是UID,均需開發者置換成自己的topic(主題名字)和UID(用戶私鑰),均可在創客云控制臺獲取點擊跳轉。此處的主題topic應該和ESP8266程序里面設定的主題修改為一樣,不然會收不到消息。UID修改為自己的私鑰。
控制邏輯
當按鈕'打開'被點擊,發送on,ESP8266即可收到on消息
具體發送的消息,開發者可自定義,例程中只是發送簡單的字符串,開發者也可發送json之類的,
不過在ESP8266端要對json消息體進行解析。更多指令格式說明:接入文檔
如果想控制家里的燈具,加個繼電器即可,通過引腳輸出高低電平控制繼電器的開和關,從而達到控制220v交流電的效果。繼電器需要用3.3V繼電器。
第五、小程序開發教程:m.zg4o1577.cn/bbs/dpj-191644-1.html,小程序同樣可以同時控制,通過巴法云api接口,詳細協議見接入文檔。
第六 可能遇到的一些小問題選擇PDATA 或者large XDATA。


作者: 拿舍我 時間: 2022-5-17 10:30
你好,請問51單片機,WiFi模塊,LED燈怎么連接?
作者: liushiming82 時間: 2022-5-21 11:56
這個app inventor軟件在哪兒下載呀,怎么應用
作者: gfrfd 時間: 2022-5-31 10:40
stm32可以嗎 要改動的代碼多嗎
歡迎光臨 (http://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
午夜色婷婷
|
亚洲精品久久久久久久久久久
|
黄色片视频在线观看
|
夜夜操天天
|
亚洲区视频
|
亚洲色综合
|
日韩黄网
|
色视频www在线播放国产人成
|
久草精品视频在线看网站免费
|
国产精品一区二区三区在线
|
免费成人结看片
|
日韩精品免费看
|
一区二区小视频
|
亚洲综合一区二区三区
|
欧美黄色片视频
|
亚洲砖区区免费
|
自拍偷拍欧美
|
欧美一区二区三区成人
|
黄色av免费观看
|
日韩成人综合
|
亚洲精品视频免费在线观看
|
91网站免费看
|
欧美在线视频免费观看
|
不卡在线视频
|
亚洲在线免费观看
|
av免费观看网站
|
亚洲成人免费在线
|
一本色道久久加勒比精品
|
成人午夜网站
|
日韩黄网
|
国产精品美女久久久
|
免费av不卡|
国产成人网
|
久久99深爱久久99精品
|
午夜在线观看视频网站
|
成人精品三级av在线看
|
亚洲欧美中文字幕
|
欧美在线视频播放
|
神马午夜影院
|
欧美三级三级三级爽爽爽
|
亚洲欧美精品一区二区
|