微信公众号控制树莓派就是在树莓派上使用itchatmp这个开源的微信公众号接口,这是最简单的使用python调用微信公众号。itchatmp基于tornado框架,支持普通使用、nginx反向代理与wsgi,适合各个层次的开发者使用。

快速入门

1.树莓派安装itchatmp

pip install itchatmp

2.公众号前期准备

a·首先需要申请一个微信公众号的测试账号

首先打开微信公众号,然后左边菜单栏最下面点击开发者工具,出现界面如下:


微信公众号截图

b·申请之后会有一个测试号管理,界面如下:


微信公众测试号截图

擦除的这几项都是比较重要的,以后还要用的到

c·树莓派进行端口映射

由于微信公众测试号只能用80端口,所以需要将树莓派到80端口映射到服务器的80端口

在这儿说的服务器端口指的是树莓派做内网穿透的服务器,详情可见前面文章树莓派笔记06-利用frp进行内网穿透实现外网NAS

d·微信公众测试号接口配置信息

上一步端口映射之后,通过网址查询应该是 :网址/80

3.程序调用

首先调用官网快速入门的例程

import itchatmp
itchatmp.update_config(itchatmp.WechatConfig(
token='yourToken',#上面测试号信息的Token,这个自己设置就可以,相当于自己设置密码
appId = 'yourAppId',#跟测试号信息相同
appSecret = 'yourAppSecret'))#同上
@itchatmp.msg_register(itchatmp.content.TEXT)#调用这个函数
def text_reply(msg):#msg是一个字典,返回Content对应的值
print(msg)
return msg['Content']
itchatmp.run()

调用程序之后再次查看 http://网址/80,页面显示为


网址显示

4.配置微信公众测试号

程序调用之后在微信公众测试号中修改接口配置信息,URL即为上述网址,提交之后显示配置成功就已经成功了!


配置信息

5.测试公众号

树莓派端运行上述程序,显示如下:


树莓派运行程序

如果显示80端口已经占用的话,就排查一下是哪些服务占用

netstat -lnp|grep 80 #查看80端口被占用情况

我之前80端口被apache2占用了,禁用或者让它们使用其他端口就可以了。

微信公众平台测试账号上有一个测试号二维码,扫一下关注,然后向测试号发消息,就会收到同样的消息了!

微信公众测试号测试结果


微信公众测试号端测试

树莓派端输出


树莓派后台输出信息

其中可以明显看出来树莓派接收到的键值对中’Content‘对应的值就是输入的值。

现在就已经实现了使用微信公众号控制树莓派的第一步!接下来就使用微信公众号来对树莓派进行控制了!

如果有不明白的可以关注作者微信公众号并私信问题,有时间一定会给解答的:


一技破万法