年初的时候用mk802+arduino做了一个小项目, 实现获取室内温度、湿度,视频监控, 远程开关控制等功能, 用了手机微信做了客户端。后来看见网上介绍有树莓派这个好玩的硬件, 于是想把这个小项目移植到树莓派上。到手后用了一天时间移植了过去(安装配置系统花了不少时间。。。)。
下面我分享一下用树莓派实现微信公共平台服务器的一些心得吧,和大家一起学习研究, 开发树莓派的潜力, 实现更多好玩神奇的功能。教程需要你了解一点python。
1、首先你需要一个公网ip, 需要做好映射, 把80端口映射到你的树莓派ip。打开baidu搜索“ip”, 在打开你的路由器页面, 看看wan口的ip地址是否和你搜索的一样。不一样的话证明你的不是公网ip。
2、打开你的树莓派终端, 创建文件夹“templates ” 和文件“weixind.py”。
3、文件“weixind.py”中写入以下代码。安装“sudo apt-get install python-lxml”。
4、打开页面“http://mp.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5” 我们要去申请一个公共平台的测试账号。
5、申请成功,进入了管理界面, 在这里我们去修改接口配置信息, 填完后先别点 “提交”。
6、打开“weixind.py”, 将“ _TOKEN = *your token* ”替换成 第5步中你要设置的token。
7、运行“weixind.py”。
微信接口只支持80端口, 如果你原来已经有web服务器占用了,你需要配置web服务器支持wsig,具体教程我就不讲述了, 自己百度吧。
代码也需要改一下:
- application = web.application(_URLS, globals())
- if __name__ == "__main__":
- application.run()
+ application = web.application(_URLS, globals()).wsgifunc()
8、打开管理界面管理界面, 点击提交。
成功会显示这个,这样所有发送打这个公共平台的信息都会通过http协议post到你的树莓派上来了。
下面我们实现一个简单回复的功能,把发送给公用平台的信息在原样发回去。
1、我没先进入“templates ”文件夹, 创建一个回复模板文件“reply_text.xml”。
2、打开“reply_text.xml”文件, 写入一下内容。
3、打开“weixind.py” 在“weixinserver”类中添加一下代码。
4、运行“weixind.py”。
5、打开你的手机微信,发信息给公共平台试试吧。
以上教程的源代码:
http://pan.baidu.com/s/1sjPSgg9
另外附上
python的微信公共平台的sdk:
https://github.com/kun945/weixinpy
一个yeelink简单的python sdk:
https://github.com/kun945/yeelink
我的小项目源代码(比较乱,大家指点一下, 需要python-memcache):
https://github.com/kun945/weixind/blob/master/weixind.py
关于树莓派
树莓派由注册于英国的慈善组织“Raspberry Pi 基金会”开发,Eben·Upton/埃·厄普顿为项目带头人。2012年3月,英国剑桥大学埃本·阿普顿(Eben Epton)正式发售世界上最小的台式机,又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文译名"树莓派"。这一基金会以提升学校计算机科学及相关学科的教育,让计算机变得有趣为宗旨。基金会期望这 一款电脑无论是在发展中国家还是在发达国家,会有更多的其它应用不断被开发出来,并应用到更多领域。在2006年树莓派早期概念是基于Atmel的 ATmega644单片机,首批上市的10000“台”树莓派的“板子”,由中国*和大陆厂家制造。
它是一款基于ARM的微型电脑主板,以SD卡为内存硬盘,卡片主板周围有两个USB接口和一个网口,可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能只需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸多功能。 Raspberry Pi B款只提供电脑板,无内存、电源、键盘、机箱或连线。[2]
树莓派的生产是通过有生产许可的三家公司:Element 14/Premier Farnell、RS Components及Egoman。这三家公司都在网上出售树莓派。
树莓派配备一枚700MHz博通出产的ARM架构BCM2835处理器,256MB内存(B型已升级到512MB内存),使用SD卡当作储存媒体,且拥有一个Ethernet,两个USB接口,以及HDMI(支持声音输出)和RCA端子输出支援。Raspberry Pi只有一张信用卡大小,体积大概是一个火柴盒大小,可以执行像雷神之锤III竞技场的游戏和进行1080p影片的播放。操作系统采用开源的Linux系统,比如Debian、ArchLinux,自带的Iceweasel、KOffice等软件能够满足基本的网络浏览,文字处理以及计算机学习的需要,分A,B两种型号,其中售价分别是A型25美元,B型35美元。基金会从2012年2月29日开始接受B型的订货。
树莓派基金会提供了基于ARM的Debian和Arch Linux的发行版供大众下载。还计划提供支持Python作为主要编程语言,支持Java、BBC BASIC , (通过 RISC OS 映像或者Linux的"Brandy Basic"克隆),C, 和Perl等编程语言.