IoT is eating the world: IIoT and Open Source Services
IoT is not just about wearing cool gadgets or controlling the temperature in your home. The real opportunity exists in the enterprise and industrial IoT segment.
Can’t mention IoT Without IIoT.
When you’re developing, you want to make sure it’s impactful. Sure smart home and light bulbs are interesting for IoT but consumer applications can tend to lack impact. Connected refrigerators are cool, but it’s a fragmented product ecosystem. IoT in industrial applications are mission critical.
Currently we are seeing exponentiated hardware capabilities (processing power and battery), reduced power consumption, computing power, and an explosion of hardwares. This, in turn, allows for an explosion of PLCs into traditional telemetry (voltage, pressure on valves) and there are estimates of > 10 billion connected devices by 2020.
PLCs talk modbus protocol, which is not usually used outside an industrial setting. Types of things communicated, and elements of Modbus are: pressure, voltage, telemetry, velocity and position.
Just 60 years ago — spills and problems happened!! There is pressure currently for not having fires and spilling…etc. Environmental problems are common and we can do stuff to stop it. Sustainability is coming in. Factories are coming back to us, we are automating these things, and there is a growing need to measure everything that is happening. We no longer need 1000 people. Before, most things were unmonitored and unmeasured with little to no data. If something went wrong on a rig, people had to rely on their experience.
Federal orgs are now mandating this. It has been estimated that if a pipeline or plant went down, it would cost 450 million dollars a minute. Things are happening that aren’t being monitored, including combustable things. This is a problem. Nothing talks to anything, IIoT will get them to talk.
IIoT types of things:
- PLC’s — live on little battery power and compute — tell us a lot of information
Open Source Resources for IoT Development
This is by no means a completely comprehensive list. But, it can help you get exposed and started.
- Arduino — Arduino is an open-source electronics platform based on easy-to-use hardware and software. It’s intended for anyone making interactive projects.
- BeagleBoard — The BeagleBoard is a low-power open-source hardware single-board computer produced by Texas Instruments in association with Digi-Key and Newark element14.
- Microduino — Microduino and mCookie bring powerful, small, stackable electronic hardware to makers, designers, engineers, students and curious tinkerers of all ages. Build open-source projects or create innovative new ones.
- Node MCU (ESP 8266) — NodeMCU is an open source IoT platform. It uses the Lua scripting language. It is based on the eLua project, and built on the ESP8266 SDK 0.9.5.
- OLinuXino — OLinuXino is an Open Source Software and Open Source Hardware low cost (EUR 30) Linux Industrial grade single board computer with GPIOs capable of operating from -25°C to +85°C.
- Raspberry Pi — The Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor or TV, and uses a standard keyboard and mouse. It’s capable of doing everything you’d expect a desktop computer to do, from browsing the internet and playing high-definition video, to making spreadsheets, word-processing, and playing games.
- Tessel — Tessel is a completely open source and community-driven IoT and robotics development platform. It encompasses development boards, hardware module add-ons, and the software that runs on them.
Software, operating systems
- Contiki — Contiki is an open source operating system for the Internet of Things. Contiki connects tiny low-cost, low-power microcontrollers to the Internet.
- OpenWrt — OpenWrt is an operating system (in particular, an embedded operating system) based on the Linux kernel, primarily used on embedded devices to route network traffic. The main components are the Linux kernel, util-linux, uClibc or musl, and BusyBox. All components have been optimized for size, to be small enough for fitting into the limited storage and memory available in home routers.
- Tiny OS — TinyOS is an open source, BSD-licensed operating system designed for low-power wireless devices, such as those used in sensor networks, ubiquitous computing, personal area networks, smart buildings, and smart meters.
- AllJoyn — AllJoyn is an open source software framework that makes it easy for devices and apps to discover and communicate with each other.
- Countly IoT Analytics — Countly is a general purpose analytics platform for mobile and IoT devices, available as open source.
- Iotivity — IoTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things.
- Kura — Kura aims at offering a Java/OSGi-based container for M2M applications running in service gateways. Kura provides or, when available, aggregates open source implementations for the most common services needed by M2M applications.
- OpenHAB — The openHAB runtime is a set of OSGi bundles deployed on an OSGi framework (Equinox). It is therefore a pure Java solution and needs a JVM to run. Being based on OSGi, it provides a highly modular architecture, which even allows adding and removing functionality during runtime without stopping the service.
- Kaa — An open-source middleware platform for rapid creation of IoT solutions.
- Losant — Losant is an easy-to-use and powerful developer platform designed to help you quickly and securely build complex connected solutions. Losant uses open communication standards like REST and MQTT to provide connectivity from one to millions of devices. Losant provides powerful data collection, aggregation, and visualization features to help understand and quantify vast amounts of sensor data. Losant’s drag-and-drop workflow editor allows you to trigger actions, notifications, and machine-to-machine communication without programming.
- DreamFactory — DreamFactory is a free open source REST API Platform for mobile, web and IoT Applications.
APIs aren’t new, and nor is “code” or software. What’s different today is the runaway success of open source software and the convergence of technology and media into a single, mobile UI with over 50% global human penetration.
Open source software (OSS) projects especially benefit from the power of well-documented APIs, and these same APIs allow for OSS to be created more easily and freely. OSS also forms the basis for some of the most successful and widely used foundational software today.
Open source principals are even more important as new markets flourish and friction to enter the market by any developer who knows how to code is reduced and made as equitable as possible. Thanks to such incentives, foundational software structures will continue to grow on emerging platforms for the IoT, VR, wearables, and many more.
By making foundational software for new entrepreneurs open source and not proprietary, we greatly reduce the barriers to entry for new apps and entirely new areas of business development, meaning higher quality products and wider access to all.
I’ve already mentioned how API management is crucial. But organizations looking for opportunity in IoT with REST APIs need to get very serious about API management. But we can go beyond API management — with DreamFactory. IoT is just a thing without API management.
Going beyond API Management with DreamFactory
- Versioning support for legacy/ancient things
- Performance, scalability
- API key control
- Developer and device registration
- Visibility and Analytics: Usage, decommission, capacity, calls…etc
- Vendors, developers, managers, third party…etc — different rights usage access security
- Quota, throttling, prioritization, scaling
You can install DreamFactory on any cloud or server environment and it provides a REST API to various data sources. DreamFactory extracts information so you don’t need to write your own rest APIs or security framework, or need to do use management. DreamFactory does a lot of the heavy lifting on the server side for you. As a developer, REST APIs are great for a variety of dev environments. Connection to a databases is key for a developer and DreamFactory makes it easy to be agnostic in terms of what database you want to use. Because DreamFactory abstracted the APIs, it’s very easy to switch data sources. The REST APIs are unified and consistent across databases, the same applies towards file storage as well.
DreamFactory provides a variety of SDKs to build apps from which can be blended with ionic or another framework to build a mobile app.
The architecture of DreamFactory sits in the middle, you can think of it as middleware. When you hook up backend systems, DreamFactory provides a security framework around that with user mgmt, roles and permissions, session mgmt, and a variety of hosting options. DreamFactory exposes those data sources as REST APIs to the SDK and it does it dynamically. When making REST API calls, DreamFactory supports JSON and XML.
Will you build the next unicorn? Or perhaps the next decacorn or hectocorn with IoT?