<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Promeraki IoT</title>
    <description>The latest articles on DEV Community by Promeraki IoT (@promerakiiot).</description>
    <link>https://dev.to/promerakiiot</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3741186%2F92fc0834-f54f-481a-a5ec-333e3332d8ee.png</url>
      <title>DEV Community: Promeraki IoT</title>
      <link>https://dev.to/promerakiiot</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/promerakiiot"/>
    <language>en</language>
    <item>
      <title>MQTT to ThingsBoard Setting Up Device Telemetry from Scratch</title>
      <dc:creator>Promeraki IoT</dc:creator>
      <pubDate>Fri, 26 Jun 2026 12:30:11 +0000</pubDate>
      <link>https://dev.to/promeraki-developments/mqtt-to-thingsboard-setting-up-device-telemetry-from-scratch-34kp</link>
      <guid>https://dev.to/promeraki-developments/mqtt-to-thingsboard-setting-up-device-telemetry-from-scratch-34kp</guid>
      <description>&lt;p&gt;ThingsBoard is one of the most capable open-source IoT platforms out there. But the first time you try to get a device publishing telemetry over MQTT, the documentation sends you in three different directions of device profiles, transport configurations, topic formats, and credential types. There are a lot of setups before you see a single data point on a dashboard.&lt;/p&gt;

&lt;p&gt;This post cuts through that. By the end, you will have a device sending live sensor data to ThingsBoard over MQTT and seeing it in the Latest Telemetry tab. No fluff, just working code.&lt;/p&gt;

&lt;h2&gt;
  
  
  What You Need Before Starting
&lt;/h2&gt;

&lt;p&gt;A running ThingsBoard instance, Community Edition, is fine. You can use the live demo for a quick look, though a local Docker setup is more reliable for following along since the demo instance has usage limits. You also need mosquitto-clients installed for quick command-line testing and Python 3 with paho-mqtt for the scripting part.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install mosquitto client tools&lt;/span&gt;

&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;mosquitto-clients

&lt;span class="c"&gt;# Install Python MQTT client&lt;/span&gt;

pip &lt;span class="nb"&gt;install &lt;/span&gt;paho-mqtt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 1: Create a Device and Grab the Access Token
&lt;/h3&gt;

&lt;p&gt;In the ThingsBoard UI, go to Entities → Devices and click the + button to add a new device. Name it something like sensor-01. Once created, click on the device and copy the access token from the credentials tab.&lt;/p&gt;

&lt;p&gt;This token is your MQTT username. No password needed. ThingsBoard uses it to identify which device is sending data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Send Your First Telemetry via Command Line
&lt;/h3&gt;

&lt;p&gt;Before writing any code, test the connection with mosquitto_pub. This tells you immediately whether the setup works.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mosquitto_pub &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;-q&lt;/span&gt; 1 &lt;span class="se"&gt;\&lt;/span&gt;

  &lt;span class="nt"&gt;-h&lt;/span&gt; &lt;span class="s2"&gt;"YOUR_THINGSBOARD_HOST"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;

  &lt;span class="nt"&gt;-p&lt;/span&gt; 1883 &lt;span class="se"&gt;\&lt;/span&gt;

  &lt;span class="nt"&gt;-t&lt;/span&gt; &lt;span class="s2"&gt;"v1/devices/me/telemetry"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;

  &lt;span class="nt"&gt;-u&lt;/span&gt; &lt;span class="s2"&gt;"YOUR_ACCESS_TOKEN"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;

  &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s1"&gt;'{"temperature": 25.4, "humidity": 62}'&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you are running ThingsBoard 3.5 or later, you can use the shorter topic format:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mosquitto_pub &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;-q&lt;/span&gt; 1 &lt;span class="se"&gt;\ &lt;/span&gt;

  &lt;span class="nt"&gt;-h&lt;/span&gt; &lt;span class="s2"&gt;"YOUR_THINGSBOARD_HOST"&lt;/span&gt; &lt;span class="se"&gt;\ &lt;/span&gt;

  &lt;span class="nt"&gt;-p&lt;/span&gt; 1883 &lt;span class="se"&gt;\ &lt;/span&gt;

  &lt;span class="nt"&gt;-t&lt;/span&gt; &lt;span class="s2"&gt;"v2/t"&lt;/span&gt; &lt;span class="se"&gt;\ &lt;/span&gt;

  &lt;span class="nt"&gt;-u&lt;/span&gt; &lt;span class="s2"&gt;"YOUR_ACCESS_TOKEN"&lt;/span&gt; &lt;span class="se"&gt;\ &lt;/span&gt;

  &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s1"&gt;'{"temperature": 25.4, "humidity": 62}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Both do the same thing. v2/t just saves bandwidth, useful when your device is on a metered cellular connection.&lt;/p&gt;

&lt;p&gt;Now go to &lt;strong&gt;Entities → Devices → sensor-01 → Latest Telemetry&lt;/strong&gt;. You should see temperature and humidity with the values you just sent.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Continuous Telemetry with Python
&lt;/h3&gt;

&lt;p&gt;A one-shot of publishing proves the connection works. For continuous monitoring, here is a Python script that simulates a sensor publishing every five seconds:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;paho.mqtt.client&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;mqtt&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;random&lt;/span&gt;

&lt;span class="n"&gt;THINGSBOARD_HOST&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;YOUR_THINGSBOARD_HOST&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="n"&gt;ACCESS_TOKEN&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;YOUR_ACCESS_TOKEN&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="n"&gt;TELEMETRY_TOPIC&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;v2/t&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mqtt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Client&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mqtt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CallbackAPIVersion&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;VERSION2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;username_pw_set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ACCESS_TOKEN&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;THINGSBOARD_HOST&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1883&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;loop_start&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

        &lt;span class="n"&gt;payload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;temperature&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;uniform&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;20.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;35.0&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;

            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;humidity&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;uniform&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;40.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;80.0&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;publish&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;TELEMETRY_TOPIC&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;qos&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Published: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;KeyboardInterrupt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

    &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;loop_stop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;disconnect&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run the script, open the Latest Telemetry tab in ThingsBoard, and watch the values update in real time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Adding Timestamps from the Device
&lt;/h3&gt;

&lt;p&gt;By default, ThingsBoard uses the server to receive time as the timestamp. If your device has a reliable clock and you want exact measurement times, include a ts field in milliseconds:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;payload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ts&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;time&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;

    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;values&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;temperature&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;24.8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;humidity&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;55.3&lt;/span&gt;

    &lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This matters when devices batch data offline and upload it later without client-side timestamps; every reading looks like it arrived at the same moment.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Comes Next
&lt;/h2&gt;

&lt;p&gt;Once telemetry is flowing, the next steps are setting up &lt;strong&gt;rule chains&lt;/strong&gt; to route data, trigger alerts, and create automation workflows. Then building a &lt;strong&gt;dashboard&lt;/strong&gt; to visualize the data beyond the raw latest telemetry tab. That is where ThingsBoard gets really powerful, but it all starts with getting MQTT telemetry in the door first.&lt;/p&gt;

&lt;p&gt;For teams that need help going beyond the basics, custom widgets, multi-tenant architectures, or production-grade ThingsBoard deployments, &lt;a href="https://promeraki.com/services/thingsboard" rel="noopener noreferrer"&gt;Promeraki's ThingsBoard development team&lt;/a&gt; works with this stack daily.&lt;/p&gt;

&lt;p&gt;Running ThingsBoard in production? What tripped you most during the initial MQTT setup authentication, topic structure, or something else entirely?&lt;/p&gt;

</description>
      <category>mqtt</category>
      <category>thingsboard</category>
      <category>iot</category>
      <category>automation</category>
    </item>
    <item>
      <title>How Data Moves in a Connected Factory: From Sensor to Dashboard</title>
      <dc:creator>Promeraki IoT</dc:creator>
      <pubDate>Mon, 22 Jun 2026 11:36:01 +0000</pubDate>
      <link>https://dev.to/promeraki-developments/how-data-moves-in-a-connected-factory-from-sensor-to-dashboard-4hap</link>
      <guid>https://dev.to/promeraki-developments/how-data-moves-in-a-connected-factory-from-sensor-to-dashboard-4hap</guid>
      <description>&lt;p&gt;Industry 4.0 gets talked about like it is one big thing. In practice, it is a data pipeline. Sensors generate readings. Gateways process them. Cloud platforms store and analyze them. Dashboards surface them. Automation acts on them.&lt;/p&gt;

&lt;p&gt;If you are building the software layer for any of this, what matters is understanding how data flows through each stage because that is where the architecture decisions live.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Six Stages of Factory Data Flow
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Data Collection
&lt;/h3&gt;

&lt;p&gt;Everything starts at the machine. Sensors capture temperature, vibration, pressure, runtime, energy consumption, cycle time, and production count. PLCs and industrial controllers share machine-level state.&lt;/p&gt;

&lt;p&gt;A vibration sensor on a motor picks up early signs of bearing wear weeks before a human notices anything. An energy meter flags that one machine is drawing 30% more power than the identical unit next to it. This is raw operational data with high volume, high frequency, and mostly useless until it moves somewhere it can be processed.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Connectivity
&lt;/h3&gt;

&lt;p&gt;Data needs to leave the machine and enter a digital system. This is where protocol selection matters.&lt;/p&gt;

&lt;p&gt;Machine-level    →  Modbus, OPC UA, Profinet&lt;br&gt;
Lightweight IoT  →  MQTT (pub/sub over TCP)&lt;br&gt;
Long-range       →  LoRaWAN, NB-IoT&lt;br&gt;
Factory network  →  Ethernet/IP, Wi-Fi, 5G&lt;/p&gt;

&lt;p&gt;MQTT handles most cloud-bound telemetry. OPC UA handles machine-to-machine interoperability. Modbus is still everywhere in legacy equipment. Most factories run at least two protocols simultaneously because the equipment spans decades of technology.&lt;/p&gt;
&lt;h3&gt;
  
  
  3. Edge Processing
&lt;/h3&gt;

&lt;p&gt;Not everything needs to travel to the cloud. Latency-sensitive decisions happen at the edge.&lt;/p&gt;

&lt;p&gt;An edge gateway sitting next to a production line filters noise, aggregates readings, and triggers local actions. If a motor's temperature crosses a safety threshold, the edge system reacts in milliseconds; it does not wait for a round trip to a cloud server.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;sensor_reading&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;temperature&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;SAFETY_THRESHOLD&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
   &lt;span class="nf"&gt;trigger_local_alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;motor_01&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;overheating&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="nf"&gt;send_to_cloud&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sensor_reading&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 
   &lt;span class="nf"&gt;aggregate_and_batch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sensor_reading&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# send every 60s
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Edge processing also reduces cloud costs. Instead of streaming every raw reading at one-second intervals, the edge batches and compresses, sending summaries rather than firehoses.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Cloud Platform
&lt;/h3&gt;

&lt;p&gt;The cloud handles storage, historical analysis, cross-site comparison, and heavy computation.&lt;/p&gt;

&lt;p&gt;Time-series databases store machine telemetry. Analytics engines run trend analysis. AI models trained on historical data predict failures before they happen. Multi-plant manufacturers use the cloud layer to compare OEE (Overall Equipment Effectiveness), downtime, and energy usage across locations from a single view.&lt;/p&gt;

&lt;p&gt;This is also where factory data connects outward into ERP, MES, maintenance systems, and mobile applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Dashboards and Alerts
&lt;/h3&gt;

&lt;p&gt;Dashboards turn data into decisions. Operators see live machine status. Maintenance teams see equipment health trends. Plant managers track OEE, downtime, and energy across shifts.&lt;/p&gt;

&lt;p&gt;Alerts make it actionable. A vibration spike triggers maintenance notifications. An energy anomaly flags a possible fault. A quality deviation pauses the line for inspection.&lt;/p&gt;

&lt;p&gt;The difference between a factory that reacts to breakdowns and one that prevents them is usually this layer at the speed at which the right person sees the right data.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Automation and Workflow Actions
&lt;/h3&gt;

&lt;p&gt;The final stage closes the loop. When conditions are met, the system acts without waiting for a human.&lt;/p&gt;

&lt;p&gt;Create a maintenance ticket automatically. Notify the supervisor. Adjust process parameters. Stop a machine when safety limits are breached. Update ERP records. Send shift reports to plant managers.&lt;/p&gt;

&lt;p&gt;This is where Industry 4.0 stops being a monitoring project and starts being an operational system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the Architecture Matters More Than the Buzzword
&lt;/h2&gt;

&lt;p&gt;Industry 4.0 is a label. What matters is the data pipeline underneath it how reliably data moves from machine to cloud, how fast the edge responds, how well your protocols handle legacy equipment alongside modern sensors, and whether your automation layer can act on what the data reveals.&lt;/p&gt;

&lt;p&gt;Get the pipeline right, and the buzzword takes care of itself.&lt;/p&gt;

&lt;p&gt;This post focused on the data pipeline, one piece of the industry 4.0 picture. For the full breakdown covering core technologies, real-world use cases, and a practical implementation roadmap, the &lt;a href="https://promeraki.com/blog/industry-4-0-and-iot" rel="noopener noreferrer"&gt;Industry 4.0 and IoT guide&lt;/a&gt; on Promeraki covers the complete picture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does your factory data pipeline look like, and which stage gave you the most trouble to get, right?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>iot</category>
      <category>iotsensors</category>
      <category>industrial</category>
      <category>iiot</category>
    </item>
    <item>
      <title>Compare MQTT, CoAP, and HTTP for IoT applications. Learn when to use each protocol based on power, bandwidth, latency, and device requirements.</title>
      <dc:creator>Promeraki IoT</dc:creator>
      <pubDate>Fri, 05 Jun 2026 12:40:57 +0000</pubDate>
      <link>https://dev.to/promerakiiot/compare-mqtt-coap-and-http-for-iot-applications-learn-when-to-use-each-protocol-based-on-power-3g3c</link>
      <guid>https://dev.to/promerakiiot/compare-mqtt-coap-and-http-for-iot-applications-learn-when-to-use-each-protocol-based-on-power-3g3c</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/promeraki-developments/mqtt-coap-or-http-which-iot-protocol-fits-your-product-395o" class="crayons-story__hidden-navigation-link"&gt;MQTT, CoAP, or HTTP: Which IoT Protocol Fits Your Product?&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;
          &lt;a class="crayons-logo crayons-logo--l" href="/promeraki-developments"&gt;
            &lt;img alt="Promeraki Developments logo" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F12414%2F646add1f-a799-4ed8-8fd9-cce57215fa44.png" class="crayons-logo__image" width="480" height="480"&gt;
          &lt;/a&gt;

          &lt;a href="/promerakiiot" class="crayons-avatar  crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3741186%2F92fc0834-f54f-481a-a5ec-333e3332d8ee.png" alt="promerakiiot profile" class="crayons-avatar__image" width="800" height="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/promerakiiot" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Promeraki IoT
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Promeraki IoT
                
              
              &lt;div id="story-author-preview-content-3826073" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/promerakiiot" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3741186%2F92fc0834-f54f-481a-a5ec-333e3332d8ee.png" class="crayons-avatar__image" alt="" width="800" height="800"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Promeraki IoT&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

            &lt;span&gt;
              &lt;span class="crayons-story__tertiary fw-normal"&gt; for &lt;/span&gt;&lt;a href="/promeraki-developments" class="crayons-story__secondary fw-medium"&gt;Promeraki Developments&lt;/a&gt;
            &lt;/span&gt;
          &lt;/div&gt;
          &lt;a href="https://dev.to/promeraki-developments/mqtt-coap-or-http-which-iot-protocol-fits-your-product-395o" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jun 5&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/promeraki-developments/mqtt-coap-or-http-which-iot-protocol-fits-your-product-395o" id="article-link-3826073"&gt;
          MQTT, CoAP, or HTTP: Which IoT Protocol Fits Your Product?
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/iot"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;iot&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/mqtt"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;mqtt&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/iotprotocols"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;iotprotocols&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/promeraki-developments/mqtt-coap-or-http-which-iot-protocol-fits-your-product-395o" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt;&amp;nbsp;reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/promeraki-developments/mqtt-coap-or-http-which-iot-protocol-fits-your-product-395o#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            3 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>MQTT, CoAP, or HTTP: Which IoT Protocol Fits Your Product?</title>
      <dc:creator>Promeraki IoT</dc:creator>
      <pubDate>Fri, 05 Jun 2026 12:40:13 +0000</pubDate>
      <link>https://dev.to/promeraki-developments/mqtt-coap-or-http-which-iot-protocol-fits-your-product-395o</link>
      <guid>https://dev.to/promeraki-developments/mqtt-coap-or-http-which-iot-protocol-fits-your-product-395o</guid>
      <description>&lt;p&gt;There are more IoT protocols out there than most teams will ever need. That sounds overwhelming until you realize most connected products only use two or three; one for local communication, one for cloud connectivity, and sometimes one for device management.&lt;/p&gt;

&lt;p&gt;The problem is not the number of options. The problem is that the protocol you pick at the design stage gets baked into your firmware, your cloud pipeline, and your data model. Change it later and you are rewriting half of your stack.&lt;/p&gt;

&lt;p&gt;Here is a practical breakdown of the protocols that matter for most developers building connected products today.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Three Layers You Are Choosing Across
&lt;/h2&gt;

&lt;p&gt;IoT protocols sit in three distinct layers, and you typically pick one from each:&lt;/p&gt;

&lt;p&gt;Application Layer → MQTT, CoAP, HTTP, AMQP (how data reaches your cloud)&lt;/p&gt;

&lt;p&gt;Network Layer → LoRaWAN, NB-IoT, LTE-M, Wi-Fi, BLE (how data travels physically)&lt;/p&gt;

&lt;p&gt;Industrial Layer → Modbus, OPC UA, Profinet (machine-to-machine on the factory floor)&lt;/p&gt;

&lt;p&gt;A soil moisture sensor on a farm might use &lt;strong&gt;LoRaWAN&lt;/strong&gt; at the network layer to push data 10 kilometers to a gateway and &lt;strong&gt;MQTT&lt;/strong&gt; at the application layer to deliver that data to a cloud dashboard. Two protocols, two layers, one product.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Big Three for Cloud Connectivity
&lt;/h2&gt;

&lt;h3&gt;
  
  
  MQTT - The Default for a Reason
&lt;/h3&gt;

&lt;p&gt;Publish-subscribe model. Lightweight. Three QoS levels for delivery guarantees. Run over TCP with TLS encryption. Roughly 70% of cloud-connected IoT deployments use MQTT today.&lt;/p&gt;

&lt;p&gt;A basic publish looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;paho.mqtt.client&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;mqtt&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mqtt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Client&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mqtt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CallbackAPIVersion&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;VERSION2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;tls_set&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;broker.example.com&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;8883&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;publish&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sensors/temperature&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;value&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;: 23.5, &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;unit&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;: &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;C&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Use when:&lt;/strong&gt; You need real-time telemetry, bidirectional device control, or guaranteed message delivery across unreliable networks.&lt;/p&gt;

&lt;h3&gt;
  
  
  HTTP - Not for Telemetry, But Still Essential
&lt;/h3&gt;

&lt;p&gt;Too heavy for continuous sensor data. But it is the standard for OTA firmware updates, cloud API integrations, and management dashboards. Every cloud platform supports it natively. Every developer already knows it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use when:&lt;/strong&gt; Firmware updates, one-time configuration calls, or anything involving a browser.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Wireless Layer - Range Decides for You
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;LoRaWAN (LPWAN): 2 to 15 km range, very low power. Built for agriculture, smart cities, and any deployment where devices sit kilometers from the nearest gateway on a single battery for years.&lt;/li&gt;
&lt;li&gt;NB-IoT (Cellular): Nationwide range through existing cell towers, very low power. The go-to for asset tracking and smart metering where private gateway infrastructure is not feasible.&lt;/li&gt;
&lt;li&gt;LTE-M (Cellular): Nationwide range with higher bandwidth and mobility support. Fits wearables, vehicle telematics, and devices that move between cell towers while staying connected.&lt;/li&gt;
&lt;li&gt;Zigbee (Mesh): 10 to 100 meters in a self-healing mesh network, very low power. The standard for smart homes and building automation is where every device extends the network.&lt;/li&gt;
&lt;li&gt;BLE (Short-range): 10 to 100 meters, very low power. Pairs naturally with smartphones, making the right choice for wearables, asset tags, and short-range sensor configuration.&lt;/li&gt;
&lt;li&gt;Wi-Fi (high bandwidth): Around 50 meters, high power draw. Not for battery devices, but unmatched for cameras, display panels, and dashboards that need to stream data continuously.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The decision usually starts here. Range and power budget narrow your options to two or three protocols before you even think about the application layer.&lt;/p&gt;

&lt;p&gt;Get this right at the architecture stage, and everything downstream firmware, cloud, and compliance gets significantly simpler.&lt;/p&gt;

&lt;p&gt;For a deeper dive into all protocols with full comparison tables and industrial protocol coverage, the &lt;a href="https://promeraki.com/blog/iot-protocols-complete-guide" rel="noopener noreferrer"&gt;complete IoT protocols guide on Promeraki&lt;/a&gt; covers everything in detail.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What protocol stack are you running on your current IoT project, and is there one decision you would make differently if you started over?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>iot</category>
      <category>mqtt</category>
      <category>iotprotocols</category>
    </item>
    <item>
      <title>Cloud Platforms for IoT: How to Choose Between AWS, Azure, and Google Cloud</title>
      <dc:creator>Promeraki IoT</dc:creator>
      <pubDate>Mon, 25 May 2026 13:38:24 +0000</pubDate>
      <link>https://dev.to/promeraki-developments/cloud-platforms-for-iot-how-to-choose-between-aws-azure-and-google-cloud-4n4b</link>
      <guid>https://dev.to/promeraki-developments/cloud-platforms-for-iot-how-to-choose-between-aws-azure-and-google-cloud-4n4b</guid>
      <description>&lt;p&gt;Picking a cloud platform for your IoT project feels like it should be straightforward. All three major providers offer IoT services. All three handle device connectivity, data ingestion, and analytics. On paper, they look almost identical.&lt;/p&gt;

&lt;p&gt;In practice, they are built for very different starting points, and choosing the wrong one early on creates migration headaches that compound for years.&lt;/p&gt;

&lt;p&gt;The right choice depends less on feature checklists and more on where your team already stands and where your product is heading.&lt;/p&gt;

&lt;p&gt;Here is how the three actually differ when you look past the marketing pages.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS IoT: The Broadest Ecosystem
&lt;/h2&gt;

&lt;p&gt;AWS has the widest selection of IoT-specific services. AWS IoT Core handles device connectivity over MQTT and HTTPS. IoT Greengrass pushes compute to the edge. IoT SiteWise is purpose-built for industrial data. IoT TwinMaker gives you digital twin capabilities.&lt;/p&gt;

&lt;p&gt;Where AWS shines are flexibility. You can stitch together exactly the pipeline you need Kinesis for streaming, Lambda for serverless processing, Timestream for time-series storage, and S3 for raw archival. The building blocks are all there.&lt;/p&gt;

&lt;p&gt;Spinning up a basic IoT thing takes one CLI command:&lt;/p&gt;

&lt;p&gt;aws iot create-thing --thing-name "sensor-01"&lt;/p&gt;

&lt;p&gt;The tradeoff? Complexity. AWS gives you options, not opinions. If your team does not have strong cloud architecture experience, the number of services and configuration choices can slow you down rather than speed you up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best fit:&lt;/strong&gt; Teams with existing AWS infrastructure, complex multi-service architectures, or industrial IoT use cases needing SiteWise and Greengrass.&lt;/p&gt;

&lt;h2&gt;
  
  
  Azure IoT: The Enterprise Path
&lt;/h2&gt;

&lt;p&gt;Azure IoT Hub is Microsoft's core offering device management, message routing, and tight integration with the rest of the Azure ecosystem. IoT Edge handles edge deployments. Digital twins provide modeling capabilities. And Microsoft Defender for IoT covers security monitoring across your device fleet and network layer.&lt;/p&gt;

&lt;p&gt;Creating an IoT Hub is just as quick:&lt;/p&gt;

&lt;p&gt;az iot hub create --name my-iot-hub --resource-group my-rg --sku S1 &lt;/p&gt;

&lt;p&gt;What makes Azure different is the enterprise integration story. If your organization already runs Microsoft 365, Active Directory, Power BI, and Dynamics, Azure IoT slots into that world without friction. Data flows straight from IoT Hub into Azure Stream Analytics, Cosmos DB, or Power BI dashboards your business team already knows how to use.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best fit:&lt;/strong&gt; Enterprises already invested in the Microsoft ecosystem, teams that need tight integration with business intelligence tools, and organizations where IT governance favours a single-vendor stack.&lt;/p&gt;

&lt;h2&gt;
  
  
  Google Cloud IoT: The Data and AI Play
&lt;/h2&gt;

&lt;p&gt;Google shut down its standalone IoT Core service in August 2023, announced a year earlier in August 2022, which caught a lot of teams off guard. But that does not mean Google Cloud is out of the IoT conversation. The approach shifted.&lt;/p&gt;

&lt;p&gt;Google now positions Pub/Sub as the ingestion layer, Cloud Functions or Cloud Run for processing, BigQuery for analytics, and Vertex AI for machine learning on device data. Partner solutions like ClearBlade fill the device management gap that IoT Core left behind.&lt;/p&gt;

&lt;p&gt;Where Google Cloud genuinely leads data analytics and ML. If your IoT product value proposition depends on what you do with the data, BigQuery and Vertex AI are hard to beat.&lt;/p&gt;

&lt;p&gt;Best fit: Teams building data-heavy or ML-driven IoT products, organizations already using BigQuery or TensorFlow, and projects where analytics is the core differentiator rather than device management.&lt;/p&gt;

&lt;p&gt;Quick Comparison&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh4l0iurkcb615wf6av68.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh4l0iurkcb615wf6av68.png" alt="comparison of aws vs azure vs google cloud" width="800" height="219"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  So How Do You Actually Choose?
&lt;/h2&gt;

&lt;p&gt;Forget feature comparison tables beyond the basics. Ask these three questions instead:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where does your team live?&lt;/strong&gt; If your infrastructure runs on AWS, starting an IoT project on Azure creates unnecessary friction. Platform familiarity saves months.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What matters more, device management or data intelligence?&lt;/strong&gt; AWS and Azure lead on device lifecycle management. Google Cloud leads on what happens after the data lands.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How much do you want to assemble yourself?&lt;/strong&gt; AWS gives you the most pieces. Azure gives you the most guided path. Google gives you the strongest analytics foundation but expects you to bring your own device layer.&lt;/p&gt;

&lt;p&gt;There is no universal answer. There is only the answer that fits your team, your existing stack, and the product you are building.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://promeraki.com/services" rel="noopener noreferrer"&gt;Promeraki&lt;/a&gt; works with companies navigating exactly this decision from platform selection through to production-grade IoT architectures. If you are weighing your options, it is worth a conversation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which cloud platform are you running your IoT workloads on, and what would you change if you were starting fresh today?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>googlecloud</category>
      <category>aws</category>
      <category>azure</category>
    </item>
    <item>
      <title>Why IoT Monitoring Must Go Beyond Dashboards</title>
      <dc:creator>Promeraki IoT</dc:creator>
      <pubDate>Tue, 19 May 2026 09:31:18 +0000</pubDate>
      <link>https://dev.to/promerakiiot/why-iot-monitoring-must-go-beyond-dashboards-2io</link>
      <guid>https://dev.to/promerakiiot/why-iot-monitoring-must-go-beyond-dashboards-2io</guid>
      <description>&lt;p&gt;Most IoT teams think they are in control because they have dashboards. &lt;/p&gt;

&lt;p&gt;Live charts. &lt;br&gt;
Device status. &lt;br&gt;
Alerts everywhere. &lt;/p&gt;

&lt;p&gt;It feels like control. &lt;/p&gt;

&lt;p&gt;But visibility is not real control. &lt;/p&gt;

&lt;p&gt;Many OEM teams still face outages, delayed responses, and manual firefighting, even with advanced dashboards. &lt;/p&gt;

&lt;p&gt;Because dashboards show what happened. &lt;br&gt;
Modern IoT monitoring helps decide what to do next. &lt;/p&gt;

&lt;p&gt;The shift is simple: &lt;/p&gt;

&lt;p&gt;Seeing data - Understanding data - Acting on data &lt;/p&gt;

&lt;p&gt;Real monitoring today focuses on: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Early risk detection &lt;/li&gt;
&lt;li&gt;Alert prioritization &lt;/li&gt;
&lt;li&gt;Automated response &lt;/li&gt;
&lt;li&gt;Context-aware decisions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At scale, monitoring is not about watching devices. &lt;br&gt;
It is about enabling faster, better decisions. &lt;/p&gt;

&lt;p&gt;Read our full blog to understand how IoT monitoring is moving beyond dashboards.&lt;/p&gt;

&lt;p&gt;Curious how modern OEM teams are approaching proactive IoT monitoring? Connect with us at &lt;a href="https://promeraki.com/contact" rel="noopener noreferrer"&gt;Promeraki&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>technology</category>
      <category>monitoring</category>
      <category>design</category>
      <category>iot</category>
    </item>
    <item>
      <title>What Nobody Tells You About Building a Custom IoT Platform from Scratch</title>
      <dc:creator>Promeraki IoT</dc:creator>
      <pubDate>Wed, 06 May 2026 12:05:52 +0000</pubDate>
      <link>https://dev.to/promeraki-developments/what-nobody-tells-you-about-building-a-custom-iot-platform-from-scratch-2o27</link>
      <guid>https://dev.to/promeraki-developments/what-nobody-tells-you-about-building-a-custom-iot-platform-from-scratch-2o27</guid>
      <description>&lt;p&gt;Most connected products start on a managed IoT platform. It makes total sense you get device provisioning, a basic dashboard, and MQTT connectivity without writing much code. Ship fast, validate the idea, and learn what your customers actually need. &lt;/p&gt;

&lt;p&gt;But somewhere between 500 devices and 5,000, things start getting uncomfortable. The data pipeline chokes during peak ingestion. The dashboard cannot show the custom views your ops team has been asking for. Protocol support is limited to what the vendor decides. And every new feature request turns into a workaround rather than a proper build. &lt;/p&gt;

&lt;p&gt;That is usually the moment teams start wondering: should we build our own platform? &lt;/p&gt;

&lt;p&gt;Having worked closely with IoT platform engineering at Promeraki, where we help companies architect and build custom IoT systems from the ground up, I have seen this inflection point play out across industries. Here is what the journey actually looks like. &lt;/p&gt;

&lt;h2&gt;
  
  
  What a Custom IoT Platform Really Involves
&lt;/h2&gt;

&lt;p&gt;It is not just a dashboard wired to a message broker. A production-grade &lt;a href="https://promeraki.com/" rel="noopener noreferrer"&gt;custom IoT platform&lt;/a&gt; has five engineering layers, and each one needs its own set of architectural decisions. &lt;/p&gt;

&lt;h3&gt;
  
  
  1. Device Firmware and Communication
&lt;/h3&gt;

&lt;p&gt;Your devices need to communicate reliably, often over constrained, unreliable networks. That means picking the right protocol for your hardware reality. MQTT works well for lightweight pub/sub messaging. CoAP fits better when your devices speak REST over UDP. AMQP gives you message queuing guarantees when delivery order matters. &lt;/p&gt;

&lt;p&gt;You are dealing with mutual TLS, per-device authentication, topic-level access control, and graceful reconnection handling when thousands of devices come online simultaneously after a power event. &lt;/p&gt;

&lt;h3&gt;
  
  
  2. Edge Processing
&lt;/h3&gt;

&lt;p&gt;Not every byte of data needs to travel to the cloud. Latency-sensitive decisions, like a motor shutoff, a threshold alert, or a local control loop, should happen right at the edge. This layer filters noise, aggregates readings, and acts on data before it ever leaves the site. It is your first line of defense, and it directly cuts your cloud costs. &lt;/p&gt;

&lt;h3&gt;
  
  
  3. Cloud Backend and Data Pipelines
&lt;/h3&gt;

&lt;p&gt;This is the core ingestion, storage, processing, and serving. Time-series databases like TimescaleDB or InfluxDB handle the volume and query patterns that sensor data produces. Message queues like Kafka decouple ingestion from processing, so traffic spikes do not bring down your pipeline. &lt;/p&gt;

&lt;p&gt;At Promeraki, we have seen teams underestimate this layer the most. Getting data in is straightforward. Getting data reliably, at scale, with proper deduplication and late-arrival handling that is where the real engineering lives. &lt;/p&gt;

&lt;h3&gt;
  
  
  4. Application Layer
&lt;/h3&gt;

&lt;p&gt;Dashboards, alerting engines, fleet management, OTA firmware updates, role-based access. Everything your internal team and your end customers touch daily. This is exactly where off-the-shelf platforms feel stiff because their interface was designed for a thousand different use cases, and yours was not one of them. &lt;/p&gt;

&lt;h3&gt;
  
  
  5. Analytics and Intelligence
&lt;/h3&gt;

&lt;p&gt;Once you own the full data pipeline, you unlock what managed platforms never give you the freedom to build your own models. Historical trend analysis, anomaly detection, predictive maintenance alerts. You decide what gets analyzed, how models get trained, and where predictions show up inside the product.&lt;/p&gt;

&lt;h2&gt;
  
  
  When Does Custom Actually Make Sense?
&lt;/h2&gt;

&lt;p&gt;Not always. And that honesty matters.&lt;/p&gt;

&lt;p&gt;Custom IoT platform development makes sense when your device fleet is scaling past what managed pricing can sustain, when your data model does not fit the vendor's rigid schema, when you need protocol flexibility the platform refuses to support, or when your product roadmap depends on features the vendor has no reason to build.&lt;/p&gt;

&lt;p&gt;If you are still running 50 devices and figuring out product-market fit, stay on a managed platform. Seriously. Save the custom build for when the platform's ceiling becomes your product's ceiling.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Part That Catches Everyone Off Guard
&lt;/h2&gt;

&lt;p&gt;The hardest problem is never a single layer. It is the seams between them.&lt;/p&gt;

&lt;p&gt;Firmware topic structures need to match what your broker expects. Your ingestion pipeline must handle both real-time streams and historical batch backfills gracefully. Your dashboard needs to present edge-processed data and cloud-processed data without confusing users about what is live and what is five minutes old.&lt;/p&gt;

&lt;p&gt;The teams that get this right treat the platform as a product in its own right with a dedicated backlog, architecture reviews, and uptime targets. The ones that struggle treat it as an internal tool someone maintains between other priorities.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;A custom IoT platform spans five layers of firmware, edge, cloud, application, and analytics. Each one solves a different problem, but the real challenge lives in the integration between them.&lt;/p&gt;

&lt;p&gt;Promeraki helped teams navigate exactly this transition from managed platforms to fully owned, custom-built IoT architectures. If this resonates, we would love to connect.&lt;/p&gt;

&lt;p&gt;Built or migrated to an IoT platform? What is the one decision you would make differently if you started over today?&lt;/p&gt;

</description>
      <category>iot</category>
      <category>customiotdevelopment</category>
      <category>iotplatforms</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>From IoT Demo to Production: What Actually Changes When You Scale</title>
      <dc:creator>Promeraki IoT</dc:creator>
      <pubDate>Wed, 06 May 2026 10:47:24 +0000</pubDate>
      <link>https://dev.to/promeraki-developments/from-iot-demo-to-production-what-actually-changes-when-you-scale-50lg</link>
      <guid>https://dev.to/promeraki-developments/from-iot-demo-to-production-what-actually-changes-when-you-scale-50lg</guid>
      <description>&lt;p&gt;You connect a few devices. &lt;br&gt;
Data starts flowing. &lt;br&gt;
Your dashboard looks clean. &lt;/p&gt;

&lt;p&gt;At this stage, everything feels simple. &lt;/p&gt;

&lt;p&gt;But real value starts when the system grows. When you move from a controlled setup to thousands of devices, continuous data, and real-world conditions, the expectations change. &lt;/p&gt;

&lt;p&gt;This is where IoT becomes a true engineering problem. &lt;/p&gt;

&lt;h2&gt;
  
  
  What production IoT really looks like
&lt;/h2&gt;

&lt;p&gt;In production, your system runs in an environment you do not control. &lt;/p&gt;

&lt;p&gt;Devices connect and disconnect. Networks fluctuate. Data does not always arrive in order. Some payloads are incomplete, some delayed, some duplicated. &lt;/p&gt;

&lt;p&gt;At the same time, the volume increases. A few devices become thousands. A few messages per second turn into a continuous stream. &lt;/p&gt;

&lt;p&gt;A production-ready IoT platform handles all of this smoothly. It keeps data flowing, processes events in real time, and gives users reliable insights they can act on. &lt;/p&gt;

&lt;h2&gt;
  
  
  The shift in how you design your system
&lt;/h2&gt;

&lt;p&gt;In early stages, it is common to send device data directly to APIs and store it in a database. This works well for small setups. &lt;/p&gt;

&lt;p&gt;As scale increases, the system evolves into clear layers. &lt;/p&gt;

&lt;p&gt;Devices communicate through protocols like MQTT. A message broker receives and manages this flow. This ensures data is handled efficiently even during traffic spikes. &lt;/p&gt;

&lt;p&gt;A processing layer sits on top of this stream. It filters noise, validates incoming data, and applies rules. This is where real-time decisions take shape. &lt;/p&gt;

&lt;p&gt;Storage is structured based on usage. Telemetry data goes into time-series for storage. Device and user information live in relational databases. Historical data is archived in cost-effective storage. &lt;/p&gt;

&lt;p&gt;This separation improves performance and keeps the system stable as it grows. &lt;/p&gt;

&lt;h2&gt;
  
  
  Making data useful, not just available
&lt;/h2&gt;

&lt;p&gt;Raw data alone does not help users. &lt;/p&gt;

&lt;p&gt;The real value comes from how you process and present it. &lt;/p&gt;

&lt;p&gt;Instead of showing individual readings, the system highlights trends, patterns, and meaningful signals. It answers simple but critical questions. &lt;/p&gt;

&lt;p&gt;What changed? &lt;/p&gt;

&lt;p&gt;Why did it change? &lt;br&gt;
What should be done next? &lt;/p&gt;

&lt;p&gt;When your platform provides this clarity, users start relying on it in daily operations. &lt;/p&gt;

&lt;h2&gt;
  
  
  Designing alerts that people trust
&lt;/h2&gt;

&lt;p&gt;Alerting plays a key role in any IoT system. &lt;/p&gt;

&lt;p&gt;A good alert is clear, timely, and actionable. It explains what happened and what step to take next. &lt;/p&gt;

&lt;p&gt;A simple structure works well in practice. You classify alerts into information, warning, and critical. You add context such as duration, thresholds, and recommended actions. &lt;/p&gt;

&lt;p&gt;This approach keeps alerts relevant and easy to understand. Over time, users begin to trust the system because it helps them respond faster and with confidence. &lt;/p&gt;

&lt;h2&gt;
  
  
  The role of edge computing
&lt;/h2&gt;

&lt;p&gt;As systems scale, edge computing becomes an important part of the architecture. &lt;/p&gt;

&lt;p&gt;Instead of sending everything to the cloud, some processing happens closer to the devices. &lt;/p&gt;

&lt;p&gt;Gateways can filter data, run lightweight rules, and handle temporary network gaps. This reduces latency and improves reliability. &lt;/p&gt;

&lt;p&gt;It also helps control cloud costs by sending only meaningful data upstream. &lt;/p&gt;

&lt;h2&gt;
  
  
  A practical technology setup
&lt;/h2&gt;

&lt;p&gt;Many teams succeed with a simple and stable stack. &lt;/p&gt;

&lt;p&gt;Devices communicate over MQTT. Platforms like ThingsBoard manage device data, rules, and dashboards. Tools like Node-RED help orchestrate workflows. PostgreSQL with time-series support handles storage. Docker helps deploy services consistently across environments. &lt;/p&gt;

&lt;p&gt;The tools can vary. What matters is how well the system is structured and maintained. &lt;/p&gt;

&lt;h2&gt;
  
  
  Building for long-term scale
&lt;/h2&gt;

&lt;p&gt;As your IoT platform grows, a few areas become important to plan early. &lt;/p&gt;

&lt;p&gt;Device identity and secure communication ensure every device is trusted. Firmware updates allow you to improve devices without disruption. Data models evolve as new use cases emerge. Multi-tenant design helps you support multiple customers on the same platform. &lt;/p&gt;

&lt;p&gt;When these are handled well, the system continues to scale without major redesign. &lt;/p&gt;

&lt;h2&gt;
  
  
  What successful IoT systems have in common
&lt;/h2&gt;

&lt;p&gt;Strong IoT platforms focus on reliability and clarity. &lt;/p&gt;

&lt;p&gt;They process data in real time. They present insights that users can act on. They combine edges and clouds in a balanced way. They grow in phases, learning and improving at each step. &lt;/p&gt;

&lt;p&gt;Over time, they become part of everyday operations, not just a technical layer. &lt;/p&gt;

&lt;h2&gt;
  
  
  Closing thought
&lt;/h2&gt;

&lt;p&gt;Building an IoT demo is a great start.&lt;/p&gt;

&lt;p&gt;Building a production system is where the real impact happens. &lt;/p&gt;

&lt;p&gt;When you design with scale, reliability, and usability in mind, your platform does more than collect data. It supports decisions, improves efficiency, and delivers long-term value.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>iot</category>
      <category>smartdevices</category>
      <category>connectedproducts</category>
    </item>
    <item>
      <title>From IoT Demo to Production: What Changes When You Scale</title>
      <dc:creator>Promeraki IoT</dc:creator>
      <pubDate>Wed, 29 Apr 2026 10:54:44 +0000</pubDate>
      <link>https://dev.to/promeraki-developments/from-iot-demo-to-production-what-changes-when-you-scale-46p3</link>
      <guid>https://dev.to/promeraki-developments/from-iot-demo-to-production-what-changes-when-you-scale-46p3</guid>
      <description>&lt;p&gt;&lt;strong&gt;TLD;R&lt;/strong&gt; - Scaling IoT isn’t about more devices - it’s about handling unreliable networks, real-time data streams, and building layered architectures that turn data into actionable insights.&lt;/p&gt;

&lt;p&gt;You connect a few devices.&lt;br&gt;
Data starts flowing.&lt;br&gt;
Your dashboard looks clean.&lt;/p&gt;

&lt;p&gt;At this stage, everything feels simple.&lt;/p&gt;

&lt;p&gt;But real value starts when the system grows. When you move from a controlled setup to thousands of devices, continuous data, and real-world conditions, the expectations change.&lt;/p&gt;

&lt;p&gt;This is where IoT becomes a true engineering problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  What production IoT really looks like
&lt;/h2&gt;

&lt;p&gt;In production, your system runs in an environment you do not control.&lt;/p&gt;

&lt;p&gt;Devices connect and disconnect. Networks fluctuate. Data does not always arrive in order. Some payloads are incomplete, some delayed, some duplicated.&lt;/p&gt;

&lt;p&gt;At the same time, the volume increases. A few devices become thousands. A few messages per second turn into a continuous stream.&lt;/p&gt;

&lt;p&gt;A production-ready IoT platform handles all of this smoothly. It keeps data flowing, processes events in real time, and gives users reliable insights they can act on.&lt;/p&gt;

&lt;h2&gt;
  
  
  The shift in how you design your system
&lt;/h2&gt;

&lt;p&gt;In early stages, it is common to send device data directly to APIs and store it in a database. This works well for small setups.&lt;/p&gt;

&lt;p&gt;As scale increases, the system evolves into clear layers.&lt;/p&gt;

&lt;p&gt;Devices communicate through protocols like MQTT. A message broker receives and manages this flow. This ensures data is handled efficiently even during traffic spikes.&lt;/p&gt;

&lt;p&gt;A processing layer sits on top of this stream. It filters noise, validates incoming data, and applies rules. This is where real-time decisions take shape.&lt;/p&gt;

&lt;p&gt;Storage is structured based on usage. Telemetry data goes into time-series for storage. Device and user information live in relational databases. Historical data is archived in cost-effective storage.&lt;/p&gt;

&lt;p&gt;This separation improves performance and keeps the system stable as it grows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Making data useful, not just available
&lt;/h2&gt;

&lt;p&gt;Raw data alone does not help users.&lt;/p&gt;

&lt;p&gt;The real value comes from how you process and present it.&lt;/p&gt;

&lt;p&gt;Instead of showing individual readings, the system highlights trends, patterns, and meaningful signals. It answers simple but critical questions.&lt;/p&gt;

&lt;p&gt;What changed?&lt;/p&gt;

&lt;p&gt;Why did it change?&lt;br&gt;
What should be done next?&lt;/p&gt;

&lt;p&gt;When your platform provides this clarity, users start relying on it in daily operations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Designing alerts that people trust
&lt;/h2&gt;

&lt;p&gt;Alerting plays a key role in any IoT system.&lt;/p&gt;

&lt;p&gt;A good alert is clear, timely, and actionable. It explains what happened and what step to take next.&lt;/p&gt;

&lt;p&gt;A simple structure works well in practice. You classify alerts into information, warning, and critical. You add context such as duration, thresholds, and recommended actions.&lt;/p&gt;

&lt;p&gt;This approach keeps alerts relevant and easy to understand. Over time, users begin to trust the system because it helps them respond faster and with confidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  The role of edge computing
&lt;/h2&gt;

&lt;p&gt;As systems scale, edge computing becomes an important part of the architecture.&lt;/p&gt;

&lt;p&gt;Instead of sending everything to the cloud, some processing happens closer to the devices.&lt;/p&gt;

&lt;p&gt;Gateways can filter data, run lightweight rules, and handle temporary network gaps. This reduces latency and improves reliability.&lt;/p&gt;

&lt;p&gt;It also helps control cloud costs by sending only meaningful data upstream.&lt;/p&gt;

&lt;h2&gt;
  
  
  A practical technology setup
&lt;/h2&gt;

&lt;p&gt;Many teams succeed with a simple and stable stack.&lt;/p&gt;

&lt;p&gt;Devices communicate over MQTT. Platforms like ThingsBoard manage device data, rules, and dashboards. Tools like Node-RED help orchestrate workflows. PostgreSQL with time-series support handles storage. Docker helps deploy services consistently across environments.&lt;/p&gt;

&lt;p&gt;The tools can vary. What matters is how well the system is structured and maintained.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building for long-term scale
&lt;/h2&gt;

&lt;p&gt;As your IoT platform grows, a few areas become important to plan early.&lt;/p&gt;

&lt;p&gt;Device identity and secure communication ensure every device is trusted. Firmware updates allow you to improve devices without disruption. Data models evolve as new use cases emerge. Multi-tenant design helps you support multiple customers on the same platform.&lt;/p&gt;

&lt;p&gt;When these are handled well, the system continues to scale without major redesign.&lt;/p&gt;

&lt;h2&gt;
  
  
  What successful IoT systems have in common
&lt;/h2&gt;

&lt;p&gt;Strong IoT platforms focus on reliability and clarity.&lt;/p&gt;

&lt;p&gt;They process data in real time. They present insights that users can act on. They combine edges and clouds in a balanced way. They grow in phases, learning and improving at each step.&lt;/p&gt;

&lt;p&gt;Over time, they become part of everyday operations, not just a technical layer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing thought
&lt;/h2&gt;

&lt;p&gt;Building an IoT demo is a great start.&lt;/p&gt;

&lt;p&gt;Building a production system is where the real impact happens.&lt;/p&gt;

&lt;p&gt;When you design with scale, reliability, and usability in mind, your platform does more than collect data. It supports decisions, improves efficiency, and delivers long-term value.&lt;/p&gt;

&lt;p&gt;If you're solving similar IoT scaling problems, take a look at how we build production systems at &lt;a href="https://promeraki.com/contact" rel="noopener noreferrer"&gt;Promeraki&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>iot</category>
      <category>smartdevices</category>
      <category>connectedproducts</category>
    </item>
    <item>
      <title>Stop guessing. Start predicting.

IoT sensors are helping vineyards detect fungal outbreaks before they cost you the harvest!</title>
      <dc:creator>Promeraki IoT</dc:creator>
      <pubDate>Mon, 20 Apr 2026 11:36:42 +0000</pubDate>
      <link>https://dev.to/promerakiiot/stop-guessing-start-predicting-iot-sensors-are-helping-vineyards-detect-fungal-outbreaks-2n5f</link>
      <guid>https://dev.to/promerakiiot/stop-guessing-start-predicting-iot-sensors-are-helping-vineyards-detect-fungal-outbreaks-2n5f</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/promeraki-developments/how-iot-sensors-are-predicting-powdery-mildew-before-it-spreads-across-your-vineyard-4f97" class="crayons-story__hidden-navigation-link"&gt;How IoT Sensors Are Predicting Powdery Mildew Before It Spreads Across Your Vineyard&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;
          &lt;a class="crayons-logo crayons-logo--l" href="/promeraki-developments"&gt;
            &lt;img alt="Promeraki Developments logo" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F12414%2F646add1f-a799-4ed8-8fd9-cce57215fa44.png" class="crayons-logo__image" width="480" height="480"&gt;
          &lt;/a&gt;

          &lt;a href="/promerakiiot" class="crayons-avatar  crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3741186%2F92fc0834-f54f-481a-a5ec-333e3332d8ee.png" alt="promerakiiot profile" class="crayons-avatar__image" width="800" height="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/promerakiiot" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Promeraki IoT
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Promeraki IoT
                
              
              &lt;div id="story-author-preview-content-3526097" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/promerakiiot" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3741186%2F92fc0834-f54f-481a-a5ec-333e3332d8ee.png" class="crayons-avatar__image" alt="" width="800" height="800"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Promeraki IoT&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

            &lt;span&gt;
              &lt;span class="crayons-story__tertiary fw-normal"&gt; for &lt;/span&gt;&lt;a href="/promeraki-developments" class="crayons-story__secondary fw-medium"&gt;Promeraki Developments&lt;/a&gt;
            &lt;/span&gt;
          &lt;/div&gt;
          &lt;a href="https://dev.to/promeraki-developments/how-iot-sensors-are-predicting-powdery-mildew-before-it-spreads-across-your-vineyard-4f97" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Apr 20&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/promeraki-developments/how-iot-sensors-are-predicting-powdery-mildew-before-it-spreads-across-your-vineyard-4f97" id="article-link-3526097"&gt;
          How IoT Sensors Are Predicting Powdery Mildew Before It Spreads Across Your Vineyard
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/iot"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;iot&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/vineyard"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;vineyard&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/smartdevices"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;smartdevices&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/agritech"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;agritech&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/promeraki-developments/how-iot-sensors-are-predicting-powdery-mildew-before-it-spreads-across-your-vineyard-4f97" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt;&amp;nbsp;reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/promeraki-developments/how-iot-sensors-are-predicting-powdery-mildew-before-it-spreads-across-your-vineyard-4f97#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            3 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>How IoT Sensors Are Predicting Powdery Mildew Before It Spreads Across Your Vineyard</title>
      <dc:creator>Promeraki IoT</dc:creator>
      <pubDate>Mon, 20 Apr 2026 11:33:37 +0000</pubDate>
      <link>https://dev.to/promeraki-developments/how-iot-sensors-are-predicting-powdery-mildew-before-it-spreads-across-your-vineyard-4f97</link>
      <guid>https://dev.to/promeraki-developments/how-iot-sensors-are-predicting-powdery-mildew-before-it-spreads-across-your-vineyard-4f97</guid>
      <description>&lt;p&gt;Powdery mildew doesn't knock before it enters your vineyard. &lt;/p&gt;

&lt;p&gt;One morning the vines looked fine. A week later, half the canopy is dusted white, and you're already two treatments behind. Historically, it's been managed reactively: spot it, spray it, and hope. &lt;/p&gt;

&lt;p&gt;But that's changing. &lt;/p&gt;

&lt;p&gt;IoT sensor networks combined with predictive ML models are shifting disease management from reaction to prediction, and the results are measurable. &lt;/p&gt;

&lt;h2&gt;
  
  
  What Makes Powdery Mildew So Hard to Catch
&lt;/h2&gt;

&lt;p&gt;Caused by the fungus Uncinula necator, powdery mildew, doesn't need wet leaf surfaces to spread. It thrives in warm, dry-to-moderately humid conditions which makes it harder to catch using weather-only heuristics. &lt;/p&gt;

&lt;p&gt;By the time you see the white mycelial coating on leaves or berries, the infection is already well established. The environmental thresholds that trigger it are subtle: a temperature between 20 and 27°C, moderate relative humidity, and specific leaf wetness patterns interacting differently across microzones within the same vineyard block. &lt;/p&gt;

&lt;h2&gt;
  
  
  Where IoT Changes the Equation
&lt;/h2&gt;

&lt;p&gt;Traditional approaches rely on regional weather stations 5–20 km away. That data resolution is too coarse for microclimate variation across a single estate. &lt;/p&gt;

&lt;p&gt;Vine-level IoT sensor networks solve this: &lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Sensors per monitoring zone: *&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Temperature (air + canopy) &lt;/li&gt;
&lt;li&gt;Relative humidity &lt;/li&gt;
&lt;li&gt;Leaf wetness &lt;/li&gt;
&lt;li&gt;Rainfall (rain gauge) &lt;/li&gt;
&lt;li&gt;Soil moisture&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;*&lt;em&gt;Data flow: *&lt;/em&gt;&lt;br&gt;
Sensor node → LoRaWAN gateway → Cloud (MQTT) → ML inference → Alert &lt;/p&gt;

&lt;h2&gt;
  
  
  The ML Layer
&lt;/h2&gt;

&lt;p&gt;A few approaches that work well in practice: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SVM + Logistic Regression (hybrid):&lt;/strong&gt; ANR-cleaned sensor data fed into an LR classifier achieved 96% accuracy for powdery mildew prediction in documented research. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gradient Boosting:&lt;/strong&gt; Effective for multi-disease classification (PM, downy mildew, black rot) when historical outbreak data is available. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deep learning with fuzzy annotation:&lt;/strong&gt; Used for real-time vine-level breakpoint detection that flags the exact onset window, so interventions are targeted, not calendar-based.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What Features Actually Matter
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Features: Relevance&lt;/strong&gt;&lt;br&gt;
Air temperature (20–27°C): High&lt;br&gt;
Relative humidity (moderate): High&lt;br&gt;
Leaf wetness duration: Medium&lt;br&gt;
Rainfall: Medium&lt;/p&gt;

&lt;p&gt;Unlike downy mildew, powdery mildew does not require free water for sporulation, so leaf wetness alone won't catch it.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Simple Risk Scoring Pipeline
&lt;/h2&gt;

&lt;p&gt;def compute_mildew_risk(sensor_reading: dict) -&amp;gt; str: &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;temp = sensor_reading['temp_c'] 

rh = sensor_reading['humidity_pct'] 

lw = sensor_reading['leaf_wetness_hrs'] 

temp_risk = 1 if 20 &amp;lt;= temp &amp;lt;= 27 else 0 

humidity_risk = 1 if 40 &amp;lt;= rh &amp;lt;= 70 else 0 

wetness_risk = 1 if lw &amp;lt; 2 else 0  # low wetness = still favorable for PM 

risk_score = temp_risk + humidity_risk + wetness_risk 

if risk_score == 3: return "HIGH" 

elif risk_score == 2: return "MODERATE" 

else: return "LOW" 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In production, a trained ML model replaces this, but the feature intuition stays the same. &lt;/p&gt;

&lt;h2&gt;
  
  
  Outcomes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fewer fungicide applications&lt;/strong&gt; targeted spraying replace calendar-based schedules &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Earlier intervention&lt;/strong&gt; models fire 3–5 days before visible symptoms appear &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Better fruit quality&lt;/strong&gt; reduced late-season pressure means cleaner harvest &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Traceability&lt;/strong&gt; logged sensor + intervention data supports certification reporting&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Key Takeaways for IoT Platform Engineers
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Data quality &amp;gt; data volume.&lt;/strong&gt; A drifting humidity sensor produces worse outcomes than a slower but more accurate one. Edge-level calibration matters. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Latency is a real design decision.&lt;/strong&gt; A 6-hour pipeline delay can make a disease alert useless. Evaluate end-to-end. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Domain knowledge drives feature engineering.&lt;/strong&gt; The best models here are built by teams that understand fungal biology, not just ML frameworks. &lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;The tech stack is mature. Sensor costs have dropped. ML tooling is accessible. What's left is platform engineering that connects the biology of a fungus to a notification on a winemaker's phone before the canopy turns white. &lt;/p&gt;

&lt;p&gt;At &lt;a href="https://promeraki.com/" rel="noopener noreferrer"&gt;Promeraki&lt;/a&gt;, we build IoT platform engineering solutions for OEM manufacturers and agricultural operators from sensor integration to cloud pipelines and decision-support dashboards. Working on precision viticulture or AgriTech IoT? &lt;a href="https://promeraki.com/contact" rel="noopener noreferrer"&gt;Let's connect.&lt;/a&gt;🤝&lt;/p&gt;

</description>
      <category>iot</category>
      <category>vineyard</category>
      <category>smartdevices</category>
      <category>agritech</category>
    </item>
    <item>
      <title>Most IoT discussions focus on smart homes or industrial systems.
But agriculture - especially viticulture, is where it gets interesting.

Precision viticulture uses: Sensor networks, edge data, remote monitoring, and real-time analytics.</title>
      <dc:creator>Promeraki IoT</dc:creator>
      <pubDate>Wed, 08 Apr 2026 12:18:07 +0000</pubDate>
      <link>https://dev.to/promerakiiot/most-iot-discussions-focus-on-smart-homes-or-industrial-systems-but-agriculture-especially-1l82</link>
      <guid>https://dev.to/promerakiiot/most-iot-discussions-focus-on-smart-homes-or-industrial-systems-but-agriculture-especially-1l82</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://dev.to/promeraki-developments/how-iot-and-data-are-powering-precision-viticulture-in-modern-vineyards-2phi" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F153kz7zhcqjg9vnqmh57.png" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://dev.to/promeraki-developments/how-iot-and-data-are-powering-precision-viticulture-in-modern-vineyards-2phi" rel="noopener noreferrer" class="c-link"&gt;
            How IoT and Data Are Powering Precision Viticulture in Modern Vineyards - DEV Community
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Every vineyard looks different up closely. Soil changes from one row to the next. Some sections drain...
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png"&gt;
          dev.to
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
  </channel>
</rss>
