A9 V720 Naxclow 摄像头
本应用仅在摄像头版本202212011602上测试过,并且仅适用于使用中文V720 APP的摄像头,且仅限AP模式。请参见下方摄像头PCB图片
'home-assistant'论坛上的相关主题:https://community.home-assistant.io/t/popular-a9-mini-wi-fi-camera-the-ha-challenge/230108
如何使用脚本及简要说明
首先,打开摄像头并连接到其Wi-Fi接入点。接入点名称应该(可能)以前缀"Nax"开头(我猜测这代表制造商名称:Naxclow)。例如,我的是:"Nax_210000211234"
摄像头应分配IP地址范围为192.168.169.100 / 255.255.255.0。之后,您可以尝试使用此脚本连接。
默认情况下,摄像头的IP地址为192.168.169.1,没有任何用于配置的网页。摄像头只能通过移动应用程序进行配置。
此外,摄像头的网络设置也可以通过UART使用"ifconfig"和"wifi"命令进行配置。
由于摄像头会从中国服务器下载更新包,我不建议将其连接到互联网
-
列出摄像头内所有录制的视频:
python3 src/a9_naxclow.py -f
参数"-f"可替换为"--filelist"
摄像头文件名采用日期时间格式,包含完整的日期/小时/分钟信息。
例如:"202301312016.avi"。
但在SD卡上会按日期保存在不同的文件夹中,"[日期]/[小时]/[分钟].avi"。(/20230131/20/16.avi)
-
下载选定的视频文件:
python3 src/a9_naxclow.py -d 20230131-20-16 -o out.avi
或
python3 src/a9_naxclow.py -d 202301312016 -o out.avi
语法为: src/a9_naxclow.py -d [日期-小时-分钟] -o [输出文件]
参数"-d"可替换为"--download","-o"可替换为"--output"
日期/小时/分钟可以从第一个命令(即"-f")中获取 如果未提供"-o"参数,脚本将把文件保存为"out.avi"
从摄像头下载文件时,录制会暂停。
-
实时视频流:
python3 src/a9_naxclow.py -l -o live.avi -r -i
要将捕获的流写入文件,请像前面的例子一样使用"-o"参数。
要启用红外视图,使用参数"-i"或"--irled";要翻转摄像头,使用参数"-r"或"--flip"
实时录制中没有音频,但可以成功捕获和保存,请查看a9_live.py文件中的show_live()函数
音频流采用g711-alaw wav格式
-
连接到现有的Wi-Fi接入点:
python3 src/a9_naxclow.py --set-wifi SSID PWD
其中:
- SSID - 您的Wi-Fi接入点的ssid(即名称) - PWD - 密码
例如,连接到密码为 mifimifi
的 mifi
接入点
python3 src/a9_naxclow.py --set-wifi mifi mifimifi
密码长度应至少为8个字符,但不超过36个字符
- 启动假服务器
python3 src/a9_naxclow.py -s
为了使"假服务器"正常工作,用户必须在自己的(家庭)路由器上进行DNS重定向 - 将域名 '*.naxclow.com'('v720.naxclow.com'、'v720.p2p.naxclow.com'、'p2p.v720.naxclow.com')重定向到自己的服务器IP
此外,服务器上必须安装任何MQTT代理,或者将 'p2p.v720.naxclow.com' 重定向到任何公共mqtt代理
有关其工作原理的详细信息可在fake_server.md中找到
完成此部分后,假服务器将启动Web服务器并监听摄像头传入的消息。
可用摄像头列表将在 http://[FAKE_SRV_IP]/dev/list
上可用(现在以json数组形式)
连接摄像头后,MJPEG视频流可在 http://[FAKE_SRV_IP]/dev/[CAM_ID]/live
上获取,快照可在 http://[FAKE_SRV_IP]/dev/[CAM_ID]/snapshot
上获取
在没有root权限的情况下打开tcp 80端口可能会出现问题,有两种方法可以避免:
- 以root身份运行服务器(即sudo)
- 允许非特权用户使用此端口
sudo sysctl -w net.ipv4.ip_unprivileged_port_start=80
- 确保系统中没有运行其他HTTP服务器
如果通过nginx代理启动假服务器,请使用 --proxy-port
参数更改假服务器的内部http端口
要将摄像头连接到Wi-Fi,可以使用 --set-wifi
参数。见上文
如果遇到任何问题,请尝试添加 -v (--verbose)
参数到工具中,这可能会有帮助。如果还是无法解决,请不要犹豫,在github上打开一个新的issue,并附上完整的日志
原始源码
反汇编的原始应用程序(V720)源代码可以在orig-app文件夹中找到。a9脚本的非常早期版本可以在a9_old.py中找到。
UART日志
在UART日志中发现了一些制造商密码
com.naxclow.Camera
[WLAN_easyfReadId - 136]-Debue: SET wifi = (NAXCLOW) (34974033A)
_wifi_easyjoin: ssid:NAXCLOW bssid:00:00:00:00:00:00 key:34974033A
_wifi_easyjoin: ssid:[ap0] bssid:00:00:00:00:00:00 key:1213aCBVDiop@ <--- 这里的ssid来自范围内信号最强的AP
完整的日志可以在docs目录中找到。<docs/uart.log>
摄像头照片
IP摄像头是基于BL7252 MCU构建的。MCU SDK可以在github上找到,名为bdk_rtt(https://github.com/YangAlex66/bdk_rtt)(原始链接 https://github.com/bekencorp/bdk_rtt 现在似乎已失效)
所有照片都在img文件夹中
在哪里购买这款摄像头
在速卖通上可以通过名称"A9 V720摄像头"找到,截至2023年1月31日,售价为5.2欧元。