Introduction: BLOCK RESOURCE OPTIMIZER
THE BACKGROUND :
California is facing a serious drought, now in its fourth year. Water reserves are shrinking quickly. The climate change and El Nino effect have upset rain and snowfall patterns reducing replenishment of natural reservoirs. Combine this with summer temperatures reaching new highs each year. This has forced unprecedented loads on our energy-grids. The California state administration made an unprecedented decision recently to impose mandatory resource-use restrictions. We believe individual California homeowners can proactively manage and optimizing resource consumption without crimping their lifestyle very much. The "Block Resource Monitor + Optimizer" is Team ArcInsight's proposal to achieve this using IoT capabilities provided by Intel's Edison Board and an array of smart sensors.
THE PROJECT :
A block of 14 single-family homes in my neighborhood will monitor and manage their water and energy consumption, as well as extend the Neighborhood Watch program to monitor child-safety and unsafe driving-behavior. The block is a single management unit ("Unit") for this method. Upon success of this simulated experiment, we plan to use city resources to educate and socialize our optimization strategy across the entire county.
The "Unit" has an array of sensors that monitor ground conditions, state of yard watering systems, as well as wireless data generated from from energy and water supply logging devices, combined with external data published by external agencies. The existing email network we created for our neighborhood watch can now be re-purposed for phone/text alerts relating to water waste, average energy & water consumption performance (benchmarking) and observations of vehicle movement, as well. The key to success of this project is an array of analytic insights about consumption patterns and neighborhood behaviors.
STEP 1: Laying Out the Simulated Block
For this project we'll need multiple Edison boards, Grove Starter Kits and Grove Environmental Kits. You'll use the Edison, shield, moisture sensor, RGB LCD screen and additional sensors. and other. As this is an outdoor deployment in the final form, this Instructable submission includes a visual-layout (simulated) environment in which the sensor array must operate.Excluded from the picture are pictures of the neighborhood block (for privacy), additional attachments used to fasten sensors, external wiring, lights and the computer to run the Intel IoT XDK. To complete the final array of sensors, we also require the following additional sensors (Note: Not all required sensors were available at submission time).
1. Additional Edison Kits : #Required for demo: 1 (to accommodate additional I/Os)
2. Base Shield V2 : #Required for demo: 2
3. Grove - Water Sensor : #Required for demo: 1
4. Grove - Moisture Sensor : #Required for demo: 1
5. Grove - Temperature&Humidity Sensor Pro : #Required for demo: 1
6. Grove - Sound Sensor : #Required for demo: 1
7. Weight Sensor (Load Cell) 0-10kg : #Required for demo: 2
8. Grove - Light Sensor(P) : #Required for demo: 1
9. Grove - PIR Motion Sensor : #Required for demo: 2 (Preferably one with a narrow angle lens)
10. Grove - IR Distance Interrupter (SEN09281P) :
11. Grove - Infrared Reflective Sensor (WLS07061P)
12. Grove - LCD RGB Backlight (811004001) : Optional
13. Grove - LED (COM04054P) : Optional
STEP 2: Setting up the Board, etc.
STEP 3: Plug the Edison into your computer and connect via serial. Start by installing the packages we'll need for this project: mail, text, Intel IoT Analytics cloud accounts and all the required drivers for managing the variety of sensors required here. iotkit-comm allows network-connected devices to conveniently discover and communicate with each other and the cloud. Other libraries we use are enableiot, mqttpubsub, zmqpubsub, zmqreqrep. The wifi setup was easy with the configure_edison --wifi command.
STEP 5: Build/Test Sensor Logic & I/O Sampling Sequences For The Simulation Unit. Upload Main Program To Edison.
Some data for optimization analysis are actually inputs from multiple sensors sampled in a timed sequence, and have to be managed by rules and stored together. We have created three control units to manage the entire system - (1) Water Conservation Monitor, (2) Energy Use Monitor and (3) Neighborhood Watch. The entire unit (in final form) requires 2-3 Edison Boards and several sensor types.
(At this time here are three sample inputs: A Grove Sound Sensor in Pin D8, Grove Piezo-Vibration Sensor at Pin D4, A Grove Light Sensor at Pin D5. There are two sample outputs. A Grove Blue-LED Indicator at Pin D2; A Grove Buzzer at pin D6. Details of the sensor logic design are excluded from this Instructable)
STEP 4: Setup IoT Analytics Dashboard & Alerting Rules/Actions (Text/Email/RGB LED Indication).
Simulate & test sensor logic by running each control unit sensor I/O data sampling code. The project implementation increases in complexity as it scales from a single unit to an entire 14-home Block. At this time new metrics will be created for aggregated block-level performance analysis. For the final version, we also require APIs to access external data, using a script running on the board. All sensor controls and additional data for the project used node.js. Using the Intel XDK, we upload this to Edison.
STEP 5: Wiring Up Sensor Groups & Controls
The sensors, RGB LCD, LED alerts can be plugged directly into the board. You will need to wire up the remaining components separately depending on whether its a simulated environment or actual block deployment. Additional attachments to protect the external units from elements will be required. Needless to say, they should remain invisible to overly curious kids (it's made for their neighborhood safety !). Some sensors too close to ground level can pick up dust from the street on their surfaces. Also we do not know how long some sensors (such as load cells) may last with constant use.
STEP 6: Move Sensor Data From Local Store To A Cloud-Based Storage Incorporating External-API Data
Setting up a dashboard for IoT analytics is simple and it allows supervisory access from a single account. The dashboard allows monitoring sensor-health and has flexibility to change/modify analytics & alerting rules easily.