For the past nine months a company called SkyNet has been working on a machine to machine (M2M) system for drones to talk to each other. Named after the self-aware artificial intelligence system in the Terminator movie series, SkyNet is designed to run on a single network or mesh of IoT networks that share a common API or communications protocol. In this scenario, devices can discover, query, and message other devices on the network.
CEO Chris Matthieu was one of the early developers of voice APIs and apps. With SkyNet, he has turned his attention to drones. He detailed the technology for us recentlty to show the capabilities that drones have and the new stacks people are building to make the machines increasingly sophisticated as illustrated in this video Matthieu shot.
SkyNet is running on a dozen Amazon EC2 servers and has nearly 50,000 registered smart devices including: Arduinos, Sparks, Raspberry Pis, Intel Galileos, and BeagleBoards, Matthieu said. SkyNet runs as an IoT platform-as-a-service (PaaS) as well as a private cloud through Docker, the new lightweight container technology. The platform is written in Node.js and released under an MIT open source license on GitHub.
The single SkyNet API supports the following IoT protocols: HTTP, REST, WebSockets, MQTT (Message Queue Telemetry Transport), and CoAP (Constrained Application Protocol) for guaranteed message delivery and low-bandwidth satellite communications, Matthieu said. Every connected device is assigned a 36 character UUID and secret token that act as the device’s strong credentials. Security permissions can be assigned to allow device discoverability, configuration, and messaging.
The company manages a directory service for querying devices that meet search criteria such as “all online drones in san francisco,” Matthieu said. An array of UUIDs are returned meeting the search criteria allowing the ability to message one or all of these UUIDs with instructions. Presence (online/offline) of each connected device is managed by realtime WebSocket communications. MQTT allows SkyNet to message devices when they reconnect from being offline.
SkyNet recently released its IoT Hub which allows the user to connect smart devices with and without IP addresses directly to SkyNet including: Nest, Phillips Hue lightbulbs, Belkin Wemos, Insteons, and other not-so-smart devices such as serial port devices and RF (radio frequency) devices. Not only does this allow any device to be connected to the Internet but it also allows people to message smart devices without going through the manufacturers’ clouds and apps. The smart device Hub plug-ins are Node.JS NPM modules making them easy to share, extend, and deploy.
The company also recently released a SkyNet operating system, Matthieu said. It turns any Arduino-compatible device (Arduino, Spark, Pinoccio, etc) into a messaging capable hardware device on the Internet. When the Arduino boots up, it uses its built-in ethernet jack or wifi chip (or ethernet/wifi shield) to connect and authenticate with SkyNet — no CPUs are required to control the device. With built-in firmata and a SkyNet message, a person can turn on and off Arduino pins (including LEDs, servos, motors, power relays, etc.) and read from pins connected to sensors.
You could duct tape one of these devices to a light pole with a small solar panel and rechargeable batteries. It could smart-enable your city block.
NodeRed, a visual tool for wiring the IoT, is now connected to SkyNet and can control a network of connected smart devices with a drag and drop designer.
A Talking, Flying Network
There really is no way to personally manage all of the connected devices in the world. Devices will have to make their own decisions that will connect through mesh networks.
What comes of this new network will depend in many respects on the openness of the things in the world so they can interoperate. That means a much different network than what today’s cloud services offer. More so the drones and things of the world will depend on each other through communication — much like us humans do today.
Flickr image via Creative Commons
InApps is a wholly owned subsidiary of Insight Partners, an investor in the following companies mentioned in this article: Docker.