Using Sensor Modules powered by Arduino Nano, this system will sample parameters like temperature, humidity and air quality and transfer it wireless to a Control Unit powered by Raspberry Pi 3 B+ with a 3.5 inch touch-screen running a Graphic User Interface. This data will be available through a Restful API supported by AWS.
- Live sensor data displayed in the Control Unit through GUI.
- Data available in Restful API.
- Programmable notifications.
- SH-HC-10: BLE module for wireless communication between Sensor Modules and Control Unit (Raspberry Pi).
- Arduino Nano: powers the Sensor Modules.
- Raspberry Pi 3 B+: powers the Control Unit where the data processing and main features are implemented.
3DModel: Contains files related to the 3D print of a case for the sensor modules where we will place the Arduino Nano board, sensors, etc.
AWS: Contains all documentation for the AWS architecture used around the Restful API and the AWS Lambda functions code.
BLEcomms: Contains the code for the initial communication. It has a basic Arduino code to send AT commands to the HC-10 module and the commands to connect and read to it from the Terminal in the Raspberry Pi.
Documentation: Contains files with resources that will be used to properly document the project and build a comprehensive User Manual at the end of the project.
Graphic User Interface: Contains the files related to the design of the GUI.
Sensor module: Contains the Arduino code files.
SpringDemo: Contains all files and code that was used for the Demo at the end of Spring 2019 semester.
#Potential Dependencies: sudo apt install libcanberra-gtk-module libcanberra-gtk3-module sudo apt-get install --reinstall overlay-scrollbar-gtk2
Since we are using PyQt4 and other libraries in our GUI code, we need to run a few commands to make sure they are supported and the code does not fail.
sudo apt-get install python-qt4
pip install pygatt
pip install pexpect
In order to run "updateCode.sh", first we need to run:
sudo apt-get install xterm
First, vnc server must be installed on the Pi by running:
sudo apt-get install tightvncserver
Then we activate the server by running:
vncserver -nolisten tcp -nevershared -dontdisconnect :1
This command will prompt you for a password that you will need from the client side to connect.
Once this is setup, we can remote control the Pi screen from our own OS.