Conf42 Internet of Things (IoT) 2024 - Online

- premiere 5PM GMT

Unveiling the Vital Link between IoT and Mobile: The Power of Telemetry

Video size:

Abstract

IoT is a frenetic world, where often the location/context is crucial. Now, imagine having to develop a mobile app for a device used for mountain climbing or diving. Debug, it’s a challenge. This is where Telemetry comes into play, and I want to talk to you about it based on my experience.

Summary

Transcript

This transcript was autogenerated. To make changes, submit a PR.
Today. I will share with you some insights about IoT and mobile, in particular, how to make them work together and get the best out of them to debug and develop application. So my talk is called unveiling the vital link between IoT and mobile. The power of telemetry. And just before starting, I invite you to use the chat and drop a message about if you are using telemetry, which one and how telemetry solve your issue. So I'm curious to see telemetry in action also for you. But just before starting. Let me take a just second to introduce myself. Ciao. Hi, I'm Matteo. I'm a senior mobile engineer. I start back in days when the first, beta of IUS was release, to the public. So as you can imagine, a bit of time ago and for many years, more than 15 so far. I work in developing by application, for iOS sometimes also for Android and lately back more since 2019 in Flutter or mobile devices as companion app of IoT project and with my team, I also work in developing some, internal tools, for example, one related to telemetry. To help our daily job and make stuff working. easier, not only for us as developer, but also for our friend of the QA department. Last but not least, let me say I'm an happy and enthusiastic open source contributor. So probably you will find some of my library or awesome collection of links. One is for sure awesome, swift. Another is related with awesome BLE. I'm also the mobile lead of a team. In intent and intent is a company with more than 10 years of experience, in building as you imagine application companion app or connected device. So let's say an expertise perfectly fit our aim, our customer, some of them are, aura Bosh, and we are working every day with new. exception startup, and we're helping them to start their journey from the project to the real product on the market. So let's start speaking about telemetry now. Telemetry It is a way to collect data, but in a very specific way. Automated, and this is a key word that I want to underline. Automation is very important. The collection of the data should not be human driven. And later we'll see why telemetry is a way to collect a constant. Stream of data that allow you to see what happened back in the days in the second in the minutes and basically add the whole history of what happened is such important because as you can imagine, allow you to have a full reply of what happened and this one is very useful because it can happen that you are not Transcribed At your desk in that let me share an example, a very high level example, totally, let's say from a different context, but to have an idea what telemetry is and how it works, I share with you one of my passion that is, building, applying custom drone. Building a custom drone is not such a trivial, let's say operation. And this one already help you to understand that a telemetry tool is useful in many different stage of a product. For a drone is useful when you start to find how to build that already. Then when you start to assemble and put the first screw And then when you start to do the, let's say, first very fly, and then when you start to enjoy flying with that, why is such important? As you can imagine, a drone has inside the board that keeps, let's say, the brain of the drone. A drone is composed by many components. motors, at least four propeller, antenna, GPS, and battery, and everything has to work smoothly. Otherwise, instead of having a beautiful drone fly, we have, let's say Or in the worst scenario, we have basically something splashed on the floor. according to that, we don't want to do that and we want to have fun with our drone. We need to use some specific tool and drone have many open source firmware that you can flash. And this firmware grants you access to many information in real time. www. Flydreamers. com when you build that, you can use steel, for example, let's say you art to install the firmware, but as you can imagine, meantime, you fly. there's no way to do that. So you need data in real time in a different manner. And here telemetry comes to help. Telemetry is able to tell you if the speed of each of the engine from this one, you can understand if the propeller are working the proper way. If the batteries in the proper, let's say temperature and how many millivolts you have still, because if for the first fly is important to understand that everything works as expected for the next slide is important to understand that. you have battery enough, the battery is in the proper position, balance, the engine are not overheating, and you can collect many of this information, your position through the GPS, the audio and video feed from the camera, the propeller speed, the battery consumption, and if you put together this one, you have the full information of your flight. You can listen, if you can come back first of all. That is not such a trivial stuff because you can even go too far, too high, and the battery is not able to last that long, so there is not, let's say, return home, and this one can be problematic. You need to know the GPS position because if anything happens and the drone falls down, You have to find that another, not such a trivial stuff. So let me say drawn is a perfect example of starting from zero to reach the final product, how much a simple stuff like telemetry. So a full automated feed of data coming from a device in this case, helped you to, a different stage, achieve the goal. One information more. Is, as you can imagine that we have different kind of connection, and in this part, we need to, let's say in our particular scenario. So considering that we have a mobile phone, we are speaking about indirect way of connection. Let's play a reversal. A peripheral that has a standalone connection, internet connection, can be, I don't know, Wi Fi rather than NB IoT, and a SIM on that is pretty standalone. But you can apply telemetry over there too for sure. in a context like BLE, so we have two options. Or we have physical gateway. or you need to ask your phone to act as a gateway. So the phone is able to, gather all the information as a kind of, let's say, transparent proxy and bring them to, to a tool where you collect all the data. Okay, sounds good, I think. And I think already I catch some of your possible, let's say, doubt. So what's the difference between telemetry and logging? Good question. it's pretty simple. And we come back to the very, very beginning slide. Automation is the key. in this scenario, logging means that there's a developer that is entitled to develop some code and drop locks inside that to double check what's going on. This one, by definition, can be error prone, can even be that I did the best job ever, but I forgot one condition. And when you're debugging in, say, special condition, and we'll see this later, and this one can be problematic. So telemetry helps a lot because as I mentioned can be considered as a transparent proxy that grab the data and keep them and store them even locally in the beginning the phone if the phone has no connection but later is able to sync To an external system. And with this external system, you can have, chronologically all the what happened and double check how to make it work. Why I was saying that is important and can be risky use logic because if you are debugging in special condition, so not next to your desk, if you figure out that they forgot to drop a lock, you can It's tricky. If you forgot that I dropped the log and the application is being used to climb a mountain or to swim or go underwater or drive a fast car. I don't know if you'll have time to issue a new version of the app to be used to debug and catch what's missing. a tool that grants me full access to the data. makes my life easier and calmer at the same time. So I don't have to think about, Oh, I put all the log in the proper place. Oh, I hope so. Let's hope that the guy doesn't have to climb 50 million times this hill. So it doesn't work like this. So logging is very important. What's inside telemetry? The proper answer probably would be, and should be, everything. I tried to put down some of the log in the proper place. I thought that usually are used. So for sure, the connection status is useful. More to know if you are connected or not. There are SSI. So how much is the signal strength of BLE? The battery level of the peripheral or the battery levels if the peripheral has multiple battery or What do you call it? Peripheral. Because even this one is another condition. The full flow of the command sent, received, error, codes, for example, the firmware version of the device. So pack all together. This one is very important. So give you an idea of what's going on. And allow you to create a kind of, let's say, digital twin reply, the full experience. And this one is very useful later when you sit back to your office desk and you need to the back so you can go check all the data step by step understand what's the status of the peripheral understand what's the mobile phone send and try to figure out where is the income. I want to share with you an example telemetry and let's call that telemetry in action. So have a beautiful daily tracker. It works in the swimming pool and for sure is not an extreme place, that's for sure. You need some, pay some attention if you don't want to make your laptop fly in the water and start to figure out, how much it's, let's say. water, how much is waterproof. and also, it's a high humidity environment. So there are some precautions that are neat. And let's say that this device, for example, is used by a trainer. So a person that is standing still and waiting the person that is swimming to come back and, let's say, start a new lap. So this is the scenario. I decided to split that in three part. So first of all, behavioral debugging, old school, totally old school approach. The trainer is checking the phone. The person is coming. Noted. This one is the behavioral debug. We stop over there. Okay. nothing more, nothing less. Log debugging. Let's say that we bring our laptop, we keep connected to the phone or the tablet. And what we can see, I put some logs here and there, battery updated. Beautiful. Peripheral disk analytics. Interesting. But I don't have a clear idea what's going on. Telemetry. So in this case, instead, me as a developer, I'm in the office. and I'm looking at the flow of data coming and I see that there is a GAN notification. Good. This one brings some information like the firmware version. Perfect. But also show me that the battery drops suddenly to five percent. very low level. and then disconnect. Totally different scenario from, verify disconnect and, I don't have the data. Behavior UI debugging. In this way, I'm in the office, I can sit, I can try to replicate the situation and understand that the sync for sure is intermittent. So this is the issue. But the other stuff is that with the telemetry I was able to understand that the battery. After a specific command start to fall down so much that make the disconnection in place. The result, as you can imagine, is a, the developer doesn't have to start swimming or learn swimming. It's not trivial stuff, but as you can imagine, I am able to debug that in hour or even less and staying, for example, in the office. and much faster. So this kind of stuff allow me to have a, let's say really a digital clone, the device that is in the swim in the time, have the full flow of data and they can instruct with the framework team and the QA team, the device to replicate the same data and figure out what's triggering that. And then I can understand, for example, that is not a software demo bot. Issue, but it's more a firmware implementation that generate the issue, maybe, and try to address the bug, how a tool like this works, a tool like this works in a way, basically on any device, because user is built on top of the native implementation. So in the case of iOS, yes, it's objective C and in Android. No, it's not in Java, but it's a very low level. So Flutter and React Native will not have issue with that. You just import them and that's it. So you can start to collect the data. The data can be taken, stored locally, maybe the device, I'm climbing a mountain. There is no internet at the moment. So I can store the whole flow of data. in a local database. And then as soon as I have internet started syncing with a system that allow me later to browse that. And later I can browse this data remote. So in any place, if I'm in the office, if I'm in a special area dedicated for testing, and many people can check that the QA department, me as a developer, my colleague, I can share snippet information to the firmware team, and they can look into that and debug. So debugging without telemetry, if you ask me, no. it's an alley that allows me to have less to do. I don't have to remember to cover many stuff in terms of logs. So I don't have to make my code, let's say, full of flux and to catch all the possible, let's say, nuances, edge cases, and much more calm, QA team is much more happy because they have all the flow of data can even be even too much, let's say, but we can filter them. So better to collect the data, most of them, and then try to understand on top that what's going on. We can repeat the scenario as many times we want because now we have the data, we know the flow, we know the steps, and we don't know only the steps from a behavioral standpoint or a recorded screen, we know what's going on under the hood. So we can have some instruments other that help us to feed the digital twin and see how to make it work can be a digital twin hardware or software. for listening. As a simulator, and this one help us to, shrink a lot, the development. So why using telemetry? Save money. So if I have a prototype and I want to jump on the market, if it can help, the firmware team, the hardware team. giving insights real time on what's going on, fine tuning and implementation, catch the bug at the earliest stage and find the solution much easier, faster without repeating many time. Let's say, outdoor test. For sure. I'm already saving time and strictly connected to save time. I can. save money so I can cut the cost of debugging and testing. Last but not least, I will have much happier customer and the return rate risk to perform way better. So be less, let's say, huge than expected. So if I have a good stable product, I don't have to worry about the product come back. So this one. These are very other important stuff related to the word iot of iot in particular on BLE. If you don't believe me, you can check many on the comments of BLE, related application that doesn't have a fledge, let's say overview before the launch. And you can see in the comment of the application. So that's it. I hope I was able to share with you an idea of what the limiter is, in particular in the scenario of BLE. So how to use a device like a smartphone to collect data and help improve the way you are working every day. And make your own say go to market in case you are the owner of the product much easier. If you want, I'm here. Let's discuss together, telemetry and let's explore also your needs. So if you have any need. for your IOT device, your IOT project, and you want to discuss how to improve, for example, the reliability of the BLE connection, you are facing an issue with connection stability, reconnection, etc. For sure, I think we can help you. we have the knowledge we have the tool. So feel free to reach me out on LinkedIn. You can find me as Teoclipa or you can drop me an email at grow at winstinton. com. And yeah, thank you for your time and hope we will see and meet each other and can help you with your beautiful IoT project. Ciao.
...

Matteo Crippa

Mobile Team Leader @ Intent



Join the community!

Learn for free, join the best tech learning community for a price of a pumpkin latte.

Annual
Monthly
Newsletter
$ 0 /mo

Event notifications, weekly newsletter

Delayed access to all content

Immediate access to Keynotes & Panels

Community
$ 8.34 /mo

Immediate access to all content

Courses, quizes & certificates

Community chats

Join the community (7 day free trial)