{"id":11,"date":"2025-03-28T13:39:25","date_gmt":"2025-03-28T13:39:25","guid":{"rendered":"http:\/\/www2.gimasi.com\/?docs=the-level-meter\/section-1\/article-3"},"modified":"2025-03-28T13:39:25","modified_gmt":"2025-03-28T13:39:25","slug":"article-3","status":"publish","type":"docs","link":"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/article-3","title":{"rendered":"IoT Connectivity"},"content":{"rendered":"<p>[vc_row][vc_column][vc_column_text css=\\&#8221;\\&#8221;]<\/p>\n<p data-start=\\\"420\\\" data-end=\\\"717\\\">The <strong data-start=\\\"424\\\" data-end=\\\"439\\\">Level Meter<\/strong> is a sophisticated device used for monitoring environmental and industrial conditions, such as <strong data-start=\\\"535\\\" data-end=\\\"550\\\">temperature<\/strong>, <strong data-start=\\\"552\\\" data-end=\\\"562\\\">motion<\/strong>, and <strong data-start=\\\"568\\\" data-end=\\\"591\\\">location-based data<\/strong>. It has multiple sensors and connectivity options that enable seamless communication with cloud platforms and other devices.<\/p>\n<h4 data-start=\\\"719\\\" data-end=\\\"758\\\"><strong data-start=\\\"723\\\" data-end=\\\"756\\\">Communication Technologies<\/strong><\/h4>\n<ul data-start=\\\"759\\\" data-end=\\\"1548\\\">\n<li data-start=\\\"759\\\" data-end=\\\"968\\\"><strong>Wi-Fi or Cellular (LTE\/5G)<\/strong>: The Level Meter can use Wi-Fi or cellular networks (via an embedded SIM module) to transmit data to a cloud platform, allowing remote monitoring and real-time analytics.<\/li>\n<li data-start=\\\"969\\\" data-end=\\\"1147\\\"><strong>MQTT<\/strong>: Lightweight messaging protocol used for efficient communication. It allows the Level Meter to send data to the cloud with minimal overhead and quick response times.<\/li>\n<li data-start=\\\"1148\\\" data-end=\\\"1388\\\"><strong>LoRa<\/strong>: In remote or rural areas, LoRa connectivity can be used to transmit data over long distances with low power consumption. The Level Meter can leverage this technology in areas where traditional cellular coverage may be limited.<\/li>\n<li data-start=\\\"1148\\\" data-end=\\\"1388\\\"><strong>OTA Connectivity<\/strong><\/li>\n<li data-start=\\\"1148\\\" data-end=\\\"1388\\\"><strong>LTE NB-IoT<\/strong>: Cat NB2: B1\/B2\/B3\/B4\/B5\/B8\/B12\/B13\/B17\/ B18\/B19\/B20\/B25\/B28\/B66\/B70\/B85<\/li>\n<\/ul>\n<hr \/>\n<h4>LoRa Connectivity<\/h4>\n<ul>\n<li data-start=\\\"1477\\\" data-end=\\\"1566\\\">Used for environmental monitoring, asset tracking, and <strong>container-level detection<\/strong>.<\/li>\n<li data-start=\\\"1567\\\" data-end=\\\"1663\\\">Transmits sensor data (temperature, motion, battery level, etc.) at <strong>scheduled<\/strong> intervals.<\/li>\n<li data-start=\\\"1664\\\" data-end=\\\"1778\\\">Can trigger alarms based on <strong>threshold values<\/strong> (e.g., low battery, missing measurement, geofence violation).<\/li>\n<\/ul>\n<h4 data-start=\\\"2294\\\" data-end=\\\"2344\\\"><strong data-start=\\\"2298\\\" data-end=\\\"2342\\\">Example of LoRa Payload<\/strong><\/h4>\n<pre>{\n<span style=\\\"color: #ff00ff;\\\">\\\"device_id\\\"<span style=\\\"color: #000000;\\\">:<\/span> <span style=\\\"color: #339966;\\\">\\\"LM123456\\\"<\/span><span style=\\\"color: #000000;\\\">,<\/span><\/span>\n<span style=\\\"color: #ff00ff;\\\">\\\"timestamp\\\"<span style=\\\"color: #000000;\\\">:<\/span> 1711532400<span style=\\\"color: #000000;\\\">,<\/span><\/span>\n<span style=\\\"color: #ff00ff;\\\">\\\"temperature\\\"<span style=\\\"color: #000000;\\\">:<\/span> 23.4<span style=\\\"color: #000000;\\\">,<\/span><\/span>\n<span style=\\\"color: #ff00ff;\\\">\\\"motion_detected\\\"<span style=\\\"color: #000000;\\\">:<\/span> <span style=\\\"color: #3366ff;\\\">true<\/span><span style=\\\"color: #000000;\\\">,<\/span><\/span>\n<span style=\\\"color: #ff00ff;\\\">\\\"battery_level\\\"<span style=\\\"color: #000000;\\\">:<\/span> 78<span style=\\\"color: #000000;\\\">,<\/span><\/span>\n<span style=\\\"color: #ff00ff;\\\">\\\"signal_strength\\\"<span style=\\\"color: #000000;\\\">:<\/span> -85<\/span>\n}<\/pre>\n<p data-start=\\\"3412\\\" data-end=\\\"3490\\\">LoRaWAN supports different communication classes based on device requirements:<\/p>\n<div class=\\\"overflow-x-auto contain-inline-size\\\">\n<table style=\\\"height: 195px; width: 1079px; border-collapse: collapse; table-layout: fixed;\\\" data-start=\\\"3492\\\" data-end=\\\"3977\\\">\n<colgroup>\n<col style=\\\"width: 30%;\\\" \/>\n<col style=\\\"width: 35%;\\\" \/>\n<col style=\\\"width: 35%;\\\" \/> <\/colgroup>\n<thead data-start=\\\"3492\\\" data-end=\\\"3559\\\">\n<tr data-start=\\\"3492\\\" data-end=\\\"3559\\\">\n<th style=\\\"background-color: #003366; border: 1px solid #DCEEFF; color: white; padding: 8px; text-align: left;\\\" data-start=\\\"3492\\\" data-end=\\\"3505\\\"><strong data-start=\\\"3494\\\" data-end=\\\"3502\\\">Mode<\/strong><\/th>\n<th style=\\\"background-color: #4d84b3; color: white; padding: 8px; text-align: left;\\\" data-start=\\\"3505\\\" data-end=\\\"3523\\\"><strong data-start=\\\"3507\\\" data-end=\\\"3522\\\">Description<\/strong><\/th>\n<th style=\\\"background-color: #4d84b3; color: white; padding: 8px; text-align: left;\\\" data-start=\\\"3523\\\" data-end=\\\"3559\\\"><strong data-start=\\\"3525\\\" data-end=\\\"3557\\\">Use Case (Device)<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody data-start=\\\"3627\\\" data-end=\\\"3977\\\">\n<tr data-start=\\\"3627\\\" data-end=\\\"3750\\\">\n<td style=\\\"background-color: #003366; border: 1px solid #DCEEFF; color: white; padding: 8px;\\\"><strong data-start=\\\"3629\\\" data-end=\\\"3640\\\">Class A<\/strong><\/td>\n<td style=\\\"background-color: #a1c6e7; border: 1px solid #DCEEFF; padding: 8px;\\\">Ultra-low power, devices communicate only when sending data<\/td>\n<td style=\\\"background-color: #a1c6e7; border: 1px solid #DCEEFF; padding: 8px;\\\">Ideal for battery-powered Level Meter &amp; LCT<\/td>\n<\/tr>\n<tr data-start=\\\"3751\\\" data-end=\\\"3861\\\">\n<td style=\\\"background-color: #003366; border: 1px solid #DCEEFF; color: white; padding: 8px;\\\"><strong data-start=\\\"3753\\\" data-end=\\\"3764\\\">Class B<\/strong><\/td>\n<td style=\\\"background-color: #a1c6e7; border: 1px solid #DCEEFF; padding: 8px;\\\">Scheduled reception windows for downlink messages<\/td>\n<td style=\\\"background-color: #a1c6e7; border: 1px solid #DCEEFF; padding: 8px;\\\">Useful when periodic commands are needed<\/td>\n<\/tr>\n<tr data-start=\\\"3862\\\" data-end=\\\"3977\\\">\n<td style=\\\"background-color: #003366; border: 1px solid #DCEEFF; color: white; padding: 8px;\\\"><strong data-start=\\\"3864\\\" data-end=\\\"3875\\\">Class C<\/strong><\/td>\n<td style=\\\"background-color: #a1c6e7; border: 1px solid #DCEEFF; padding: 8px;\\\">Always listening, consumes more power<\/td>\n<td style=\\\"background-color: #a1c6e7; border: 1px solid #DCEEFF; padding: 8px;\\\">Used for real-time control (not recommended for LM &amp; LCT)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<hr \/>\n<h3 data-start=\\\"538\\\" data-end=\\\"578\\\"><strong data-start=\\\"541\\\" data-end=\\\"576\\\">OTA Updates for Level Meter<\/strong><\/h3>\n<p data-start=\\\"580\\\" data-end=\\\"845\\\">The <strong data-start=\\\"584\\\" data-end=\\\"599\\\">Level Meter<\/strong> is a sophisticated device with a variety of sensors (such as temperature, motion, and accelerometer). OTA updates ensure that the device can be remotely updated with new features, bug fixes, or security patches without requiring physical access.<\/p>\n<h4 data-start=\\\"847\\\" data-end=\\\"888\\\"><strong data-start=\\\"851\\\" data-end=\\\"888\\\">How OTA Works for Level Meter:<\/strong><\/h4>\n<ol data-start=\\\"889\\\" data-end=\\\"2748\\\">\n<li data-start=\\\"889\\\" data-end=\\\"1474\\\">\n<p data-start=\\\"892\\\" data-end=\\\"920\\\"><strong data-start=\\\"892\\\" data-end=\\\"919\\\">Firmware Update Process<\/strong>:<\/p>\n<ul data-start=\\\"924\\\" data-end=\\\"1474\\\">\n<li data-start=\\\"924\\\" data-end=\\\"1034\\\">The device periodically checks a cloud server (or another designated source) for available firmware updates.<\/li>\n<li data-start=\\\"1038\\\" data-end=\\\"1156\\\">When an update is available, the Level Meter establishes a secure connection to the server and downloads the update.<\/li>\n<li data-start=\\\"1160\\\" data-end=\\\"1259\\\">The update is validated (via checksums, digital signatures) to ensure integrity and authenticity.<\/li>\n<li data-start=\\\"1263\\\" data-end=\\\"1353\\\">The firmware update is then installed, and the device reboots to apply the new firmware.<\/li>\n<li data-start=\\\"1357\\\" data-end=\\\"1474\\\">If needed, the device can be configured remotely to adapt to the new features or settings introduced by the update.<\/li>\n<\/ul>\n<\/li>\n<li data-start=\\\"1476\\\" data-end=\\\"2054\\\">\n<p data-start=\\\"1479\\\" data-end=\\\"1498\\\"><strong data-start=\\\"1479\\\" data-end=\\\"1497\\\">Update Methods<\/strong>:<\/p>\n<ul data-start=\\\"1502\\\" data-end=\\\"2054\\\">\n<li data-start=\\\"1502\\\" data-end=\\\"1741\\\"><strong data-start=\\\"1504\\\" data-end=\\\"1550\\\">MQTT (Message Queuing Telemetry Transport)<\/strong>: Used for lightweight communication between the Level Meter and the cloud. The update command can be sent via an MQTT topic, signaling the device to download and install the firmware update.<\/li>\n<li data-start=\\\"1745\\\" data-end=\\\"1864\\\"><strong data-start=\\\"1747\\\" data-end=\\\"1761\\\">HTTP\/HTTPS<\/strong>: Secure HTTP\/HTTPS protocols can also be used to fetch and install firmware files from a cloud server.<\/li>\n<li data-start=\\\"1868\\\" data-end=\\\"2054\\\"><strong data-start=\\\"1870\\\" data-end=\\\"1913\\\">CoAP (Constrained Application Protocol)<\/strong>: In resource-constrained environments, CoAP can be a lightweight alternative for IoT devices to receive updates over low-bandwidth networks.<\/li>\n<\/ul>\n<\/li>\n<li data-start=\\\"2056\\\" data-end=\\\"2448\\\">\n<p data-start=\\\"2059\\\" data-end=\\\"2098\\\"><strong data-start=\\\"2059\\\" data-end=\\\"2097\\\">Example of Firmware Update Payload<\/strong>:<\/p>\n<\/li>\n<\/ol>\n<pre>{\n<span style=\\\"color: #ff00ff;\\\">\\\"device_id\\\"<\/span>: <span style=\\\"color: #339966;\\\">\\\"LM123456\\\"<\/span>,\n<span style=\\\"color: #ff00ff;\\\">\\\"update_type\\\"<\/span>: <span style=\\\"color: #339966;\\\">\\\"firmware\\\"<\/span>,\n<span style=\\\"color: #ff00ff;\\\">\\\"version\\\"<\/span>: <span style=\\\"color: #339966;\\\">\\\"v2.0.1\\\"<\/span>,\n<span style=\\\"color: #ff00ff;\\\">\\\"url\\\"<\/span>: <span style=\\\"color: #339966;\\\">\\\"https:\/\/server.com\/firmware\/LMT_v2.0.1.bin\\\"<\/span>,\n<span style=\\\"color: #ff00ff;\\\">\\\"checksum\\\"<\/span>: <span style=\\\"color: #339966;\\\">\\\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\\\"<\/span>,\n<span style=\\\"color: #ff00ff;\\\">\\\"signature\\\"<\/span>: \\\"<span style=\\\"color: #339966;\\\">MIIBIjANBgkqhkiG9w0BAQEA7ENwFz5H8AyYmHoLBffZuFbKNF<\/span>\\\"\n}<\/pre>\n<hr \/>\n<h3><strong>Example MQTT Code<\/strong><\/h3>\n<pre><span style=\\\"color: #3366ff;\\\">import<\/span> paho.mqtt.client <span style=\\\"color: #3366ff;\\\">as<\/span> mqtt\n\n# Config. broker MQTT\nBROKER =<span style=\\\"color: #339966;\\\"> \\\"mqtt.example.com\\\"<\/span>\nPORT =<span style=\\\"color: #ff00ff;\\\"> 1883<\/span>\nTOPIC = <span style=\\\"color: #339966;\\\">\\\"levelmeter\/data\\\"<\/span>\nCLIENT_ID =<span style=\\\"color: #339966;\\\"> \\\"LevelMeterClient\\\"<\/span>\n\n# Callback to receive messages\n<span style=\\\"color: #3366ff;\\\">def<\/span> <span style=\\\"color: #ff0000;\\\">on_message<\/span>(client, userdata, message):\n<span style=\\\"color: #ffcc00;\\\">print<\/span>(<span style=\\\"color: #339966;\\\">f\\\"Messaggio ricevuto: {message.payload.decode()}<span style=\\\"color: #000000;\\\"> su {message.topic}<\/span><\/span>\\\")\n\n# Creation client MQTT\nclient = mqtt.Client(CLIENT_ID)\nclient.on_message = on_message\n\n# Connection to broker\nclient.connect(BROKER, PORT)\n\n# Subscribe to the topic\nclient.subscribe(TOPIC)\n\n# Pubblication of a message\npayload = \\'{<span style=\\\"color: #339966;\\\">\\\"temperature\\\": 22.5, \\\"motion\\\": true}<\/span>\\'\nclient.publish(TOPIC, payload)\n\n# Set the loop to receive messages\n\nclient.loop_forever()<\/pre>\n<p>[\/vc_column_text][\/vc_column][\/vc_row]<\/p>\n","protected":false},"featured_media":0,"parent":8,"menu_order":2,"comment_status":"open","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"doc_tag":[],"class_list":["post-11","docs","type-docs","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>IoT Connectivity -<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/article-3\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"IoT Connectivity -\" \/>\n<meta property=\"og:description\" content=\"[vc_row][vc_column][vc_column_text css=&#8221;&#8221;] The Level Meter is a sophisticated device used for monitoring environmental and industrial conditions, such as temperature, motion, and location-based data. It has multiple sensors and connectivity options that enable seamless communication with cloud platforms and other devices. Communication Technologies Wi-Fi or Cellular (LTE\/5G): The Level Meter can use Wi-Fi or cellular networks (via an embedded SIM module) to transmit data to a cloud platform, allowing remote monitoring and real-time analytics. MQTT: Lightweight messaging protocol used for efficient communication. It allows the Level Meter to send data to the cloud with minimal overhead and quick response times. LoRa: In remote or rural areas, LoRa connectivity can be used to transmit data over long distances with low power consumption. The Level Meter can leverage this technology in areas where traditional cellular coverage may be limited. OTA Connectivity LTE NB-IoT: Cat NB2: B1\/B2\/B3\/B4\/B5\/B8\/B12\/B13\/B17\/ B18\/B19\/B20\/B25\/B28\/B66\/B70\/B85 LoRa Connectivity Used for environmental monitoring, asset tracking, and container-level detection. Transmits sensor data (temperature, motion, battery level, etc.) at scheduled intervals. Can trigger alarms based on threshold values (e.g., low battery, missing measurement, geofence violation). Example of LoRa Payload { &quot;device_id&quot;: &quot;LM123456&quot;, &quot;timestamp&quot;: 1711532400, &quot;temperature&quot;: 23.4, &quot;motion_detected&quot;: true, &quot;battery_level&quot;: 78, &quot;signal_strength&quot;: -85 } LoRaWAN supports different communication classes based on device requirements: Mode Description Use Case (Device) Class A Ultra-low power, devices communicate only when sending data Ideal for battery-powered Level Meter &amp; LCT Class B Scheduled reception windows for downlink messages Useful when periodic commands are needed Class C Always listening, consumes more power Used for real-time control (not recommended for LM &amp; LCT) OTA Updates for Level Meter The Level Meter is a sophisticated device with a variety of sensors (such as temperature, motion, and accelerometer). OTA updates ensure that the device can be remotely updated with new features, bug fixes, or security patches without requiring physical access. How OTA Works for Level Meter: Firmware Update Process: The device periodically checks a cloud server (or another designated source) for available firmware updates. When an update is available, the Level Meter establishes a secure connection to the server and downloads the update. The update is validated (via checksums, digital signatures) to ensure integrity and authenticity. The firmware update is then installed, and the device reboots to apply the new firmware. If needed, the device can be configured remotely to adapt to the new features or settings introduced by the update. Update Methods: MQTT (Message Queuing Telemetry Transport): Used for lightweight communication between the Level Meter and the cloud. The update command can be sent via an MQTT topic, signaling the device to download and install the firmware update. HTTP\/HTTPS: Secure HTTP\/HTTPS protocols can also be used to fetch and install firmware files from a cloud server. CoAP (Constrained Application Protocol): In resource-constrained environments, CoAP can be a lightweight alternative for IoT devices to receive updates over low-bandwidth networks. Example of Firmware Update Payload: { &quot;device_id&quot;: &quot;LM123456&quot;, &quot;update_type&quot;: &quot;firmware&quot;, &quot;version&quot;: &quot;v2.0.1&quot;, &quot;url&quot;: &quot;https:\/\/server.com\/firmware\/LMT_v2.0.1.bin&quot;, &quot;checksum&quot;: &quot;e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855&quot;, &quot;signature&quot;: &quot;MIIBIjANBgkqhkiG9w0BAQEA7ENwFz5H8AyYmHoLBffZuFbKNF&quot; } Example MQTT Code import paho.mqtt.client as mqtt # Config. broker MQTT BROKER = &quot;mqtt.example.com&quot; PORT = 1883 TOPIC = &quot;levelmeter\/data&quot; CLIENT_ID = &quot;LevelMeterClient&quot; # Callback to receive messages def on_message(client, userdata, message): print(f&quot;Messaggio ricevuto: {message.payload.decode()} su {message.topic}&quot;) # Creation client MQTT client = mqtt.Client(CLIENT_ID) client.on_message = on_message # Connection to broker client.connect(BROKER, PORT) # Subscribe to the topic client.subscribe(TOPIC) # Pubblication of a message payload = &#039;{&quot;temperature&quot;: 22.5, &quot;motion&quot;: true}&#039; client.publish(TOPIC, payload) # Set the loop to receive messages client.loop_forever() [\/vc_column_text][\/vc_column][\/vc_row]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/article-3\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/article-3\",\"url\":\"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/article-3\",\"name\":\"IoT Connectivity -\",\"isPartOf\":{\"@id\":\"https:\/\/www.gimasi.com\/#website\"},\"datePublished\":\"2025-03-28T13:39:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/article-3#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/article-3\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/article-3#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.gimasi.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Level Meter\",\"item\":\"https:\/\/www.gimasi.com\/?docs=the-level-meter\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Technical Specifications\",\"item\":\"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"IoT Connectivity\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.gimasi.com\/#website\",\"url\":\"https:\/\/www.gimasi.com\/\",\"name\":\"www2.gimasi.com\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.gimasi.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.gimasi.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.gimasi.com\/#organization\",\"name\":\"Gimasi SA\",\"url\":\"https:\/\/www.gimasi.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.gimasi.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.gimasi.com\/wp-content\/uploads\/2025\/04\/cropped-gimasilogo.png\",\"contentUrl\":\"https:\/\/www.gimasi.com\/wp-content\/uploads\/2025\/04\/cropped-gimasilogo.png\",\"width\":170,\"height\":33,\"caption\":\"Gimasi SA\"},\"image\":{\"@id\":\"https:\/\/www.gimasi.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/gimasi-sa\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"IoT Connectivity -","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/article-3","og_locale":"en_US","og_type":"article","og_title":"IoT Connectivity -","og_description":"[vc_row][vc_column][vc_column_text css=&#8221;&#8221;] The Level Meter is a sophisticated device used for monitoring environmental and industrial conditions, such as temperature, motion, and location-based data. It has multiple sensors and connectivity options that enable seamless communication with cloud platforms and other devices. Communication Technologies Wi-Fi or Cellular (LTE\/5G): The Level Meter can use Wi-Fi or cellular networks (via an embedded SIM module) to transmit data to a cloud platform, allowing remote monitoring and real-time analytics. MQTT: Lightweight messaging protocol used for efficient communication. It allows the Level Meter to send data to the cloud with minimal overhead and quick response times. LoRa: In remote or rural areas, LoRa connectivity can be used to transmit data over long distances with low power consumption. The Level Meter can leverage this technology in areas where traditional cellular coverage may be limited. OTA Connectivity LTE NB-IoT: Cat NB2: B1\/B2\/B3\/B4\/B5\/B8\/B12\/B13\/B17\/ B18\/B19\/B20\/B25\/B28\/B66\/B70\/B85 LoRa Connectivity Used for environmental monitoring, asset tracking, and container-level detection. Transmits sensor data (temperature, motion, battery level, etc.) at scheduled intervals. Can trigger alarms based on threshold values (e.g., low battery, missing measurement, geofence violation). Example of LoRa Payload { \"device_id\": \"LM123456\", \"timestamp\": 1711532400, \"temperature\": 23.4, \"motion_detected\": true, \"battery_level\": 78, \"signal_strength\": -85 } LoRaWAN supports different communication classes based on device requirements: Mode Description Use Case (Device) Class A Ultra-low power, devices communicate only when sending data Ideal for battery-powered Level Meter &amp; LCT Class B Scheduled reception windows for downlink messages Useful when periodic commands are needed Class C Always listening, consumes more power Used for real-time control (not recommended for LM &amp; LCT) OTA Updates for Level Meter The Level Meter is a sophisticated device with a variety of sensors (such as temperature, motion, and accelerometer). OTA updates ensure that the device can be remotely updated with new features, bug fixes, or security patches without requiring physical access. How OTA Works for Level Meter: Firmware Update Process: The device periodically checks a cloud server (or another designated source) for available firmware updates. When an update is available, the Level Meter establishes a secure connection to the server and downloads the update. The update is validated (via checksums, digital signatures) to ensure integrity and authenticity. The firmware update is then installed, and the device reboots to apply the new firmware. If needed, the device can be configured remotely to adapt to the new features or settings introduced by the update. Update Methods: MQTT (Message Queuing Telemetry Transport): Used for lightweight communication between the Level Meter and the cloud. The update command can be sent via an MQTT topic, signaling the device to download and install the firmware update. HTTP\/HTTPS: Secure HTTP\/HTTPS protocols can also be used to fetch and install firmware files from a cloud server. CoAP (Constrained Application Protocol): In resource-constrained environments, CoAP can be a lightweight alternative for IoT devices to receive updates over low-bandwidth networks. Example of Firmware Update Payload: { \"device_id\": \"LM123456\", \"update_type\": \"firmware\", \"version\": \"v2.0.1\", \"url\": \"https:\/\/server.com\/firmware\/LMT_v2.0.1.bin\", \"checksum\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\", \"signature\": \"MIIBIjANBgkqhkiG9w0BAQEA7ENwFz5H8AyYmHoLBffZuFbKNF\" } Example MQTT Code import paho.mqtt.client as mqtt # Config. broker MQTT BROKER = \"mqtt.example.com\" PORT = 1883 TOPIC = \"levelmeter\/data\" CLIENT_ID = \"LevelMeterClient\" # Callback to receive messages def on_message(client, userdata, message): print(f\"Messaggio ricevuto: {message.payload.decode()} su {message.topic}\") # Creation client MQTT client = mqtt.Client(CLIENT_ID) client.on_message = on_message # Connection to broker client.connect(BROKER, PORT) # Subscribe to the topic client.subscribe(TOPIC) # Pubblication of a message payload = '{\"temperature\": 22.5, \"motion\": true}' client.publish(TOPIC, payload) # Set the loop to receive messages client.loop_forever() [\/vc_column_text][\/vc_column][\/vc_row]","og_url":"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/article-3","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/article-3","url":"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/article-3","name":"IoT Connectivity -","isPartOf":{"@id":"https:\/\/www.gimasi.com\/#website"},"datePublished":"2025-03-28T13:39:25+00:00","breadcrumb":{"@id":"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/article-3#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/article-3"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/article-3#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.gimasi.com\/"},{"@type":"ListItem","position":2,"name":"The Level Meter","item":"https:\/\/www.gimasi.com\/?docs=the-level-meter"},{"@type":"ListItem","position":3,"name":"Technical Specifications","item":"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1"},{"@type":"ListItem","position":4,"name":"IoT Connectivity"}]},{"@type":"WebSite","@id":"https:\/\/www.gimasi.com\/#website","url":"https:\/\/www.gimasi.com\/","name":"www2.gimasi.com","description":"","publisher":{"@id":"https:\/\/www.gimasi.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.gimasi.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.gimasi.com\/#organization","name":"Gimasi SA","url":"https:\/\/www.gimasi.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.gimasi.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.gimasi.com\/wp-content\/uploads\/2025\/04\/cropped-gimasilogo.png","contentUrl":"https:\/\/www.gimasi.com\/wp-content\/uploads\/2025\/04\/cropped-gimasilogo.png","width":170,"height":33,"caption":"Gimasi SA"},"image":{"@id":"https:\/\/www.gimasi.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/gimasi-sa\/"]}]}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"d.balconi@tendersrl.it","author_link":"https:\/\/www.gimasi.com\/?author=0"},"uagb_comment_info":0,"uagb_excerpt":"[vc_row][vc_column][vc_column_text css=\\&#8221;\\&#8221;] The Level Meter is a sophisticated device used for monitoring environmental and industrial conditions, such as temperature, motion, and location-based data. It has multiple sensors and connectivity options that enable seamless communication with cloud platforms and other devices. Communication Technologies Wi-Fi or Cellular (LTE\/5G): The Level Meter can use Wi-Fi or cellular networks&hellip;","comment_count":0,"_links":{"self":[{"href":"https:\/\/www.gimasi.com\/index.php?rest_route=\/wp\/v2\/docs\/11","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gimasi.com\/index.php?rest_route=\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.gimasi.com\/index.php?rest_route=\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gimasi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11"}],"version-history":[{"count":0,"href":"https:\/\/www.gimasi.com\/index.php?rest_route=\/wp\/v2\/docs\/11\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.gimasi.com\/index.php?rest_route=\/wp\/v2\/docs\/8"}],"next":[{"title":"ICCID","link":"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/iccid","href":"https:\/\/www.gimasi.com\/index.php?rest_route=\/wp\/v2\/docs\/137"}],"prev":[{"title":"Integrated Sensors","link":"https:\/\/www.gimasi.com\/?docs=the-level-meter\/section-1\/article-1","href":"https:\/\/www.gimasi.com\/index.php?rest_route=\/wp\/v2\/docs\/9"}],"wp:attachment":[{"href":"https:\/\/www.gimasi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.gimasi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdoc_tag&post=11"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}