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
Debian
with a=xinit
window manager, that runs aC++17
application with a frontend inImGui
with aOpenCV3
backend.
When the user selects a name to call the C++ application calls adocker
container that runs aasterisk
SIP
server, and uses asterisk'soriginate
command to make the front door cameraAXIS A8105-E
call a the selected client'sIP video phone
model:Fanvil_I53W
This happens over a local network that is not connected to the outside internet Thetouchscreen computer
runs aDHCP
server that manages the local network's IP addresses, and assigns astatic IP
to itself.
A user can also call a second SIP camera in the hallway powered by aRaspberry Pi 3
that runs alinphone
SIP client.
The system also supportscalling between users
Seedoc/notes.md
for more information.
- Connect a computer to the
PoE switch
- ssh into the
touchscreen computer
:ssh [email protected]
- Edit the occupants config file:
nano /root/video-doorbell/app/occupants.conf
See/root/video-doorbell/app/occupants.example.conf
for how to configure it - Run
/root/video-doorbell/production.sh
to 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 computer
as 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