微信控制树莓派运行python_树莓派与微信公众号对接(python)

需要安装webpy和python-lxml

git clonegit://github.com/webpy/webpy.git

ln-s `pwd`/webpy/web

cd/root/webpy

sudo python setup.py install

sudo apt-get install python-lxml

下载微信模板

git clone https://github.com/mcdona1d/Wechat-Python-Template.git

index.python

#!/usr/bin/env python

#-*- coding: utf-8 -*-import os

import web

import time

import hashlib

from lxml import etree

urls=(‘/weixin‘,‘WeixinInterface‘)

def _check_hash(data):

#sha1加密算法

signature=data.signature

timestamp=data.timestamp

nonce=data.nonce

#自己的token

token="your_token"#这里改写你在微信公众平台里输入的token

#字典序排序

list=[token,timestamp,nonce]

list.sort()

sha1=hashlib.sha1()

map(sha1.update,list)

hashcode=sha1.hexdigest()

#如果是来自微信的请求,则回复Trueif hashcode ==signature:returnTruereturnFalseclassWeixinInterface:

def __init__(self):

self.app_root=os.path.dirname(__file__)

self.templates_root= os.path.join(self.app_root, ‘templates‘)

self.render=web.template.render(self.templates_root)

def GET(self):

#获取输入参数

data=web.input()if_check_hash(data):returndata.echostr

def POST(self):

str_xml=web.data() #获得post来的数据

xml=etree.fromstring(str_xml)#进行XML解析

content=xml.find("Content").text#获得用户所输入的内容

msgType=xml.find("MsgType").text

fromUser=xml.find("FromUserName").text

toUser=xml.find("ToUserName").textreturn self.render.reply_text(fromUser,toUser,int(time.time()),u"接收到的文字:"+content)

application=web.application(urls, globals())if __name__ == "__main__":

application.run()

View Code

reply_text.xml

$def with (toUser,fromUser,createTime,content)

$createTime

View Code

将此文件夹放到树莓派中,更改index.py中的your_token为你的token

在文件夹目录内,输入命令执行:sudo python index.py 80

80为绑定到80端口上,微信公众平台目前仅支持80端口

Ps:如果无法执行,可能需要更改文件权限:chmod +x index.py

打开微信公众号官网:https://mp.weixin.qq.com

依次选择 开发者工具-》公众平台测试账号

程序执行后,在微信公众平台的接口配置界面分别输入你的ip或者域名及token:

http://你的ip或域名/weixin

然后输入刚才配置程序时更改的自己的token

点击提交,提示配置成功。

在微信上对此公众平台测试号发送消息,微信可以返回你发送的消息。

至此,微信平台与树莓派的对接结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值