专栏首页巴法教程:STC89c52利用esp8266给微信发消息,消息提醒等
原创

教程:STC89c52利用esp8266给微信发消息,消息提醒等

材料准备

  • 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也工作,不过不建议使用。

第四 效果展示

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 关于校园网账号爆破的讲解

    如果感觉安装python麻烦的话可以安装anaconda,用jupyter notebook调试挺方便,具体安装使用可以百度。

    巴法
  • 漫画 | 一分钟告诉你,5G凭什么如此逆天?

    办事快。根据一项互联网报告,把世界上最快的4G网速(挪威,平均63 Mb/s)和最快的宽带网速(新加坡,平均189 Mb/s)加到一块儿,也没有5G的网速高(理...

    巴法
  • App inventor 编写安卓app控制 ESP8266

    原理简述:利用发布订阅模式,即:ESP8266 订阅了一个主题,再利用app inventor 编写的app 往这个主题发布消息,由于ESP8266 订阅了这个...

    巴法
  • SAS进阶《深入解析SAS》之开发多语言支持的SAS程序

    SAS进阶《深入解析SAS》之开发多语言支持的SAS程序 1. 多语言支持的应用程序是指该程序在世界给第使用时,其能够处理的数据,以及处理数据的方式、信息展现的...

    王小雷
  • 【NDN基础】

    Information-Centric Networking: A Natural Design for Social Network Applications

    魏晓蕾
  • Linux内核同步机制之(五):Read Write spin lock

    在有了强大的spin lock之后,为何还会有rw spin lock呢?无他,仅仅是为了增加内核的并发,从而增加性能而已。spin lock严格的限制只有一个...

    233333
  • Android开发笔记(一百五十九)Android7.0的分屏模式

    现在的手机屏幕越来越大,使得在屏幕上同时开多个窗口不再奢侈,因此Android从7.0开始顺势推出了分屏功能,也被称作多窗口模...

    用户4464237
  • 米斯特白帽培训讲义 漏洞篇 提权

    提权,顾名思义就是提高自己在服务器中的权限,就比如在 Windows 中你本身登录的用户是 guest,通过提权后就变成超级管理员,拥有了管理 Windows ...

    ApacheCN_飞龙
  • R语言进阶笔记1 | 深挖一门语言的必要性

    作为专业人员,要不断的学习新事物,多多读书思考,克服浮躁情绪,才可以让自己的内心清澈如池水。不断的注入活水(新知识),才能滋润心灵焕发神采,才能达到比较高的境界...

    邓飞
  • SAP NOTE安装过程

    登录sap系统,事务代码scc4.选中client点击左上角的change图标,如下图:

    用户5495712

扫码关注云+社区

领取腾讯云代金券