如何用树莓派 设备树做一个移动设备

使用树莓派制作近距离遥控摄像机(无线网卡+摄像头,手机或平板等移动终端控制)
Categories:
其实早就做好了,只不过一直坑着……
先说一下我这篇文章说的东西做出来是啥,就是一个树莓派+无线网卡+摄像头+移动电源的东西。
基本用法就是只要树莓派开机,就可以用无线设备随时进行视频监控或者视频采集,或者同时做,可移动的无线摄像头。与其他教程不太相同的是,这回树莓派不再是接入无线路由或者其他接入点,而是直接自己作为接入点,不再有依赖外在接入点信号范围的束缚。
其实没啥用,没啥实际用途,真的。做这玩意其实就是想随意弄个随身摄像机啥的,但是又没小屏幕,于是就对手机和平板起了邪念(啥?)
炫耀展示:
点击查看大图
基本思路:
装一台Raspbian系统的Raspberry Pi,使用无线网卡配合hostapd作为无线接入点,使用摄像头配合MJPG-Streamer进行图像的实时监控、录制保存或监控录制同时进行,使用移动电源进行移动供电,使用手机或其他移动设备进行无线遥控。
文章目录:
A、开始前准备
B、准备材料
C、制作步骤
一、安装系统 (已安装系统的可以跳过此步)
二、编译网卡驱动和hostapd
三、安装DHCP服务
四、安装mjpg-streamer
五、变成接入点
六、脚本准备
七、遥控器准备:
D、已知缺陷
F、资源下载(百度盘)
G、文档更新日志
(请大家根据自己的情况选择跳过个别步骤)
开始前准备:
如果您确定想要着手操作的话,首先您应该了解linux的一些基础知识、ssh,shell和bash基本操作、基本编译等,并且要有一定的英语基础。这是一篇面向有一定基础的读者的文章,文中部分知识在本文中不会详细解释,如果您有什么不懂的地方,你来打我啊,咳咳,建议您先从基础学起。
准备材料:
1、树莓派B型(因为要用到2个USB口)+4G或以上SD卡一张
2、USB无线网卡一根(需要支持无线AP)
3、USB摄像头一个(需要支持MJPG)
4、移动电源一块
5、PC一台,路由器一台,网线一根(这些材料用于第一次安装)
6、无线设备一台(用于无线遥控)
附博主使用的材料:
1、树莓派B型+不太结实的亚克力外壳+8G class10东芝SD卡
2、EDUP MS8512 USB无线网卡
3、罗技C270 USB摄像头
4、爱国者充电宝D5
5、支持无线网络的笔记本一台,无线路由器一台
6、支持wifi的安卓手机一台,Ipad4(4G)一台
博主建议:
1、树莓派的盒子请尽量选择结实的以免携带的时候损坏
2、无线网卡请尽量选择linux下支持的比较好的,博主用的是Realtek芯片的,系统自带的hostapd不支持,MAC修改不支持,BSSID指定不支持(所以3DS无线擦建站一直搞不定)。至于是否外置天线,就随各位爱好吧,无天线的便携性就高,但是无线操作距离就会变低,大家自由取舍。
3、摄像头不是很了解,C270太火了哪的教程都用,虽然我是2010年就买了。
制作步骤:
大家注意到了这个教程中没有显示器,也就是说这次是要在无显示器的情况下安装系统。
一、安装系统 (已安装系统的可以跳过此步)
1、SD卡插读卡器上,读卡器插电脑上,刷raspbian上去,没啥说的
2、SD卡再插到树莓派上,先别急着加电,先用网线把树莓派用网线连接到路由器上,再开机。
3、一段时间后用PC登陆到路由器界面,看树莓派用DHCP获取的IP是多少。
(博主是因为已经长时间在用树莓派了,所以在路由器上写了静态DHCP)
4、使用PC的ssh客户端(推荐用putty,也可脸皮厚点用SecureCRT)登陆到树莓派,根据提示进行首次设置。
(系统装完,搞不定也别来求我)
5、虽然不是必须,不过还是建议大家运行一次rpi-update和apt-get update(没准你的不能用的摄像头就能用了,当然,也没准你的无线网卡就不能用了。)
二、编译网卡驱动和hostapd
虽然raspbian自带非常多的驱动,而且官方源也包含hostapd,然而却并不能支持每一款无线网卡。我手里的这款EDUP-MS8512就是,虽然能驱动起来,可以连wifi,但是hostapd却无法正常工作(芯片是Realtek的,支持不好)。所以建议大家还是自己编译网卡驱动和hostapd。至于教程,参见您网卡驱动中的README。(坑)
小技巧:编译驱动需要内核代码,还需要各种乱七八糟的东西
需要.config文件么,只要998!
gzip -dc /proc/config.gz &.config
需要Module.symvers文件么,只要你够了
wget https://github.com/raspberrypi/firmware/raw/master/extra/Module.symvers
别忘了make modules_prepare
中途可能会报错找不到openssl/opensslv.h,装一个libssl-dev搞定
三、安装DHCP服务
因为接下来要将树莓派作为接入点,使用其他无线设备进行遥控,所以需要DHCP-server为”遥控器”分配IP,具体的,嗯,总之你只要安装isc-dhcp-server这个包就行了。(安装完成时会自行启动,自行启动会因为没有正确的配置文件报错,无视之)
四、安装mjpg-streamer
mjpg-streamer是用于视频的录制和监控的,消耗资源也少,安装步骤,嗯,虽然网上一大堆,不过还是发出来吧蛤蛤。当然也是因为网上很多教程缺胳膊少腿,自己想补充一下,这回就不那么坑了。
1、安装依赖
sudo apt-get install libv4l-dev libjpeg8-dev imagemagick
2、下载源码:
(比较坑爹的就是Raspbian虽然自带git,但是却不带svn,所以没有安装svn的请先安装svn客户端,包名:subversion)
svn死活抠不下来的朋友,(请感谢我们伟大的方校长并祝愿病魔早些战胜校长),您可以在本文最下方找到我的压缩包,Checked out revision 182.
(在网上搜mjpg-streamer的话可能会搜出一个mjpg-streamer-r63,这个包我在树莓派上亲测编译不成功,看报错应该是环境问题,没有过多尝试,有兴趣的朋友可以研究研究)
3、编译安装:
根据mjpg-streamer的文档,编译需要libjpeg,但是mjpg-streamer的代码依赖是libjpeg7的,我们使用的是libjpeg8,文件名不同,所以要做一个软连接。不然会报错:
mjpg_streamer.c:27:28: fatal error: linux/videodev.h: No such file or directory
compilation terminated.
make: *** [mjpg_streamer.o] Error 1
软连接:sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
进入目录并编译:
cd mjpg-streamer
make USE_LIBV4L2=true clean all
4、功能测试:
sudo ./mjpg_streamer -i “./input_uvc.so -d /dev/video0
-r 0 -f 12” -o “./output_http.so -p 8090 -w ./www”
(-r后是分辨率参数,-f后面是帧率,请根据您的摄像头参数进行调整)
之后在PC上打开浏览器,在地址栏填写树莓派的地址+:8090,如果成功的话就会打开mjpg-streamer提供的页面:
证明mjpg_streamer成功编译并运行了,恭喜,您已经搞定一个核心功能点了。
还可以进入stream页面看一下效果
五、变成接入点
要把树莓派的无线网卡变成接入点,其实并不是很难,很多地方都有教程,这里只列出一些必要步骤或基本命令,不做解释。每条命令的具体意义希望大家自己学习。
1、准备无线网卡基本配置
sudo vi /etc/network/interfaces
iface wlan0 inet static
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp
address 10.5.5.1
netmask 255.255.255.224
2、准备hostapd的配置文件(一般是rtl_hostapd_2G,具体请参考网卡驱动中的文档)
vi rtl_hostapd_2G
##### hostapd configuration file ##############################################
interface=wlan0
ctrl_interface=/var/run/hostapd
ssid=rtwap
wpa_passphrase=
#bridge=br0
3、准备DHCP的配置文件
sudo vi /etc/dhcp/dhcpd.conf
保证这段生效(具体怎么做请自行领悟)
subnet 10.5.5.0 netmask 255.255.255.224 {
interface wlan0;
range 10.5.5.26 10.5.5.30;
option domain-name-servers 8.8.8.8 , 8.8.4.4;
option domain-name “pi.wifi.catscarlet.com”;
option routers 10.5.5.1;
option broadcast-address 10.5.5.31;
default-lease-time 600;
max-lease-time 7200;
4、准备启动脚本:
(这段其实不应该这么写,这段应该写在无线网卡的配置文件里,也就是interface,使之当插入无线网卡的时候载入,拔出无线网卡的时候卸载。我还没时间仔细研究,所以就对付到启动脚本里了)
sudo vi /etc/init.d/rc.local
在最下方新增两行:
/home/pi/hostapd /home/pi/rtl_hostapd_2G.conf
&& /var/log/hostapd.log
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
(这样AP和NAT就都有了,DHCP开机如果有无线网卡的话会自己载入)
5、开启路由转发
/etc/sysctl.conf
将net.ipv4.ip_forward=0修改为net.ipv4.ip_forward=1
6、功能测试:
重启树莓派,重启后使用无线设备搜索无线信号rtwap,密码,接入,测试是否可以获取IP和DNS,并且确认是否可以上网。
六、脚本准备
根据前面的内容,现在我们的树莓派可以作为无线路由器了,也可以作为视频监控了,那么我们现在只要只要同时启用这两个功能,我们就已经接近目标了。
现在我们的树莓派在接入无线网卡的情况下开机,就可以作为无线路由使用,所以关于连接方面我们可以不再操心了,只要一心关注如何进行视频的监控和采集即可。
这里提供三个脚本(可在文章末尾打包下载)
pi@raspberrypi ~ $ cat 1_start-mjpeg_streamer.sh
cd ~/src/mjpg-streamer/
sudo nohup ./mjpg_streamer -i “./input_uvc.so -d /dev/video0
-r 0 -f 12” -o “./output_http.so -p 8090 -w ./www” &
pi@raspberrypi ~ $ cat 2_start-record.sh
cd ~/src/mjpg-streamer/
sudo nohup ./mjpg_streamer -i “./input_uvc.so -d /dev/video0
-r 0 -f 12” -o “./output_file.so -f /home/pi/tmp/” &
sudo nohup ./mjpg_streamer -i “./input_file.so -f /home/pi/tmp/” -o “./output_http.so -p 8090 -w ./www” &
pi@raspberrypi ~ $ cat 3_stop-mjpeg_streamer.sh
sudo killall mjpg_streamer
pi@raspberrypi ~ $
第一个脚本是后台开启视频监控,只能进行监控,不做记录;
第二个脚本是后台开启视频采集并进行实时监控,在做记录的同时可以开浏览器进行监控。记录的文件存放在 /home/pi/tmp/ 中
第三个是干掉楼上两个关闭已开启的视频监控和采集
脚本意义请自行理解并修改,这里不再多述。
七、遥控器准备:
一般的无线设备都可以作为遥控器,带有无线网卡的笔记本,安卓手机或平板,ios设备,只要有SSH客户端和支持stream的浏览器即可。
浏览器推荐:
实测PC的Firefox、Chrome可用,IE10不可用;ipad的Safari可用。因为我手机不清楚浏览器核心是什么就不提了。
移动设备ssh客户端推荐:
安卓系统如果有终端模拟器则可以直接用ssh,没有的话可以安装一款名叫connectbot的应用()
ipad可以安装一款名叫vSSH Lite的应用(),本人没有iphone和WP,这里就不乱推荐了。
无线监控:
重启过的树莓派应该已经可以进行无线接入了(不能的话就请自行排错吧,这个只能靠经验累积了)
使用无线设备接入树莓派,并确认接入成功。
使用SSH客户端打开地址:pi@10.5.5.1
进入到放置三个脚本的目录:
执行./1_start-mjpeg_streamer.sh (这里说一个小技巧,输入./1之后直接按下tap键&如果有的话&,bash会自动补全,这也是为什么3个脚本都是用数字开头的原因)
进程运行起来了。
再打开浏览器,输入地址:
再点击Stream进入监控页
如果想片平查看可以点上面那个here链接
点击查看大图
近乎大功告成
录制+监控:
回到ssh,执行./3_stop-mjpeg_streamer.sh把刚才那个仅监控不录制的进程干掉
之后执行./2_start-record.sh,执行之后树莓派就开始录制了,同时可以继续进入http://10.5.5.1:8090进行监控,堪比一台小型录像机。
录制的文件保存在/home/pi/tmp下,是一堆图片文件,需要进一步转换才能编程视频,请自行解决。
注:在不干掉录制进程的情况下,mjpeg_streamer会一直写文件,请人工保证别把分区写爆了。有一定基础的话可以再搞一个分区专门做存储。
无限递归递归递归递归递归递归递归递归
现在,拔掉电源,拔掉网线,把移动电源准备好,树莓派往你喜欢的地方随便一扔吧。
请不要用於非法用途。
已知缺陷:
1、连接到树莓派之后会因为占用wifi资源,无线设备将无法上网。笔记本可以在接入有线网络的情况下调整路由规避,但平板和手机就没办法了。
2、有些情况下摄像头或无线网卡会因为耗电过大,导致树莓派主板供电不足,系统或网卡重启,导致IP丢失。大家按心情自行解决吧
3、整套东西都只关心图像,对声音完全没有获取,很是遗憾。
4、因为没有使用usb hub,所以一个接口接了无线网卡,一个接口接了摄像头,没有空余的接口再连接U盘或者其他存储设备了,所以请准备好足够的SD卡空间。不过720p 12fps,每秒的大小不足1M,io不是问题。
5、操作方面现在只能靠ssh进行操作。其实mjpeg_streamer已经提供了web模板,只要稍微改改模板就可以完全依靠浏览器进行控制了。未来神马的就交给你拯救了。
其实不写网卡编译教程的原因很简单,一家网卡一个方法,写的不好反而会误导人,干脆不写。编译东西,大家应该首先看每个包的README。被奶大的孩子永远长不大。
另外近期发现树莓派的内核从3.6+更新到3.10+了,导致一大堆驱动都不能用了,包括个人编译的和内核自带的,话说系统自带的驱动在内核升级之后就不能用是个什么鬼逻辑啊,难道不知道先祖产品都是怎么死的了么?
另外我并没有打算把这个提交到git或者svn的想法。
这个实在太小了,编程的精华在于思路,而不是代码。能理解我要做的是什么,哪里做得好,哪里更待优化,才是正道。单纯的在那抄写代码,农民都不如。
这个东西的扩展性很高,如果有实力和条件的话就可以继续加做遥控车甚至是机器人,相比之下一个小小的视频录制功能只够塞牙缝的。
资源下载(百度盘):
(Checked out revision 182.)
(这是从git上抠下来的,在windows上测试没问题,但是在pi上解压就报错,估计他们打包的时候脑残的把权限也打进去了)
最后(有完没完啊),如果文中有什么写的不够详细或者错误之类的地方,请在评论下留言。
欢迎转载,转载请注明出处:
文档更新日志:
2013 年 11 月 13 日上午 1:36:文档新建
2013 年 11 月 13 日下午 12:18:附件上传
2013 年 12 月 04 日上午 1:34:更新文档目录结构,修改部分措辞。不影响文章理解。
Powered by如何使用手机作为树莓派的“屏幕”教程_百度知道
如何使用手机作为树莓派的“屏幕”教程
我有更好的答案
见我另一回答服务端设置相同,手机下载VNC viewer for Android
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。没有更多推荐了,
不良信息举报
举报内容:
利用Raspberry Pi搭建一个简易的NAS
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!用树莓派制作手机控制的浇花神器
19:51:04 +08:00 · 13713 次点击
不知道其他人有没有这样的顾虑,就是每次需要外出一些时日的时候总是担心家里的花无人浇水会干死。于是就想着是否能自己动手做一个可以用手机操控实现浇花的“半自动浇花器”呢,之所以称之为“半自动”是因为在一定程度上该设备使用了自动化控制的元件与技术,但操作依然是根据人的意志用手机来完成的因此为“半自动”。当实现自动检测土壤湿度来实现浇花并发送浇花报告到主人手机时可称之为“自动化”。
话不多说,来看看折腾这样一个东西需要准备些什么硬件和软件,有需要的人一定要耐心看完哦,内容有点多。
鉴于网络有点绕,开始前先放一下我的网络拓扑图
第一部分:硬件清单
1.树莓派:由于前段时间用树莓派折腾过家里的 NAS ,因此树莓派首当其冲作为智控中心用来相应手机端发出的指令
raspberry 2b
2.arduino :此设备与各种智能元器件通信非常方便,因此用他作为终端来和小水泵连接
adruino uno
3.5v 继电器:此设备与下面提到的小型水泵串联,来实现水泵的运行与停止
4.5v 小水泵:用来抽水的,如图,我为了方便连线,把这个 usb 头剪掉了用 4 节 7 号电池供电。这里要对水泵的电路进行简单改造,找到里面的红线(正极),剪短分别连到继电器的常开和公共端。
5.usb 摄像头:用来定时进行拍照,传回运行的监控图片。
6.其他设备: a.塑料软管,但由于塑料软管的方向性不好控制导致出水效果不好,后续考虑用一根 pvc 管来替代。
b.万用表, c.电烙铁, d.杜邦线(最好有公对母的,可用母对母和排针自制)若干。
硬件准备的差不多了,现在我们开始连线。
树莓派是一个完整的 linux 系统( debian 系统),因此 arduino 可以以 usb 设备的形式挂载,并且用串口进行通信。当然通信方式还可以有其他,读者有想试的可以自己搜索方案。
继电器的 vcc , gnd 分别连接 arduino 电源的 5v , GND 端,继电器的 in 口连接 arduino 的 13 口。
第二部分:软件清单(不包括 OS )
1.minicom :这个可以设置树莓派与 arduino 进行串口通信的端口。自行搜索使用方法,设置成功后运行 lsusb 应该能看到 arduino 的设备
2.python :这个其实树莓派中已经内置了,并且对接了跟硬件操作的函数库,非常方便实现跟其他设备的串口通信或者操作树莓派自身的管脚
3.nginx :在树莓派上进行 http 请求转发
4.nodejs :用来处理 http 请求,来进行调用 python 程序进行串口通信进而控制 arduino 。
5.路由器:家里的路由器上设置端口转发用来将公网的 http 请求转发到树莓派的 nginx 上
6.腾讯云 vm :由于是在微信上操作,因此操作一定要在公网进行。
7.运行在腾讯云上的 redis :由于家里的路由器一般采用的动态 ip ,因此从家里路由器定时发送请求到腾讯云,程序获取此 ip 后记录到 redis 中,后续进行操作的时候先从 redis 获取此 ip ,然后请求都绑定到该 ip 上。
8.腾讯云对象存储服务( cos ):此步骤可生,因为 cos 可以当作 CDN 使用,咱可是一名前端工程师,当然需要把 h5 页面、 js 、 css 图片等资源做 cdn 分布
9.重要的 arduino ide :这个用来烧制 arduino 程序,可以在 windows 下编写好后烧制到 arduino 即可。
第三部分:关键实现
1.树莓派上的 python 进行串口通信。 readline 用来获取 arduino 的输出, write 用来向 arduino 发送指令。
2.arduino 代码:用来向继电器发送指令(其实就是高电平与低电平)控制继电器的打开与吸合。
3.做一个简单的手机端界面用进行操控,这里的实现方式太多了,此处不列举了。我用 react 做界面, nodejs 做后台,页面的 url 生成二维码用微信扫码后运行(记得放入微信的收藏夹)
4.鉴于网络交互还是挺绕的,这里补充一张网络拓扑图吧。以后有什么需要可以直接在这个框架上进行。
至此,浇花设备打造完成,放心外出吧,浇花的事情就交给他吧。浇花的同时会定时回传监控图片,用来协助你判断是否该停止浇花。嗯,到了 2.0 自动化的时候也许就不用这么麻烦了。
查看图文信息
88 回复 &| &直到
07:22:40 +08:00
& & 21:32:40 +08:00 via Android
1. 首当其冲 不是 首先的意思。
2. 我觉得没必要搞 ip 那一段,觉得费劲还不可靠,直接让树莓派拉取指令如何?
& & 21:34:08 +08:00 via Android
或者可以用 xmpp 之类的协议也可以实现双向的即时消息,也犯不着这么弄。
& & 21:49:41 +08:00 via iPhone
没有看到传感器的描述? btw 这么一套要多少大洋?
& & 21:57:10 +08:00 via Android
浇个花,真用得着这么兴师动众
& & 21:58:29 +08:00
不明白为什么要用安德鲁 电机驱动板不好用么?
& & 22:44:54 +08:00 via iPhone
@ 没有 ip 我从公网无法连接到家里路由器,路由器是动态 ip
& & 22:45:29 +08:00 via iPhone
@ 主要场景是出门在外
& & 22:45:54 +08:00 via iPhone
@ 不到 300 人民币
& & 22:58:45 +08:00 via Android
不知道水流量,以不小心浇多了
& & 23:02:25 +08:00
当年我也想自己做一个,可惜没钱,一直没行动。
& & 23:05:04 +08:00
成本太高了,可以用 1/10 成本的 esp8266 来做。
& & 23:11:45 +08:00 via Android
@ +1 ,刚从 X 宝上 20 块钱买了个 NodeMCU ,简直神器
& & 23:13:33 +08:00 via iPhone
@ 是的, nodemcu 板子是可以的
& & 23:24:54 +08:00 via Android
让它自己滴水不好吗
& & 23:26:39 +08:00 via iPhone
@ 自己滴水,没法控制水量...
& & 23:29:17 +08:00 via Android
@ 可以加一个计算雨滴那个模块改一下,放在花下面。
& & 23:32:34 +08:00 via Android
@ 你要多精确的控制水量?每天给一点不会枯死就行了。
& & 00:13:52 +08:00
家里头那段,用个 ESP8266 就漂漂亮亮解决了。
& & 00:20:43 +08:00
想法真好,感觉结合视频监控之类的实现全自动化,可以扩展到很多方向。
& & 00:48:38 +08:00
不知现在的 esp8266 稳定性如何了,前年画过板子,测试稳定性不行呀
& & 00:53:15 +08:00 via Android
@ 是呀,经常掉线
& & 04:32:53 +08:00
CROS 是啥?
& & 05:07:43 +08:00
可以讲下浇花器改造吗?关键是硬件部分,怎么弄继电器?
& & 05:09:06 +08:00
我记得 Arduino 有湿度传感器之类啥的,可以插土里判断要不要浇水……
& & 07:09:49 +08:00 via Android
用智能手机控制的浇花神器,我还不如用智能手机给我妈打个电话:妈妈,家里花该浇水啦, mua ~
& & 07:16:21 +08:00
小米花花草草检测仪, 49
& & 07:22:21 +08:00 via Android
这排版是怎么回事。。
& & 07:50:46 +08:00 via Android
惊现 Arduino 高玩!
我会写点 arduino ,问题来了,网络和前端的学习路线是什么样的。
& & 08:50:28 +08:00
完全不需要 arduino 的存在,如果水泵工作电压低于 5v 也完全没必要用继电器,因为树莓派本身的 GPIO 就可以用 Python 控制。
& & 08:50:46 +08:00
太复杂了吧。。就为了个浇花。。
& & 08:56:28 +08:00
这逼装得可以给 10 分
& & 09:10:10 +08:00 via iPhone
@ 我在 qzone 做了 5 年专职前端,慢慢积累吧,多动手
& & 09:10:49 +08:00 via iPhone
@ 湿度传感器
& & 09:23:54 +08:00 via Android
这个好,我们现在用最昂贵的方法,请朋友来家里浇花,
搞个机器好多了,
& & 09:31:19 +08:00 via Android
其实相比 arduino 浇花器,这个作品更大的意义,是提供了一种智能家居的架构和思路。
& & 09:56:43 +08:00
为什么不把操作页面直接放在树莓派上面呢?
& & 10:12:37 +08:00 via Android
@ 的确更好,只想到控制水滴,没想到利用土壤湿度呢。。。
& & 10:51:23 +08:00 via iPhone
Arduino 检测土壤湿度自动浇水部分已经做好了。下一步想怎么让数据在 Web 上显示
& & 10:52:01 +08:00
@ 有道理,思路很重要。重要的不是折腾的是什么,而是为什么可以这么做,把东西系统组合起来
& & 10:52:57 +08:00
我看三十年前的报刊是用晶体管电路做此类工具;三十年后还是做一样的东西。
& & 11:14:29 +08:00
@ 可以的,树莓派上也有 nginx 和 node ,只不过利用了腾讯云的 cdn 分布能力
& & 11:15:39 +08:00
@ 利用开源的前端组件做一个家庭数据门户
& & 11:19:18 +08:00 via Android
你这个只能让我想起一句话
&My stack is bigger than yours&
& & 12:03:06 +08:00
最近也入了个 Ruff ,准备玩玩。
PS :重点不是浇花好么。。。。。
& & 12:35:04 +08:00
这个感觉有点绕了,其实 Arduino+网络模块 就可以完成以上工作
& & 13:34:01 +08:00
感觉一个 bug 家里就被淹了。。。
& & 13:48:04 +08:00 via iPhone
@ 我也怕,所以没有直接连水龙头,而是用水泵从一个大水桶抽水
& & 14:16:34 +08:00
@ 机智,哈哈。。。
& & 14:29:43 +08:00
我觉得你用 @ 比较适合这个场景。。
& & 14:40:14 +08:00
建议加上温湿度传感器 光照传感器 用 spi 总线接 adc 芯片可以跳过 arduino 这一步
& & 14:42:22 +08:00
哦 对了,摄像头还可以加上演示摄影功能 大约 10 分钟拍一张照片 最后两个月时间可以合成大概 2 分钟的视频
& & 14:55:38 +08:00
我也使用树莓派做过一个,实现定时和手机远程开关。大概如下:
1 、树莓派运行一个 python web server ,用来控制 GPIO 。
2 、树莓派定时任务获取家里网络 IP ,通过 DNS 服务商的 API 修改域名解析的 IP 。
3 、路由做端口转发,确保可以访问到树莓派上的 web server 。
4 、水龙头安装电磁阀,通过树莓派来控制开关,水管上接了 10 几个喷头。
& & 14:55:53 +08:00 via iPhone
@ 摄像头用到了,浇花过程中每 5 秒传一张现场照片
& & 14:57:38 +08:00 via iPhone
@ 家用的话安全是首要的,要有强制自毁逻辑
& & 15:14:49 +08:00
lz 充分诠释了什么叫生命在于折腾,不过做的东西还是挺赞的
& & 15:15:21 +08:00
直接配合小米那款检测仪 啊
& & 17:20:34 +08:00 via iPhone
@ 程序员的创造力就在于此哈
& & 17:23:27 +08:00 via Android
记得初中还是高中物理书上有个图,利用大气压来浇水,如果不是为了练习和折腾的话,还是这个好
& & 17:27:42 +08:00 via Android
弄个定时器,每天 10 分钟,其他都可以省了,操心都不用
& & 19:19:49 +08:00
养花的乐趣,就是每天照料,虽然我大学的时候也做过这个。 ?from=s1.8-1-1.2
& & 19:32:13 +08:00 via Android
想起了 reddit 上某个根据网友投票来决定每天浇水与否的项目。。。
& & 19:41:04 +08:00 via iPhone
& & 20:29:38 +08:00
通信部分搞得不漂亮啊,太繁琐了,比较好的方案是跑 mqtt ,腾讯云&-mqtt-&树莓派,树莓派到浇花的节点如果比较远或者还有其他节点可以用 zigbee 或者蓝牙组网,还可以很方便的扩展其他节点,树莓派就作为家庭总控来用
& & 21:34:23 +08:00 via iPhone
@ 现在还是有线, zigbee 怕是不行,蓝牙绝壁可以
& & 00:20:12 +08:00
@ 哈哈,是的,用我们的 C/嵌入式 SDK 可以做
& & 00:41:38 +08:00
@ 我是说的延时摄影
& & 05:24:54 +08:00 via Android
@ 不是理由, XMPP 这种协议把服务器上的消息直接推送到你的树莓派很简单啊,你见过上 qq 或者微信还得改路由的么?
& & 05:27:16 +08:00 via Android
@ 继电器要的不只是电压,还有电流,还得避免各种线圈的自感电压劈坏树莓派,不可能不用驱动模块…
& & 08:18:44 +08:00 via iPhone
@ 微信的确是要路由的,不过是在服务接入的根据用户身份路由到后端服务
& & 08:41:54 +08:00
家用的话 直接买一套小米智能家居的玩具能轻松解决
智能插座控制水泵
花花草草检测仪每株花插一个
然后就搞定了……
& & 08:42:11 +08:00
@ 摄像头的话 再买个小米那个啥摄像头……
& & 09:12:47 +08:00 via Android
学自动化的表示你这也太绕了,关键是你为什么要看着花还遥控浇花,你买几个湿度传感器,温度传感器,光线传感器,一个 arduino 一个水泵不就搞定了,程序写好了就不用管,当然,早就有人做出成品了,poi
& & 10:21:00 +08:00 via Android
表示当年我是这样, N 个气球,装好定量的水,一个 5 元大塑料盆子,然后 N 个电火花打火器(男票从实验室搜刮),然后几根管子固定好,然后引爆一天一个引爆
& & 10:46:42 +08:00
楼主可以看一下这个成品:
& & 12:02:59 +08:00
@ 我不想说啥了,你根本没明白我要说啥。首先你说的这个路由和开始的路由不是一个意思,我只能假设你对这方面的知识是一知半解。
其次,我只是告诉你,你这个东西只是需要通过一个方法,把信号、指令从外面的互联网传过来。这根本费不上配置路由器、搞类似 DDNS 这种东西。
如果你把你的树莓派当成一个使用即时通信( QQ 之类)的用户,一个 **人** ,你觉得他为了上个网,收个消息,还要搞这些?你见过现在哪个用手机的要配置这些?
XMPP 就是一种即时通信的协议,你为啥一定要用 http 协议,为啥一定要让你的树莓派扮演 http 服务器的角色?
如果我来搞这部分,我只需要申请一个 XMPP 帐号,然后用 strophe.js 或者 node-xmpp 这种,登录到某个 XMPP 服务器上自己收消息,你可以自己架设,也有现成的,然后只要收到符合条件的消息,就回答是了,和路由器有啥关系。
退一万步,就算你不用 XMPP , 还有很多方法呢。如果能搞定科学上网, 大不了把你的服务器用 Tor 做成隐藏服务。
& & 12:46:05 +08:00 via iPhone
@ 学习了谢谢这位仁兄
& & 12:56:04 +08:00 via iPhone
@ 求个 demo ,我的管理页面是 h5 的,一般放在微信收藏夹,那么 h5 页面关闭后跟家里的连接就断开了,再次访问前怎么找到家里的设备
& & 13:15:31 +08:00
@ XMPP 是客户端-服务器-客户端的形式,而且客户端-服务器的长连接总是有办法的。如果是 python 之类的代码写,可以直接做到 TCP 的长连接,如果是 strophe.js ,这个库可以通过 HTTP-BIND (好象是类似 AJAX 论询)解决。
所以,最简单的方法,可以是你的管理页面用一个 XMPP 帐号登录,树莓派用另一个。 XMPP 也允许匿名帐号登录,所以未必是你每次进管理页面都要用户名密码。这样消息能发过去,剩下的逻辑就好办了。
DEMO 可以去看我的网站
,首页进去右下有个聊天图标,点开之后自动匿名登录,然后可以和我的一个固定的帐号聊天, 我这里电脑在线的话那里也会有显示。我这样就没配置什么网络设备,随时可以召唤我。(所以就是如果我这里挂着一个 nodejs 之类的 daemon ,这样自然就能随时找到我的设备了)。
我收到消息之后回复可能会慢,也可能呆会干嘛就收不到了,实在不行给我留言,我会把收到的消息转贴到这里 :)
& & 13:50:06 +08:00
@ 刚才看了下, XMPP 已经开始搞实验性的拓展了,用于物联网的。
比如 XEP-0325: Internet of Things - Control ( )
还有 XEP-0323: Internet of Things - Sensor Data (
我感觉可以就此开发个库了。
& & 14:26:36 +08:00
楼主那些东西在哪买啊 我想弄一套玩玩
& & 14:47:55 +08:00 via iPhone
& & 23:02:16 +08:00
& & 23:50:08 +08:00
找个女朋友帮你养 不就又有了
& & 10:07:35 +08:00
然而花花草草公司早已实现.....
& & 01:45:35 +08:00
问一下, pi2 的音频接口底噪大不大?
我用的 pi1 代搭 AirPlay 服务底噪简直大的不能听。。。。。。
& & 06:59:17 +08:00 via iPhone
@ 我用 mplayer 播放还可以,不过 5.1dts 编码的音源解码出来噪音极大
& & 04:04:04 +08:00
楼主大神你好,非常有意思的解决方案,如果我是远程喂猫,视频这块希望随时能看到,有什么办法呀?希望多多指教
& & 07:22:40 +08:00 via iPhone
@ 研究下视频采集,应该可以的
& · & 1750 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 34ms · UTC 12:39 · PVG 20:39 · LAX 05:39 · JFK 08:39? Do have faith in what you're doing.

我要回帖

更多关于 树莓派 i2c 设备 的文章

 

随机推荐