This is the final work product submission of my Google Summer of Code 2017 project on MIT App Inventor Internet of Things. This summer I integrated Android Things on the MIT App Inventor Platform.
Android Things was unveiled fairly recently. Developer Preview 1 was in December 2016, and the project is still evolving with the Developer Preview 5 just released in August 2017! Thus, application development utilizing Android Things has only just begun by experienced developers. However, the Android Things SDK is not simple enough for a typical MIT App Inventor user, such as a high school student. Thus, one of the major goals of this project was to help bridge this gap. Furthermore, there are many well known IoT starter kits (Adafruit, Sparkfun, etc.) that are supported by the Android Things SDK (as featured in the official Google Android Things developer kits site). Thus a direct integration of the Android Things on MIT App Inventor opens the door for large number of IoT enthusiasts, and hobbyists who are already familiar with such IoT starter kits and hardware platforms.
As part of the project, I investigated ways to integrate the Google Android Things features into MIT App Inventor, contributed an MIT App Inventor extension with many features available in the Android Things SDK (as of August 2017), and verfied the functionality in several different Android Things supported hardware platforms. Since the Android Things SDK supports different boards including Raspberry Pi, Intel Edison, Intel Joule, and NXP Pico, via a common interface, the MIT App Inventor Android Things Extension supersedes the capabilities offered by previous Arduino and Raspberry Pi integrations on MIT App Inventor.