This article presents an example scenario simulating the collection of electric vehicle monitoring metrics over MQTT into TDengine TSDB and the AI-driven generation of panels and real-time analyses in TDengine IDMP.
Environment Setup
In this demonstration, TDengine TSDB and TDengine IDMP are deployed using Docker, with MQTT serving as the data source for the demo environment. The data flow is described in the following figure:

Prerequisites
- Install Docker Engine 20.10 or later on your local machine. For instructions, see Install Docker Engine in the Docker documentation.
- Install Docker Compose 1.29.2 or later on your local machine. For instructions, see Overview of installing Docker Compose in the Docker documentation.
- Install Git on your local machine. For more information, see the Git website.
Install the Demonstration Environment
-
Clone the tdengine-idmp-deployment repository:
git clone https://github.com/taosdata/tdengine-idmp-deployment.git
-
Start Docker Compose:
cd tdengine-idmp-deployment/docker docker compose up -d
This command will automatically pull the required images and start both the TDengine IDMP service and TDengine TSDB-Enterprise service in detached mode.
You can access TDengine TSDB through TDengine Explorer at http://localhost:6060
and TDengine IDMP at http://localhost:6042
.
Create a Data Ingestion Task and Simulate Data Writing
Create a Database
-
In your browser, access TDengine Explorer at
http://localhost:6060
. -
Log in with the default username
root
andpassword
taosdata. -
Enter your name and email address as prompted to activate TDengine TSDB-Enterprise.
-
Create a database to store the sample data.
-
In the main menu on the left, click Explorer. Then click the + (Create Database) button next to Databases.
-
In the Name field, enter
ev
. Retain the default values for all other settings. -
Click Create.
-
Create a Data Ingestion Task
-
In the main menu on the left, click Data In.
-
On the Data In page, click Import Task.
-
Select the
/examples/electric_vehicle/ev-task.json
file in thetdengine-idmp-deployment
repository that you cloned to your local machine. -
From the Target drop-down list, select the
ev
database. -
In the dialog box displayed, select the checkbox to the left of the task and click Confirm.
-
In the task list, select the checkbox to the left of the task and click Start Task.
Once the task starts successfully, its status will display Running.
Generate Simulated Data
-
Open a terminal in the
ev-mqtt
container.docker compose exec -it ev-mqtt /bin/sh
-
Start the data simulator to send simulated data.
./mqtt_pub --schema ev-history-en.toml --interval 0ms
-
In a web browser, access
http://localhost:6060
and open the Explorer page. You should see that the electric vehicle simulation data has been generated.
Get Started with TDengine IDMP
Import Asset Model and Data from TDengine TSDB
TDengine TSDB supports static tags in a tree structure, with different levels separated by a period (.). In this example, the location
tag column is used to store the hierarchy.
-
In a web browser, access
http://localhost:6042
and activate TDengine IDMP. -
Click your user avatar and select Admin Console.
-
Under Connections, click the three-dot menu to the right of TDengine and select Data Import.
-
On the Data Import tab, select the
ev
database andelectric_vehicle
supertable. -
Under Tags, set
location
as a Path in the asset model and set all other tags to Attribute. -
At the bottom of the page, click Next Supertable. Select Ignore on all supertables other than
electric_vehicle
. -
Click Finish to import the asset model into TDengine IDMP.
Open the Explorer page and select EVs by Location in the sidebar. You can now see the electric vehicle tree organized by location.

Try AI-Generated Dashboards
-
In the sidebar, select EVs by Location > California > OrangeCounty > Anaheim > ev-17.
-
Open the Panels page on this element to see AI recommendations.
-
Click Generate on a panel that you want to try. Once the panel is generated, click View to open it.
-
On the details page, you can view the panel or click Edit to make changes. When you edit a panel, you can select Advanced to view the SQL statement used to create the panel.
-
When you have finished modifying the panel, click Save to add it to the element.
Try AI-Generated Analysis
-
In the sidebar, select EVs by Location > California > OrangeCounty > Anaheim > ev-17.
-
Open the Analyses page on this element to see AI recommendations.
-
Click one of the suggested questions to generate a real-time analysis task.
-
On the details page, you can view the configuration for the real-time analysis task and make changes as needed. When you have finished, click Save.
Uninstall the Demonstration Environment
Once you have completed your evaluation, you can stop and remove the demonstation containers by running the following command:
docker compose down
If you also wish to remove the volumes created by the demonstration, use the following command.
docker compose down -v
Summary
In this demonstration, the combination of TDengine TSDB and TDengine IDMP delivers four key benefits:
- Effortless data ingestion: TDengine IDMP is seamlessly integrated with TDengine TSDB. Once Monitoring data in TDengine TSDB can be quickly imported into TDengine IDMP, making a data catalog in a familiar tree structure for asset management.
- Automatic onboarding of new data: When data from a new vehicle is ingested into the supertable, it is automatically imported into TDengine IDMP and displayed in your data catalog.
- Zero-query intelligence: TDengine IDMP automatically identifies your scenario based on your data and recommends panels and real-time analytics tasks. You can analyze and visualize your data without writing prompts or SQL queries.
- Chat BI: You can describe the panel or analysis that you want, and IDMP will automatically create it for you, bringing the barrier to data visualization and analytics down to zero.