SEM: Smart Environment Monitoring
SEM: Smart Environment Monitoring system is an Arduino and web based (PHP) system that monitors, records and analyses environmental metrics both inside and outside (using external service) of the room that the Arduino device is located in.
- Download or clone this repository.
- Setup a MySQL database using the sem.sql file in the SQL folder.
- Change the settings in the db.php file in the web folder to connect to your MySQl server.
- Upload all the files in the Web folder to your server.
- Setup a cronjob to run the offinecheck.php file every 15 minutes it checks if the device is online and if not it sends an email.
- The weather information is provided by developer.forecast.io and this service requires a unique api key which can be acquired br registering here (developer.forecast.io). The system allows a 1000 free api calls per api per day but the SEM system only uses roughly 470 api calls per day so this service should be free.
- Login to your system using the default username (admin) and password (admin).
- Go to the settings page (click your username in the top right hand corner and click settings) on this page you need to setup the email reports and external weather settings.
- Build the circuit that is shown in the Schematics folder with an Arduino Yún. This project uses an Arduino Yún because of its onboard wifi which makes it very portable but the code can be modified to use and Arduino Uno or Mega with an Ethernet or wifi shield.
- Change the url on line 80 of the Arduino code in the Arduino folder to the location of your arduino.php file.
- Upload the Arduino code to the Arduino.
That should be it but if you run into any problems just send me an email.
The web system interface is based on this template sb admin from Startbootstrap.com/template-overviews/sb-admin.
The web system uses font awesome from Fontawesome.io.
The original weather icons are from Customicondesign.deviantart.com/art/Beautiful-Weather-Icon-Set-208760113.
Forecast.io weather php libray from Github.com/tobias-redmann/forecast.io-php-api.
Arduino Lux mesurement using an LDR and an Arduino from Arduinodiy.wordpress.com/2013/11/03/measuring-light-with-an-arduino.
Basic PHP mail script from Online-code-generator.com/html-email-starter-script.php.
Copyright (c) 2015 Conor Walsh
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.