花生壳域名申请、内网映射到树莓派及与微信公众号对接
作者:互联网
花生壳域名申请、内网映射到树莓派及与微信公众号对接
一、花生壳域名申请、内网映射
1、在花生壳官网注册账号,下载安装客户端。
2、注册成功后,在首页进入控制台,左侧点击“域名”,在“壳域名”处会看到花生壳赠送的一个域名,这个域名可以正常实现内网映射,但在与公众号对接时会一直出现配置错误的提示,并且内网服务器没有任何响应,原因就是微信后台把这个域名屏蔽了,可能是因为它看起来奇形怪状。有两个解决方案:①在微信访问这个域名,提示禁止访问后,申诉恢复访问;②注册一个付费域名。
3、注册域名。左侧点击“顶级域名”,主页面依次选择添加域名、注册域名、下一步,接下来就是选择、掏钱(便宜的大概8,9块钱)环节了。注册完后还要实名认证才能正常使用。
4、进入花生壳管理页面https://console.hsk.oray.com/,域名列表,选择刚注册的域名进行“域名诊断”,此时如果有报错,可能前面某个步骤出错了。
5、左侧选择内网穿透,添加映射,映射类型选HTTP,外网端口选80,内网主机就是你局域网中树莓派的ip地址,内网端口填80。此时再诊断这个域名,应该是下面这种结果
二、与微信公众号对接
1、配置树莓派
①安装python模块
- webpy
git clone git://github.com/webpy/webpy.git
ln -s `pwd`/webpy/web
cd /root/webpy
sudo python setup.py install
- RPI.GPIO (安装RPI.GPIO 首先需要安装RPi.GPIO所需的Python Development Toolkit)
sudo apt-get install python-dev
sudo apt-get install python-pip
sudo pip install rpi.gpio
- python-lxml
sudo apt-get install python-lxml
python-memcache
sudo apt-get install python-memcache
- apache2
sudo apt-get install apache2
安装完成后,再次诊断域名,所有提示就都变成可爱的绿色了,在浏览器访问这个域名,出现apache默认页面,就说明你离成功不远了!
2、微信公众号要走80端口,而上述配置过程中,树莓派的80端口被占用,因此要配置apache2 更改端口
nano /etc/apache2/ports.conf
将Listen 80
改为Listen 8080
,这样80端口就被空出来了
3、接下来按照https://blog.csdn.net/u010027419/article/details/40835963与微信公众平台对接。**注意:**将index.py中WeixinInterface类的GET方法改为:
def GET(self):
# 获取输入参数
data = web.input()
print(data)
return data.echostr # return echostr directly, no token validation
#if _check_hash(data):
#return data.echostr
按照微信官方文档说法,是要进行哈希验证的,但这一步搞不好就会出错。其实直接原样返回echostr字段就可以了。
另:在操作过程中发现,树莓派pip install
与sudo pip install
会把包安装到不同的地方,如果是用pip install
安装包,当用sudo python
执行程序时会找不到已安装的模块。
参考:
[1]: https://github.com/mcdona1d/RaspberryWechatPi
[2]: https://blog.csdn.net/u010027419/article/details/40835963
[3]: https://blog.csdn.net/freedomzcd/article/details/80913235
标签:树莓,python,微信,sudo,域名,花生壳,install 来源: https://blog.csdn.net/weixin_43427480/article/details/117218694