IoT Open Basic
Basic course for IoT Open developers and integrators.
“The possession of knowledge does not kill the sense of wonder and mystery. There is always more mystery.”
― Anais Nin
Welcome to this course in IoT Open. In this course you will get a deeper knowledge in what IoT Open is and what you can do with it. IoT Open is an IoT platform and as such this course is targeted to users of a platform and not users of IoT applications that might be built upon the platform. If you are looking for information about how to use a specific IoT Application this course is not for you.
In this course we will learn all the main elements of IoT Open. We will also collect some data, visualize it and work with it using different techniques. Giving you a toolbox for using IoT in different applications in a way that suits your needs.
That being said, let's get started!
This is a technical course. It will give you knowledge about what IoT Open is and how to use it. It is important to know from the start that IoT Open is an IoT Platform and not an IoT application, even though it may be used as a base for any IoT application. Some applications will be shown here as well.
Most of the examples and exercises here can be done in the workbench available right here at the training central. To get more in depth and take full advantage of all exercises you will need a Linux workstation or run the virtual appliance that is available right here at the site.
You need some, but not much, experience in working in a Linux environment and using an editor like nano or vi.
You will need some knowledge about how json-files works.
Other than that, some time and coffee will be all it takes!
In this chapter we will give you some background to IoT Open and what it is today.
Every course you'll ever take that is worth the name will have a history section. This course is no exception.
The platform now known as IoT Open started out in the late 90:s at the company Ericsson in Sweden. It was mainly targeted for the health care industry even though it was also used in the "smart home" area. Even though the term IoT already was defined at the time, "smart home" was what most of the industry used as a term for what IoT is today even though IoT is a wider concept than "smart home".
The platform was then spun off from Ericsson in a new company called Alleato. Alleato was also targeting the healthcare market but exploited the IoT business with products targeting smart homes and energy industries.
However: the 90:s passed, and a new millennium started. After a short while the Dot-com bubble burst, and the industry reformed and so Alleato was also reformed but kept going. The platform kept evolving, and the scope for Alleato as well.
In 2018 the company IoT Open One was formed in order to make use of the full potential of the platform. Alleato was still part owner of IoT Open together with the new internet company Th1ng that was also formed the same year. Alleato kept focusing on the health care market and IoT Open was focusing on the platform. The platform was then named IoT Open Lynx and was part of a family of products around the platform. In 2020 Th1ng bought the remaining part in IoT Open, and it became a full owned daughter company to Th1ng. The platform was then renamed from IoT Open Lynx to just IoT Open. The name remains in many components still, and now you know why.
So even though the platform today has no trace of the old code from the 90:s at Ericsson, the times spent on it is still there and even some employees that built it back then is till working on the platform in its current shape.
What is IoT Open
IoT Open is a generic platform for IoT applications. It is in use in several industries with multiple use cases. From monitoring homes to whole cities as well as boats and many other appliances.
IoT Open has an easy-to-use API and is really fast and scalable. Even though it is very easy to use, it is very flexible. It is very easy to build applications around it.
IoT Open also has built-in functionality for edge intelligence. It is possible to connect edge clients to the platform and write applications targeted to run on the clients. This open up for great possibilities to build scalable distributed applications running on different locations in the solution.
Writing these applications is out of scope for this course, but is included in the Advanced course.
What is IoT Open NOT
IoT Open is NOT an IoT Application. Applications are left for you to build. There are lots of integrations and applications that already exists that you can use, but the best ones is probably not written yet.
IoT Open has only a basic graphical user interface for managing users and organisations as well as some other simpler tasks. It is not meant to be an IoT application but a tool for managing IoT Open itself. The most of the functionality is in the API that we will work with in this course.
Some examples of use
There is some use cases available at the IoT Open Website, but there are of course several more to mention.
The most common use is for monitoring environments like temperature, humidity, noise and co2 level. It is also used for presence, asset tracking, agriculture, boating and much more.
So, you are still here? Great, then lets get started. At the very start some things might seem confusing, but please be patient: it will make sense in the end.
Create an account
First you will need an account in an IoT Open environment. So let's create an account at Open Lynx. There it was again, Lynx, but you know where it comes from, right?
You can do this right at this page by clicking
Tools => Register account right here at this site. You will need a
valid email address but that is all you need.
After registration, an email with a confirmation link should be sent to you. By using this link you can set your password and log in to Open Lynx. What you will see here is the basic user interface mentioned above. If you don't know what to do in it yet, it's perfectly fine. You will get the hang of it!
When logged in, you are the administrator of you own organization in the platform. Let's start by changing some data of your organization.
Click on Organizations in the top menu in Open Lynx. You will see a list with only one organization called "change me" . Click on it and write some more good-looking data in the form and press save.
Do the same thing for your user that you see as a contact person in the organization. You can also reach it by clicking the user icon in the top right corner. Some fields, like mobile is mandatory if you don't want to enter it, just type some random numbers.
Ok, great! Now you have an organization and a user, but you still can't do much. Please read on!
You have already seen two major objects, the organization and the user. There will be more about them later, but now let's move on to more interesting central objects. The objects that actually builds up the logic for IoT is the following:
Many years ago, the platform had many types of devices depending on what model they were. Depending on the device there were different types of functions. As more and more where supported we realized that there would be an endless race to implement new types as they came. This is why we introduced Device X / Function X or DevX/FuncX for short. The X of course represents anything so by doing this we limited devices and functions to only one. And at the same time increased the number of supported types to infinity.
Now let's look more into what devices and functions really are.
A device is an object representing some type of hardware. As you will see later it can also be virtual and is not necessary for any IoT application to work. But they are really nice to have for organizing your data.
A device typically represents some hardware. E.g. a motion sensor, a wall plug, a switch, a thermometer, a GPS-tracker or any other sensor or actuator.
A device cannot send or receive metrics or IoT data, but it may have metadata describing things around the sensor.
Example of metadata can be, name, brand, sensor type, location, firmware version or anything that suits your application.
But hey, no data from a sensor, does that make sense? Yes it does, this is where functions come in.
While a device is really easy to relate to, a function might be a little harder to grasp. It is really simple.
A function is something you can measure or control. For instance a temperature is something you can measure. Humidity is also something you can measure. A switch is something you can control. Typically, a device has one or more functions. E.g. a motion sensor might have both a motion function and a light function. It might also be equipped with a temperature function.
A function can belong to a device but doesn't have to. You can have functions not belonging to a device if you wish. However, both functions and devices must belong to an installation.
An installation is a logical and very central object. It represents a collection of devices and functions grouped together in some way. An example might be a house, a ship, a floor in a building, a part of a city, an IoT application or something else. It is central because it is part of the security system to put sensors in a context.
- A device or function cannot exist without belonging to an installation.
- A device or function can only belong to one installation
- An installation must belong to one organization
- A user can belong to one or many installations and organizations.
- An installation do not need to have users assigned.
Create an installation
So now you know what installations, devices and functions are. Let's create an installation in Open Lynx Open Lynx.
It's easy, click on Installations in the top menu and then "Add new installation". This will create an installation in your organization.
It's as easy as that!
Now lets look at the installation. Click on Installations and then on you newly created installation. There are some things you can do with it. Let's star with the "Settings" menu.
Here you can see the data of the installation. You can change the name and other things here. One thing you should change right away is the checkbox under "Connected to me" to connect your account to the installation. When you have done this, click the "Save" button, and your name should be listed under "All users".
That is all we need to do at this point.
After this chapter, you should have a brief understanding of the following objects
You should also have created a user account, an organization and an installation on Open Lynx that you can log in and see.
If that is the case, you are well-prepared for the next chapter!