久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7174|回復(fù): 3
收起左側(cè)

(開源)安卓手機(jī)APP控制51單片機(jī)LED, 通過WIFI

[復(fù)制鏈接]
回帖獎(jiǎng)勵(lì) 2 黑幣 回復(fù)本帖可獲得 2 黑幣獎(jiǎng)勵(lì)! 每人限 1 次
ID:601884 發(fā)表于 2020-7-13 10:51 | 顯示全部樓層 |閱讀模式
第一 、先上效果圖
app - 副本.png


c51.jpg



第二、原理講解
原理簡述:利用發(fā)布訂閱模式。第一步,新建主題,第二步,stc89c51通過esp8266訂閱這個(gè)主題。第三步、通過app往這個(gè)主題發(fā)消息。由于單片機(jī)訂閱了這個(gè)主題,所以可以實(shí)時(shí)收到發(fā)往這個(gè)主題的消息。從而達(dá)到通過app或者小程序控制c51單片機(jī)的目的。
關(guān)于發(fā)布訂閱:
訂閱(訂閱):訂閱給定的一個(gè)主題。
發(fā)布(發(fā)布)將信息發(fā)送到指定的主題。
只有訂閱該主題的設(shè)備才可以收到發(fā)往該主題的消息。
通俗的來講:就是像博客訂閱的場景,什么意思呢,也就是說100個(gè)人訂閱了你的博客,如果博主發(fā)表了文章,那么100個(gè)人就會(huì)同時(shí)收到通知郵件,訂閱/發(fā)布模式就是這樣的原理。
如果還不理解的話再通俗講一下,就像生活中聽收音機(jī),要想聽收音機(jī),肯定就是調(diào)頻啦,只有在正確的頻道上面,我們才能聽得到好聽的節(jié)目,所以說訂閱首先要訂閱一個(gè)頻道/主題,只有訂閱了該主題,我們才能收到發(fā)往該頻道/主題的消息。
在本例程中,c51借助ESP8266訂閱主題,app訂閱或者小程序發(fā)布消息,c51會(huì)實(shí)時(shí)收到消息,就可以實(shí)時(shí)控制c51了。
第三、下載程序到c51
下載程序的時(shí)候需要先斷開c51和esp8266的連接。
c51示例程序下載  cloud.bemfa點(diǎn)com/zip/c51_bemfa_cloud_led.zip
程序說明,波特率9600,晶振11.0592
由于ESP8266-01默認(rèn)波特率是115200,需要先手動(dòng)調(diào)節(jié)esp8266-01的波特率。
調(diào)整方法:ESP8266-01連接到usb轉(zhuǎn)ttl
五根線
esp8266---------UsbTTL
tx----------rx
rx----------tx
vcc-------3.3v
gnd--------gnd
en----------3.3v
打開串口調(diào)試助手,找到esp8266的com口并打開,發(fā)送
AT+UART=9600,8,1,0,0
  1. AT+UART=9600,8,1,0,0
復(fù)制代碼

末尾應(yīng)該加上回車換行,串口會(huì)回復(fù)ok


01.png



串口調(diào)試助手下載工具:www點(diǎn)lanzous點(diǎn)com/iax97ih 密碼:1234
如果上步設(shè)置波特率沒反應(yīng),則是你的esp8266固件不支持更改波特率,可以刷esp8266官方固件,教程:www.zg4o1577.cn/bbs/dpj-183787-1.html
用keil 打開程序,需要修改WIFI等信息

  1. //需要修改的部分
  2. #define Ssid  "newhtc"                //WIFI名稱,,修改為自己路由器的WIFI名稱,好像不支持中文
  3. #define PassWord  "qq123456"              //WIFI密碼,修改為自己路由器的
  4. #define Uid  "4d9ec352e0376f2110a0c601a2857225" //巴法云UID密鑰,控制臺獲取
  5. #define TopicLed  "light002" //巴法云控制臺創(chuàng)建,名稱自定義,app訂閱主題要和這個(gè)推送主題一致
復(fù)制代碼

巴法創(chuàng)客云控制臺 新建一個(gè)主題,主題名字隨意,例如light002,本實(shí)例用用light002,使用示例代碼時(shí)應(yīng)修改為自己的主題名字,字母或數(shù)字或字母加數(shù)字組合。UID為用戶私鑰,在 巴法創(chuàng)客云控制臺 注冊登陸后可獲得。
登陸完成后,可在控制臺看到自己的私鑰UID,如圖所示:


uid.png


創(chuàng)建主題,在控制臺,可創(chuàng)建主題。
  • 第一輸入主題,字母或數(shù)字或字母+數(shù)字組合。
  • 點(diǎn)擊創(chuàng)建主題。
new.png




WIFI名稱為自己的路由器WIFI名稱,區(qū)分大小寫,寫錯(cuò)會(huì)導(dǎo)致連接不上網(wǎng)絡(luò)的。
重要代碼講解:
  1. //實(shí)際收到到指令:cmd=2&uid=4d9ec352e0376f2110a0c601a2857225&topic=light002&msg=on
  2. //字符串匹配,當(dāng)檢測到字符串msg=on時(shí),執(zhí)行開燈
  3. //如果有多個(gè)主題,可以加上主題名字以區(qū)分不同設(shè)備控制命令,如: if(strstr(Recive_table,"light002&msg=on"))
  4. if(strstr(Recive_table,"&msg=on")){
  5.         P1=0xfe;   //打開燈,P10引腳置高電平
  6. }else if(strstr(Recive_table,"&msg=off")){ ////當(dāng)檢測到字符串msg=off時(shí),執(zhí)行關(guān)燈
  7.         P1=0xff;        //關(guān)閉燈,P10引腳置低電平
  8. }else if(strstr(Recive_table,"ERROR")){ //如果掉線或網(wǎng)絡(luò)故障,重新連接
  9. ...
復(fù)制代碼

對收到的消息,進(jìn)行字符串匹配,收到帶on的消息,把P10引腳置高,收到帶off的消息,把P10口置低電平。
具體接口可參考:巴法云官方文檔
下載工具STC-ISP:下載:www點(diǎn)lanzous點(diǎn)com/iaxa4fc 密碼:1234
STC89c51/52和ESP8266接線問題
c51 ----------8266
P30----------TX
P31----------RX
3.3v-----------3.3v
Gnd---------Gnd
3.3v-----------EN
試了8266直接接5v也工作,不過不建議使用
如果路由器有網(wǎng)絡(luò)的話,esp8266會(huì)自動(dòng)連接服務(wù)器,可在巴法創(chuàng)客云控制臺 刷新網(wǎng)頁,查看訂閱設(shè)備是否在線。如果在線的話,可以在控制臺推送on或許off消息,可以在串口調(diào)試助手查看單片機(jī)是否收到指令。波特率9600。
如果控制臺沒有顯示訂閱設(shè)備在線,連接好esp8266和c51,然后斷電重啟重試即可。

第四 app inventor 開發(fā)


原理:同樣通過TCP 長連接,連接到服務(wù)器,當(dāng)按下按鈕,就向服務(wù)器該主題推送個(gè)消息,ESP8266就可以收到該消息了。
簡介:Google App Inventor是一個(gè)完全在線開發(fā)的Android編程環(huán)境,拋棄復(fù)雜的程式代碼而使用積木式的堆疊法來完成您的Android程式。 而且這款編程軟件不一定非要是專業(yè)的研發(fā)人員,甚至根本不需要掌握任何的程序編制知識。因?yàn)檫@款軟件已經(jīng)事先將軟件的代碼全部編寫完畢,用戶只需要根據(jù)自己的需求向其中添加服務(wù)選項(xiàng)即可。也就是我們所要做的只是寫簡單的代碼拼裝程序。
在appInventor 點(diǎn)擊跳轉(zhuǎn)國內(nèi)站創(chuàng)建賬號,并登陸。
本操作只提供一個(gè)app的demo,界面過于丑陋,大家可自由發(fā)揮更改界面。
demo 下載,去掉“點(diǎn)”, http:/cloud.bemfa點(diǎn)com/docs/aia/smarthome.aia
頂部導(dǎo)航欄,依次點(diǎn)擊(項(xiàng)目-->導(dǎo)入項(xiàng)目aia),選擇上一步驟下載的aia文件導(dǎo)入即可。點(diǎn)擊導(dǎo)入的項(xiàng)目,即可看到控制面板,面板主要分為在組建設(shè)計(jì)和邏輯設(shè)計(jì),用戶可在右上角進(jìn)行模式切換。
(組建設(shè)計(jì))面板可以向屏幕添加組建以進(jìn)行二次開發(fā)。(邏輯面板)則進(jìn)行相關(guān)邏輯編寫。

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




回復(fù)

使用道具 舉報(bào)

ID:1027232 發(fā)表于 2022-5-17 10:30 | 顯示全部樓層
你好,請問51單片機(jī),WiFi模塊,LED燈怎么連接?
回復(fù)

使用道具 舉報(bào)

ID:3666 發(fā)表于 2022-5-21 11:56 | 顯示全部樓層
這個(gè)app inventor軟件在哪兒下載呀,怎么應(yīng)用
回復(fù)

使用道具 舉報(bào)

ID:985053 發(fā)表于 2022-5-31 10:40 | 顯示全部樓層
stm32可以嗎 要改動(dòng)的代碼多嗎
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 男女精品网站 | 国产在线二区 | 成人久久久久 | 成人免费在线小视频 | 国产欧美一区二区三区久久人妖 | 精品国产伦一区二区三区观看体验 | 国产成人99久久亚洲综合精品 | 超碰人人91| 久久久精品 | 午夜理伦三级理论三级在线观看 | 久久99久久99| 欧美亚洲一区二区三区 | 国产色婷婷精品综合在线手机播放 | 在线午夜 | 日日夜夜天天综合 | 亚洲免费在线 | 久久久久久久久一区 | 99re国产视频 | 精品国产伦一区二区三区观看说明 | 午夜影院在线观看 | 中文字幕二区 | 午夜噜噜噜 | 国产玖玖 | 国产精品成人一区二区三区 | 欧美日韩精品中文字幕 | 国产精品国产a | 国产福利91精品一区二区三区 | 成人欧美一区二区三区黑人孕妇 | 麻豆国产一区二区三区四区 | 成人午夜视频在线观看 | 一级黄色片日本 | 亚洲国产精品日韩av不卡在线 | 三级av在线 | 91精品久久久久久久久中文字幕 | 成人免费看片 | 午夜电影福利 | 亚洲国产成人精品女人久久久 | 特级做a爱片免费69 精品国产鲁一鲁一区二区张丽 | 亚洲精品一区在线 | 成人三区四区 | 青青草原综合久久大伊人精品 |