Workshop: Web USB and Web Bluetooth, with Lars Knudsen and Kenneth Christiansen
- Wednesday 3 October 2018, 9.00 - 17.00
- Venue: OBA Oosterdokseiland, Oosterdokskade 143, Amsterdam
- Tickets: €395 in the Fronteers Conference ticket shop
Look mom - no drivers!
Until recently, it has been quite hard for legacy enterprises to consider web a serious platform for production. With the introduction of Web Components, Progressive Web Apps, Web USB and Web Bluetooth, this is no longer the case. Come join us for a workshop on hardware connectivity for the web and get hands-on experience with Web Bluetooth and Web USB.
If you would like to learn how to connect hardware to the browser, no matter if it’s for small hobby projects or mass market enterprise solutions, this workshop is for you!
What you will learn
- How hardware can be connected directly to web applications and why this new opportunity is a big deal for anything from small prototypes and indie projects to large scale enterprise systems
- How to Web USB enable hardware - including existing legacy hardware already out in the field
- What Bluetooth Smart devices are and how to connect to them from a browser
- A brief overview of other options like Web MIDI, Gamepad API and Native Messaging, for alternative solutions when Web Bluetooth etc isn’t available
Pair (or solo if preferred) programming, extending a web app that will communicate with either Thingy:52 via Web Bluetooth or an FRDM-KL25Z with empiriKit firmware via Web USB - or both, if you’re fast and adventurous!
The web applications provided are using lit-html for simplicity and compactness, but you are free to choose a larger framework and we will assist to the best of our abilities.
The browser can connect directly to Bluetooth Smart devices using the Generic Attribute Profile (GATT). During the workshop, attendees who choose to work with Web Bluetooth will do hands-on work, extending a small web application that interacts with a Thingy:52 device from Nordic Semiconductor. The device has a wide range of sensors and actuators and help will be provided to do some cool solutions.
If stable, high-bandwidth connections are required - or even when exploring viable options to web enable existing legacy hardware, Web USB is a great option to consider. In the workshop, a limited number of FRDM-KL25Z boards with empiriKit firmware will be available for those who want to explore this field. The boards have an accelerometer and touch sensor as well as an RGB LED that can be controlled from a web application. Although not in the scope of the workshop, advanced embedded developers are welcome to dive into the firmware code and do changes there as well.
What you will need
Web Bluetooth development: Chrome running on a recent Mac or Linux machine with Bluetooth 4+ for direct communication with a Bluetooth Smart device. Alternatively, an attached Android 6.0+ device (remote debugging from Chrome over USB) is required. Web Bluetooth support is not fully supported on Windows at the time of writing (2018.06).
Web USB development: An available USB port (on Linux, also root access to do changes to /etc/udev rules).
- Node (and npm) from https://nodejs.org
- Chrome from https://www.google.com/chrome/
- Http-server (npm install -g http-server) - to run/host examples locally
- VS Code from https://code.visualstudio.com/
- Polymer-cli (npm install -g polymer-cli) - bootstrapping/build env for Polymer
Repos with web app examples and FRDM-KL25Z empiriKit firmware