用微信公众号控制你的树莓派

微信公众号是大家经常会遇到的东西,本期教程我们用微信公众号控制树莓派的21号gpio引脚,这里为了方便的看出控制效果我用把gpio21号口接到一个继电器的vcc,GND接到继电器的GND,这样引脚是高电平时继电器电源灯会亮,低电平时电源灯会关闭(其实这里接二极管也是可以的。。。。)

一、准备的材料

1.公网ip的服务器(frp要用)
2.刷有官方系统的树莓派
3.个人微信公众号
个人微信公众号服务器配置需要用公网ip的80或者443端口,而树莓派接入的网络一般是局域网,没有公网ip,这时候就需要一台具有公网ip的服务器和内网穿透工具来将树莓派的80端口映射到公网ip的80端口。下面使用frp反向代理应用来配置80端口。

二、frp配置

1.云服务器端操作:

登录云服务器,根据服务器的操作系统,在Release页面中找到对应的frp程序,然后分别在服务器和树莓派中下载它
首先使用SSH连接上云服务器,使用wget指令下载frp程序。
在这里插入图片描述

使用tar指令解压tar.gz文件

tar -zxvf frp_0.16.0_linux_386.tar.gz

然后进入解压出来的文件夹

cd frp_0.16.0_linux_386

然后修改服务器配置文件,即frps.ini文件,使用nano指令对目标文件进行编辑。

sudo nano frps.ini

打开文件之后将文件里的内容改成

[common]
bind_port = 7000

[common]部分是必须有的配置,其中bind_port是自己设定的frp服务端端口。
保存上面的配置后,使用以下指令启动frp服务端。

sudo ./frps -c ./frps.ini

到此服务器端的配置就告一段落。

2.树莓派端操作:

树莓派安装的frp程序跟云服务器端的程序是不一样的,树莓派要选择arm版的,前一部分操作跟云服务器端是相同的。
在这里插入图片描述

#这里版本号要相同!!!

tar -zxvf frp_0.16.0_linux_arm.tar.gz

cd frp_0.16.0_linux_arm

sudo nano frpc.ini

客户端的配置如下:
在这里插入图片描述
上面的配置和服务器要一一对应起来:
servera_ddr后面要填云服务器的IP
server_port后面填云服务器的bindport
[ssh]中的内容备注如下:
local_ip后面填树莓派的内网IP,也可以直接用这个!
local_port后面填树莓派的SSH端口,一般是22
remote_port后面填的端口可以随意,但是不要占用特定端口
保存配置,然后运行客户端

sudo ./frpc -c ./frpc.ini

此时如果树莓派命令行出现了"start proxy success"字样,就证明连接成功了!
在这里插入图片描述
3.后台运行frp
这儿使用的是nohup指令

nohup ./frpc -c ./frpc.ini#在客户端(树莓派)
nohup ./frps -c ./frps.ini#在服务端(VPS服务器)

三、调用公众号接口的API

首先安装环境,这里使用的是wechatpy和flask。
什么是wechatpy?
wechatpy 是一个微信 (WeChat) 的第三方 Python SDK, 实现了微信公众号、企业微信和微信支付等 API。
什么是flask?
Flask是一个使用Python编写的轻量级Web应用框架。基于Werkzeug WSGI工具箱和Jinja2 模板引擎。Flask使用BSD授权。

1.安装环境

sudo pip3 install wechtpy[cryptography]
sudo pip3 install flask

2.配置微信公众号

注册一个个人微信公众号
在这里插入图片描述
在这里插入图片描述
要注意微信公众号里面设置的token要和下面代码里的令牌token一致

3.创建文件

sudo nano tt.py

写入下面代码
公众号发送【控制代码】获得下载地址

4.树莓派端运行代码

sudo python tt.py

在这里插入图片描述
这样就已经全部配置完毕了,现在打开公众号,输入开启关闭可以看到gpio21引脚高低变化,视频中可以看得出。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41676577/article/details/112856688
今日推荐