Team Geras Makes Independent Living a Reality for the Aged
Editor note: This is the fourth in a series of interviews with leaders of the five international teams competing in the Intel® Ultimate Coder Challenge 2016.
Selected from among 180 worldwide entries, five global teams are competing in the Intel® Ultimate Coder Challenge 2016, with a common goal — to use IoT to help solve real problems. Tackling challenges from transportation to healthcare, coders are using unique approaches with Intel® edge and gateway devices and common sensors, motors and switches that you would find within our standard Grove Sensor Kit. Whichever team’s solution is judged to best address the problem in their vertical will be named winner of the challenge.
Team Geras – Smarthomes for Aging in Place 
When Team Geras began contemplating projects for this competition, smart home products seemed like a natural adaptation. While there are many offerings in the marketplace, there are few that are aimed at the aged. Using IoT to help those that would like to live independently seemed like a great adaptation of the technology.
“Gregg and Kyle” is Gregg Reynolds and Kyle Stufflebam, who work for NORC at the University of Chicago, where they are investigating the use of IoT technologies in the service of Social Science research. Gregg is the technical lead, who will do all the coding; Kyle will assist with research and technical writing. NORC is supporting their participation in the Ultimate Coder Challenge as a “skunkworks” project.
Gregg Reynolds’ first programming job was in the early 90s at at big iron shop, where he landed after spending several years of student penury in Cairo studying Arabic following a classic Liberal Arts undergrad education. After 5 years of BAL, JCL and COBOL(!) he moved on and has since programmed in a variety of languages on platforms ranging from microcontrollers to Windows to Unices and even the AS400. His favorite languages are Clojure, Lua and Idris. He has a soft spot for XSL, having been a member of the W3C Working Group that defined version 1.0. he’s crazy about coinduction and coalgebras. He joined NORC as a translator on a project in the Middle East and has since served in a variety of roles, most recently researching and prototyping IoT technologies in the service of social science research.
Q: What does this project mean to you and your team?
A: This project has served as a catalyst at work where we expect to continue the work we have begun here. It has stimulated a lot of discussion about IoT and its role in social research. Personally, I (Gregg) have benefited enormously from working on this. I learned a huge amount about Intel technologies and the IoT in general, and had great fun.
Q: Describe the sensors you’re using and any challenges with them?
A: So far we’ve gone with the usual suspects: accelerometer, temperature, humidity, barometric pressure, illuminance, PIR motion, hall effect. We also have some tiny digital microphones but did not have time to do much with them.
Q: What software, programming languages, and cloud services are you using and why?
A: Primarily Clojure, but also some Java, C, and C++. With Clojure we used the following libraries:
* https://github.com/clojure/core.async makes concurrency simple and easy
* aleph (http://aleph.io/) is a library for building protocol services, based on netty.
* https://github.com/weavejester/compojure makes it easy to build websites
* http://boot-clj.com/ is an extraordinarily innovative build tool
We also relied on the following Java libraries:
* https://github.com/intel-iot-devkit/mraa
* https://github.com/intel-iot-devkit/tinyb
And of course the Iotivity library is at the center of our project.
Q: Share any challenges, funny stories and solutions that you’ve encountered so far.
A: We decided to play on the bleeding edge, pushing the envelope with https://www.iotivity.org/ . This meant getting a proper Java SDK running (it is still not officially supported) and porting the whole thing to the four platforms we worked on: OS X, Linux, Wind River Linux on the Gateway, and Yocto on the Edison. That’s a *lot* of work – I think I pulled more all-nighters over the last eight weeks than I did in eight years of college.
On the other hand, we did discover some solutions that we never would have thought of had we not gone in this direction. For example, the combination of Clojure with the nREPL and Iotivity opens up the possibility of large-scale simulations of IoT systems.
Finding Bugs
Here’s a truly hilarious story: we discovered a major bug in week eight, and will not be able to get it fixed before the deadline. Is that a knee-slapper or what? – Gregg Reynolds
Q: What data are you feeding to the cloud, and how are you using it in your solution?
A: Our focus has been entirely on the sensors and system side of things – we’ve worked with some cloud data services in the past and the problem of designing, configuring, monitoring, managing, etc. complex IoT systems strikes us as much more pressing at the moment. There’s only so much one guy can do, anyway.
Challenge Winners Announced in August
The teams have been steadily coding, wiring and assembling their projects. In the final phase, teams will make final presentations, demonstration videos and display the prototypes that were produced. Follow the Ultimate Coder site showing current progress, pictures of their products, and comments from fans and judges. Judging begins in August with the winners announced soon after.
Read more >