背景介绍
最近在做阿里云平台相关的项目,接入阿里云物联网平台需要移植C Link SDK到4G的嵌入式平台上。
此时是2021年8月,官网上C Link SDK最新版本为4.1.0
现在的物联网平台接入SDK有两个主要可供我们选择的有两个版本SDK4.x
和SDK3.x
SDK4.x.x
支持在线生成代码,就是说,下载下来代码功能就是已经裁剪好的。
SDK3.x.x
需要下载整个代码包,配置后再抽取需要的功能代码。
虽然说SDK4.x.x
比SDK3.x.x
好,但是我没有成功的移植SDK4.x.x
,它的接口还有各种我没解决的问题,也许后续会把成功移植的SDK4.x.x
写出来。
准备工作
构建实例
创建产品
物联网平台/设备管理/产品/新建产品
添加成功如下
创建设备
物联网平台/设备管理/设备
设备创建成功如下,注意此时状态是未激活。
此时可以获得三元组信息,是设备用于接入平台的钥匙。
下载SDK
官网下载 C Link SDK v3.2.0
下载成功后会得到一个c-sdk-v3.2.0-5fce6931c1cfa4532e2d86f77b6f649e6bf4ef1c.zip
的文件
准备Ubuntu16.04
虚拟机安装,保证网络连接正常。
如果不想用Linux接入可以跳过。
Linux接入示例
注意:如果对项目比较熟悉可以跳过此章节
我们拿到一份代码首先当然要把它跑通,熟系一下功能,这样才能确定这份代码是没问题的,之后在考虑移植的时候也方便排查错误。
本示例用的Linux发行版为Ubuntu16.04 64位
,这也是官方推荐的。
如果用其他Linux发行版可能会遇到make menuconfig
错误的问题,需要手动去改SDK下的make.settings
配置功能再去调用make
选择环境
SDK目录下,确定编译平台(不用每次都选)
make reconfig
如下选择 4)config.ubuntu..x86
编译选项
make menuconfig
如下界面选择需要的功能
配置完毕保存退出后
编译项目
make
移植
demo程序路径 output/release/bin
lib库路径 output/release/lib
用make编译成功后
在output/eng/下抽取代码
并把wrapper.c所需要的接口都实现