title: 阿里雲IoT設備接入跨平臺SDK(基於mqtt)
tags:
- 物聯網開發
- MQTT
- 阿里雲
categories: - 物聯網
本文主要是介紹 自己實現的 阿里雲IoT設備接入跨平臺SDK,這個SDK提供跨平臺的支持,
在windows上是基於VS2013 Release版本編譯
*nix上基於簡單的Makefile編譯
支持交叉編譯
特別注意
代碼中使用的 阿里雲設備三元組是個人提供的一個三元組,請自行替換成自己設備對應的三元組
// 最後一個字段是表示,阿里雲的設備是高級設備還是普通設備
IotDeviceIdentity gIdentities[] = {
{ "a1onpCjBsoK", "bim_music_control_btn1", "jOx2X75wVuTzannfUOMzrLTiOBkhiZSr", true }
};
代碼下載地址
https://github.com/rainbow-martin/aliyun_iot_device_sdk
第三方依賴
庫名 | 下載地址 |
---|---|
mqtt庫 | https://github.com/eclipse/paho.mqtt.c |
jsoncpp庫 | https://github.com/open-source-parsers/jsoncpp |
目錄結構
目錄結構 | 註釋 |
---|---|
3rd/ | 第三方依賴性,jsoncpp和paho mqtt |
baselib/ | 基礎類庫,用於log記錄等常見工具類 |
builall.sh* | *nix 系統編譯腳本 |
iot_device_async/ | 異步mqtt接入iot 設備 |
iot_device_sync/ | 同步mqtt接入iot 設備 |
pre_make.sh | 嵌入式設備(如ARM)編譯器選擇,用於交叉編譯 |
win32/ | windows vs2013編譯工程 |
- -
windows系統編譯版本
WIN32
編譯環境: VS2013
編譯工程: win32mytest.sln
編譯方法:打開工程,選擇Release-Win32, 即可進行編譯
注意:需要配置$(OpenSSLDir) 作爲環境變量
*nix系統編譯版本
*nix
./buildall.sh 即可
編譯產物 在bin目錄
交叉編譯編譯版本
參考pre_make.sh,目前是arms樹莓派的交叉編譯環境
變編譯之前運行
source pre_make.sh