STC89c51利用esp8266發微信消息,POST例程

材料準備

  • STC89c51/52 一塊
  • ESP8266-01一塊
  • 手機一塊

第一 下載STC89c51示例程序(keil 編程開發)

程序下載地址: 點擊下載

程序說明,波特率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

打開串口調試助手,設置波特率115200,找到esp8266的com口並打開,發送

AT+UART=9600,8,1,0,0

末尾應該加上回車換行,串口會回覆ok

如果不回覆ok,可能固件不支持修改波特率,需要刷官方AT固件,可見我發的另一篇 刷官方固件
在這裏插入圖片描述
串口調試助手下載工具:https://www.lanzous.com/iax97ih 密碼:1234

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

#define Ssid  "newhtc"			//WIFI名稱,,修改爲自己路由器的WIFI名稱,好像不支持中文
#define PassWord  "qq123456"              //WIFI密碼,修改爲自己路由器的
#define Uid  "4d9ec352e0376f2110a0c601a2857225" //巴法雲UID密鑰,控制檯獲取
#define Device  "ewew00232"          //設備名稱,自己隨意命名,字符串形式

用戶私鑰可以巴法雲控制檯點擊跳轉獲取,微信掃碼登陸後,即可在巴法創客雲控制檯點擊跳轉獲取。

郵箱註冊的用戶,需要在控制檯點擊“綁定微信”,進行綁定,不然沒法推送消息。

在這裏插入圖片描述

登陸完成後,可在控制檯看到自己的私鑰UID,如圖所示:

在這裏插入圖片描述

第二 關鍵程序講解

	int dataLen;
	uchar postData[150];
    char strLen[3];
	char Msg[] = "消息";             //消息體,自定義即可,字符串格式
	char Msg2[] = "消息2,備註消息";		//附加消息,自定義即可,字符串格式
	 
	sprintf(postData,"uid=%s&type=1&time=0&device=%s&msg=%s&msg2=%s\r\n",Uid,Device,Msg,Msg2); //通過&符號整合需要post的數據
	dataLen = strlen(postData);             //計算數據長度
    sprintf(strLen,"%d",dataLen); 					//int類型轉char

    ESP8266_Set("AT+CIPMODE=1"); //開啓透明傳輸模式
    ms_delay(1000);
    ESP8266_Set("AT+CIPSTART=\"TCP\",\"api.bemfa.com\",80");  // 連接服務器和端口
    ms_delay(1000);
    ESP8266_Set("AT+CIPSEND"); //進入透傳模式,下面發的都會無條件傳輸
	ms_delay(1000);
	ESP8266_Set_Only("POST /api/wechat/v1/ HTTP/1.1\r\nHost: ai.bemfa.com\r\nContent-Type: application/x-www-form-urlencoded\r\nConnection:close\r\nContent-Length:");//ţքdeviceۅ ţքsensorۅ
	ESP8266_Set(strLen);//數據長度(postData數據長度),一定要準確
	ESP8266_Set("");//回車(發完數據長度後,有回車,不懂的百度http post 格式)
	ESP8266_Set(postData);//發送數據	
	ms_delay(2000);
	ESP8266_Set("+++"); //
	memset(strLen,'\0',3);  //重置數組
	memset(strLen,'\0',sizeof postData);//重置數組

利用HTTP POST形式,往微信端api進行消息推送,具體接口可參考:巴法雲官方文檔

第三 下載程序到STC89c51即可

下載工具STC-ISP:下載:https://www.lanzous.com/iaxa4fc 密碼:1234

STC89和ESP8266接線問題
c51 ----------8266
P30----------TX
P31----------RX
3.3v-----------3.3v
Gnd---------Gnd
3.3v-----------EN
試了8266直接接5v也工作,不過不建議使用。

第四 效果展示

在這裏插入圖片描述

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

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章