How to build an IoT application in under a day
The challenges of building out your first IoT solution from prototype to production (and how Ubidots helps you solve them).
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 drain which require 100s 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 pay 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, database, and the admin panel for business control
- Developing a frontend that supports multiple real-time data stream visualizations
The brave makers who would like to tinker their way through this process will find additional resources, tutorials, and inspiration on our blog and in the Ubidots Academy.
If, however, 100s of hours coding, testing, and debugging your nascent IoT application sounds like a drag to you, and you’d rather spend that time with 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 on the Ubidots team.
- 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 & 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: Ubidots supports HTTP with SSL encryption, MQTT with TLS encryption, token-based authentication, and partners with leading cloud providers to ensure your data stays yours.
Building your IoT application with Ubidots IoT Application Development Platform
1) Structure your Solution
To build an IoT application you need to create a structure encompassing: devices, variables, dashboards, and alerts.
2) Select the hardware
Hardware is the individual sensors, actuators, and beacons selected to sense data in a particular environment or system. It is very important that hardware is selected based on the environment and the requirements of your Application’s structure. See here for a list of devices already integrated with Ubidots. Also, you must 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 offered today.
3) Develop your App’s Structure
A variable is a specific data reading from a piece of hardware (e.g. temperature, heartbeats, 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.
A dashboard is an interface that helps organize and present data to visualization 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 any time 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 the core of any IoT application up and running. Next, you need to deploy your application to end-user so they know where to find the problem solving data that you have enabled for them.
4) 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 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.
- Application demo: Logistics truck’s tracking app
- Dashboard demo: Machine monitoring app dashboard
- Widget demo: Histogram
- IoT dashboards examples
While you decide between creating an application by yourself vs using a platform or choosing an IoT platform provider, there are already thousands of makers and businesses prototyping, launching, and scaling their IoT projects with Ubidots. If you wish to do the same, simply sign up for a Free Educational License or 30 Day Free Business Trial, with no commitments to continue after 30 days.
“Let’s connect the dots to the Internet of Things”