A comprehensive solution to develop an IoT application, which is based upon Mobile Apps and working with Raspberry Pi via web server services. This solution will include a mobile application for smartphones (includes iOS, Android, and Windows). These mobile apps are already completed.
In this project, for the Pi 3, the client needs a web interface that will include an admin panel to set up and configure the Pi 3, mobile user’s configuration with user authentication, and a security configuration page.
The purpose of this project is to use the Pi 3 to open/close door. The mobile device will communicate to the Pi 3 through a web server via WiFi and cellular connection. The web server will make the authentication verification before sending the request to Pi 3 and then Pi 3 will send the command to the door to open/close. And the door will act accordingly.
First, the admin will configure the Pi 3 with the webserver where the webserver will have all the authentication information to authenticate users and user requests. Once the Pi 3 setup is completed, the mobile app should be able to communicate with the webserver and each communication must be uniquely encrypted using a specific encryption algorithm. The web server will be able to communicate with the Pi 3 with mobile app request and each communication must be uniquely encrypted using a specific encryption algorithm.
The encryption process is extremely important and it is vital that the encryption implementation must be successfully done.
Although the mobile apps are completed, this project assumes that the developers will be responsible for all the APIs to implement the encryption and make sure the implementation works accurately with the mobile apps. They want us to work closely with the mobile app programmer to see that the encryption is implemented correctly and all the functions correctly work.
The application scope is built around multiple requirements. Those are as follows:
- Security architecture for mobile app and Raspberry Pi 3.
- Configuration of the cloud web server for this project (Apache tomcat 8.0.39, MySQL 5.7.17, SSH and SFTP capability, and Apache PHPMyAdmin).
- Implementation of system application to make the Raspberry Pi 3 work as a hub for other mobile devices to connect seamlessly via WiFi and in a secured manner.
- Mobile responsive website for the admin to configure the Pi 3.
- Web services for communication between Raspberry Pi 3 and mobile devices.
- System job to integrate auto camera capture capability.
- Real-time detection of the door and its closed and open state.
- Sustainable, maintainable, and commented code.
- Functional and system testing.
- Production deployment.
- Provide the encryption formula with code to secure the communication between the Pi 3 and mobile devices.
- Guide and help the mobile programmer to implement the encryption code in the mobile app so both the app and Pi 3 work seamlessly.
We have built a custom security camera video management system, which can convert a video into a series of snapshots and then stitch them together again for a time elapsed video.
We also have experience in developing IoT applications to leverage Raspberry Pi for sending commands to RPi, then to start/stop the camera along with sending a recorded feed to the C# application. We have worked on a number of IoT projects using RPi and Android. The project was to control a tethered drone by replaying its past flight. The GIS data was captured during flight and played back.
And for mobile data encryption, we have used RSA as well as the AES algorithm. However, we prefer RSA for its simplicity and ease of implementation.