This project is for Intel Roadshow.
We decided to make a little improvement for a traditional damp-proof case. A traditional damp-proof case, you can't get any information about how is going on inside. Such as does it need a desiccant replacement. So we make a solution improve it then everyone can implement it themselves.
Every element is done by Grove starter kit and Intel Edison.
(Hall sensor, temperature sensor, humidity sensor were bought additionally)
Step 1: Planning Phase
We will separate this project into three part.
The first one is Intel Edison itself. It will be used to collecting input signals from different sensors. We have hall sensor, humidity sensor, and temperature sensor. And it will also need to output some immediate measurement to LCD, door alarm signal to a buzzer, and upload data to our server automatically.
The second part is Parse server. We using the open source Parse server cloning on Github. It will need the ability to store all the data and communicate between Intel Edison and our APP. When Intel Edison transmit a warning signal. It will need to deliver a notification to APP.
The third part is APP. It can connect to our Parse server and make a chart so users can easily handle all the situation about the damp-proof case.And it has a button to let users unlock the case by sending a signal through our server.
Step 2: Intel Edison and Sensors (I/O Interface)
Hall sensor is for the usage of checking the door state.
If the door opened accidentally (open without unlocking it) or opened too long, forgetting to close it. It will trigger the buzzer to warn the user. And the humidity sensor is worked with the temperature sensor. The temperature sensor is used to calculate the resistance so the humidity sensor can get the correct measurement. And the LCD screen will show the humidity measurement immediately, and turn red when the value is too high ( normal status is green )
Hall sensor output a simple digital signal (0 & 1). So you can use GPIO to collect it. (It can simply implement by using MRAA library) And the humidity sensor and the temperature sensor need to use Analog I/O instead. Buzzer needs to use PWM for a different pitch you want. LCD screen controlled by I2C. There is UPM library you can use.
The most difficult part is to push data to our database.
You can use CURL library to push JSON format information with REST HTTP request.
Step 3: Parse Server With MongoDB
In this step, you will need to clone Parse server code from Github.
And you will also need to download mongoDB for your own computer. (Or you can use any free online Database such as mlab) There is something needed to configure. But you can easily finish it by following the instruction on Github page and Google. I recommend that you can clone Parser dashboard too. It will let you manage data more easily.
Step 4: Android Application
We designed an Android Application which can show humidity data with chart and send a unlock signal to our server.
You can use MPAndroidChart library to show your data. And you can gain your data by using Parse API.
(There is lots of documentation about how to use Parse API on their official website)