This app has been tested only with camera version 202212011602 and only which use Chinese V720 APP and only in AP mode. See pictures of camera PCB below
Topic on 'home-assistant' forum: https://community.home-assistant.io/t/popular-a9-mini-wi-fi-camera-the-ha-challenge
To use this script, the camera should have inserted SD card. All data are reads from SD card.
Then, turn on the camera and attach to their Wifi-AP. AP name should(could) starts from prefix Nax
(as i suppose it means name of manufacturer: Naxclow) For example, i have: Nax_210000211234
Camera should give IP in range 192.168.169.100 / 255.255.255.0. After, you can try to connect with this script.
By default, camera has IP 192.168.169.1 and didn't have any Web-page to configure it. Camera can be configured only via mobile-application.
Also, camera networking could be configured from UART via ifconfig
and wifi
commands.
I would not recommend connecting camera to the internet, due to it downloads from Chinese server update package
-
List of all recorded videos inside camera:
python3 src/a9_naxclow.py -f
Arg
-f
could be replaced--filelist
Camera filenames have datetime format with full date/hour/minute information.
For example:
202301312016.avi
.But on SD card will be saved in different folders by date,
[date]/[hour]/[minute].avi
. (/20230131/20/16.avi) -
Downloading selected video file:
python3 src/a9_naxclow.py -d 20230131-20-16 -o out.avi
or
python3 src/a9_naxclow.py -d 202301312016 -o out.avi
Where syntax are: src/a9_naxclow.py -d [date-hour-minute] -o [output-file]
Arg
-d
could be replaced--download
and-o
to--output
Date/Hour/Minute could be taken from first command (ie
-f
) if -o arg is not provided, the script will save the file asout.avi
While downloading file from camera, recording is not going.
-
Live video stream:
python3 src/a9_naxclow.py -l -o live.avi -r -i
To write captured stream into file use also arg
-o
as it was in previous example.To enable IR view use arg
-i
or--irled
and to flip camera use arg-r
or--flip
There are no audio inside live record, but it could be succesfull captured and saved, check show_live() function in a9_live.py file
Audio stream has g711-alaw wav format
-
Connect to the existed WIFI AP:
python3 src/a9_naxclow.py --set-wifi SSID PWD
Where:
- SSID - yours WIFI AP ssid (ie name) - PWD - password
for example, connect to
mifi
access point with passwordmifimifi
python3 src/a9_naxclow.py --set-wifi mifi mifimifi
PWD (password) should be at least 8 chars length, but not more 36
After connecting to the AP, camera lost possibility to use this script. Camera will try to connect to Chinesse server (v720.naxclow.com) and try to work via it. For more details read fake_server.md
After camera has been attached, camera provide an IP via DHCP in 192.168.169.* network. Camera itself will have ip 192.168.169.1 and have only one opened TCP port - 6123.
Camera have mixed binary/json/xml protocol, where most of all commands sends in JSON. Check <src/prot_udp.py> (which works over TCP) <src/prot_json_udp.py>, etc
Disassmbled original app (V720) sources could be found in orig-app folder. Very very early version of a9 script could be found in a9_old.py
Found some manufacturer passwords inside UART logs
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@ <--- Here ssid from most powerful AP in range
Full logs could be found in docs dir. <docs/uart.log>
IP-camera has been built around BL7252 MCU. MCU SDK could be found at github as bdk_rtt (https://github.com/YangAlex66/bdk_rtt) (original link https://github.com/bekencorp/bdk_rtt seems to be dead now)
All photos in img folder
On aliexpress, could be found by name A9 V720 camera
and on 2023-01-31 costs 5.2 euro