The Internet of Things (IoT) was built to solve messy, real-world problems—and the journey to integrating IoT technology into broader informational ecosystems is almost always equally messy. That’s why IoT isn’t something you can buy in a store (or anywhere else), neatly packaged up and ready to go. You’ll need to either build your IoT solution with lots of time, patience, and TLC or connect your devices to an application enablement platform that has solved similar problems before—potentially cutting down your development of an IoT application from 18 months to under a day. This article will walk you through both paths to IoT implementation.
Path 1: Build It Yourself
Ultimately, IoT is designed to be a powerful tool in your business’ toolbox for creating value for end-customers. The question is: how do you optimize for value, without costing yourself a lot of time and valuable engineering resources?
If you’re considering building your own IoT solution from the ground up, this infographic below displays the IoT Decision Framework, originally published by Daniel Elizalde, should help orient you to the core components of IoT product development.
If you have tried to build your own IoT application architecture than you know how complex this simple diagram is. All of these things are time and money drains which require hundreds of man hours to correct, test, and deploy.
In your initial planning of an IoT application, you'll want to develop a blueprint covering the following:
- UX/UI aspects.
- Installing (and usually paying for) charting libraries.
- Deploying a reliable server in order to reduce the risk of outages.
- Developing APIs and hardware libraries - including specific respective documentation.
- Calculating and connecting with 3rd parties to allow web services like email, SMS, and webhook for notification and other tool integration.
- Implementing best security practices to prevent data exposure.
- Developing the backend architecture, data base, and the admin panel for business control.
- Developing a frontend that supports multiple real-time data stream visualizations.
If, however, hundreds of hours coding, testing, and debugging your nascent IoT application sounds like a drag to you, and you’d rather spend that time on your customers, or eating takeout and watching Netflix—you may want to consider the 2nd path: working with prebuilt IoT architecture and experienced support engineers.
Path 2: Connect to an Application Enablement Platform
An IoT platform is an Internet of Things environment on its own, and it can be used by individuals or businesses anywhere and everywhere for creating their very own versions of IoT products, solutions, and services. Refer to our previous post for a deeper dive into Using an IoT Platform vs DIY.
Ubidots is an IoT application enablement platform (AEP) that allows users to easily use Ubidots libraries to connect, send, receive, and interpret a device’s data. Ubidots has an arsenal of benefits and features you will find helpful when developing an IoT application, here are just a few:
- You can start for free: create an account, connect your devices, and start learning about an environment in just a few simple steps.
- Exceptional documentation: with more than 50 libraries to connect your hardware of choice, blog posts tutorials, documentation, video tutorials, forums, social media profiles, and a live-chat customer support with a real person.
- Entire IoT infrastructure: Ubidots, like other IoT AEPs, provides access to their own cloud to maintain all data. A back-end database incorporates a math and stats engine, custom alerts, and notifications. Matched with a front-end user experience, users design white-label drag-n-drop dashboards for their own personal insight aggregation point.
- Best security practices: Such platforms support HTTP with SSL encryption, MQTT with TLS encryption, token-based authentication, and partners with leading cloud providers to ensure your data stays yours.
Creating Your IoT Application in Under a Day
1) Structure your Solution
To build an IoT application you need to create a structure encompassing: devices, variables, dashboards, and alerts.
2) Select a Device
Devices are the individual hardware selected to sense data in a particular environment. It is very important that the device is selected based on the environment and requirements you’re looking for it to complete. See here for a list of devices already integrated with Ubidots. Also, please consider your connection protocol of choice, be it WiFi, Bluetooth, Sigfox, LoRa, Ethernet, etc. Here’s a gold-standard article on the different connection protocols.
A variable is a specific data reading from a device (e.g. temperature, heart beats, location, etc.). Variables can be many different things and have varying levels of information. Variables can even be combined to create derived variables or rolling window periods to specific timing.
- Default variables.
- Derived variables.
- Rolling window variables.
- Managing variables and devices in Ubidots for Business.
A dashboard is the interface that helps organize and present data so you can visualize your data insights. Here are some capabilities you will have using Ubidots visualization tools.
An alert is any action triggered when a sensor’s readings fulfill or exceed any design rule. For instance, you can send an email or SMS message anytime a sensor stops sending data or exceeds a threshold for temperature or vibration. For a more detailed explanation about how alerts work, check out this step-by-step guide.
After setting up your device, building dashboards, and creating alerts, you now have your very own IoT application up and running. And, all within a couple of minutes depending on your device setup. If you want to customize your application for an end-user experience, please keep reading.
2) Customizing the End-User Application
An end-user application is one which contains a business or individual’s desired logos, colors, and likeness. Ubidots provides a white-label business software to support both B2B and B2C users. With this, a business or end-user can create and manage users (who don’t necessarily have technical skills), regulate end-users specific permissions, and customize login portals to completely mask the underlying software provided by Ubidots.
Having different user access levels allows a business or individual to parse out controls of any application deployment to the specific users. For example, in an industrial environment, you could want a machinist to have access to specific dashboards for daily machine uptimes, but you may only allow the administrative team access to the historical data for assistive machine analytics for preventive maintenance. Check out this step-by-step guide or this video tutorial to learn more about Ubidots user management.
Learn to customize logos, colors, and other visual components in order to make the application look unique to your own business or likeness. Learn more in this video tutorial or these step-by-step instructions.
Finally, you may want to a unique domain that points to your application. A custom URL allows users to access your Ubidots application quickly and easily. Click here for step-by-step instructions to creating a custom domain.