IoT Education with PhoneIoT
PhoneIoT is a free mobile app for iOS and Android that allows you to connect your device to NetsBlox and access its sensors and display from your NetsBlox projects. This enables students to create things like tilting controls for a game (accelerometer), tracking your device's position on a map (location), or creating an orientation-aware system like a compass (orientation), all from within NetsBlox. The customizable display allows users to populate the device's screen with controls like labels, buttons, joysticks, image displays, and more. Custom controls can even be configured to send a message to your NetsBlox project when a user interacts with them, such as pressing a button or moving a joystick.
After installing the app on your device and pressing "Connect" in the app, PhoneIoT has very little setup to getting started: you simply need to enter the "Device ID" from the app menu into your project to connect to the device from NetsBlox with the PhoneIoT service.
PhoneIoT provides two main ways of interacting with both the sensors and display: explicit requests (using normal NetsBlox RPC return values), and event-based "streaming" access (using normal NetsBlox messages). The former is useful for introducing students to PhoneIoT, and the latter is a more streamlined method which aims to teach students the use cases of live data streaming and event-driven communication, both of which are common paradigms in industrial IoT applications.
Examples and Project Walkthroughs
The following resources give more information about PhoneIoT, including some student projects to teach targeted concepts. Any video resources that start with a non-empty project will have a link in the description to the starter code.- Introduction to PhoneIoT: Basic usage, including how to access the sensors and custom display
- Drop Game Project: Using sensor data streaming with the accelerometer to control a sprite's movement
- GPS Tracker: Combining sensor data streaming, custom controls, and other NetsBlox services to make a live GPS tracker