日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(开源)微信小程序实时控制stc89c51,通过esp8266

發(fā)布時間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (开源)微信小程序实时控制stc89c51,通过esp8266 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

微信小程序?qū)崟r控制stc89c51

  • 第一 、先上效果圖
  • 第二、原理講解
  • 第三、下載程序到c51
  • 第四 微信小程序開發(fā)
  • 第五 可能遇到的一些小問題

第一 、先上效果圖

第二、原理講解

原理簡述:利用發(fā)布訂閱模式。第一步,新建主題,第二步,stc89c51通過esp8266訂閱這個主題。第三步、通過app往這個主題發(fā)消息。由于單片機訂閱了這個主題,所以可以實時收到發(fā)往這個主題的消息。從而達到通過微信小程序控制c51單片機的目的。

關(guān)于發(fā)布訂閱:

訂閱(訂閱):訂閱給定的一個主題。
發(fā)布(發(fā)布)將信息發(fā)送到指定的主題。

只有訂閱該主題的設(shè)備才可以收到發(fā)往該主題的消息。

通俗的來講:就是像博客訂閱的場景,什么意思呢,也就是說100個人訂閱了你的博客,如果博主發(fā)表了文章,那么100個人就會同時收到通知郵件,訂閱/發(fā)布模式就是這樣的原理。

如果還不理解的話再通俗講一下,就像生活中聽收音機,要想聽收音機,肯定就是調(diào)頻啦,只有在正確的頻道上面,我們才能聽得到好聽的節(jié)目,所以說訂閱首先要訂閱一個頻道/主題,只有訂閱了該主題,我們才能收到發(fā)往該頻道/主題的消息。

在本例程中,c51借助ESP8266訂閱主題,小程序發(fā)布消息,c51會實時收到消息,就可以實時控制c51了。

第三、下載程序到c51

下載程序的時候需要先斷開c51和esp8266的連接。

c51示例程序下載:點擊下載

程序說明,波特率9600,晶振11.0592

由于ESP8266-01默認(rèn)波特率是115200,需要先手動調(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

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

串口調(diào)試助手下載工具: 點擊下載

如果上步設(shè)置波特率沒反應(yīng),則是你的esp8266固件不支持更改波特率,可以刷esp8266官方固件,教程:鏈接

用keil 打開程序,需要修改WIFI等信息

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

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

創(chuàng)建主題,在控制臺,可創(chuàng)建主題。

  • 第一輸入主題,字母或數(shù)字或字母+數(shù)字組合。
  • 點擊創(chuàng)建主題。

WIFI名稱為自己的路由器WIFI名稱,區(qū)分大小寫,寫錯會導(dǎo)致連接不上網(wǎng)絡(luò)的。

重要代碼講解:

//實際收到到指令:cmd=2&uid=4d9ec352e0376f2110a0c601a2857225&topic=light002&msg=on //字符串匹配,當(dāng)檢測到字符串msg=on時,執(zhí)行開燈 //如果有多個主題,可以加上主題名字以區(qū)分不同設(shè)備控制命令,如: if(strstr(Recive_table,"light002&msg=on")) if(strstr(Recive_table,"&msg=on")){ P1=0xfe; //打開燈,P10引腳置高電平 }else if(strstr(Recive_table,"&msg=off")){ 當(dāng)檢測到字符串msg=off時,執(zhí)行關(guān)燈P1=0xff; //關(guān)閉燈,P10引腳置低電平 }else if(strstr(Recive_table,"ERROR")){ //如果掉線或網(wǎng)絡(luò)故障,重新連接 ...

對收到的消息,進行字符串匹配,收到帶on的消息,把P10引腳置高,收到帶off的消息,把P10口置低電平。

具體接口可參考:巴法云官方文檔

下載工具STC-ISP:下載:https://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也工作,不過不建議使用

調(diào)試:

如果路由器有網(wǎng)絡(luò)的話,esp8266會自動連接服務(wù)器,可在巴法創(chuàng)客云控制臺 刷新網(wǎng)頁,查看訂閱設(shè)備是否在線。如果在線的話,可以在控制臺推送on或許off消息,可以在串口調(diào)試助手查看單片機是否收到指令。波特率9600。

如果控制臺沒有顯示訂閱設(shè)備在線,連接好esp8266和c51,然后斷電重啟重試即可。

第四 微信小程序開發(fā)

在 微信公眾平臺注冊小程序賬號,拿到小程序 appid,長的大概是這樣:wx34a2063de5cec04b。

右側(cè)點擊 -開發(fā)–》開發(fā)設(shè)置–》下方服務(wù)器域名處,點擊修改,在request合法域名處,添加域名https://api.bemfa.com/ 保存提交即可。如下圖。

下載安裝微信開發(fā)者工具。
下載demo示例程序。下載地址: 點擊下載

打開微信開發(fā)者工具,小程序項目,導(dǎo)入項目。在目錄處選擇剛剛下載解壓的demo示例程序,AppID處填入你的小程序AppID,然后點擊下方導(dǎo)入即可。如下圖。

本示例程序非常簡單,各位大神可以繼續(xù)開發(fā)添加各種功能,添加背景,優(yōu)化色彩等等,如果只是簡單使用,只需修改/pages/index/index.js 文件中uid 和topic 信息為自己的即可,這里的uid和topic需要和esp8266填入的uid和topic相同,如下圖。

修改完畢后,ctrl+s 保存修改。可以點擊左邊屏幕上的按鈕進行調(diào)試,如下圖。


console控制臺可以查看小程序的調(diào)試信息。默認(rèn)每5秒會自動請求一下服務(wù)器,查看esp8266的狀態(tài)信息。點擊打開或者關(guān)閉按鈕,打開esp8266串口調(diào)試助手,可查看esp8266是否收到指令,如果第一步esp8266已聯(lián)網(wǎng),都是可以收到信息的。

如果界面和其他功能都開發(fā)完畢。可以點擊微信開發(fā)者工具的上面的上傳按鈕,如下圖。

上傳成功后,再登陸剛剛注冊的微信公眾平臺,在版本管理處,可以看到自己剛剛上傳的小程序,提交審核即可,等一天左右,一般都會通過,通過后登陸微信公眾平臺,提交發(fā)布即可。如果是自己使用的,做好加上登陸驗證功能,比如驗證匹配一下某個字符串是否正確等等,不然小程序上線后別人也可以隨意控制了。

第五 可能遇到的一些小問題

選擇PDATA 或者large XDATA。

總結(jié)

以上是生活随笔為你收集整理的(开源)微信小程序实时控制stc89c51,通过esp8266的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。