Duration: 90 minutes
Attendees will receive a kit that contains the following:
- WebThings Gateway. This consists of the Mozilla WebThings Gateway software running on a Raspberry Pi 3 B+.
- WebThings Device. An oddWires IoT-Bus IO development system with an ESP32 microcontroller and touch screen. (For hands-on WebThings programming using the Moddable SDK or MicroBlocks IDE.)
Attendees need to bring:
- Laptop preloaded with Moddable SDK and/or MicroBlocks IDE. Details below.
What Attendees Do
- Build your own smart home device that uses the WebThings Framework to communicate with the WebThings Gateway
- Connect devices to the WebThings gateway to operate the device remotely and automate its operation
- Learn the fundamentals of the WebThings Framework, including how to define the properties and events of a device with a JSON object
- Create software to power WebThings devices using the Moddable SDK and ES2019 JavaScript or the MicroBlocks IDE
- Program the touch screen to simulate a variety of smart home devices
Mozilla WebThings
Mozilla WebThings Gateway and Framework initiative is an open source implementation to promote a decentralized, W3C-standardized Web of Things framework to manage IoT device operation and data. Mozilla’s implementation puts people first, protecting user privacy and security, while promoting industry interoperability.
Moddable SDK
Moddable gives individuals the freedom to take control of the software on their IoT products. The Moddable SDK brings industry standard JavaScript to the inexpensive microcontrollers that power IoT products. It consists of development tools and runtime software for developers to create truly open IoT products.
The WebThings module in the Moddable SDK allows you to create your own WebThings in JavaScript. WebThings created with the Moddable SDK are compatible with the Mozilla WebThings Gateway.
MicroBlocks
MicroBlocks is a “live” programming environment. Blocks created using the IDE on a laptop are executed by a virtual machine running on the connected microcontroller board. The blocks run independently when not connected to a computer.
The MicroBlocks IDE includes WebThings library blocks that produce JSON thing descriptions and allow you to create your own WebThings that work with the Mozilla WebThings Gateway.
Learning Objectives
Learn the importance of privacy, security, and interoperability around IoT devices, and how to implement these principles in your own home. See how easy it is to set up the WebThings Gateway, and how a free and open source software system enables you to create your own interoperable WebThings.
Knowledge Required
Simple willingness to learn while having fun. Experience with JavaScript is helpful.
What Attendees Bring and Recommended Advance Setup
To participate in hands-on activities, pre-install one or both of the following tools. If you are comfortable programming in JavaScript, select the Moddable SDK; if not, select MicroBlocks.
Option 1: Moddable SDK To use the Moddable SDK, you will need a laptop running macOS, Windows, or Linux. Follow the instructions in the Moddable SDK Getting Started Guide to set up your host environment and ESP32 tools.
Option 2: MicroBlocks Install MicroBlocks by downloading the installer for your operating system. Follow the setup instructions to install any necessary drivers to support programming devices over USB.
Links and Additional Reading Material
- Mozilla WebThings
- Moddable
- Blog post about the WebThings module in the Moddable SDK
- MicroBlocks
- IoT-Bus IO platform from oddWires
Protecting your privacy, protects your home.
Register here