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

  • 一、准备的材料
  • 二、frp配置
    • 1.云服务器端操作:
    • 2.树莓派端操作:
  • 三、调用公众号接口的API
    • 1.安装环境
    • 2.配置微信公众号
    • 3.创建文件
    • 4.树莓派端运行代码

微信公众号是大家经常会遇到的东西,本期教程我们用微信公众号控制树莓派的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.gzcd frp_0.16.0_linux_armsudo 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引脚高低变化,视频中可以看得出。


用微信公众号控制你的树莓派相关推荐

  1. 微信控制树莓派运行python_树莓派笔记07-微信公众号控制树莓派(一)

    微信公众号控制树莓派就是在树莓派上使用itchatmp这个开源的微信公众号接口,这是最简单的使用python调用微信公众号.itchatmp基于tornado框架,支持普通使用.nginx反向代理与w ...

  2. 【微信小程序控制硬件④】 深度剖析微信公众号配网 Airkiss 原理与过程,esp8266如何自定义回调参数给微信,实现绑定设备第一步!(附带源码)

    [微信小程序控制硬件第1篇 ] 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! [微信小程序控制硬件第2篇 ] 开始微信小程序之旅,导入小程序Mqtt客户 ...

  3. 【微信小程序控制硬件 第14篇】分享一下我在微信公众号和小程序上实现的几个颜色采集器,轻松集成到您项目实现调光。

    [微信小程序控制硬件第1篇 ] 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! [微信小程序控制硬件第2篇 ] 开始微信小程序之旅,导入小程序Mqtt客户 ...

  4. 微信小程序和8266串口透传 控制8266 配网 微信公众号配网 app配网 物联网esp8266

    1234 生产 清空固件 为了出现莫名其妙的问题 下载固件 因为固件为某公司定制产品不能公开 更新配置 主要是为了让用户拿到手配网成功就能 连接mqtt 并且订阅 {"m":&qu ...

  5. 微信公众号实现简易的物联网控制(一)

    这篇主要说说如何通过微信公众号来查看室内传感器数据,至于硬件部分和物联网平台以后再详细说明. 准备工作: 1:申请微信公众号 2:搭建云服务器 首先说明一下整体流程:用户发送相应的指令到公众号后台,服 ...

  6. 时序分解股票数据并部署在微信公众号上

    目的 将股票价格进行时序分解,得到趋势图.周期图和误差图.然后放到微信公众号上,让用户输入"002581.SZ"等股票代码,即可自动回复以上的图片. 主要思路 用tushare获得 ...

  7. yii2嵌入微信公众号支付

    序言 随着微信被越来越多的人使用,微信商城成为如今的热门.每一个商城都需要有自己的支付方式,微信商城也不例外.微信公众号支付就是微信商城的一种支付方式,微信支付随着微信的推广使用也被广泛应用.今天我主 ...

  8. html如何获取请求头变量的值。_如何使用 Python 爬取微信公众号文章

    我比较喜欢看公众号,有时遇到一个感兴趣的公众号时,都会感觉相逢恨晚,想一口气看完所有历史文章.但是微信的阅读体验挺不好的,看历史文章得一页页的往后翻,下一次再看时还得重复操作,很是麻烦. 于是便想着能 ...

  9. 代码高亮_微信公众号代码高亮美化工具 Markdown Nice

    微信公众号代码高亮美化工具 使用 Chrome 浏览器把右侧生成的页面直接拷贝到微信中即可. https://www.mdnice.com/ // 目录[TOC] 1. Markdown Nice 简 ...

最新文章

  1. c++找不到标识符_沪C转沪牌流程攻略大全
  2. About mac80211
  3. 【学习笔记】15、标准数据类型—集合
  4. Win11笔记本电源计划怎么设置 Win11设置电源计划为高性能的方法
  5. springcloud灰度发布实现方案
  6. Java项目:大学生实习管理系统(java+SpringBoot+Thymeleaf+html+JQuery+bootstrap)
  7. Hbase+JAVAWeb实现超市仓库管理系统
  8. 【强大的数字设计工具包】Sketch 55.1 for Mac
  9. layabox定时器
  10. JS设计模式之工厂模式
  11. 越来越多的主板增加了WIFI功能,但是你真能用得到吗?
  12. docker入门小结
  13. 微信小程序web-view使用说明,及链接打不开问题
  14. 安装实例中出现的ORA-27123和ORA-12532的错误
  15. 夜神模拟器连接手柄无反应_为何我的夜神模拟器连接了手柄却用不了
  16. uniapp 监听网络情况
  17. 这18款作品斩获2020 Qualcomm XR 创新应用挑战赛奖项
  18. 全球10大黑客组织排行榜
  19. golang:结构体内嵌结构体
  20. Linux基础(4)-

热门文章

  1. java计算机毕业设计我饿了外卖平台源代码+数据库+系统+lw文档
  2. springboot毕设项目基于SpringBoot+Vue的冷冻货物仓单质押系统9y3d6(java+VUE+Mybatis+Maven+Mysql)
  3. 服务器2012系统如何备份数据库,服务器2012系统如何备份数据库备份
  4. 如何计算用户生命周期LT/CLT?
  5. 海信IP906H-高安版-HI3798MV100-EMMC-当贝桌面强刷固件包
  6. 查找算法之三:斐波那契查找(黄金分割法)
  7. matlab串联的矩阵的维度不一致,MATLAB错误记录:错误使用 cat 串联的矩阵的维度不一致...
  8. Arcgis api for Javascript + arcgisServer + arcSDE笔记(1)
  9. python如何利用淘宝赚钱_Python攻破淘宝网各类反爬手段,采集淘宝网ZDB(女用)的销量!...
  10. 如何解决TCP BBR的RTT不公平性问题