实现小蚁云台摄像头向自定义服务器传输视频文件
前言
已有的设备:
- 小蚁云台摄像头(YI-DOME)
- 公网固定ip服务器
- 读卡器(或者能插sd卡的手机)
- 移动WiFi
由于项目需要,我们需要在服务器上获取远程摄像头的视频数据。但是我们发现只有通过手机APP和桌面版米家才能对小蚁云台摄像头进行控制,在网上找了一通也没有发现适合的API。偶然间,我在网上看到有同行通过给小蚁摄像头刷固件,开启了小蚁摄像头的RTSP、FTP、SSH等服务。于是灵机一动,能不能通过刷固件开启SSH和FTP,然后将编译好的tcp客户端通过FTP扔到摄像头里,再通过SSH远程登录,将TCP客户端程序设置为开机自启动,这样就实现了摄像头向服务器主动传输了。
一、YI-DOME重刷固件
直接上github链接
https://github.com/TheCrypt0/yi-hack-v4
不想仔细看github操作说明的可以直接看下面:
- 点击https://github.com/TheCrypt0/yi-hack-v4/releases下载yi_hack_v4_v0.2.0_yi_dome.zip文件;
- 将文件解压,注意两个文件都是没有后缀名的;
- 将摄像头自带的内存卡中的数据删除,或者以FAT32格式格式化,一定要是该格式,然后将解压得到的两个文件拷贝到sd卡根目录下;
- 接通摄像头电源(不带内存卡),长按reset复位,听到复位成功语音提示后关闭电源,将内存卡插入,接通电源,等待10s左右,摄像头指示灯变成常亮黄灯,说明正在刷写固件。等待30秒左右,出现语音提示“Welcome to YI-Home”,即可按照正版固件方式,通过扫描二维码进行连接;
- WiFi连接成功后,通过登录路由器查询,或者通过小蚁摄像机APP查询摄像头内网ip。在浏览器地址栏输入该ip进入摄像机配置主页,通过配置主页开启SSH、FTP服务,点击reboot,重启摄像头;
- 下载xshell6 和 xftp6
- 摄像头默认用户为root,默认密码为空,通过ssh登录后,使用passwd修改root密码
到此为止,摄像头固件重刷成功。
二、TCP客户端
1.交叉编译
2.客户端源码
三、自启设置
- 通过FTP将编译好的程序扔到/home/app文件夹下
- 通过ssh登录到摄像头
-
cd /home/app
通过以上命令,切换到/home/app路径
-
chmod 777 filename
通过以上命令将程序权限设置为全开放,filename就是你程序的名字
-
cd /etc/init.d vi rcS
编辑rcS文件
-
cd /home/app ./filename &
在rcS最后一行加入以上代码,&表示后台运行,一定要加上
四、服务器
这里我用的是LabVIEW实现的,其他语言都可以。但是一定要将读取到的字符串强制转换成二进制写入,不然生成的mp4文件无法打开。
总结