Introduction: Automatic Video Conference for Grandma With Raspberry Pi
I am worried about my 90-year-old grandmother because even she should stay at home during COVID epidemic, she is continually getting out, doing "essential" things on the street, like buying some lottery tickets, talking with neighbours. I think this is not the right time for her to going out. One of the main reasons why she is leaving home is that she needs more interaction with people. She is afraid of new technical stuff, like mobile phones, which is why I decided to put together a Raspberry Pi-based video conferencing unit that she does not have to touch at all. There is no turning on / off, no starting of any calls. I wrote this instruction about how I put together this unit to help anyone who has to take care of senior people.
Step 1: Build the Unit
Just collect all component and connect them as on the schematic.
TPA3116D2 2.0 Digital amplifier Board 50w https://www.aliexpress.com/item/32893287005.html
Raspberry Pi 3 B+ Power Supply 5V 3A https://www.aliexpress.com/item/32897897007.html
Raspberry Pi 3 Model B + Plus Heat Sink https://www.aliexpress.com/item/32897897007.html
Raspberry Pi 3 Model B+ https://www.aliexpress.com/item/32897897007.html
Raspberry Pi Camera https://www.aliexpress.com/item/32897897007.html
Micro SD 32 GB Card https://www.aliexpress.com/item/32897897007.html
USB Sound Card https://www.aliexpress.com/item/32897897007.html
Monitor It was my old monitor. Any monitor can do.
Speaker It was my old speaker. Any speaker can do.
HDMI to VGA Adapter https://www.aliexpress.com/item/32897897007.html
Ethernet Cable https://www.aliexpress.com/item/32897897007.html
Headset used as a microphone It was my old headset, any microphone can do
The total material cost of the project: 67 USD
I printed this Raspberry Pi housing:
https://www.thingiverse.com/thing:922740
For the amplifier, I designed and printed an encloser.
https://www.thingiverse.com/thing:4298257
It was simple to print, and I was able to fix it to the speaker with screws.
I had to modify my headset, to use their microphone part. The jack connector was modified according to the picture.
Step 2: Install Rasbian
Here is the step by step instruction with screenshots:
1. Download SDFormatter from here:
https://www.sdcard.org/downloads/formatter/eula_wi...
2. Extract the zip and install SDFormatter
3. Insert MicroSD card to the PC. I used a USB adapter
4. Run SDFormatter and format MicroSD card
5. Download Raspberry imager and install it: https://www.raspberrypi.org/downloads/
Step 3: Setup Wifi, Enable SSH, Turn on Raspberry
7. Create wpa_supplicant.conf file with NotePad+ (https://notepad-plus-plus.org/downloads/).
7.a. Change Text coding Edit->EOL->Linux
7.b. Add this into the file and change wifi SSID and password(psk) according to your Wifi credential.
ccountry=us
update_config=1
ctrl_interface=/var/run/wpa_supplicant
network={
scan_ssid=1
ssid="MyNetworkSSID"
psk="Pa55w0rd1234"
}
7.c. Copy Create wpa_supplicant.conf file to SD card root directory.
- Enable remote access (SSH): Create new empty ssh.txt file at the root directory of the SD card.
- Insert the SD card into your Pi and connect the power supply.
Step 4: Router Configuration
8. Find out the IP address of the Raspberry Pi from your router: Start a browser and enter into your router admin interface. It usually: http://192.168.0.1/. At Basic menu->DHCPsubmenu DHCP list you will find a new device. The Expires time is the highest because it started recently. In my case 192.168.0.16
9. Set fix IP address for your Raspberry Pi at the router: In DHCP submenu at the DHCP Reservation Lease Infos the IP address of the PasbarryPI should be added. In my case, 192.168.0.16. This setting makes possible that this fix IP address will be only available for this specific unit in your network.
10. Do port forwarding to allow remote desktop (VNC connection). Go to Advanced->Forwarding Set Local IP to your PasbarryPI (192.168.0.16) and ports to 5900. Protocol: TCP. This port forwarding will allow you to reach your Raspberry from anywhere from the internet.
Step 5: Raspberry First Connection
11. Use a terminal program like Putty (https://www.putty.org/) Enter the IP address.
Default port 22. Connection type SSH and connect. It will open a textbase terminal.
12. Enter login: pi and password: raspberry. Default login for Raspberry.
13. Get updates from rasbarry.org with this command:
- sudo apt-get update
14. Upgrade to take effect of all updates.
- sudo apt-get upgrade
When they ask the following. type: “Y”
“After this operation, 4,250 kB of additional disk space will be used.
Do you want to continue? [Y/n]” Y
15. Setup Remote desktop. For remote controlling the Raspberry Pi, I choose RealVNC program. Install the RealVNC program to have remote desktop. Type in the terminal:
- sudo apt install RealVNC-vnc-server realvnc-vnc-viewer
16. Enabling VNC Server. Enter raspberry config menu. Type:
- sudo raspi-config
16.a. 5. Interfacing Options->
16.b. P3 VNC->
16.c. Would you like the VNC Server to be enabled? Yes
Additional Note: Change password. At raspberry config menu, there is the possibility to change the default password and user name.
16.d. 1. Change User Password->
16.e. OK->
16.f. Type two times the password->
16.g. Finish
Step 6: NoIP Service Setup
17. Make your unit available on the internet. The problem with the internet provider is that sometimes the router gets a new IP address. I needed a service which makes my Raspberry always available on the same IP address. The NOIP service was ideal for me. It is free and easy to install on Raspberry. Visit NoIp website and sign up and create your domain: https://www.noip.com/, i.e., vidoeconfforgrandma.hopto.org.
18. Back to the SSH terminal. Let us install NoIp software for Raspberry. After each entry, you should press “Enter”. Create a folder for NoIp.Type:
- mkdir /home/pi/noip
- cd /home/pi/noip
Download the program:
- wget https://www.noip.com/client/linux/noip-duc-linux....
- tar vzxf noip-duc-linux.tar.gz
- cd noip-2.1.9-1
Install it:
- sudo make
- sudo make install
After typing “sudo make install” you will be prompted to log in with your No-IP account username and password.
Answer the questions to proceed. When asked how often you want the update to happen, you must choose 5 or more. The interval is listed in minutes. If you choose 5, the update interval will be 5 minutes. If you choose 30, the interval will be 30 minutes.
Start the NoIP program:
- sudo /usr/local/bin/noip2
Check if the NoIP service is working properly. If it shows the IP address and your account, and it is active, you made it.
- sudo noip2 -S
19. Make NoIP program starts when the Raspberry starts up. To start No-IP client at boot, edit crontab:
- crontab -e
add new line:
- @reboot sudo -u root noip2
You can close the file (CTRL+X...) and save changes (...press "y" and Enter).
20. Reboot Raspberry to check everything is working correctly
- sudo reboot
Check NoIp still running
- sudo noip2 -S
Step 7: Remote Desktop With VNC
21. Download and install RealVNC Viewer client for Windows https://www.realvnc.com/en/connect/download/viewer/
22. start RealVNC Viewer on your Windows PC. From now own the desktop of the Raspberry is remotely controlled.
23. At the first login, there will be different questions. Like localisation, password, network, software update. Answer these questions as you like. I recommend that the password and network configuration should remain as it was set before.
24. The installation is complete. Reboot the raspberry pi
Step 8: Use the System
25. The video call starts with clicking the icon of the RealVNC Viewer software on your local PC.
26. You should log into Grandma's Raspberry. i.e., vidoeconfforgrandma.hopto.org. Password can be stored in RealVNC viewer authentication should be done only at the first login.
27. When you are in, run chromium and create a videoconference link for the Jitsi video app. Like:
https://meet.jit.si/vidoeconfforgrandma
If you want to use the same videoconference room, you should add the link to your bookmark.
28. Log out from RealVNC and start Jitsi on your local PC with the same link.
29. The connection is established. Talk with your Grandma, as long as you can.
30. After the conversation, do not forget to log in again with RealVNC viewer and close the chromium.
Step 9: Final Remarks
Setup the complete system at your home first and let the system run for a few days. Then you are ready to install it at Grandma flat. I do not want to spend a long time at my Granma flat for safety reason, so I pre-installed everything before I left my home, and only the router configuration was done at grandma house. The installation took me approximately 10 minutes. Just placed the rig at a desk, plugged to 230VAC and connected the router. I used my laptop to make the router configuration.
My Grandma was pleased. There are some technical issues with the internet provider and local speaker not always working. I know that opening a port at the router and using VNC, not the safest thing to do regarding internet security, but I had no safer idea. I changed RaspberryPI login name and password to a very difficult one, and this Raspberry contains no sensitive information; if someone is taking over this unit, and will start acting strangely, I showed to my Grandma how to power off the whole thing with a big red switch, and I have a copy of the whole system, so recovering will take only a few minutes.
Additionally, I was able to play with the help of remote desktop to my Grandma old videos about family unions. These videos helped a lot too.
One more thing
During the whole installation, I used a face mask to protect my self and my grandma.
The Portwest FFP2 face mask I use has a bit of a problem because it has a valve on it and therefore it protects only the wearer. The wearer of the face mask can infect others with the exhaled air. That is why I designed an additional part that can be used to press a filter sheet onto the exhalation valve. Thus, the exhaled air will also be filtered. I have been testing it for a while now; it makes it a little harder to exhale and to do disinfection of the mask it a bit difficult, but it can be used.
https://www.thingiverse.com/thing:4294357
After using the face mask, I use sprayed ethanol to disinfect the mask. As long the ethanol evaporates, I need a place to prevent any contact between the face mask and the environment. For this purpose, I designed a temporary hook attachable to any shelf or desk. I hope this epidemic will stay only for a few months so I do not want to use ordinary wall hooks which will damage the furniture. So, the shelf hook is fixed temporarily with an M6 screw to the shelf. The mask is hanging on a long M6 screw attached to the printed platform. The M6 can be installed vertically or horizontally.
https://www.thingiverse.com/thing:4296362
I used the following instructions to complete my project. Thanks to the authors:
https://www.instructables.com/id/Video-Calling-on-...
https://www.raspberrypi-spy.co.uk/2017/04/manually...
https://www.raspberrypi.org/documentation/remote-a...