This tutorial shows you how to create resources required to send, receive, and process IoT
payloads from devices using InfiIoT Platform.
This page walks you through the setup steps required to use InfiIoT Platform and
introduces you to some key concepts.
Use our strong REST APIs which allows you to control everything on InfiIoT platform
programmatically, see API
Documentation
Engage with others to debate, share knowledge, and communicate with others about a wide
range of topics, visit Community
Forum.
Find helpful blogs related to InfiIoT here, Visit InfiIoT
Blog.
Everything you need to know to use InfiIoT as a PRO & find answers to specific questions
about our product or business operation, visit Frequently Asked Questions.
This section contains a 10,000 feet overview of the steps that you need to perform to setup the
platform and get going. For each step, links to more detailed information are provided.
We recommend you go through an in-depth Platform tour in the succeeding sections.
You can also walk through the InfiIoT Platform features here!.
Step 1: Create your Account
Creating an account is a primary step to getting started with InfiIoT, more on that here!
Step 2: Get an overview of InfiIoT Platform
When your InfiIoT Platform instance is created, you can access it and start exploring
the included services by using the InfiIoT Platform dashboard. More on dashboard here!
Super Tip:
To access the InfiIoT Platform dashboard, use the URL sent on your registered
mail for verification if already verified simply provide login information that
you have set while making your account.
Step 3: Connect your devices
Before you can begin receiving data from your IoT devices, you must first register and
connect them to your InfiIoT Platform environment using the Auth-Token key. For
information, see Connecting
Devices.
Super Tip:
If you have no devices that are ready to connect you can Send import sample data using
our "Import Data" features on InfiIoT Platform.
Step 4: View real-time IoT data
After you verify that device data is flowing into InfiIoT Platform, you view real-time data under the
devices section on InfiIoT Platform.
Step 5: Analyze your Data
Your IoT data is generally not useful by itself. Analysis of the data brings value to your IoT solutions.
InfiIoT Platform comes preloaded with real-time and historical analysis tools that you can use to add value
to your
data.
Monitoring dashboards
Custom dashboards can include curated IoT data from your devices as well as imported external data.
The dashboards are fed from the data lake. For more information, see the
Monitoring dashboards topic.
Real-time analytics
See data in real-time using our interactive tables and charts by visiting the variable under the
devices section. For more visit
Devices topic.
Triggers & Notifications
In Platform Service, use the built-in data management rules to add conditions to your IoT data and
to see alerts and perform actions when thresholds and other conditions are met. For more
information, see the
Events & Triggers topic.
Future Predictions
Predict future data values Using our Machine Learning Algorithms. For more information
Making Predictions topic.
For Geeks!
Device Registration
InfiIoT platform will automatically register your device when a data-telemetry is ingested, the
name of the device is defined in the firmware.
Or you can manually create a device using the "Add device" button under devices section page
Also, Device can be created using our REST-API's
InfiIoT offers many features like importing and exporting data using .csv files, monitoring
real-time data, geo-tagging your devices, and many more. For more details, see the
devices section.
Communication Protocols (HTTPS and MQTT)
InfiIoT Platform supports two protocols for device connection and communication: MQTT and HTTP.
MQTT is a standard publish/subscribe protocol that is frequently used and supported by embedded
devices, and is also common in machine-to-machine interactions.
HTTP is a "connectionless" protocol: with the HTTP bridge, devices do not maintain a connection
to Cloud IoT Core. Instead, they send requests and receive responses.
Devices can be controlled using the interactive control and indicator widgets that InfiIoT
provides.
If your devices use MQTT, Controls are automatically propagated to them. If your devices connect
over HTTP, they must explicitly request configurations.
This section covers how to create your InfiIoT account and updating your profile!
Creating an InfiIoT Account
If you do not have an InfiIoT account, create one...
To create an InfiIoT account
Open the InfiIoT home page and click on "Sign Up" for
an InfiIoT Account button.
Follow the instructions. Part of the sign-up procedure involves receiving an email on the provided
email address and clicking on the link to verify your email and activate your account
Clicking on the link sent to your email will open a session for you, if the page doesn't open
automatically you can click on Sign-in button on home page
On the Welcome page, choose "Get started".
InfiIoT welcome page:
If this is your first time using the InfiIoT Platform, you see the Welcome to the InfiIoT Platform
page.
Updating Your Profile Information
After successful setup of your account, you are directed to your profile page where you can upload a
profile photo and upload additional details.
Updating your profile Info:
Once, done updating your profile information you can click on the "Save and Next" button.
Find your Auth-Token key!
InfiIoT uses Auth (Authentication) Token key to authorize your device to ingest data inside your
InfiIoT account.
Authentication token keys are UUID 4 format keys that are generated when you register your InfiIoT
account. You can find your Auth token Key in your profile dropdown section as shown below.
You can copy this key to your clipboard by clicking the "Copy to clipboard " button next to the token key
as this key will be needed when you are coding your hardware to send or receive data or also while using
our API's.
Copying your Token Key:
Step 1: Click on your username on the top-right corner of the screen.
Step 2: Then, click on "YOUR TOKEN KEY" Button. Clicking this will open a small
dialog box in the center of the screen.
Step 3: Click on the "COPY" button on the dialog box to copy your Secret Token Key.
Warning
Keep the authentication Token keys physically safe. This will avoid a malicious device masquerade
as a registered device.
Monitoring Dashboards
This section will guide you through all the features that InfiIoT dashboard offers and how to make
the fullest use out of it! We will be going through how you can set up your personalized dashboard
using available real-time widgets.
When you log in for the first time we welcome you with the default dashboard which showcases
different kinds of widgets that you can use with your own dashboard. This dashboard shows data from
a demo device that we assign to your
account by default.
You can also create your own device(project) from the devices section or also devices can be added
automatically when your new hardware tries to send data to the platform.
Dashboard - Overview
Dashboard Photo:
User Interface for Dashboard is separated into the following parts:
Left Navigation panel: You can switch into different sections of the InfiIoT
Platform using this navigation panel.
Widgets Panel: This is the main Dashboard, where all widgets are placed. The widget
positions can also be modified by entering edit mode.
Tool Panel: This section contains a set of handy tools such as:
Full-Screen Mode
Capture Screenshot
Lock widget position
Set Current dashboard as Default
Edit dashboard details, and
Delete Dashboard
Interval Section: This section is used to select the Interval for which data is to
be seen, Play Mode enables auto dashboard refresh functionality and the Refresh button can be used
to update dashboard instantly.
Add Widget Button: This button is used to add any widget of your choice onto the
dashboard.
Top Navigation panel: This panel contains links to all the technical resources
(forums, blogs, and other documentation) and also button to visit your profile.
Creating new dashboard
Creating a new Dashboard:
To create your own Dashboard we will follow the steps listed below:
Step 1: Navigate to the Left Navigation panel, Under Dashboard option click the
"Create Dashboard" option.
Step 2: Give the dashboard name on the dialog box that appears then click on the
"Create" button.
Step 3: we will get a "Dashboard successfully created message" and the new
dashboard is launched on the screen.
Widgets
Widgets Overview:
Widgets are the backbone of dashboard, these help you to get deeper insights into your data and to
analyze and act on your data in more efficient ways. You get many types of widgets that will help you
plot, tabulate, indicate, and control your device
data easily. Following is the list of widgets you can add to your dashboard:
Labels: These widget types will help you display your data in simple numeric
matrices. Various types of labels that we support are:
Last value: This label will display the last value of the Variable. E.g: See what's the
latest temperature in your room.
Maximum: This label will display the maximum value of the Variable within the interval. E.g:
See what was the maximum temperature of your room.
Minimum: This label will display the minimum value of the Variable within the interval. E.g:
See what was the minimum temperature of your room.
Sum: This label will display the total sum of the Variable within the interval. E.g:
Monitoring total electricity consumption of your home by sending daily unit data.
Average: This label will display the average of the Variable within the interval. E.g Print
average temperature of your room
Count: This label will display the number of data entries of the Variable within the
interval. E.g: Display person count on dashboard.
Charts: This widget will help you visualize your data in real-time so that you can
make better decisions faster. Different types of charts provided are as follows:
Line Chart: Line charts connect a series of data points with a continuous line. Line Charts
also supports multiple variables so that you can analyze multiple variables at a time.
Double Chart: Double charts are similar to the line chart just that double charts have
double Y axis, one on the left side and the other on the right side. Double chart helps you
analyze different variables that correlate
to different Y scales on a single chart.
Bar Chart: Bar charts represent data in the form of rectangular bars with heights or lengths
proportional to the values that they represent.
Scatter Chart: Scatter plot represents values for two different numeric variables. The
position of each dot on the horizontal and vertical axis indicates values for an individual
data point.
Indicators: Indicators will help you to indicate the state of a variable within the
interval. Various types of indicators are:
On/Off Indicator: This widget can Indicate whether the value of a variable is zero or one.
E.g.: To monitor the state of your pumps.
Gauge: This widget looks like the speedometer of your vehicle. The pointer shows the data
within the minimum and maximum ranges. E.g: To monitor the air index of your home.
Thermometer: This widget looks like a glass thermometer. This is handy when you are working
with volumes or temperatures in your project. E.g.: To monitor the temperature of your
bedroom.
Controls: Control widgets will help you act on your data or to control your
devices. various types of controls provided to you are:
Switch: Use this widget to send On or Off signals to your devices. E.g.: Turning On/Off your
lights from the dashboard.
Slider: Use this widget to send analog values to your devices. The values can e sent between
the range of values that you set for minimum and maximum while you create the widget. E.g:
Controlling speed of your fan from
the dashboard.
Tables: Using tables you can view related data in a tabular format. This widget
also supports pagination(unlimited data points) to allow deeper insights on data.
Maps(Beta): Maps allow you to track positions of your assets and also to automate
things when you visit an area. Eg. Turn your Air Conditioning "ON" automatically when you are within
10 meters of your home.
Adding Widgets
Adding Wigets to your Dashboard:
To add a widget to your Dashboard we will follow the steps listed below:
Step 1: Navigate to the "Add widget" button on the top-right corner of the
Dashboard screen and click the button.
Step 2: A dialog box appears asking you the widget type to add to dashboard. Select
the widget from the widget catalog.
Step 3: Enter the details such as the variable that you want to attach to the
widget, widget title, the color schemes, and other widget specific details.
Step 4: Finally click on "Create" button, your widget gets placed on the dashboard.
Devices
Devices Section contains a list of all your devices. This section allows users to keep track of all
the devices and the variables using interactive charts and tables. You can view real-time data as
well as historic data for the
respective variable or devices.
Devices are automatically created when data is sent from hardware(sensor), the name for the device is
declared inside the code/firmware of your hardware. Or you can also add a device using the "Add
Device" button.
If you don't have the hardware to connect to InfiIoT you can also upload your data using the "Upload
.csv" option. The .csv file must be according to the
.csv format specified by us.
Devices- Overview
Devices Section:
User Interface on device page also contains Left Navigation Panel, Tools Section, Top Navigation
Panel(Resource section), and the Add Device Button, just like dashboard Section.
Devices page contains tiles with details of your device/project name, Variables inside the Device, last
updated TimeStamp, and few Tools such as Delete Device, Import Data, Export Data.
Danger
Be very cautious while deleting your Device, there is no way your data can be recovered once you
delete your device. So, always take a backup of your Device by exporting your data before
deleting your device.
Adding a Device
There are three ways in which you can add your device to InfiIoT Platform, they are as follows:
Directly Sending Data (Easiest method): Your Devices automatically gets added to
the Devices Section when you send your data telemetry on InfiIoT Cloud. The name to be assigned to
the Device can be declared in
the code that you flash on your device
Add device Button: You can manually add your device by clicking on the Add Device
Button on the right-top corner area. Then you can manually enter all the details or your device.
Importing your Device data: If you have data logged your previous devices, then you
can simply import the data into Devices Section using your .CSV file.
Note
Your .CSV file must follow the rules We have specified for importing your data using .CSV file.
Find the rules here: Importing .CSV format data
Adding your Device:
Variables - Overview
For monitoring data for a variable. Navigate to the specific variable from the device section and then
click on "View Data" to analyze data in tabular or chart format.
There are three types of variables that we support. They are:
Generic Variables: Gets automatically created when data is sent from your device,
Or also you can create manually using Add Variable Button. E.g.: Variable for Air Temperature from
your Weather Station project.
Synthetic Variables: These variables are very useful when you want to perform
Arithmetic Operations on the data from other variables. E.g.: Computing temperature in Farhaneit by
using the data from Temperature
in Celcius.
Geo-Mapping Variables: These are special variables that can contain data about a
location. Features include location tracing or Location mapping, also this variable can be linked
with your mobile device. E.g:
Track your assets Or to automatically turn On your lights when you go in the proximity of your
location.
Variables Page:
This page contains a Map(Showing location of your Device), Variable Tabs(with details about the
variable), and the Add Variables button.
The variable tabs also contain important tools such as Import Data, Export Data, Add to Event and Delete
Variable.
Adding Variables:
Steps to add a variable are as follows:
To add a variable simply click on the "Add Variable" button. A dialog box will appear!
Then select the type of variable you want. For details about variable types refer to the "Variable-
Overview" Section.
Enter variable details such as variable names and units.
Then click on Create Button.
Monitoring data
For monitoring data for a variable. Navigate to the specific variable from the device section and then
click on "Show Data" to analyze data in tabular or chart format.
The data can also be viewed in real-time if you click the play button next to the interval selector.
Monitoring variable data:
This Section Contains shows you variable data in the form of Chart and table. Along with table and chart
widgets, this section also contains important tools, Interval Selector and Play/pause button.
Use the Interval Selector on the top right corner to view data for a specific time interval.
Importing/Exporting data
Variable tabs contain tools for data import and export on/from the platform. This feature is very handy
when you are already of data logged with you and want to continue logging data using our Platform.
Importing variable data:
Note
Your .CSV file must follow the rules We have specified for importing your data using .CSV file.
Find the rules here: Importing .CSV format data
Events & Triggers
Using InfiIoT Events & Triggers you can set events to send alerts and notifications to those who
need to know when they need to know!
An event can be set when the value of a variable crosses the threshold, or when a variable has been
inactive for some time, or when the variable value is above the threshold for a certain amount of
time.
Along with Sending a notification when a variable crosses a threshold, You can also value for another
variable. For example: When the temperature goes above 30*C you can set variables related to FAN to
turn it on.
Using InfiIoT you can send SMS, Email, WhatsApp, Slack, Telegram or set a variable as
notifications.
Events- Overview
Events page:
This page consists of tiles which show the previously created Events, Notification Logs can be seen on
the top right corner, and the Add Widget button to add an event.
Creating an Event
Events Creation :
Event Creation is done in two steps, first you specify the trigger and then select the notification:
Step 1: Click on the "Add Event" button on the right-corner of the screen. The
Trigger form appears.
Step 2: Enter The Details for the variables and set the threshold in terms of time
or value:
First Select the variable, that you want to attach to the trigger
Then, Select value(if you want to set threshold value limits) or time(If you want the
trigger to occur at specified Intervals).
Select the Arithmetic Operation you want to perform, such as Equal to, Greater than, Lesser
than and many more operations.
Give the threshold value or time inside the next box.
Specify the time in minutes you want to wait before triggering the event, for this time we
will be continuously comparing your data for the threshold value.
E.g: To turn-On your AC if your temperature is more than 28*C for 10 minutes.
Super Tip:
You can have a combination of various events to trigger a single notification. AND and OR
operation is used to connect multiple events in a logical combination.
Step 3: Click on the "Next" button. The Action Form Appears.
Step 4: Again click on the "Add Actions" button.
Step 5: Choose the type of notification that you want to attach with the trigger.
The notifications supported by us are:
Email
SMS
Telegram
Whatsapp
Update a variable
Slack
Trigger a Webhook
Super Tip:
Most of the notifications support Multiple Recipients feature, Modifiyable Messages,
Modifiable Subjects, and many more.
Step 6: After entering all the details, click on the "Next" button.
Step 7: You can add multiple actions to a single event. After adding your actions
click on the "Next" button.
Step 8: Finally your Event is Created, and you are redirected to the Events page.
Notification Log
This page shows you the log of all the events that occured in the past, their details, their timings and
few more insights about the variable during the the event.
Reports
Reports help users to track devices over time and make high-level decisions for improvement in
processes for better reliability, quality, and maintenance.
You can create daily, weekly, monthly reports using the InfiIoT Reports feature.
Creating a Report
Predictions (Beta)
Predictive analytics is the use of data, statistical algorithms, and machine learning techniques to
identify the likelihood of future outcomes based on historical data.
Predictions help users to improve operations and reduce risks.
InfiIoT predicts your data based on the past trends in data, So the predictions highly depend on
your data, the more is the training dataset the better will result.
Danger
Predictions are nothing but "best guess" of future made using provided data. In no way, the
predictions should be considered immutable. Predictions are only meant for learning
purposes
Setting up for Predictions
Setting up your Prediction:
You can either use device data on InfiIoT Platform or you can upload data from a .csv file. Please refer
to the .csv format before uploading your data for the prediction.
After loading your data you can see a preview of your data in the chart widget!
Training your Model
Train your model:
What does "Training your Model" or "Fitting your Model" mean?:
Fitting a model means that you 're making your algorithm learn the relationship between predictions and
outcomes so that you can predict the future values of the outcome. So the best-fitted model has a
specific set of parameters that
best defines the problem at hand.
What does Loss mean?:
Loss is the penalty for a bad prediction. That is, a loss is a number indicating how bad the model's
prediction was on a single example. If the model 's prediction is perfect, the loss is zero; otherwise,
the loss is greater. The goal
of training a model is to find a set of weights and biases that have low loss, on average, across all
examples
How Much Data is Needed to Train a (Good) Model?
For most time series applications, this means that the submitted data should have as many observations as
the period of the maximum expected seasonality.
For example, if you have daily sales data and you expect that it exhibits annual seasonality, you should
have more than 365 data points to train a successful model. If you have hourly data and you expect your
data exhibits weekly seasonality,
you should have more than 7*24 = 168 observations to train a model. However, these are the bare minimum
number of points needed to train these types of models – more data is required if you want to
effectively test how accurately
your model performs at making predictions. Your test set should be about 25% the size of your training
set. So with a dataset that is expected to exhibit annual seasonality, the minimum number of points
required to train and test
multiple models is 365 + 365/4 ~ 456 observations.
Steps to follow for model training:
Step 1: Once you have added your data in the dataset section, move to Network tab
to for training your model.
Step 2: Set Hyperparameters to train your model according to your convenience.
Step 3: Finally click on the "Train Model" button to start your training.
Note
All the statistical and machine-learning algorithms run on your computer (client-side), So the
speed of model training and production of results solely depends on the processing capability of
your computer.
Making Predictions
Making Predictions:
Finally, Your Predictions are ready! Remember that this feature is in Beta, sooner this feature will be
available across whole platform and you will be able to implement live on dashboard without need of
training the model
Security Tips
Securing an Internet of Things (IoT) infrastructure requires a rigorous security-in-depth strategy.
This strategy requires you to secure data in the cloud, protect data integrity while in transit over
the public internet, and securely
provision devices. Each layer builds greater security assurance in the overall infrastructure.
Security Tips Image:
The sections that follow provide best practices for each of these players to help develop, deploy,
and operate a secure IoT infrastructure.
Secure an IoT Infrastructure
This security-in-depth strategy can be developed and executed with the active participation of various
players involved with the manufacturing, development, and deployment of IoT devices and infrastructure.
Following is a high-level
description of these players.
IoT hardware manufacturer/integrator: Typically, these players are the
manufacturers of IoT hardware being deployed, integrators assembling hardware from various
manufacturers, or suppliers providing hardware
for an IoT deployment manufactured or integrated by other suppliers.
IoT solution developer: The development of an IoT solution is typically done by a
solution developer. This developer may part of an in-house team or a system integrator (SI)
specializing in this activity. The
IoT solution developer can develop various components of the IoT solution from scratch, integrate
various off-the-shelf or open-source components, or adopt solution accelerators with minor
adaptation.
IoT solution deployer: After an IoT solution is developed, it needs to be deployed
in the field. This process involves deployment of hardware, the interconnection of devices, and
deployment of solutions in hardware
devices or the cloud.
IoT solution operator: After the IoT solution is deployed, it requires long-term
operations, monitoring, upgrades, and maintenance. These tasks can be done by an in-house team that
comprises information technology
specialists, hardware operations and maintenance teams, and domain specialists who monitor the
correct behavior of overall IoT infrastructure.
IoT hardware manufacturer/integrator
The following are the best practices for IoT hardware manufacturers and hardware integrators.
Scope hardware to minimum requirements: The hardware design should include the
minimum features required for the operation of the hardware, and nothing more. An example is to
include USB ports only if necessary
for the operation of the device. These additional features open the device for unwanted attack
vectors that should be avoided.
Make hardware tamper-proof: Build in mechanisms to detect physical tampering, such
as the opening of the device cover or removing a part of the device. These tamper signals may be
part of the data stream uploaded
to the cloud, which could alert operators of these events.
Build around secure hardware: If COGS permits, build security features such as
secure and encrypted storage, or boot functionality based on Trusted Platform Module (TPM). These
features make devices more secure
and help protect the overall IoT infrastructure.
Make upgrades secure: Firmware upgrades during the lifetime of the device are
inevitable. Building devices with secure paths for upgrades and cryptographic assurance of firmware
versions will allow the device to
be secure during and after upgrades.
IoT solution developer
Follow secure software development methodology: Development of secure software
requires ground-up thinking about security, from the inception of the project all the way to its
implementation, testing, and deployment.
The choices of platforms, languages, and tools are all influenced by this methodology. The Microsoft
Security Development Lifecycle provides a step-by-step approach to building secure software.
Choose open-source software with care: Open-source software provides an opportunity
to quickly develop solutions. When you're choosing open-source software, consider the activity level
of the community for each
open-source component. An active community ensures that software is supported and that issues are
discovered and addressed. Alternatively, an obscure and inactive open-source software project might
not be supported and issues
are not likely to be discovered.
Integrate with care: Many software security flaws exist at the boundary of
libraries and APIs. Functionality that may not be required for the current deployment might still be
available via an API layer. To ensure
overall security, make sure to check all interfaces of components being integrated for security
flaws.
IoT solution deployer
Deploy hardware securely: IoT deployments may require hardware to be deployed in
unsecure locations, such as in public spaces or unsupervised locales. In such situations, ensure
that hardware deployment is tamper-proof
to the maximum extent. If USB or other ports are available on the hardware, ensure that they are
covered securely. Many attack vectors can use these as entry points.
Keep authentication keys safe: During deployment, each device requires device IDs
and associated authentication keys generated by the cloud service. Keep these keys physically safe
even after the deployment. Any
compromised key can be used by a malicious device to masquerade as an existing device.
IoT solution operator
Keep the system up-to-date: Ensure that device operating systems and all device
drivers are upgraded to the latest versions. If you turn on automatic updates in Windows 10 (IoT or
other SKUs), Microsoft keeps it
up-to-date, providing a secure operating system for IoT devices. Keeping other operating systems
(such as Linux) up-to-date helps ensure that they are also protected against malicious attacks.
Protect against malicious activity: If the operating system permits, install the
latest antivirus and antimalware capabilities on each device operating system. This practice can
help mitigate most external threats.
You can protect most modern operating systems against threats by taking appropriate steps.
Audit frequently: Auditing IoT infrastructure for security-related issues is key
when responding to security incidents. Most operating systems provide built-in event logging that
should be reviewed frequently to
make sure no security breach has occurred. Audit information can be sent as a separate telemetry
stream to the cloud service where it can be analyzed.
Physically protect the IoT infrastructure: The worst security attacks against IoT
infrastructure are launched using physical access to devices. One important safety practice is to
protect against malicious use
of USB ports and other physical access. One key to uncovering breaches that might have occurred is
logging of physical access, such as USB port use. Again, Windows 10 (IoT and other SKUs) enables
detailed logging of these events.
Protect cloud credentials: Cloud authentication credentials used for configuring
and operating an IoT deployment are possibly the easiest way to gain access and compromise an IoT
system. Protect the credentials
by changing the password frequently, and refrain from using these credentials on public machines.