24,000 Contact Us Cloud

Build Your First Industrial Data Stack with TDengine IDMP

Arun Arulraj

December 15, 2025 /

Getting hands-on experience with real industrial data is often harder than it should be. Production systems are closed, test datasets are oversimplified, and setting up realistic telemetry pipelines usually requires hardware you don’t have. To remove that barrier, TDengine now provides a free public MQTT feed that simulates a utility-scale solar fleet, streaming realistic, hierarchical time-series data in real time.

In this walkthrough, we’ll show how to ingest that live MQTT data into TDengine TSDB for high-performance storage and querying, and then use TDengine IDMP to model assets and perform visualization and analytics. By the end of this guide, you’ll have a working end-to-end pipeline that mirrors real-world industrial deployments, without needing any field devices or proprietary systems.

Create a TDengine TSDB+IDMP Deployment

You can deploy TDengine in TDengine Cloud or in Docker. When you register for TDengine Cloud or deploy in Docker, you automatically receive a free trial of TDengine that you can use for testing or PoC purposes.

Choose one of the following options:

Register for TDengine Cloud

  1. In a web browser, access https://cloud.tdengine.com to register for TDengine Cloud. Registration is free, and it is not necessary to enter any payment information.

  2. Enter your email address and organization and click Get Confirmation Code.

  3. Copy the confirmation code from your email to the registration form and click Sign up for TDengine Cloud.

  4. On the page displayed, enter your name and specify a password. Then click Continue.

  5. Select IDMP (Industrial Data Management Platform) and click OK.

  6. On the page displayed, enter names for your IDMP and TSDB instances and click Create. Use the default starter price plan for each instance. Note that the name of each instance must be different.

    The instance creation process takes approximately 2 minutes.

  7. On the page displayed, select any of the sample scenarios. This sample data will not be used in this exercise and can be ignored. Then click Confirm.

  8. Click the X icon to close the tour guide. You can go through this guide on your own at any time by clicking the profile icon in the upper right and selecting Tour Guide.

  9. Click the profile icon in the upper right and select Admin Console. Then, in the sidebar on the left, click Cloud Resources Management.

On the Cloud Resources page, you can see your TDengine TSDB and TDengine IDMP instances and access them at any time. You can also access your TDengine TSDB instance at https://tsdb.tdengine.com and your TDengine IDMP instance at https://idmp.tdengine.com.

Deploy TDengine in Docker

Note: If you already set up TDengine in TDengine Cloud, skip this step.

  1. Install Docker on your local machine. You can install Docker Desktop from the Docker website.

  2. Install Git on your local machine. For more information, see the Git website.

  3. Clone the tdengine-idmp-deployment repository:

    git clone https://github.com/taosdata/tdengine-idmp-deployment.git
  4. Start Docker Compose:

    cd tdengine-idmp-deployment/docker
    docker compose up -d

    Note: On Windows, use a backslash (\) instead of a forward slash (/): cd tdengine-idmp-deployment\docker

    This command will automatically pull the required images and start the TDengine IDMP and TDengine TSDB-Enterprise services in detached mode.

  5. In your browser, access TDengine TSDB Explorer at http://localhost:6060 and log in with the default username root and password taosdata

  6. Enter your name and email address as prompted to activate TDengine TSDB-Enterprise.

  7. In your browser, access TDengine IDMP at http://localhost:6042 and log in with your email address and organization. Then enter your name and other information as prompted to create your account.

  8. On the page displayed, select any of the sample scenarios. This sample data will not be used in this exercise and can be ignored. Then click Confirm.

  9. Click the X icon to close the tour guide. You can go through this guide on your own at any time by clicking the profile icon in the upper right and selecting Tour Guide.

Ingest MQTT Data in TDengine TSDB

This exercise uses data from the weather topic in our public MQTT broker. In this section, you will configure TDengine TSDB to ingest the data from this topic into a database.

  1. In a web browser, access TDengine TSDB (https://tsdb.tdengine.com for TDengine Cloud users or http://localhost:6060 for Docker users).

  2. From the main menu on the left, select Explorer, then click the + sign to create your database. Enter a name for the database and click Create.

  3. From the main menu on the left, select Data In, then click Add Data Source to configure MQTT ingestion.

  4. On the page displayed, enter a unique name for the data ingestion task. From the Type drop-down menu, select MQTT.

    From the Target drop-down menu, select the database that you created in the previous step.

    In the Connection Configuration section, enter mqtt.tdengine.com as the MQTT Host and 1883 as the MQTT Port.

  5. In the Collect section, enter a unique client ID for the data ingestion task. Then, in the Topics QoS Config field, enter weather::0.

    Click Check Connection to ensure that your configuration is correct.

    If you encounter any errors, confirm that your Internet connection is stable and that you can access mqtt.tdengine.com.

  6. In the Payload Transformation section, click Retrieve from Server. Five data records will be retrieved and displayed in JSON format in the text box on the left.

    Then click the Parse icon. This parses the MQTT data records so that they can be written to TDengine TSDB.

    At the bottom of the section, click Create STable to create a supertable for the weather data.

  7. In the Create STable dialog box, configure your supertable.

    1. Enter a unique name for the supertable.

    2. Set the TIMESTAMP column to ts and delete the prefilled ts column.

    3. Move Station_ID, Site_ID, Fleet, and Location to the Tags section. You can do this by clicking the tag icon on the right of each item.

    4. Add a tag of type VARCHAR named Path. This will be used as the path for asset modeling.

    5. Click Create.

  8. After returning to the Mapping section, enter ${Station_ID} as the SubTableName. This names automatically generated subtables based on the value of the Station_ID tag.

    All items should be mapped except Path. Set Path to the format ${Fleet}.${Site_ID}.

  9. Click Add to finalize the data ingestion task.

The data ingestion task will start, and after a few seconds you will see data in your database. From the main menu on the left, select Explorer and view your tables to confirm that data is flowing.

Once the data is being ingested into TDengine TSDB, proceed to set up TDengine IDMP.

Get Started with TDengine IDMP

Import Data from TDengine TSDB

  1. In a web browser, access TDengine IDMP (https://idmp.tdengine.com for TDengine Cloud users or http://localhost:6042 for Docker users).

  2. Click the profile icon in the top right corner and select Admin Console.

  3. Select Connections, choose your TDengine instance, and open the Easy Import page.

  4. Select the database that you created for your data ingestion task and deselect Ignore on each supertable. Then set the tag Path as the Path in the asset model.

  5. Confirm that Ignore is selected on all other databases not used in this exercise, such as the sample scenario data. Then click Finish at the bottom of the page. Asset data is imported into TDengine IDMP.

  6. From the main menu at the top, select Explorer. In the sidebar, open the Elements tree to see your assets in TDengine IDMP organized by site.

    You can now add attributes, visualizations, real-time analysis tasks, and events for your assets.

  7. Create Dashboards in TDengine IDMP

    Dashboards consist of one or more panels that you can create on your own or with our AI copilot. To create a panel, select any element and open its Panels page.

    TDengine IDMP features zero-query intelligence, an AI-assisted feature that generated recommended panels for you. When you click an element and open the Panels page, five suggested panels will be displayed automatically.

    If you want to use an AI-generated panel, click the three dots icon in the top right of the panel and select Generate. Once the panel is generated, click the three dots icon again and select View to see the panel in action or modify it.

    Create a Panel with Chat BI

    You can prompt the TDengine IDMP AI copilot to create panels for you.

    1. In the sidebar, select SITE_004 > WS_004, open the Panels page, and scroll down to locate the chat box.

    2. Type in Ambient temperature for the last 15 mins line graph and click Ask AI. The panel will be generated at the top of the page.

    Create a Panel Manually

    1. In the sidebar, select SITE_004 > WS_004, open the Panels page, and click the + (Add New Panel) icon on the right side of the page.

    2. In the sidebar, click the three dots icon on Module_Temperature_C and select Add to Metrics. Then in the top right, set the chart type to Stat Value.

    3. Under Function, select AVG to take the average value of the metric. Then click Save.

    Create a Dashboard

    Once you have created at least one panel, you can organize your panels in dashboards. In the sidebar, select an element and open the Dashboards page. Click the + (Add New Dashboard) icon in the top right. Then select and place panels on the grid to create your dashboard. An example is shown as follows.

    Create Real-Time Analytics Tasks and Events

    Like panels, you can use zero-query intelligence and Chat BI to create real-time analytics tasks. To do so, select an element in the sidebar and open the Analyses page.

    AI suggestions are displayed on the left, and you can click any question to create the corresponding analysis task. Chat BI is available on the right. You can also create a task manually by clicking the button at the bottom of the page.

    1. In the sidebar, select SITE_004 > WS_004 and open the Analyses page. In the Chat BI area, type Tell me when ambient temperature falls under 30 celsius and press Enter.

      You can see that the AI has configured this analysis task as an event window.

    2. Click Save. Then from the menu at the top of the page, select Events and view any events that have been generated by your analysis.

    Conclusion

    By completing this walkthrough, you now have a working end-to-end example of how to ingest live industrial data from an MQTT source into TDengine TSDB and organize it using TDengine IDMP. You’ve seen how raw telemetry can be stored efficiently, modeled into meaningful assets, and enriched with context for analysis and visualization. The same approach can be applied to real-world IoT, energy, or industrial environments—scaling from a single site to large, distributed fleets—giving you a solid foundation for dashboards, advanced analytics, and AI-driven use cases.

  • Arun Arulraj

    Pursuing a Master’s Degree in Computer Science from the Georgia Institute of Technology and holding dual Bachelor’s degrees in Computer Science and Chemistry, Arun brings expertise in artificial intelligence, machine learning, and industrial data solutions to drive TDengine’s solution engineering efforts. Prior to joining TDengine, he worked as a Software Engineer at C3 AI and Meta, and served as Head of AI at Soundromeda, where he led the development of advanced AI-driven applications. He is currently based in California, USA.