DNA of Things

The amount of data grows exponentially and being able to manage and store it is a challenge.

The system called “DNA of things” designed by researchers Yaniv Erlich and Robert Grass allows large amounts of information to be stored in objects and faithfully reproduced in each copy.

The starting point has been a nanoscale 3D printing technology with microcrystals that allows the generation of small printable barcodes on any surface. This information, which is only a hundred-bit code, allows later access and is long-lived. Its applications include merchandise authentication or product tracking.

The researchers mention a host of possible applications for their technology. For now, some of the most relevant are the inclusion of data on drugs or construction materials. This would allow them to be safely identified and, at the same time, prevent them from being forged. Somehow it is as if each object includes its own identity card. However, one of the most curious applications would be in the field of a discipline called steganography. This term, from the Greek, means “occult writing.” That is, the ability to hide messages in objects.

The messages can be hidden in any object made of materials such as polyester, polyurethane or silicone as long as a certain temperature is not exceeded in its manufacture.

If applied to the manufacture of everyday objects, it could serve to incorporate information about their manufacture and composition, and it could also be the first step towards self-replication of machines.

The DNA of things would allow information to be transported inadvertently, housing it in almost any object.


The Origin of IoT

The concept of IoT is generally summarized in that it is about turning everyday objects into sources of information that are connected to the network. But how and when did the IoT really emerge?

The term has its origin at the end of the last century, specifically in 1999, when Kevin Ashton, director of Procter & Gamble, had the initiative to create a group of researchers called the Auto-ID Center at the Massachusetts Institute of Technology (MIT), which They were dedicated to finding out information about Radio Frequency Identification Network (RFID) and sensor technologies.

This being the origin, we can specify the definition of the IoT concept in a collection of unlimited objects permanently connected in a digital setting that aspire to make everything intelligent by managing large amounts of information.

But if we want to fully understand the origin and scope of the IoT, it would be a mistake to focus solely on the activity of recent years. It is convenient to take a step back and take a look at the past, analyzing how the different technological evolutions have inevitably brought us to this point.

It dates back to the 19th century, in what are considered the first telemetry experiments in history. The first record was made in 1874 by French scientists. They installed meteorological and snow depth information devices on top of Mont Blanc.

The idea of ​​being able to connect objects and that they were intelligent was already reflected at that time in the thoughts and writings of such notable scientists as Nikola Tesla or Alan Turing. His words, read from a historical perspective, now make sense and show just how ahead of his time.

However, the advancement of this network of networks was slow during the 70s and 80s for several reasons, the main one being the lack of fast and low-cost communications over medium and long distances, which facilitated the creation of heterogeneous networks, totally incompatible with each other. It wasn’t until the mid-1990s that the commercial and universal Internet began its ultimate expansion. Silos were interconnected using a communications protocol, the famous TCP / IP, the foundation of the Internet, and non-standard implementations began their decline. In this way, the military and academic network that was ARPANET became the INTERNET and with it the origin of countless new social and business models.

And it was before the popularization of this incipient Internet that the idea of ​​connecting objects through this network soon began to become popular. Back in 1990 John Romkey, at the Interop event in the United States, created the first object connected to the Internet: a toaster that could be turned on or off remotely. The connectivity was through the aforementioned TCP / IP protocol and the control was done through SNMP (Simple Network Management Protocol), a network management protocol, which was used to control the turning on and off of the device.

But the revolution came hand in hand with the popularization of wireless connectivity, whether cellular or WiFi, at the beginning of the 21st century. This finally allowed us to witness a first explosion in the growth of connected objects. And this growth has been seen especially in the last decade, where new concepts such as WSN (Wireless Sensor Networks) or M2M (Machine to Machine) have been produced, to finally give way to the IoT that we all know.

The IoT journey is still a long way to go, its applications are infinite and to be exploited for the benefit of the information that can be processed. With more interconnected objects, more information will be flowing from these simple systems to large databases, where correlations can be made and the right decisions can be made.


HTTP with Quectel

In this post we will explain how to connect via HTTP to the Thethings.io platform through the Quectel M95. A high-performance and economical GSM / GPRS module, with which the Chinese manufacturer, Quectel, reduces the TTM (time to market) in addition to providing other connectivity options for IoT products.

Step by Step tutorial

For this exercise it is necessary to have, in addition to the  QUEGSMEVB-KIT development board and the M95FATEA-03-STD module with its SIM card, the Docklight analysis and simulation tool. A software made exclusively for serial communication protocols. To download the latest version, click on the following link.



Thethings.io has created a small project (ttio_quectel_http_client) made up of the AT commands necessary to: first, configure the GPS module, and then connect it to the platform. Finally, a command will be executed each time you want to send a fictitious temperature sample, since the module does not have a temperature sensor. To download this file, click here  https://github.com/theThings/Quectel_HTTP_AT_Commands


Once downloaded, power the development board and connect it through the RS232-USB converter cable to the terminal. Run the Docklight and select the start option “Start with a blank project / blank script“. Click on the tab “File” and select the option “Open Project ...”. A dialog box will appear asking us to select the file to open. Find the file named “ttio_quectel_http_client” and click the “Open” button. Automatically, within the “Send Sequences” box (right of the screen) a list of commands will appear in order of steps.


Next, configure the correct communication port by double click on the COM8 box (above the “Communication” box). Each terminal assigns it randomly, so the one that appears in the example does not have to be the same.

Finally, make sure that the “ASCII” tab of the “Communication” box (left of the screen) is selected, to have a better understanding of the steps we are about to take. And click the play icon to start communication with the Quectel N95.




The orderly execution (Q) of the AT commands and their response (A) are shown below to know that the sequence is performed correctly. To send / execute a command is as simple as pressing the arrow button located to the right of each one of them.

STEP 1: 




STEP 2: Write within the double quotes the identifier of the SIM card provider. In this example, a card from the old Airtel, today known as Vodafone, was used. To modify this command, double-click on it and a dialog box will open where you can enter the new name. It is updated once the “OK” button has been clicked.

Q: AT+QICSGP=1,”airtelnet.es”




STEP 3: Here it is important to put the exact number of characters of the following command, defined as step 4, and that represents the URL where the post will be made. In this example the result was 78. Therefore, if the result is different, this value will have to be modified.




STEP 4:  Write the token number that identifies the node to which you want to send the data. To know if the number of characters written in the previous command is correct, check the size of the sequence (red arrow). The part underlined in blue represents the token number to be replaced.

Q: https://api.thethings.io/v2/things/E4hAefnMbGy3hODTo7NzVJv_A5Tu1dz708OC2jRFEwU



STEP 5: Here you also have to put the exact number of characters of the following command, defined as step 6, and that represents the data of the post. For this example the result was 47. Therefore, if the result is different, this value will have to be modified.




STEP 6: Write the data stream in JSON format that you want to send. To know if the number of characters written in the previous command is correct, check the size of the sequence. In this case, the fictitious temperature value can be modified or not, substituting the number between double quotes. But be careful, because if the total number of characters is modified, the previous step will have to be repeated.

Q: {“values”:[{“key”:”Temperature”,”value”:”25″}]}



STEP 7: This step is optional and is used to find out the response from the server. In this case, the post was a success.






Partnership integration announcement

We are pleased to announce that we are starting 2021 strong and adding more and more features to the platform. In this case it is about integration with The Things Stack, a LoRaWAN platform that is actively maintained by The Things Industries. With this integration, IoT project developers will be able to create their projects with the thethings.iO dashboard in a simple and effective way through a simple configuration of an endpoint in the panel.

The Things Industries is a long-standing and internationally recognized LoRaWAN connectivity and service provider, with a global installed base of more than 18,000 gateways, more than 100,000 users and more than 200 B2B clients using The Things Industries as the basis  for their IoT projects with LoRaWAN.

The Things Industries is a leader in the global ecosystem and with its technology, the complexities of development for LoRaWAN networks are eliminated, in addition to allowing integration and interoperability throughout the supply chain and reducing the TCO of projects with this communications technology.

Through the integration of The Things Stack and thethings.iO, an association is created in the form of a partnership that offers a very powerful solution and great flexibility both in monitoring and in the creation of complex IoT networks and a real solution for real IoT projects. Where the user / developer has a world of possibilities to grow their business and service as far as their imagination can encompass.

At thethings.iO we continue working to add functionalities and integrations that help IoT application developers to carry out their projects regardless of the communications technology they use.

IoT in Livestock

One of the dilemmas we face today is sustainability in the food production system, both precision agriculture and the use of technology in livestock will be key to the objective of increasing the production of healthy foods with a minimum environmental impact.

The main advantage of the IoT application in livestock is the improvement in the control and management of animals and their production. But if their physical condition and the living conditions of the animals and the environmental variables of the farms are controlled, a product of better quality and greater traditional value can be offered.

IoT devices can help monitor the health of animals, monitoring their vital signs, the kilometers they travel, or even the ideal moment for their mating. Thus, a sensor that does not register any movement for a long time can indicate that the animal is sick or has suffered an accident.

Transport is also a task that represents a great risk for the welfare of the animals, having to pay special attention to variables such as temperature or weather conditions.

Another use of the IoT in livestock is the geolocation of livestock in real time using GPS sensors installed in collars or other devices. It is a very useful use within extensive livestock farming developed in large areas of land where animals move freely.

Also its usefulness in the monitoring of the cold chain, whose maintenance is essential throughout the supply channel.


Smart Homes

The era of digitalization applied to smart homes and smart buildings allows, through the information collected, to make decisions and at the same time control remotely.

This can offer you greater comfort and safety in your day to day. Whether it’s sensor lights that save you money on energy bills or security systems that you can control from thousands of miles away.

Intelligent home and building automation systems provide centralized control of a building’s heating and cooling systems, lighting, entry access, and other capabilities through a building management system.

It should be noted that digitization brings many benefits, both for users themselves and for companies. It makes life easier for users with the comfort provided by remote control or by its efficiency and cost control among others.

At the same time, it generates new business opportunities, for example, supply companies (water, electricity and gas), improve the monitoring and control capabilities of their systems.

Thethings.io allow to connect all kinds of devices through a wide range of protocols (posar link a la docu on hi ha els protocols) and create custom applications. 

You can connect yourself to your presence sensor, your cooling system or your washing machine and create your own alarms or remote control using thethings.io panel and its tools. If you need help, just contact us! 


UDP with ESP32-S2

In this post we will explain how to connect via UDP to the Thethings.io platform through ESP32-S2. A high-performance IoT module, with which the Chinese giant Espressif will try to reduce the TTM (time to market) of the new IoT products that are yet to come.


Step by Step tutorial

First of all, check that the terminal has Java SE (11 or higher) and Python (3.5 or higher). Otherwise, install the most recent version by clicking on each of the links.

Download the ESP-IDF Tools Installer package that contains the essential tools for programming and debugging the ESP32-S2. To avoid problems, it is recommended that you install in an address that does not contain blank spaces.

Next, install the Eclipse IDE development environment (version 2020-06 CDT). Download the Eclipse Installer program (here) and install the Eclipse IDE for C / C ++ Developers package. Note: do not change the default address to avoid problems.

If you don’t have the Git version manager, install the most recent version by clicking on the link. Once installed, clone the ESP-IDF 4.2 repository where the ESP32-S2 module libraries are located (here).

From the Eclipse IDE program, first install the plugin, and then the tools. Instructions can be found here.




Take the ESP32-S2-Saola-1 kit from Espressif and connect it via USB to the terminal. From here, you can:

  1. Create a project.
  2. Create a project with a template.
  3. Open a project.




Projects are easily created by selecting the File> New> Espressif IDF Project tab. Enter the name and click Finish.





Template projects are the best option for both novice users, who want to discover first-hand the potential of the ESP32-S2, as well as experts or professionals, who appreciate having  parts of the code already made to quickly move to the testing phase.


Select the File> New> Espressif IDF Project. Give the project a name and click Next>. Mark the top checkbox and choose one of the many examples available. Note: some only work for ESP32, which is the pre-ESP32-S2 chipset.




Thethings.io has created a sample project (ttio_udp_client) to show platform users how to use the ESP32-S2-Saola-1 kit to take temperature samples and upload them to the cloud via UDP protocol. To download it click here https://github.com/theThings/ESP32_UDP. Note: It is important to save the project in the folder configured as a workspace in the Eclipse IDE.


Once downloaded select File> Import…. A new window will appear. Select the option Espressif / Existing IDF Project and click Next>. Indicate the location and click Finish.



Before compiling, the user needs to fill in three code definitions. From the project explorer window (located on the left of the screen) locate and open the main file, main.c. Definitions are at the beginning.


Write the identifier and password of the Wi-Fi from which you want to make the connection and the token number assigned to the thing, which will be responsible for storing the samples received by UDP. Note: if the Wi-Fi does not have a password, leave the space empty (“”).


New users of the Thethings.io platform who need to create an account can do so at https://thethings.io and follow the steps. After registration is complete, create a new IoT product through the Things Manager screen and select JSON as the product type.


Once the main.c file has been modified, click on the hammer icon (above the project explorer) to compile. Verify that the process has finished without errors or warnings.

Next, start recording the kit by clicking on the play icon (located next to the hammer). 

However, to see the values on the web, it is necessary to add the following function by clicking on the ‘Cloud code’ tab and the ‘Add Function’ button.

Once completed, you can see from the Things Details screen how a temperature record has been created, which will be updated every 5 minutes.


Optionally, the application can be tracked via USB by opening the terminal window. Select the Window> Show View> Terminal. A new window will appear with various icons in the upper right. Click the first of all (the one that looks like a screen). A new configuration window will appear. Select the port to which the kit is connected and leave the rest of the default values. Click OK to start communication.


Use thethings.iO, the simplest enterprise IoT platform. If you have any doubts please contact us at hello@thethings.io




Implement Machine Learning for Predictive Maintenance

The benefits of predictive maintenance, such as helping determine the condition of equipment and predicting when maintenance is due, are extremely strategic.

Together with the implementation of solutions based on Machine Learning, you can help even more and generate significant cost savings, greater predictability and greater system availability.

Data is collected over time to monitor equipment health. The goal is to find patterns that can help predict and ultimately prevent failures.

Why use ML in predictive maintenance?

Because ML allows you to:

  • Create predictive models to maximize asset life, operational efficiency, or uptime.
  • Take advantage of past and ongoing data.
  • Optimize periodic maintenance operations.
  • Avoid or minimize downtime. This will help avoid dissatisfied customers, save money, and perhaps save lives.

In industrial AI, the process known as “training” allows ML algorithms to detect anomalies and test correlations while looking for patterns in various data sources. Although regular maintenance is better than failure, we often end up doing maintenance before it is needed. Therefore, it is not an optimal solution from a cost perspective.

Predictive maintenance avoids maximizing the use of your resources and will detect anomalies and failure patterns and give early warnings.