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

2020-10-16来源: 51hei关键字:stc89c51  esp8266-01  发微信消息  POST例程

材料准备
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,'',3);  //重置数组

        memset(strLen,'',sizeof postData);//重置数组

利用HTTP POST形式,往微信端api进行消息推送,具体接口可参考:巴法云官方文档
第三 下载程序到STC89c51即可

下载工具STC-ISP:下载:www点lanzous点com/iaxa4fc 密码:1234

STC89和ESP8266接线问题
c51 ----------8266
P30----------TX
P31----------RX
3.3v-----------3.3v
Gnd---------Gnd
3.3v-----------EN
试了8266直接接5v也工作,不过不建议使用

第四 效果展示

第五 可能遇到的一些小问题




关键字:stc89c51  esp8266-01  发微信消息  POST例程 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic513356.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:mcu-stc12c5404ad单片机直流无刷电机驱动程序
下一篇:51单片机三路抢答器

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

stc89c51单片机定时浇水,使用了adc0832+土壤湿度传感
设定值 小灯亮 反之不亮显示内容hun :数值%       H:数值mode:模式        L:数值*/#include<reg51.h>#include"lcd.h"#include"adc0832.h"unsigned char shidu;                                   
发表于 2020-09-22
<font color='red'>stc89c51</font>单片机定时浇水,使用了adc0832+土壤湿度传感
stc89C51单片机将mpu6050一些参数用1602显示
++);        }                                                }//**************************************//延时5微秒(STC90C52RC@12M) //TX-1C Tcy=1us//不同的工作环境,需要调整此函数//当改用1T的MCU时,请调整此延时
发表于 2020-09-11
51基础篇) - 021 STC89C51系列单片机 内部EEPROM 驱动
;   0x02           //if SYSCLK<10MHz 28 #define Clock_0M_5M     0x03           //if SYSCLK<5MHz 29  30 //EEPROM的起始地址 31 #define EEPROM_BASE_ADDRESS    0x0000 32 //STC89C51系列 33 #define
发表于 2020-01-07
(<font color='red'>51</font>基础篇) - 021 <font color='red'>STC89C51</font>系列单片机 内部EEPROM 驱动
STC89C51单片机和ADXL345三轴加速度模块实现简易计步器程序
单片机源程序如下:#include "STC51PRJ.h"extern BYTE BUF[8];//接收数据缓存区/*****************起始信号***************/void ADXL345_Start(){        SDA = 1;                    //拉高数据线        SCL = 1;           
发表于 2019-12-10
基于单片机的自动打铃系统的设计
电铃打铃。设定51 单片机工作在定时器0工作方式1 ,每100ms产生一次中断,利用软件将基准100ms 单元进行累加,当定时器产生10 次中断就产生lS 信号,这是秒单元加1 。同理,对分单元和时单元计数从而产生秒,分,时的值。由于动态显示法需要数据所存等硬件,接口较复杂,考虑显示的位数和系统没有其他浮躁的处理程序,所以采用LCD1602进行显示。本系统采用四个按键,当时钟时间和设置时间一致时,CPU控制蜂鸣器进行打铃。系统设计的实物图如图2-2所示。图2-1总硬件电路原理图图2-2总硬件电路实物图2.2 单片机最小系统单片机的最小系统是指单片机工作时所需的最少元件,即:单片机、晶振电路、复位电路。本设计主要采用的STC89C51
发表于 2019-11-30
基于单片机的自动打铃系统的设计
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved