×
单片机 > 单片机程序设计 > 详情

stc89c51+ esp8266-01发微信消息,POST例程

发布时间:2021-11-13 发布时间:
|

材料准备
STC89c51/52 一块
ESP8266-01一块
手机一块
第一 下载STC89c51示例程序(keil 编程开发)
程序下载地址: cloud.bemfa点com/zip/stc89c51_wechat.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

打开串口调试助手,设置波特率115200,找到esp8266的com口并打开,发送

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


复制代码


末尾应该加上回车换行,串口会回复ok

如果不回复ok,可能固件不支持修改波特率,需要刷官方AT固件,可见我发的另一篇刷官方固件


串口调试助手下载工具:www点lanzous点com/iax97ih 密码:1234

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


  1. #define Ssid"newhtc" //WIFI名称,,修改为自己路由器的WIFI名称,好像不支持中文

  2. #define PassWord"qq123456" //WIFI密码,修改为自己路由器的

  3. #define Uid"4d9ec352e0376f2110a0c601a2857225" //巴法云UID密钥,控制台获取

  4. #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=%srn",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.1rnHost: ai.bemfa点comrnContent-Type: application/x-www-form-urlencodedrnConnection:closernContent-Length:");//ţքdeviceۅ ţքsensorۅ

ESP8266_Set(strLen);//数据长度(postData数据长度),一定要准确

ESP8266_Set("");//回车(发完数据长度后,有回车,不懂的百度http post 格式)

ESP8266_Set(postData);//发送数据

ms_delay(2000);

ESP8266_Set("+++"); //

memset(strLen,'


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
如何升级STM32单片机的代码