FAQ about IoT Platform
This topic describes frequently asked questions (FAQ) about the features of Alibaba Cloud IoT Platform.
Category | Question |
Alibaba Cloud service |
|
Device connection | |
Message communication | |
Device management | |
Monitoring and O&M | |
Server-side SDKs and APIs | |
Others |
What is the communication pattern for device management on IoT Platform?
Alibaba Cloud IoT Platform provides secure and reliable connectivity and communication for devices. For more information about the communication pattern, see What is IoT Platform.
What are the benefits of connecting devices to IoT Platform compared with connecting to a self-managed MQTT broker?
Alibaba Cloud IoT Platform provides more powerful features at a lower cost. For more information about the differences, see Benefits.
Does IoT Platform support only MQTT for device connection?
No. IoT Platform supports open protocols such as Message Queuing Telemetry Transport (MQTT), Constrained Application Protocol (CoAP), HTTPS, JT/T 808, GB/T 32960, and SL 651. For more information, see MQTT protocol specifications, HTTPS protocol specifications, CoAP protocol specifications, GB/T 32960 protocol, JT/T 808 protocol, and SL 651 protocol.
What domain names does IoT Platform use?
To connect a device to IoT Platform, use the relevant connection domain names. For more information, see View instance endpoints.
When a device is updated over-the-air (OTA), IoT Platform sends the OTA-related domain name:
ota.iot-thing.cn-${YourRegionId}.aliyuncs.com.Replace
${YourRegionId}with the region ID where your IoT Platform device resides. For more information about region IDs, see Region list.
Can I hide the IoT Platform connection domain name behind my custom domain name?
No. IoT Platform does not support canonical name (CNAME) resolution and authenticates every request. Requests from untrusted domain names may be blocked.
If a device is connected to an IoT Platform instance in the China (Shanghai) region, can it still connect to IoT Platform if it is moved outside China?
IoT Platform does not restrict the physical location of devices. A device can connect to IoT Platform if it can access the public network.
Cross-region access may cause network latency.
You are responsible for ensuring data security and legal compliance for cross-region data transfers.
Does IoT Platform support services in the Middle East region?
No.
IoT Platform supports services in the China (Shanghai), China (Beijing), China (Shenzhen), Japan (Tokyo), Singapore, Germany (Frankfurt), US (Silicon Valley), and US (Virginia) regions. For more information, see Instance overview.
If a device is not physically located in a region where IoT Platform is available, it can connect to the nearest IoT Platform region. However, the availability of cross-border network access is not guaranteed. Test the connection to confirm availability.
Can third-party applications, such as web applications and mobile apps, use device data from IoT Platform?
Yes.
You can use the development tools provided by IoT Studio, such as Web App Editor, Mobile App Editor, Business Logic, and Component, and services such as DataService Studio, to efficiently and cost-effectively store, analyze, and use IoT device data.
You can use the server-side SDKs for IoT Platform to call API operations to integrate the capabilities of IoT Platform and use device data.
After a device reports data to IoT Platform, how can I store the data in a database, such as MySQL or SQL Server?
You can use the data forwarding feature of IoT Platform to forward data to the destination database. For more information, see Forward data to ApsaraDB RDS.
Does IoT Platform provide services related to mobile apps?
No. IoT Platform provides only device-level services. You can use the mobile app development tools of IoT Studio to develop your own mobile app.
Both IoT Platform and ApsaraMQ for RocketMQ are products for message communication. What are the differences between them?
They are used in different scenarios. IoT Platform also reduces the risk of threats caused by compromised devices.
IoT Platform: Used for device communication in IoT scenarios.
IoT Platform registers a unique identity for each device for authentication. It also supports device management operations such as authorization and disabling. If a device is compromised, the threat is limited to that single device and does not affect the entire system.
ApsaraMQ for RocketMQ: Used for asynchronous communication on the server side. It does not provide the same device-level risk governance mechanisms as IoT Platform.
Can I use IoT Platform outside China?
Yes. Alibaba Cloud IoT Platform is deployed in multiple countries and regions. Log on to the IoT Platform console to view the countries and regions where the service is available.
What hardware can be connected to IoT Platform?
In theory, any hardware that has a TCP/IP protocol stack can connect to IoT Platform.
The protocols for interaction between devices and Alibaba Cloud IoT Platform are public. You can connect devices based on these protocols or use the SDKs provided by IoT Platform. For more information, see Download device-side SDKs.
Is the format of messages that devices send to IoT Platform fixed? Can the messages be sent to our application?
The format is not fixed. After Alibaba Cloud IoT Platform receives a message from a device, it forwards the message to your application for processing. You must write the logic for message processing.
For more information about how a server-side application receives device messages, see What is server-side subscription.
What is the forwarding latency for device messages on IoT Platform?
The forwarding latency in the device communication flow is determined by the following stages:
The device sends a message to IoT Platform: The latency is determined by the network bandwidth.
The message is forwarded within IoT Platform: The latency is determined by IoT Platform and does not exceed 50 ms.
The message is sent to your business service: The latency is determined by the network bandwidth.
Your business server processes the message: The latency is determined by the business server.
How secure is device data on IoT Platform?
Highly confidential.
If you keep your account and password information secure, other parties cannot access your device data.
Is a server-side SDK for C available?
Yes, but we do not recommend using C to develop the server side. If you use the message callback feature, you must develop a web server in C, which is difficult.
If you use the C SDK to connect the server side to IoT Platform and call cloud APIs, you must use the HTTP protocol to send request data.
How is IoT Platform billed, and are all SDK features free?
For more information about the billing of IoT Platform, see Billing overview. You can purchase IoT Platform services as needed. For more information, see Enterprise instance fees, Public instance fees, and FAQ about IoT Platform billing.
All SDKs are free. IoT Platform provides device-side and server-side SDKs. The open source SDKs provided by IoT Platform have various licenses, such as EDL, EPL, and Apache 2.0. You can use them with confidence.
Can I grant the overall management permissions of IoT Platform to another Alibaba Cloud account?
No.
You can use the device distribution feature to distribute devices to the IoT Platform services of other accounts. For more information, see Distribute devices.
You can use the Resource Access Management (RAM) authorization feature to create a RAM user under your Alibaba Cloud account and grant the RAM user permissions to manage IoT Platform. For more information, see RAM authorization for IoT Platform.
How can I find IoT solutions?
Complete IoT Platform solutions are typically provided by third-party solution providers and module vendors. You can find mature solution providers on the Alibaba Cloud Marketplace.
How can I retrieve information about all devices under the same product in IoT Platform?
You can call the cloud APIs of IoT Platform to retrieve device information. The process is as follows:
Call the QueryProductList operation to view the product list and product information. This includes the authentication method, data format for communication, number of devices, creation time, node type, ProductKey, and product name.
Call the QueryDevice API to query the device list and information for all devices under a specified product: device name, device certificate, device ID, device status, creation time, alias, and product category.
Call the following operations to query device information:
QueryDeviceInfo: Queries the basic information of a single device, including the device ID, device certificate, and alias.
QueryDeviceDetail: Queries the detailed information of a single device: device name, device certificate, creation time, activation time, last up time, device ID, device IP address, alias, node type, deployment region, current status, and more.
BatchQueryDeviceDetail: Queries the detailed information of multiple devices under a specific product.
Is there an API operation for deleting devices in batches from IoT Platform?
IoT Platform does not provide an API operation for deleting devices in batches. You can delete multiple devices in one of the following ways:
On the page for the corresponding instance in the IoT Platform console, select the check boxes for the devices that you want to delete, click Delete below the device list, and then click Confirm.
Recursively call the DeleteDevice operation to delete multiple devices.
Can IoT Platform generate HTTP endpoints for other platforms to call?
IoT Platform provides cloud APIs for you to call. For more information about the API operations, see List of API operations.
You must use a server-side SDK to call the API operations. For more information about the SDKs, see Download server-side SDKs. For more information about how to obtain a demo for calling an API operation, see Use OpenAPI Sample Code.
Can I export product information from IoT Platform in batches?
Yes. IoT Platform provides cloud APIs to query product information.
Call the QueryProductList operation to query the list of all products in a specific instance and their information. This includes the authentication method for devices under the product, data format for device communication, product description, number of devices, creation time, ProductKey, product name, and node type.
Call the QueryProduct operation to query the detailed information of a specific product. This includes the product type, the identifier and name of the product category, the authentication method for devices under the product, the data format for device communication, the product description, the number of devices, the creation time, the ProductKey, the product name, the product key, the node type, the networking method for devices under the product, the product status, the data validation level, and the protocol type for sub-device connection to the gateway.
Can I manage devices on IoT Platform by calling API operations? Can I use an Alibaba Cloud SDK for remote control?
Yes. IoT Platform provides the following API operations for device management:
Feature | API | Description |
Device registration | An individual registered device. | |
Registers multiple devices in a batch. Device names are randomly generated. | ||
Specifies custom device names in a batch. IoT Platform checks the validity of the names. | ||
Applies to register devices in a batch based on an ApplyId. | ||
Queries the processing status and result of a batch device registration request. | ||
Device lifecycle | Disables a device. | |
You can unblock the device. | ||
Resets a device. | ||
Deletes a device. | ||
Device ID | In a registration-free, one-device-one-certificate scenario, queries the list of identifiers for a single device. | |
In a registration-free, one-device-one-certificate scenario, if a device has multiple device identifiers, specifies a correct device identifier to prevent unauthorized device logons. | ||
In a registration-free, one-device-one-certificate scenario, if the number of identifiers for a single device exceeds the limit of five, you can delete all identifiers of the device. | ||
Device information | Updates the aliases of multiple devices in a batch. | |
Queries the basic information of a specific device, including the device ID, device certificate, and alias. | ||
Queries the details of a device. | ||
Queries the details of multiple devices in a batch. | ||
Queries the information of devices that are registered in a batch. | ||
Queries the list of devices for a product. | ||
Queries the status of a device. | ||
Queries the status of multiple devices in a batch. | ||
Queries the list of devices based on their status. | ||
Queries the list of OTA module versions that a device has reported. | ||
Uses an SQL statement to quickly search for devices that meet specified conditions. | ||
Queries the number of devices. | ||
Device tag | Sets device tags. | |
Queries the list of device tags. | ||
Queries devices by tag. | ||
Deletes device tags. | ||
Gateways and sub-devices | Adds device topology relationships in a batch. | |
Notifies a gateway to add a device topology relationship. | ||
Queries the list of sub-devices for a gateway device. | ||
Queries the information of a gateway device based on the information of an attached sub-device. | ||
Removes the topology relationship of a gateway device or sub-device. | ||
LoRaWAN devices | Creates a task to register LoRaWAN devices in a batch. | |
Queries the status of a task that registers LoRaWAN devices in a batch. | ||
Queries the list of LoRaWAN join permissions for an account. | ||
Device X.509 certificates | Queries the X.509 certificate of a single device. | |
Queries the download URL for the X.509 certificates of devices that are registered in a batch. | ||
Cloud gateway devices | Imports a single device to an MQTT-based instance or an MQTT cloud gateway product. | |
Imports multiple devices in a batch to an MQTT-based instance or an MQTT cloud gateway product. | ||
Validates devices that are imported in a batch to an MQTT-based instance or an MQTT cloud gateway product. | ||
Queries the list of devices that are imported in a batch based on the application batch ID (ApplyId). | ||
Imports devices in a batch to a cloud gateway product that uses the JT/T 808, GB/T 32960, or SL 651 protocol. | ||
Validates imported cloud gateway devices that use the JT/T 808, GB/T 32960, or SL 651 protocol in a batch. | ||
Queries the information of cloud gateway devices that use the JT/T 808, GB/T 32960, or SL 651 protocol. | ||
Device files | Queries all files that a specified device has uploaded to IoT Platform. | |
Queries the information of a specific file that a specified device has uploaded to IoT Platform. | ||
Deletes a specific file that a specified device has uploaded to IoT Platform. |
What API operations does IoT Platform provide?
For a list of API operations provided by IoT Platform, see List of API operations.
How do I call API operations for Alibaba Cloud IoT Platform?
Create a RAM user and grant permissions: If you use a RAM user to call API operations, you must first create a RAM user and grant permissions to it.
Download server-side SDKs: Use the server-side SDKs for IoT Platform to call cloud APIs and use the cloud capabilities of IoT Platform, such as product management, device management, topic management, data forwarding rule management, and message communication.
Call an API operation: Call an API operation by following the request structure and passing the required request parameters for the specific operation.
For a list of API operations provided by IoT Platform, see List of API operations.
OpenAPI Developer Portal provides features for online API debugging and automatic SDK sample code generation. We recommend that you use this portal to simplify the use of API operations.
You can go to the IoT Platform Server-side SDK Sample Center to view or download sample code for calling API operations.
What are the common parameters for the cloud APIs of IoT Platform?
For more information about the common request and response parameters for the cloud APIs of IoT Platform, see Common parameters.
How do I connect a device to IoT Platform?
You can connect a device to Alibaba Cloud IoT Platform in the following ways:
Link SDK for device connection: Use the Link SDK provided by IoT Platform to develop device connection capabilities.
Use MQTT, CoAP, or HTTPS for independent connection: If the provided device-side SDKs do not meet your needs, you can develop your own.
For example, you can use an open source MQTT client to connect to IoT Platform. IoT Platform provides Paho MQTT-based samples for various languages, including Android, Java, C (embedded), C (non-embedded), C#, Python, Rust, and Go.
Connect through a module: You can use an AT module that supports MQTT or HTTPS commands, or a universal TCP AT module.
IoT Platform provides the following SDK samples: Integrate an SDK on a module that supports MQTT and Integrate an SDK on a wide area network (WAN) module that supports TCP.
Use the cloud-to-cloud SDK for connection (proprietary protocol): This allows device data to be forwarded from other IoT platforms to Alibaba Cloud IoT Platform.
Use a cloud gateway protocol for connection: This lets you use custom certificate information for device identity authentication. It supports connecting devices through a cloud gateway that uses the MQTT, JT/T 808, GB/T 32960, China Telecom NB-IoT, or SL 651 protocol.
You can choose a method to connect your device to IoT Platform based on the device type and connection protocol. For more information, see Device connection guide.
What hardware models can be connected to IoT Platform?
Hardware models that support the MQTT, HTTPS, or CoAP protocol can be connected to IoT Platform. For more information, see Device connection guide.
If I select the wrong node type when creating a product, can I change it?
No. You must create a new product. For more information, see Create a product (console operation) and CreateProduct (cloud API).
How can I recover a device that was accidentally deleted from IoT Platform?
After a device is deleted, all its related resources in IoT Platform are released and cannot be recovered. Therefore, a deleted device cannot be recovered.
If I replace the IoT SIM card in a device, will IoT Platform prevent the device from going online?
Confirm that your IoT SIM card has public network connectivity. If it does, the device can connect to IoT Platform as normal.
Do new IoT Platform instances not support integration with the Cloud Intelligence App?
Yes. IoT Platform does not currently support this integration. The Cloud Intelligence App is integrated with Link IoT Edge, which is a different product from IoT Platform.
For more information, see Cloud Intelligence App of Link IoT Edge.
How long is IoT Platform data stored for accounts that have completed individual and enterprise identity verification?
The data storage duration is not related to whether an account has completed individual or enterprise identity verification. By default, IoT Platform stores data for one month.
To store IoT Platform data for a longer period, you can use one of the following solutions:
Use the data forwarding feature to dump data to another location for storage. For example, you can forward data to a business server for local storage, or to cloud-native database PolarDB for MySQL, Tablestore, ApsaraDB RDS, or Lindorm. For more information, see Data forwarding.
You can use DataService Studio to back up and store data. For more information, see DataService Studio.
How can I ensure that each customer can control only their own devices on IoT Platform?
IoT Platform does not currently support resource-level authorization for products and devices. It supports only API-level authorization. When you grant permissions using RAM, you must set the Resource parameter to * for the authorization to take effect. For more information, see RAM authorization for IoT Platform.
Does Alibaba Cloud provide an SDK for bare-metal single-chip microcontrollers (MCUs)?
IoT Platform provides the C Link SDK to connect devices that use single-chip microcontrollers without an operating system. For more information, see Connect a device that does not have an operating system.
If a device uses an STM32 microcontroller, does it support downloading OTA update packages?
IoT Platform provides two methods for downloading OTA update packages for OTA updates: HTTPS and MQTT. If the microcontroller supports HTTPS or MQTT, it supports downloading OTA update packages for OTA updates.
For more information about OTA updates, see OTA update overview.
Why is there high latency when I download an OTA update package in chunks over MQTT?
The MQTT protocol is designed for persistent connections and low-latency communication. However, some latency may occur due to unstable network conditions or server processing. Significant latency when downloading an OTA update package in chunks may be related to network conditions, server processing speed, or the device's mechanism for processing MQTT messages. Check your network connection to ensure stable communication between the device and IoT Platform.
For more information about the message processing mechanisms and specifications for public and Enterprise instances of IoT Platform, see Differences between public instances and Enterprise instances. You can upgrade your instance or scale out resources as needed.
How do I create a cloud gateway device in IoT Platform?
IoT Platform allows devices to connect through a cloud gateway using MQTT, JT/T 808, GB/T 32960, SL 651, and China Telecom NB-IoT protocols. The method for adding cloud gateway devices varies based on the authentication type.