Custom IP Camera for Monitoring Pets Remotely
Leaving pets at home alone can be stressful for pet owners. But in-home pet cameras solve this problem. No wonder there are so many of them on the market. To build one, you need both software and hardware development teams.
A startup that was looking to develop a pet monitoring camera had a software development team in-house ready to implement the solution for pet owners. But they needed a strong hardware development partner to be able to handle the low-level requirements. They found Integra Sources.
We provided PCB design and developed a custom embedded Linux distribution build for the device installed at home for pet monitoring. We also developed a camera module that enables real-time video streaming via a mobile application.
Scope of work
Embedded hardware development. We provided a circuit design for the pet monitoring device based on the Allwinner A20 microprocessor.
- Schematics design
- PCB design
- Generation files for manufacturer
- Ordering the components and PCB manufacturing
- Prototyping assembly
- Hardware testing
Kernel and driver development. We developed custom Linux distro and configured the system to reduce the boot time to less than five seconds.
Embedded software development for the camera module. We developed a video streaming service that enables 1080p at 30fps H.264 video stream. This service receives frames from the camera module, which is based on the OmniVision OV5640 image sensor. The camera is attached to a board, which encodes the information using H264 hardware codec, then streams videos over RTSP (Real Time Streaming Protocol) via Wi-Fi.
In addition, we built an app for Android to test video streaming through network address translation (NAT). We configured NAT to allow a router to act as an agent between the public network and a private network, thus reducing the usage of IP addresses.
- We used Allwinner A20 SoC with 2 ARM cores as CPU in this project.
- We built a custom Linux image for the device.
- The device firmware was stored on an onboard NAND flash.
- CMOS sensor (camera) with CSI bus was used.
- The device was able to stream 1080p at 30fps H.264 encoded video.
- We used the H.264 hardware codec for video encoding.
- The device has an onboard WiFi module for networking.
- NAT traversal functionalities were implemented.
- All software was implemented in C/C++ language.
- Altium Designer IDE was used for Schematics and PCB design.
How it works
- A user installs the camera at home and connects it to the in-home WiFi network.
- Once installed, the user connects to the camera using a mobile app.
- To monitor the pet, all a user has to do is open the app and stream the video. Video streaming is available regardless of the user's physical location.
- Video quality Since the size of the device is rather small, it was pretty challenging to meet the requirements for the quality of the video. We minimized the size of the video to achieve full HD, 30fps, using h.264 video compression.
- Power consumption We configured Linux to reduce power consumption so the device could use a rechargeable battery as a power source once the network connection is lost.
The final device is an IP camera similar to PetCube with real-time video and a built-in laser pointer. The main purpose of the camera is to watch if a pet is playing nicely while the owner is away. The pet owners can watch, talk to, and play with their pets using a mobile app.
You might also like...
A Virtual Camera Driver for Using One Webcam in Multiple Applications Simultaneously
The virtual camera is similar to ManyCam. It allows people to use their webcams on various applications whilst simultaneously live streaming or using video chat
A Control Panel for IoT-Based Smart Home Automation System
The project consisted of hardware development for three PCBs, custom Linux image development, and driver development for different modules of the smart home system