使用AWS IoT SDK构建
亚马逊网络服务物联网提供安全的双向
通信
互联网连接的东西(如传感器,执行器,嵌入式设备或智能家电)和
AWS云。与云的连接是通过安全TLS上的MQTT协议实现的
连接。
本节介绍如何构建AWS演示。 GNU Embedded工具链6.2或更高版本是
需要。
1.从
https://github.com/aws/aws-iot-device-sdk-embedded-C下载AWS开发工具包
提取它。
2.在目标目录下创建thirdparty / aws / awsiot /文件夹。
3.将aws-iot-device-sdk-embedded-C-master / src文件夹中的所有文件复制到
thirdparty / aws / awsiot /文件夹。
4.将aws-iot-device-sdk-embedded-C-master external_libs jsmn _ jsmn.c文件复制到
thirdparty aws awsiot文件夹
5.将aws-iot-device-sdk-embedded-C-master文件夹中的include目录复制到
thirdparty / aws / awsiot /文件夹。
6.将aws-iot-device-sdk-embedded-C-master external_libs jsmn _ jsmn.h文件复制到
thirdparty / aws / awsiot / include文件夹。
7.复制aws-iot-device-sdk-embedded-C-
master samples linux shadow_sample aws_iot_config.h文件到
thirdparty / aws / awsiot / include文件夹。
8.从thirdparty / aws / awsiot / include文件夹中,删除以下头文件。
“network_interface.h”,“threads_interface.h”,“
timer_interface.h”
函数isJsonValidAndParse()中的AWS源代码中存在错误。争论二
应该是void ** pJsonHander而不是void * pJsonHandler。进行以下操作
变化
在thirdparty aws awsiot include aws_iot_shadow_json.h中
bool isJsonValidAndParse(const char * pJsonDocument,void * pJsonHandler,
int32_t * pTokenCount);
改成
bool isJsonValidAndParse(const char * pJsonDocument,void ** pJsonHandler,
int32_t * pTokenCount);
在thirdparty aws awsiot aws_iot_shadow_records.c中进行这些更改
在thirdparty aws awsiot aws_iot_shadow_json.c中进行这些更改
在Windows上,添加以下环境变量以设置库的路径。
set TOOLLIBPATH=pathtolibgcc
set NEWLIBPATH=pathto
ARM-none-eabilib
示例:如果ARM GNU工具链安装在C: Program Files(x86) GNU下
工具ARM Embedded 6.2 2016q4 ,设置路径如下。
TOOLLIBPATH= C:Program Files (x86)GNU Tools ARM Embedded6.2
2016q4libgccarm-none-eabi6.2.1thumbv7e-m
NEWLIBPATH= C:Program Files (x86)GNU Tools ARM Embedded6.2
2016q4arm-none-eabilibthumbv7e-m