As mobile developers, we’re used to playing with smartphones, tablets and gadgets like Android Wear and Apple Watch. But, let’s imagine prototyping our own low-powered devices. What if we could end up with something smaller than a stack of quarters and a battery life of at least one week? Prototyping these kinds of devices used to be something that required specialized skills in electrical and mechanical engineering, as well as embedded development. Today, thanks to the maker revolution, we can combine our deep knowledge of programming with basic electronics and soldering skills and access to a 3-D printer to create useful devices. More importantly, there are already some boards on the market that give iOS and Android developers the ability to interact with them without needing to create custom Bluetooth drivers or write C++ firmware.
In this session, we’ll take a quick tour of some of these options and then do a deep dive into creating a wearable prototype using the MbientLab MetaWear board, a Bluetooth beacon, and native Android or iOS code. This will be a hands-on session that’ll teach you how to connect to the board, access its sensors, and store data for offline tracking. We’ll also introduce beacons and experiment with cloud storage as we build a real application. All of this will build up to the final exercise in which the entire class will build and play a multiplayer game of IoT Tag!
For this class you will need:
- Android Developer Studio or Xcode (with an active Apple Developer Account)
- A device that supports Bluetooth LE 4.0 (Android 4.4 or greater or iPhone 4S or greater)
- Some experience with Android or iOS development (Enough to be able to import a project, build it, and install it on a phone, along with a strong understanding of mobile app development.)
Things we will cover:
- An overview of the current wearable maker options such as Arduino, etc.
- A basic overview of power limitations, Bluetooth LE, etc.
- The basics of the MetaWear board.
- Creating services to connect/interact with MetaWear.
- Reading data from the device.
- Using onboard sensors.
- Event logging.
- Offline logic with macros.
- Ranging and BLE beacon basics (Eddystone and iBeacon)
MetaWear devices will be made available for the session.
A computer nut since he was a kid, Lance Gleason is the founder and president of Polyglot Programming, a boutique consultancy firm that focuses on mobile and wearable software development. Lance previously worked as a Java developer and software architect for organizations such as Kodak, CNN, and GE. He is a frequent speaker at tech conferences worldwide and is the co-organizer of the Atlanta Sensors and Startups Meetup, Atlanta GDG, and Rubyfuza, the only Ruby conference in Africa. He is known to practice interspecies pair (purr) programming with his orange tabby, Allie, and when he’s not writing code, Lance might be diving with sharks, trekking through Chernobyl, sampling wine, cheering on the Springboks, or perfecting his biltong recipe.
Marlene Jaeckel fell in love with software development during her first year at the University of Pretoria in South Africa, even though she was actually a business major. After moving to California in 2001, she worked on web applications and database systems until she decided to pursue her lifelong dream of a career in medicine. Along the way, however, she realized that her true passion lies in connecting technology and healthcare, which is why she now loves to work with wearables, sensors, and smart devices as a member of the mobile development team at Polyglot Programming. When she’s not coding, she’s often found in craft stores, doing genealogy research, or explaining the origins of her accent. (Hint: She’s so German that she loves both Hasselhoff and Heino.)