logo资料库

微信公众号实现树莓派远程控制.docx

第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
资料共30页,剩余部分请下载后查看
实验名称: 姓名: 学号: 实验报告 专业:测控技术与仪器 P.1 姓名:颜睿 学号:3130103850 日期:2018.5.30 地点:创客空间 课程名称: 嵌入式系统设计 实验名称:微信远程控制树莓派 一、实验目的和要求(必填) 三、主要仪器设备(必填) 五、实验数据记录和处理 七、讨论、心得 指导老师:马永昌 实验类型:验证型 成绩:________________ 同组学生姓名:孙凡原 二、实验内容和原理(必填) 四、操作方法和实验步骤 六、实验结果与分析(必填) 一、实验目的和要求 用微信远程对树莓派进行控制,搭建家庭监控系统 微信服务器 微信客户 树莓派 公网映射 数据交互 传感器/摄像头 二、实验内容和原理 实验内容: 1. 创建微信公众号通过微信发送消息,远程对树莓派进行操作 2. 结合温湿度传感器 dht11 远程获取温湿度信息 3. 远程开关 LED 4. 用摄像头远程拍照 5. 结合人体感应模块来发送警报 实验原理: 1. 树莓派配置 树莓派上我们需要更新下载一系列库,包括:webpy、python-lxml、python-memcache、appache2、 mjpg-streamer、RPi.GPIO 1) 更新缓存并升级软件 1 更新软件源 nano /etc/apt/sources.list 删除原内容,用以下内容代替(国内清华大学的软件源): deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main contrib non-free deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main contrib non-free 更新缓存并升级软件 sudo apt-get update 装 订 线
实验名称: 姓名: 学号: P.2 sudo apt-get upgrade -y 2 安装 webpy git clone git://github.com/webpy/webpy.git ln -s `pwd`/webpy/web cd webpy sudo python setup.py install 3 安装 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 4 安装 python-lxml sudo apt-get install python-lxml 5 安装 python-memcache sudo apt-get install python-memcache 6 安装 apache2 sudo apt-get install apache2 配置 apache2 因为 80 端口需要被微信公众平台占用,所以不能让网页走 80 端口,需要更改端口 nano /etc/apache2/ports.conf 将 Listen 80 改为 Listen 8080 7 安装 mjpg-streamer(mjpg-streamer 用于摄像头模块需要安装一下几个依赖包) 依赖包: sudo apt-get install subversion sudo apt-get install libv4l-dev sudo apt-get install libjpeg8-dev sudo apt-get install imagemagick sudo apt-get install cmake sudo apt-get install git git 开源的 project 到本地,编译 sudo git clone https://github.com/jacksonliam/mjpg-streamer.git cd mjpg-streamer/ mjpg-streamer-experimental make all sudo make install 普通的摄像头此时应该可以使用了,但是树莓派自带摄像头模块会报错 装 订 线
P.3 实验名称: 姓名: 学号: 解决 V4L driver 不支持的问题 sudo wget http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc sudo apt-key add ./lrkey.asc 修改 sources list sudo nano /etc/apt/sources.list 最后一行加上 deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main 继续安装 sudo apt-get update sudo apt-get install uv4l uv4l-raspicam sudo reboot 重启之后 sudo pkill uv4l sudo apt-get update sudo apt-get install uv4l-uvc sudo apt-get install uv4l-xscreen sudo apt-get install uv4l-mjpegstream 2) 配置树莓派为服务器 微信公众平台对接需要公网地址 80 端口,而树莓派处于内网中,所以需要用工具将树莓派 80 端口映 射到公网上 1 使用 sunny ngrok 做内网映射 sunny ngrok 网站网址: https://www.ngrok.cc/ 装 订 线 2 注册账号登录,开通隧道
实验名称: 姓名: 学号: P.4 装 订 线
实验名称: 姓名: 学号: P.5 这样就获得了一个域名,因为免费的服务器连接不稳定,所以我花了 10 元钱开通了一个月的隧道, 此处的隧道 id 和域名需要记住 3 安装客户端启动 装 订 线 下载后解压,打开 cmd 进入解压后的文件目录内 windows_amd64 运行 sunny.exe clientid + “之前申请到的隧道 id”
实验名称: 姓名: 学号: P.6 运行成功显示如下 装 订 线 3)微信公众号申请 微信公众平台网址:https://mp.weixin.qq.com/ 进行注册和设置后配置好
实验名称: 姓名: 学号: P.7 url 填写刚才获取到的域名+‘/weixin’,token 要与代码中设置的 token 一致 装 订 线 还需开启开发者密码,并把自己本机的 ip 加入 ip 白名单,本机 ip 可从 ip.qq.com 上查询
实验名称: 姓名: 学号: P.8 装 订 线 在树莓派上运行程序,提交即可启用微信公众号服务 三、主要仪器设备 树莓派、PC 机、树莓派摄像头模块、温湿度传感器、人体感应传感器、putty(远程 ssh 登录树莓派)、 winscp(window 与树莓派传送文件)、vscode 四、操作方法和实验步骤 1.将工程 wechat 文件夹使用 winscp 拷贝至树莓派/home/pi 目录下,其中 wechat 文件夹包含: 1)weixin.py—微信公众平台的 API,参考网上资料,重点看微信公众号开发者文档; 2)index.py—微信端消息处理、树莓派控制以及传感器驱动; 3)start.sh—Linux 操作系统脚本文件,调用 mjpg-streamer 控制摄像头并运行 python 文件;
分享到:
收藏