Nukala Suraj's Voice Operated Internet Thing Uses JavaScript to Let You Command ESP8266 Robots

Designed for use with ESP866 robots, the open source VOIT platform palms off voice control on your smartphone, tablet, or other web device.

Gareth Halfacree
3 years ago β€’ Robotics / Internet of Things

Developer Nukala Suraj has released a JavaScript tool for controlling robots via a voice-based web user interface: VOIT, or the Voice Operated Internet Thing.

"VOIT or Voice Operated Internet Thing is a UI that lets you control any bot/thing (as in Internet of Things) through a voice based web interface," Suraj explains of the project. "In the modern world, every gadget has a UI. With internet things becoming more and more common, there is a huge need for us to build UI for them. Since every internet thing is already connected to the web, it's most efficient to create a web interface for them."

"Now most internet things have an button-intensive web interface. Doesn't really make sense to use traditional web interfaces for internet robots. It's more intuitive if the bot could be interacted with our voices."

VOIT aims to provide voice control of ESP8266 robots right in the browser, using JavaScript. (πŸ“Ή: Nukala Suraj)

Suraj points out there are two ways to implement such interaction. The simplest, arguably, is to put a microphone and, optionally, a speaker inside the robot β€” but this duplicates parts between multiple robots, bloats the bill of materials, and potentially requires a more powerful controller. VOIT, by contrast, farms it all off on a device you've already got: Your smartphone, laptop, or other web-capable device.

"Implementing [voice control] through a web interface is the tougher approach," Suraj admits, "but it can be used to fulfil the other approach too since it is very flexible. Hence VOIT would use a voice based web interface to control any(thing)."

The JavaScript-based VOIT is split into three key components. The first handles authentication, using JWT tokens to ensure only authorised users can send control commands. The second handles command extraction, eschewing true natural language processing for a regular expression matching of key words. Finally, the Internet of Things (IoT) implementation is a Node.js server supporting browser clients and "thing clients" powered by Espressif ESP8266 microcontrollers.

The source code for VOIT has been published to Suraj's GitHub repository under an unspecified license.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles