C SDK Armv7 集成指南

压缩包说明

解压文件,以jiot-sdk-v1.0.7-source.zip为例。

unzip jiot-sdk-v1.0.7-source.zip

解压后目录结构如下。

jiot-c-sdk/
├── build
│   ├── armv7
│   ├── esp8266
│   ├── m5311
│   ├── rt-thread
│   └── x86
├── common
├── examples
│   ├── esp8266
│   ├── linux
│   ├── m5311
│   └── rt-thread
├── include
├── platform
├── public
└── src

编译 jiot-c-sdk

安装openssl开发文件,以树莓派为例。

sudo apt-get install libssl-dev

编译(需要cmake 2.8版本以上)。

cd jiot-c-sdk/build/armv7
mkdir temp && cd temp
cmake ../
make

编译成功,即可运行“demo”和“ota”等演示程序。

./bin/demo ProductKey DeviceName DeviceSecret
./bin/ota  ProductKey DeviceName DeviceSecret

运行参数分别为: * ProductKey:在极光 IoT portal 上创建产品得到的对应的产品标识。 * DeviceName:在 portal 上创建设备时输入的设备名。 * DeviceSecret:在 portal 上创建设备成功后得到的产品密钥,可以通过设备详情页面查看。

运行成功会看到“Jclient connected”等日志。

开发集成SDK

集成SDK可参考jiot-c-sdk/build/armv7/CMakeLists.txt,编译找到jiot-c-sdk库和头文件即可,以下为部分cmake脚本段。

INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR}/common)
INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR}/include/jclient)
LINK_DIRECTORIES (${PROJECT_BINARY_DIR}/lib)
ADD_EXECUTABLE (demo ${PROJECT_SOURCE_DIR}/examples/linux/demo.c)
TARGET_LINK_LIBRARIES (demo
    pthread
    ssl
    crypto
    jiot_c_sdk
)

交叉编译环境,可将下面环境变量指向本地交叉环境,样例如下,再运行cmake即可。

export SDKTARGETSYSROOT=/opt/poky/2.4.4/sysroots/cortexa8hf-neon-poky-linux-gnueabi
export CC="arm-poky-linux-gnueabi-gcc  -march=armv7-a -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a8 --sysroot=$SDKTARGETSYSROOT"
export AS="arm-poky-linux-gnueabi-as "
export LD="arm-poky-linux-gnueabi-ld  --sysroot=$SDKTARGETSYSROOT"

调试 Demo

消息下发

通过调用 JIoT 的 REST API 发送消息到测试设备 消息收到会显示以下内容

msgDeliverReq:
message:[close]
time:[2018/12/13 18:26:55]

属性上报

  • 在对话框输入:property 然后回车
  • 根据指示输入 Property Name 和 Property Value
  • 消息已发送会显示:Publish Property report OK
  • 消息发送失败,根据code值在sdk的错误码中找对应的错误
  • 收到服务端应答会显示:propertyReportRsp

事件上报

  • 在对话框输入:event 然后回车
  • 根据指示输入 Event Name 和 Event Value
  • 消息已发送会显示:Publish Event report OK
  • 消息发送失败,根据code值在sdk的错误码中找对应的错误
  • 收到服务端应答会显示:eventReportRsp

版本上报

  • 在对话框输入:version 然后回车
  • 根据指示输入 App Version
  • 消息已发送会显示:Publish version report OK
  • 消息发送失败,根据code值在sdk的错误码中找对应的错误
  • 收到服务端应答会显示:versionReportRsp

Copyright 2011-2019, jiguang.cn, All Rights Reserved.
粤ICP备12056275号-13 深圳市和讯华谷信息技术有限公司

Documentation built with MkDocs.