At first, I wanted to use my actual Windows 10 Phone and Windows Virtual Shields to setup the video and audio connection to my Windows 10 PC. But this was to hard to realize for a beginner like me as I would have needed to write at least some apps for Windows 10 mobile and PC right from the scratch.
Thus, I decided to use my old Android cellphone and I have found all the apps I needed for my project in the Playstore, and there are more than one available of each kind. The only task to develop which was left to me was to invent the remote control for my device and the screen to display my own picture at the door. (I need this display because my old cellphone does not have a front camera and I have picked to use a security cam / babyphone app which does not provide a video stream back to the cellphone anyways.)
Video Doorphone in Action
Please, have a look how it works:
Materials used and where to get them
Arduino / Genuino MKR1000 (won as a contest prize)
Recycle ware: (use what you have or search for used staff in the internet)
Android cellphone from Samsung GT-S5830i
Three cellphone power supplies (5V)
USB extension cable
Connector fitting to 5V power supply plug from Windows 5 mobile phone
Power plug for Arduino Uno
Setup the breadboard with the MKR1000 and put all the above mentioned parts together as shown in the pictures:
The Uno R3 is flashed with the code necessary to display my picture stored on SD card sitting in the SD card reader which is a part of the screen shield plugged on top of the Uno. I have connected the power supply for the Uno to the right relay module as shown here:
The kathode line to the Arduino Uno power plug is switched by the relay while the anode line is plugged into a 5V connector from the Arduino board. The other relay module will switch the power supply to the Android cellphone as follows:
I have partly cut open this USB extension cable to switch the anode line by the relay (as the power to the cellphone is supplied by a generic USB cable).
Finally, the MKR1000 is flashed by a proper code to switch the relay modules and assembled as shown:
As you can see, I am using only 5 connectors from MKR1000: the top right one which is port 6, the one at number 49 which is port 11 and the three power connectors: 5V at number 41, 3.3V at number 43 (VCC) and the ground connector (at 44). These lines are connected to the relais modules as shown here:
From left to right: 5V, 3.3V at the left connector and ground, port 6 (IN1), port 11 (IN2) at the right connector.
If you are content to use Windows Remote Arduino you do not need to write any code at all for the MKR1000. Just flash the StandardFirmata example from the Arduino IDE to switch by USB or the StandardFirmataWiFi example to switch by network! Using StandardFirmata, every possible output from the MKR1000 may be used to switch something while using StandardFirmataWiFi the ports 5, 7, 8, 9 and 10 will not work. Therefore, I have chosen to use ports 6 and 11.
Much more comfortable and nicer to use is a webserver for switching. I have edited the IDE example WiFiWebServer from folder WiFi101. You may download the changed code here: https://github.com/kds678/Video-Doorphone/tree/master. At this address, I have also provided the code to display your picture on the UNO with TFT shield. Just save your own picture with 320 x 240 pixels and 24 bit to the SD card root as webcam.bmp and change line 85 in doorpic2.ino according to your needs (e.g. I setup my picture like I have done in the sketch to display it centered as it was 24 pixels smaller than the screen).
Conversation between the doorphone and your computer/cellphone/tablet
There are many possibilities to choose from. Just pick the securitycam or babyphone app from the Android Playstore which you like best. Usually, your cellphone will be serving the video and audio to your network and you may get these by a webbrowser/viewer running on the device you have chosen. If you are running a webserver for the remote control as well I recommend to use two different browsers. I have shown one solution in the video above.
A great idea would be to install a cellphone at the door which is capable to run Whatsapp or Skype. Using for example a Nokia Lumia 625 with Windows 10 would have the advantage that it automatically turns on when the power supply is connected. Thus it could be remotely switched on by the described remote control. It will also automatically shut down when the battery is almost drained. So, I would not need extra apps to perform these tasks like when I am using an Android doorphone.
It would also be worthwhile to implement notification to your actual cellphone which you are taking with you (e.g. by Blynk as shown by another contest participant) so you could perform a call to your doorphone and talk to the person who is just ringing your bell, even by a videocall.
To prevent stealing of the installed smartphone at the door one could use Azure IOT Hub to get a permanent record of safety cam pictures from the doorphone camera.