ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

使用ESP8266nodeMCU 向微信推送模板数据

2022-08-31 00:03:23  阅读:214  来源: 互联网

标签:ESP8266nodeMCU 微信 json 消息 推送 ID 模板


使用HTTPS协议向微信公众号推送消息,(使用ESP8266的低成本实现)

前几天被朋友问到这个东西的实现方式,花了一下午时间研究一下,特此记录。没有排版比较乱。

 

 

 

 

 

 

一丶前往微信公众平台注册微信微信公众号,一个邮箱只能注册一种类型的公众号,这里使用订阅号。如果想让推送的消息显示在微信消息列表的话则需要注册为服务号(需要费用)。

 

 

 注册成功后长这样,途中可能会有其他提示,正常填写资料就可以了

 

 

 

这个号并不是我们需要的,因为没有进行微信认证,微信认证比较麻烦,而且需要一定的费用,我们需要再申请一个测试号

点击开发者工具

 

 

 

公众平台测试账号

 

 

 

 

成功后会得到下面的两个信息,这两个信息是用来https GET访问令牌需要的。访问令牌是调用API的关键信息

 

 

 

 

回到上一个界面进入开发者文档

 

 

 

 

 

找到获取访问令牌的URL(需要传入两个参数,就是上面提到的那两个)

 

 

 找到以下的关键信息,复制下来(只需要这两个接口就能实现微信推送消息)

 

 

 

 

 

 

上面的post接口中需要传入请求体,格式必须是json格式(不了解json数据的可以先去百度一下,方便后续操作)

touser 表示用户ID

template_id 表示模板ID

url 表示推送的消息中附加的网址链接

miniprogram 代表附加的小程序链接

client_msg_id 消息ID

data 对应的是消息模板的关键键

 

接下来定义一个消息模板

点击新增测试模板

 

 

 

 

 

 

模板标题代表推送给用户消息的标题

所有的模板数据以  {{  开头,以.DATA}} 结尾

添加三条模板数据就如上所示,one tow three 分表代表json数据的三个键盘,推送数据时也要通过对应的键。

里面的文字会原始的显示在推送通知当中。添加完毕后会有一个模板ID,模板ID对应上面的 template_id 

接下来使用API tester 模拟一次推送过程

首先是获取访问令牌

GET 地址https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 参数需要自行更改为自己的

 

 

 

 

 请求成功后会返回一条json数据 包含两个信息 :token和 有效时间  7200秒也就是两个小时,用来调试完全够用

先把token复制下来保存

找到推送模板消息的URL https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN

我讲模板消息定义为一下内容,传入自己的用户ID和模板ID,用户ID就是公众号粉丝列表中的加密后的微信号

 

 

 开始推送

 

 

 对应用户于公众号的消息界面会接到一下通知,这就说明推送成功了

 

 

 原理已经搞明白了,接下来就是使用不同的语言实现了,我这里使用的是MicroPython,之前考虑过使用Arudino的方式去做,但是Arduino

只有http的库,https不太好用

IDE使用的是Thonny, 8266MicroPython固件版本使用V1.19.1

代码和工具都放在gitee仓库中 仓库地址:https://gitee.com/zhangzongxiang/wechat-test-project.git

使用Thonny将固件烧录到8266后,将代码复制到系统中

 

 

 

 

 boot 就是启动文件,开发版在每次复位后会执行boot里面的程序(这个文件是固件中自带的)

board 里面包含了外设的初始化(包括LED灯,按键,Wifi的链接)

body.json 是post请求体文件,因为文件太大所以使用文件进行存放

config.json 包含配置信息。(WiFi名称,密码,appid,app密钥,请求天气的城市)

mian 和 Task 就是主要的程序文件了,有什么问题可以翻翻代码

body 文件中只需要更改两个值(用户ID,和模板ID)

 

 

 

config文件中的所有的值都需要更改(键不需要动)

 

 

 

 

程序运行后按下开发板上的按键一秒松开,天气接口和随机生成古诗的接口程序中有,也可以自行修改

 

标签:ESP8266nodeMCU,微信,json,消息,推送,ID,模板
来源: https://www.cnblogs.com/zzxiang/p/16641073.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有