I hope you enjoy the invention the 4BaBi group showed off at the Intel IoT, London Roadshow 2015! The newly released Intel Edison is an awesome full System on a Chip (SoC) not much bigger than an SD card. It has full Bluetooth & WiFi for our largely wireless first world, and it boasts 40-GPIOs you can barely see. It's awesome, and this was our first attempt at using the board for something practical with it as part of the Internet of Things (IoT) along with Cloud technology.
What you'll need for this tutorial:
- An Intel Edison Board
- A Seed Grove Kit
- Edison Arduino Base Shield.
- Spare Wires
- Internet connection
Besides the kits, you will need to make your way to Intel's Edison website and follow their installation guide in the Developer Zone to get going with the boards, examples and tutorials. The great thing about the board is the versatility in languages and environments it offers for anyone wanting to learn more about hardware, programming and building custom smart devices for the home.
Our twist on the technology was trying to reduce the anxiety of first time parents with a few simple ideas to monitor their child without being at all invasive to child and intuitive to the parents. We've nicknamed this product BaBi as it has a nice ring to it!
Step 1: Make Sense of It All
There are loads of kits, sensors, actuators, power boards to confuse everyone and anyone just wanting to get started. Thankfully this extensive kit includes a long list of things to play with as you get that internet of things together:
- Base Shield v2
- Grove- Buzzer
- Grove - Button
- Grove - LED
- Grove - Rotary Angle
- Grove - Sound Sensor
- Grove - Smart Relay
- Grove - Temperature
- Grove - Touch Sensor
- Grove - Light Sensor
- Grove - Mini Servo
- Grove - LCD RGB Backlight
Besides being very versatile to help grasp what all of them do and how they can be used they're a great way to just plug things together and come up with realistic data for simulations and further investigation. We wasted hours getting some of them to work, but even these headaches are the best way to learn the ins-and-outs of the platform. We programmed these systems using Intel's Supported Arduino Installer (this system has been altered for improved performance on the x86 architecture). We had very little difficulty in getting going!
As a bit of a warning for those wanting to use Adafruit's NeoPixels for Arduino, there are some timing issues that need to be resolved so it cannot be used out of the box like you might hope.
Step 2: System Inputs
Sensors have uses beyond their immediate readings. Changes in a reading over time can reveal a large amount about your overall mental and physical health and changes in your environment and behavior. With this in mind, we sought the most valuable sensors to reveal the most about bodily health in the least invasive way. A full breakdown of these are given below:
1. Water Sensor: The water sensor increases its conductivity in water and therefore has a very high resistance when dry. As the amount of water increases so does the circuits ability to conduct as a short circuit, thereby reducing it's resistance. These sensors are great as they are sensitive to high humidity following condensation and fluids. In the case of the smart baby clothing this sensor is positioned on the inside of the garment near to the surface of the diaper. This acts as a great sensor to record the dryness of the child at any given time. 2. Temperature Sensor: Maintaining a steady body temperature is a great sign of good health. It is vitally important for infants and toddlers to stay warm without big fluctuations in temperature. By measuring their skin temperature with a discrete sensor its a good way to know whether they are greatly affected by changing air and weather conditions as well as their overall health. 3. Sound Sensor: In this case the sound sensor is used to determine the child heart rate. To replicate the heart a small pulsing PWM motor was used as a test input for the project. We decided on the sound sensor (limited microphone) to detect the distinct beats given off by the motor. The motor was set to 80 pulses per minute as an average heart rate based on our research.
Step 3: Immediate Outputs
Outputs are so important in cases where the design envirnoment does not have an independant display. It often requires you to become creative on how best to display errors, debug your code. Our immediate outputs were the following:
2 x LEDs :
These LEDs worked great for us to find catch statements within our code and confirm anything that might have periodic changes in value, such as sound meter.
RGB LCD Display:
This was one of the most useful outputs of the system, you'll soon see we used them for a wide variety of things. The RGB scales are great to indentify large scaled data, such as temperature. Temperature also has a few awesome intuitive qualities in that we naturally associate blue with the cold and red with heat, greeen being somewhat neutral or natural. As it happens we used the Blue->Green ->Red scale to represent the scales of body temperate for the child's clothing. Here Blue = 32C, Green = 36C and Red = 41C (somewhat deadly ranges but good for prototyping).
As a display we obviously used it to show us values as they changes and read the values out to the parents. Although this ASCII text output was abandoned in favor of the Intel IoT Analytics Cloud frameowrk to share the information amongst the other Edisons used in the project.
.... More on the extensions to the project as they come!
Step 4: The Result
On the final morning of the competition we wrapped up all the electronics into the super geeky R2D2 themed baby clothing, and found the most 'Koalafied' baby replacement to help us with out demo!
It was amazing to see how small the entire board and sensors could be when all wrapped up within the material. The Edison board can really help anyone get closer to building the final product they envisage than any other board. Being compatible with so many peripherals is obviously of a great help when making design and cost decisions as well.
As you can see from the picture we demoed the RGB displays lighting and indicating the 'babies' temperate and relating that information to the cloud for further processing.
.... More details on how we do our cloud processing to come!