Since I was going to be in the Austin, TX area for my daughter's birthday, I was invited to join my friends for the Intel-IoT Roadshow and Hack-a-thon, featuring the Intel Edison development Kit. The contest criteria was to use a Intel Edison and Grove shield kit in a practical, useful way. We started with a concept of building a console to record sounds and send them to the user in a message which we could then play back; that got expanded into taking environmental readings of the room. As the discussion went on it seemed more practical that instead of placing sensors in every room, we should send a sensor platform around the home (or workplace) to visit and collect data from each designated location. Hence, the birth of the Home Sentry Robot Project, and the RoboDorks: (pictured above, left to right) Carlos Santiago, Obe Rienhardt, Davld Fowler and Daniel Fowler.
Step 1: Starting to Build the Robot Platform
Carlos, our experienced robot builder, started a little while before the actual event by building a robot platform using metal parts from an old VEX robot kit. The tower was added to support the different components. The Intel Edison with Grove Shield was placed on top for use of all Grove environmental sensors and talking to the cloud. A breadboard was added to help prototype circuits and test parts as they were installed.
Step 2: Adding Motors and Wheels
Two SainSmart Metal Gearmotors with Encoders were added, along with a L298 motor controller board. The encoders allow the robot to achieve repeatable motor control and better location accuracy. Carlos also incorporated an RFID reader to verify and log the robot's location by reading strategically placed RFID tags.
Step 3: Adding Power
The tower helped with the placement of the two batteries. One 9.6 volt and one 7.2 volt were used. The reason for two batteries is to help prevent voltage fluctuations on the logic and control circuits when the motors are running.
Step 4: Adding the Brains and Power Distribution
As the discussions continued, it was decided to dedicate the Intel Edison to handle the Grove environmental sensors and web communications only, and add an Arduino to do all of the controls for the actual robot platform. The Arduino was installed onto the platform along with a prototyping shield and a custom power distribution board.
Step 5: Wiring Everything Up
It was about this time I arrived from Florida. I started wiring up the boards according to the schematic pictured above while Carlos worked on test code for the right and left motors. We spent a lot of time verifying and troubleshooting the power connections and direction controls. We wrote code to test the RFID reader, finding several problems, some of which continued to plague the project to the end.
Step 6: Coding the Robot
Carlos wrote the RobotSentry.ino file that was added to control the robot. David and Carlos worked out the details for the robot control protocol which is defined by the BotProtocol.txt file. Carlos then wrote the RobotSentryComm.ino file to handle the Edison-to-robot communications. These are just sample test code files and by no means complete.
Step 7: Setting Up the Development Enviroment
During the time that Carlos was building the robot platform David was working with the Intel Edison and Grove sensors. He was trying out different build environments and working with some of the sensors that were expected to be used in the project.
Step 8: Writing the Web Site and Mobile Apps
Daniel wrote the mobile app to take control of the robot. The sockettest.zip file contains the files used to test the web side of the Edison-to-robot protocol.
Step 9: Summing It Up
We made a great deal of progress toward our goal of building a mobile sensory platform by the end of the Intel-IoT Roadshow event. The robot could move around and the Web app was displaying a user interface, but the protocols between the two were not ironed out or tested. Working within the time constraints and distractions at the actual event interfered with our attempts to complete the project as planned. We did, however, win First Place by showing off the potential and possibilities of the Intel Edison.
We build a clever robot, one that snoops around your home or work place at regular intervals and keeps a constant status: detecting the presence of humans, or animals; taking detailed measurements of temperature, light levels, gas detection readings, etc. Using the power of the Intel Edison, The Home Sentry Robot would be able to report back these readings to a mobile app in near real time. With additional coding this could be setup to generate text alerts or email messages to the mobile app. The mobile app should be able to take manual control of the robot and send it to a specific location to take readings. We could include other home-controlling automation, like turning off the lights if it is detected no one is in the room, but this would require additional hardware. It could be automated to take specific actions at specific locations identified by an RFID tag. For example, elevated heat in a location could indicate turning on the air conditioner for a living area, ignoring it for a garage, or calling the fire dept. if the temperature indicates a fire. This just goes to show there are many possibilities to be explored or expanded on.