All Products
Search
Document Center

IoT Platform:Obtain Link SDK for C

Last Updated:Mar 21, 2023

Link SDK for C is suitable for devices whose business processing logic is programmed in C. The C programming language provides high-speed data processing and requires only a small amount of memory. The C programming language is used to develop the business processing logic of most Internet of Things (IoT) devices.

Obtain Link SDK for C

SDK 3.X

The latest version of Link SDK for C is 3.2.0. To download the latest version, go to the "Historical versions" section in this topic.

Note
  • If you do not require the new features of the latest version, you can still use Link SDK for C V3.0.1 or V3.1.0 to configure devices without the need to upgrade the SDK.

  • If you use Link SDK for C V2.3.0 to configure devices and you want to upgrade the version to V3.0.1, you can go to Version history.

Usage notes

Link SDK for C provides multiple API operations that device manufacturers can call to establish communication between IoT Platform and devices and implement other auxiliary features, such as configuring Wi-Fi networks and performing remote control on on-premises devices.

Link SDK for C can be used in different operating systems, such as Linux, FreeRTOS, and Windows. Specific operations that require support from operating systems or hardware are defined as hardware abstraction layer (HAL) functions. When device manufacturers use Link SDK for C to configure devices, the manufacturers must implement the required HAL functions.

The following figure shows the relationships between the business logic of devices, Link SDK for C, and HAL functions.

image

The business logic of devices and HAL functions must be implemented by device manufacturers. The wrappers\os directory of a Link SDK for C package provides a file that contains sample HAL functions for your reference.

The first time you use IoT Platform, click Get started to learn how to connect a simulated device on Ubuntu to IoT Platform. This way, you can understand the basic concepts of IoT Platform.

SDK features

The following table describes the features of Link SDK for C V3.2.0.

Category

Feature

Device-to-cloud connection

  • Message Queuing Telemetry Transport (MQTT) connections. Devices can communicate with IoT Platform over MQTT.

  • Constrained Application Protocol (CoAP) connections. Devices can communicate with IoT Platform over CoAP.

  • HTTPS connections. Devices can communicate with and report data to IoT Platform over HTTPS.

Device identity verification

  • Unique-certificate-per-device verification

  • Unique-certificate-per-product verification

TSL model

You can define features for devices, such as properties, services, and events, and perform the following operations on the features:

  • Property configuration and submission

  • Service calls

  • Event submission

Region configuration in the cloud

  • Manual connections. Devices can connect to IoT Platform in a specified region, such as the China (Shanghai) and Singapore regions, and regions in the United States and France.

  • Dynamic connections. Devices can automatically connect to IoT Platform in a region with minimum latency.

OTA

Firmware upgrades for devices

Remote configuration

Device configuration file retrieval

Sub-device management

You can add sub-devices to or remove sub-devices from a gateway. You can also manage sub-devices.

Wi-Fi configuration

You can use one of the following methods to transfer the SSID or password of a Wi-Fi hotspot to a Wi-Fi device:

  • One-click network configuration

  • Network configuration based on mobile phone hotspots

  • Network configuration based on device hotspots

  • Zero configuration

Remote control on local devices

In a private network, you can manage devices over CoAP. The following components are used: an Airline Control System (ALCS) server, an ALCS client installed on a device that you want to manage, a management console in which you can manage the device, and a gateway on which the management console is installed.

Device binding

You can bind tokens to devices and maintain tokens. Tokens are used when devices are connected to IoT Platform over a Wi-Fi network or Ethernet to IoT Platform and managed by Living Link.

Device shadow

You can store device data in IoT Platform for application queries. This prevents excessive latency that may be caused when data is obtained from devices.

Reset

A device notifies IoT Platform to delete the device data when you perform a factory reset on the device. For example, the association between a device and a user or the relationship between a sub-device and a gateway may be deleted.

Time retrieval

You can retrieve the current time from IoT Platform.

File upload

You can upload files over HTTP.

Historical versions

Version

Release date

Download link

Updates

3.2.0

2020/03/03

git clone https://github.com/aliyun/iotkit-embedded.git -b v3.2.0

  • Software module updates over over-the-air (OTA) are supported.

  • Server Name Indication (SNI) is supported when you use Transport Layer Security (TLS).

  • API operations that are related to device shadows are provided.

3.1.0

2019/10/18

git clone https://github.com/aliyun/iotkit-embedded.git -b v3.1.0

  • Status codes are used for key processes.

  • Wi-Fi networks are strengthened, access point (AP) isolation is supported, networks can no longer be connected by using routers, and sample code for network-related HAL functions that are specific to Linux platforms is provided.

  • X.509 is supported.

  • Resumable OTA updates are supported.

  • Sub-device management and many-to-many topologies between sub-devices and gateways are supported.

  • Subscriptions to system topics are optimized. The period of time that is required to subscribe to a system topic is reduced.

3.0.1

2019/03/15

git clone https://github.com/aliyun/iotkit-embedded.git -b v3.0.1

  • Underlying asynchronous notification-compliant TCP/IP protocol stacks are supported.

  • Code that corresponds to a specific feature can be extracted. This way, you can compile the SDK in a compilation environment based on your business requirements.

  • HAL files that are specific to your environment can be automatically generated when code is extracted.

  • File upload over HTTP/2 is supported.

  • Network connections can be established based on the popularity of devices.

2.3.0

2018/11/19

git clone https://github.com/aliyun/iotkit-embedded.git -b v2.3.0

  • TSL-related API operations are provided in the IOT_Linkkit_XXX() format. The API operations in the linkkit_xxx() format remain unchanged.

  • A GUI is provided to configure settings.

  • The four Wi-Fi networking methods can be separately used.

2.2.1

2018/09/03

git clone https://github.com/aliyun/iotkit-embedded.git -b v2.2.1

  • Dynamic registration based on unique-certificate-per-product verification is supported.

  • Firmware downloads by using iTLS over OTA are supported.

  • The Wi-Fi networking feature is available in an open source manner.

  • The remote control on local devices feature is available in an open source manner.

2.2.0

2018/08/06

git clone https://github.com/aliyun/iotkit-embedded.git-b v2.2.0

  • The offline reset feature is supported.

  • A simplified version of TSL is supported.

  • The feature to disable or enable a device is supported.

  • Data of the Object type is supported by TSL arrays.

  • MQTT endpoints in regions outside the Chinese mainland are supported.

  • iTLS is supported.

2.1.0

2018/03/20

git clone https://github.com/aliyun/iotkit-embedded.git -b RELEASED_V2_1_20180320

  • The cmake compilation system is supported.

  • TSL models are supported.

2.0.3

2018/01/31

git clone https://github.com/aliyun/iotkit-embedded.git -b RELEASED_V2.03

  • Sub-device management is supported.

  • TLS is optimized. Memory leaks are fixed.

  • MQTT channels are improved to support topics whose names have longer lengths and to support more subscription requests. Connections to multi-thread instances over MQTT are supported.

2.0.2

2017/11/30

git clone https://github.com/aliyun/iotkit-embedded.git -b RELEASED_V2_02_20171130

  • Mbed TLS is supported. This protocol is suitable for Linux and Windows operating systems.

  • HTTP-related API operations are supported to provide continuous TLS connections when data packets are being sent.

  • OpenSSL is supported.

  • MinGW-w32 can be used to compile Windows 7 libraries and sample code.

  • Supported platforms can be displayed and selected in the make reconfig tool.

2.0.1

2017/10/10

git clone https://github.com/aliyun/iotkit-embedded.git -b RELEASED_V2_01_20171010

  • Notifications about OTA updates can be sent over CoAP.

  • Connections to IoT Platform over HTTP and TLS are supported.

  • OTA status is classified into fine-grained categories.

  • Errors that occur during the compilation of the SDK in the ARM C Compiler are fixed.

2.0.0

2017/08/21

git clone https://github.com/aliyun/iotkit-embedded.git -b RELEASED_V2_00_20170818

  • Direct connections over MQTT are supported.

  • CoAP channels are supported.

  • OTA updates are supported.

  • The construction system is updated.