树莓派+微信小程序实现实时监控(有短暂延迟)

前置:

  • 树莓派X1
  • 树莓派专用摄像头X1
  • 阿里云学生机X1
  • 企业认证微信号X1(没有的话没法推到微信小程序上,其他没影响)
树莓派插好视频之后的操作

打开设置,把摄像头设置成可用

sudo raspi-config

选择 interfacing options
将Camera设置成enabled
然后拍照并打开照片测试一下

raspistill -o new.jpg
xdg-open new.jpg

出问题按照错误去找解决方案吧,我是多个系统重配了好几次没在这步遇到过问题

确定摄像头没问题就可以开始配置服务器了!

目前的树莓派系统不需要执行下面文章的步骤2

目前的树莓派系统不需要执行下面文章的步骤2

目前的树莓派系统不需要执行下面文章的步骤2

你需要看向这里:ffmpeg + nginx 推 rtmp 视频流实现远程监控

配置好上述文章中的内容后若不能在树莓派中启动视频推流,那么你需要:

1.在linux终端里把防火墙关了(学习的时候可以这样干,但是这样做只是为了实现视频推流的目的,并不安全):

  • ** 查看防火墙服务状态**
	systemctl status firewalld
  • -查看防火墙的运行状态
firewall-cmd --state  //有个绿点就是正在运行,上面都是英文,但是相信各位都能看懂

-防火墙的启动、关闭和重启

# 开启
service firewalld start
# 关闭
service firewalld stop
# 重启
service firewalld restart

2.在阿里云的服务器管理页面的防火墙选项中,打开全部TCP+UDP端口(同上,并不安全)

3.检查你的nginx服务是否启动

按照上面的文章配置好之后, 启动nginx服务应当在这 /opt/openresty/nginx/sbin里 里面应该只有nginx这一个文件,启动它就好(或者你可以find / -name nginx来找到它)
若无法启动,报错:地址已经被使用
那么你需要:

  • 先检查nginx是否已经启用了
netstat -anput | grep nginx  //如果重复启动也会报这种错
  • 如果未启用,那么问题就出在端口上,检查3306端口是否被占用
lsof -i : 3306 //系统可能找不到lsof命令,换其他命令检查的的跳过接下来下载lsof的步骤

lsof不能用的时候这样做:

yum install lsof //yum可能下载不了lsof,那么接着看

yum不能下载lsof的时候可以这样:

wget http://down1.chinaunix.net/distfiles/lsof_4.76.tar.gz
tar -zxvf lsof.tar.gz
cd lsof_4.78/
tar -xvf lsof_4.78_src.tar
./Configure linux
make

如果端口被占用,把那个进程杀了就行

这一些列操作下来,基本就没别的问题了,就可以愉快地到树莓派上开启视频推流了!

视频开启后如果不自动关闭就算成功了这时候去别的机器的播放器上验证一下就好(我用的是vnc,点击媒体->打开网络串流,然后输入rtmp://xxx.xx.xx.xx/videotest,xx那个是你的服务器ip地址,这个我是不能放出来的,大家输入自己的地址就好)

接下来微信小程序的配置去百度一下吧,这个很容易,但是我没亲自去配过,是一个很厉害的学长的前端代码我直接拿来用的。
PS:
注意一定是有企业认证的微信号才能开启视频推流!

注意一定是有企业认证的微信号才能开启视频推流!

注意一定是有企业认证的微信号才能开启视频推流!

事实上这算是伪实时监控吧,有大概15s的延迟,这个我没有找到解决办法,可能购买贵一些的服务器能得到优化吧!

你可能感兴趣的:(玩玩硬件,linux,云服务器)