Introduction: LightsWentOutAlert: a Very Simple Intel Edison Project to Be Alerted If a Blackout Happens.
Have you any important hardware equipment at home or at your office that need to remain under constant connection to the power supply networks? For example, fridge or servers, etc... But you need to leave them alone, to go away for vacations or other duties?
This extremely simple project show you how to build by yourself a cheap system to check the status of the power network, allerting you if the "Lights Went Out" sending an SMS to your mobile phone, saying something like "Ehi, the lost power here!".
For this porpuse we used an Intel Edison development board as basis for the project, plus other hardware equipment showed later in this instructions.
Step 1: Components List You'll Need to Replicate This Project
nr. 1 PC with installed the Arduino IDE 1.6.11+ (from arduino.cc);
nr. 1 Intel Edison development Board with the Arduino Breakout Board;
nr. 1 Geetech GSM/GPRS Arduino Shield v2.0 (or compatible);
nr. 2 1K ohm resistors;
nr. 1 Lithium batteries - PEB 903535 (+3.7V 1100mAh);
nr. 1 TP4056 Lithium Cell Charger Module with Battery Protection (03962A)
nr. 1 proto board;
nr. 1 Zener Diode 3.7V.
In addition: a soldering station and tin.
Step 2: How to Assemble the Components
You'll need to assemble and solder together the components how showed in the attached diagram.
Step 3: The Arduino IDE Sketch
Attached you can find the Sketch in .ino extension to load directly into the Arduino IDE.
Please Note: the MCU on the Intel Edison board does not incorporate also a storage to save locally the sketch. So, if you'll probably will loose it when you detach the cable that connects the Intel Edison Board with the PC running the Arduino IDE. To avoid this, you'll need to save the generate binary (saved on the board under the patch /sketch/sketch.elf) into another location in the Edison's disk. Then, set the Yocto linux system to run it after the boot with the command line "./sketch.elf -v &".
Note 2: please note, also, that x86-based boards do not provide SoftwareSerial.h support, but only serial based on hardware. The attached sketch has been modify to comply this behaviour.
Note 3: to allow the sketch to automatically turn on the SIM900 modem module, you'll need to solder the JP jumper on the Geeetech GSM/GPRS Arduino Module as described in http://www.geeetech.com/wiki/index.php/GPRS_Shield_V2.0
Step 4: Testing...
To test the equipment you'll need to cause a fake blackout disconnecting the micro-usb power supply from the TP4056 Lithium Cell Charger Module as shown in the attached video (sorry for the very low quality).
After this operation the voltage measured at the Analog GPIO PIN A0 will drop, causing the function SensSMS() to be invoked.
Step 5: Further Implementations...
Thanks to Intel Edison capabilities we can add on-cloud features: for example, monitoring the number of blackout or of the reboot happened, and measuring the voltage at the analog GPIO PIN A0.
For this purpose we could use Wyliodrin service or similar alternatives.
Finally, another opportunity of implementation could consist in controlling the Edison module directly through the GPRS capabilities of the Geetech GSM/GPRS Arduino Shield Module v.2.0
Further info (es. SubmitHttpRequest, etc...) could be found at the Geetech Wiki page at http://www.geeetech.com/wiki/index.php/Arduino_GPRS_Shield#Step_1:_Creating_a_test_setup_for_the_GPRS_Shield