This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
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.
Request
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.
Solution
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
- Debugging
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.
Technologies Used
- 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.
Challenges solved
- 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.
Result
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.
Boot time
Video quality
You might also like...
A Virtual Camera Driver for Using One Webcam in Many Apps Simultaneously
The virtual camera is similar to ManyCam. It allows using webcams on various apps whilst simultaneously live streaming or using a video chat.
LEARN MORE
A Control Panel for IoT-Based Smart Home Automation System
Within the scope of the project, the team developed three PCBs, a custom Linux image, and drivers for different modules of the smart home system.
LEARN MORE