1:创建网关设备
1.1 创建产品
1.2 创建网关设备
2:创建子设备
2.1 创建网关子设备产品
2.2 添加网关子设备
3:网关中添加子设备
在网关设备中有添加子设备的选项,把前面创建的子设备选中到这里来
4:修改SDK
使用的版本是c-sdk-v3.0.1
环境:在ubantu上运行
4.1:修改配置
make distclean 清除配置和生成的文件
make menuconfig 进行新的 配置
按照下面去勾选:
4.2 修改下面目录的HAL_OS_linux.c文件
修改设备数据
查看网关产品的product_key和product_secret
查看网关设备的device_name和device_secret
把下面的信息替换掉
/*HAL_OS_linux.c*/
#ifdef DYNAMIC_REGISTER
...
...
#else
#ifdef DEVICE_MODEL_ENABLED
...
...
#else
char _product_key[IOTX_PRODUCT_KEY_LEN + 1] = "a1MZxOdcBnO";
char _product_secret[IOTX_PRODUCT_SECRET_LEN + 1] = "h4I4dneEFp7EImTv";
char _device_name[IOTX_DEVICE_NAME_LEN + 1] = "test_01";
char _device_secret[IOTX_DEVICE_SECRET_LEN + 1] = "t9GmMf2jb3LgWfXBaZD2r3aJrfVWBv56";
#endif
4.3 修改子设备文件
kayshi@ubuntu:~/c-sdk-v3.0.1/src/dev_model/examples$ ls
cJSON.c cJSON.h data linkkit_example_gateway.c linkkit_example_solo.c model_for_examples.json
在linkkit_example_gateway.c有个子设备的数组,把子设备的4元组数据替换到这里
const iotx_linkkit_dev_meta_info_t subdevArr[EXAMPLE_SUBDEV_MAX_NUM] = {
{
"a1ZBNa3ePzu",
"0qYMxZIPNWmx3Y7Z",
"sub_dev1",
"5e13d52eb8d6dcf75d9bd3312444d52f"
},
{
"a1YRfb9bepk",
"PKbZL7baK8pBso94",
"test_02",
"jFsErM3uA7UfbS6J0hm0QaEXsQbmO6Pa"
},
{
"a1YRfb9bepk",
"PKbZL7baK8pBso94",
"test_03",
"MjWMvCLBcuZyqUswryBbgypN8uOgJGVD"
},
{
"a1YRfb9bepk",
"PKbZL7baK8pBso94",
"test_04",
"DXbcbpxepIyYm3BiS0ICdBou4uWPfP6L"
},
{
"a1YRfb9bepk",
"PKbZL7baK8pBso94",
"test_05",
"VKuVZfcz3umcoR3WhOp4cu1p2dyT
4.4 make生成output文件夹
5:执行
5.1 进入bin目录
5.2 执行linkkit-example-gateway文件
6:查看
6.1 产看网关设备是否上线
6.2 查看子设备是否在线
参考:网关和子设备管理及API