throwaway147395
throwaway147395 on Hacker News
I've done this before with an old LG phone, and it seems that leaving the battery in the phone for camera purposes is a bad idea. It turns in to a spicy pillow within a year. I believe it's the heat - from getting cooked in the sun through the window, from the CPU working hard to encode MJPEG stream, and from the wireless radio constantly transmitting that stream, all while being held near maximum SOC..
So what I did this time around was remove the battery completely! I found an old 5V USB phone charger, say 1000mA output, and used a diode to drop the voltage to ~4.2V or so. Nothing out of the usual for a phone to see soldered on it's battery terminals.
Now this worked, but I found that certain high-load situations would cause the phone to power off. Solution was to add say 5000uF of electrolytic capacitors to the output of my new power supply.
With that added, setting Android to sync automatically via my NTP server with a command through the ADB shell, setting it to always connect to my IoT VLAN WiFi, and setting IP Webcam to start after boot, this solution has been working perfectly for quite some time!
It was a fun project too, and I got to reuse an old phone, and old charger I never would have used again, and some random capacitors that have been rolling around in a parts box for years. :)
Bonus: I control the camera's "night vision" mode via Home Assistant automations (turn on/off around sunset/rise) through the JSON API the app provides. This also provides some sensors like temperature, etc. The video stream is fed to ZoneMinder, which HA streams from. Motion detection in ZM triggers object detection via HA, and I get reliable notifications while I'm away!