Designed by Joppe Koers in september 2022
This project is a video doorbell system that shows users who is at the front door and allows them to open it.
This system consists of a touchscreen computer that runs headless
Debianwith a=xinitwindow manager, that runs aC++17application with a frontend inImGuiwith aOpenCV3backend.
When the user selects a name to call the C++ application calls adockercontainer that runs aasteriskSIPserver, and uses asterisk'soriginatecommand to make the front door cameraAXIS A8105-Ecall a the selected client'sIP video phonemodel:Fanvil_I53W
This happens over a local network that is not connected to the outside internet Thetouchscreen computerruns aDHCPserver that manages the local network's IP addresses, and assigns astatic IPto itself.
A user can also call a second SIP camera in the hallway powered by aRaspberry Pi 3that runs alinphoneSIP client.
The system also supportscalling between usersSeedoc/notes.mdfor more information.
- Connect a computer to the
PoE switch - ssh into the
touchscreen computer:ssh root@192.168.2.18 - Edit the occupants config file:
nano /root/video-doorbell/app/occupants.confSee/root/video-doorbell/app/occupants.example.conffor how to configure it - Run
/root/video-doorbell/production.shto load the config file, watch the output, it will tell you if you've not formatted the file correctly - Validate that the app has started correctly by making a test call
- ssh into the
touchscreen computeras described above - run
asterisk -rx 'sip show peers'
Why these components? Because they had already been bought, so I might as well use them.
This project uses names like indoor Station throughout, this is a list of what those devices are referring to.
- FABS-810P/G(H)
touchscreen computer - AXIS A8105-E network video door station /
front door camera - AXIS A8105-E network video door station /
hallway camera - Raspberry Pi 2B linphone camera /
rpi camera - Fanvil_I53W ip phone /
indoor station - HP 2520-24-PoE 28 port managed
network switch