YaCAM is a custom opensource firmware for Wyze cameras that use the Ingenic T20 chip. Currently it is tested with Wyze V2 and Wyze Pan cameras with 128MB memory. It may work on others, but it is untested. Use it at your own risk. The firmeware is based mainly on openmiko, but some ideas are from other places like DaFang Hacks / OpenFang / OpenIPC.
- Can provide rtsp and mjpg streams
- BusyBox http server for basic configuration
- AP mode for initial configuration of the WIFI connection
- Single config file
- Uses the same install process as the stock firmware (demo.bin). The camera can be reflashed to stock as long the major partitions are not erase where the assigned mac address and the wyze secutiry kays are stored.
- Provide OTA flash capabilities
The main difference that this project uses squashfs, overlayfs and jffs2. Things like micropython, lighthttpd etc are removed to save space and make it compatible with the original fimrware update metode.
This firmware is currenly tested on 10 Wyze V2 camerasrunning continously. It is still in development, daily use at your own risk!!!!
TBD
- Put the demo.bin file on an SD card with FAT file system (Suggestion to use a partition <1GB)
- Insert the SD card and power up the camera while holding the setup button (~30 seconds)
- Flashing takes arouns 1-2 minutes
- After 2 minutes search for the YACAM AP on your phone or tablet. The AP is YaCAM+MAC address of the WIFI chip. If nothing happens camera will autoreboot in ~5 minutes.
- When WIFI is connected go to 192.168.4.1 with the browser on the phone. You can use any URL as it is internally resolved to 192.168.4.1 and should open the WIFI config page
- Provide SSID and WPA password (None WPA PSK authetication is currently not supported, hidden SSID is uspported by the config but untested)
- After save the camera will reboot and connect to the WIFI
- Remove the SD Card before or during the reboot as otherwise it will be filled with log files.
- Connect to the camera at http://camera_IP:8080/?action=stream for the MJPEG stream
- Connect to the camera at http://camera_IP:8080/?action=snapshot for a snapshot picture
- Connect to the camera at rtsp://192.168.10.237:8554/video3_unicast with VLC for the rtsp stream Default username and password for the streams is yacam/yacam
- Connecting to the http (80) port of the camera to load the settings page
- Edit the yacam.conf file via ssh (default user root password root) for more options which are currently not supported on the web interface
- Change the default password via ssh. It will be saved and will survive firmware upgrades
- Change username and password or disable authentication in the yacam.conf file for the streams
TBD
- ssh into the camera
- delete the /config/overlay/etc/yacam.conf config file
- reboot
- Copy the default yacam.conf file to and SD card
- Insert the SD card to the camera and reboot it
- After reboot, remove the SD card and reboot it again
Set the CLEAR_CONFIG_PARTITION to 1 in the yacam config file on the SD card. This will erase all files on the JFFS2 partition, including the root password if changed!:
- Copy the default yacam.conf file to the SD card on your computer
- Add CLEAR_CONFIG_PARTITION=1 to the end
- Insert the SD card to the camera and reboot
- After the camera is rebooted, remove the SD card edit the yacam.conf file to remove the CLEAR_CONFIG_PARTITION=1 command
- Insert the SD card and reboot
- Remove the SD card and reboot the camera one more time
- Copy
Dockerfile.lbuild
toDockerfile
in the root directory of yacam - in the terminal in the yacam directory run make
- in a terminal run
docker compose up
to start the container yacam-builder-1 - In another terminal connect to the container with
docker exec -it yacam-builder-1 bash
- To build it first time run
/src/buildscripts/setup_buildroot.sh
from the container - If everything goes fine the result will be in the release directory
- For subsequent builds run
/src/buildscripts/build_buildroot.sh
TBD
Please open github issues
Pull requests are welcome. For fixes of code and documentation, please go ahead and submit a pull request.