We have used Raspberry Pies as our sensors hubs due to a simple set up and a large number of GPIO pins which are used to connect sensors.
Each raspberry pi is communicating with the backend to upload the data and receiving instructions. As for the backend, we have used Django.
It was used to create the API and to set up the database. For the frontend, we used ReactJS and both ReactJS and Django were hosted in an Azure
Virtual Machine. The learning algorithms were integrated into the Django application.
Hardware
For the sensor hubs we are using a number of Raspberry Pi's with each one of them having a temperature, humidity and light sensor. Such devices support Internet connectivity and by using a wireless network card, the communication between the sensor hubs and the dashboard is done wirelessly. Below you can see the actual Raspberry Pi setup and the circuit diagram that is used in the project.
Usability of Hardware (Design and Concept)
This section includes research on the Usability of Hardware (Design and Concept) which is one of our MoScoW requirements.
The network of sensor hubs is of a large importance in the project. As our requirement for the project was to produce a proof of concept, after extensive research we decided to use a number of Raspberry Pi's as our sensor hubs. Although the capabilities of Raspberry Pi's suited us well for the demand of this project there are better and more hospital-friendly devices to use as sensor hubs. Below two solutions to this problem are documented, the first one considers using Wireless Sensor Hubs and the second one using considers using a case for the Raspberry Pi.
Using Wireless Sensor Hubs
Wireless Sensor Hubs wirelessly transmit sensor data, have a large number of digital ports allowing the monitoring of a variety of environmental conditions. Advantages of using Wireless Sensor Hubs over Raspberry Pi's are outlined below:
• Easier Maintenance and Installment
Wireless Sensor Hubs can be easily installed, all you need to do is attach the sensors wanted to the digital ports. In contrast to Raspberry Pi's, which have a lot of cabling, the addition and maintenance of new sensors is quite trivial. In contrast Wireless Sensor Hubs, don't involve much cabling and it is much less time consuming and uncomplicated to add new sensors.
• Cleaniness and Sensor-Data Accuracy
As Raspberry Pi's involve a lot of cabling, they easily collect dust making it very hard to clean them. Moreoever, if a sensor gets covered with dirt it might produce unrelaible measurements, and since our system works autonomously, there is a potential liability that the system will alert doctors unreasonably.
In contrast, Wireless Sensor Hubs dont collect dust, and so they are much easier to clean and produce accurate results.
Using a case
As mentioned before, Raspberry Pi's get easily covered with dirt and this might also affect the value of the sensor values that are collected and so send unreliable and not precise values to our Back-end. This is an issue that can be solved by using a case that shields the Raspberry Pi. Such case also needs to make the addition and removal of sensors uncomplicated. A particular case that solves such problems is outlined below, which helps you transport the breadboard project easily and makes wiring up electronics easier.
Entity Relationship Diagram
Design Patterns
Front-end:
• States
• Propts
• BootStrap
Back-end:
• RESTful API
• Model-View-Controller (MVC)
Implementation of Key Functionalities
Below you can see a number of screenshots and a short video demonstrating the key functionalities of our software system.
Login
 
Login menu used to get access to the dashboard. A sure that doesn't have the required credentials can also sign up to use the system.
 
Graph Design
 
Number of graphs displaying sensor data. The user has the option to select the colour of each graph.
 
Overview of a surgery
 
Overview of a specific surgery including all the requiment information (Doctor, Patient, Room, Rating etc) where the user can get an insight of how the procedure went in general.
 
Starting an event for a specific patient
 
Dialog box used for starting an event for a patient in a specific room.
 
List of archived data
 
Displaying data about past surgeries. The user has the option to search for a given operation, view its overview using the dashboard and download it in an xml form.
 
Voice Recognition
 
Using text-to-speech and speech-to-text to get informed about sensor data in every room as well as be warned from the system if something in a surgery doesn't go as expected.