在 Seeeduino Cloud 或 Arduino YUN 中使用 Azure IoT SDK - xiongyihui/get_started_with_azure_iot_sdk GitHub Wiki

  1. 下载 azure-iot-sdks
git clone --recursive https://github.com/Azure/azure-iot-sdks.git

注意参数 --recursive,因为这个 git 仓库依赖 几个 submodules,需要一同 clone 下来

  1. 解决cmake和gcc版本问题

Azure IoT SDK 要求 cmake 版本 3.x,gcc 版本 4.9+ (gcc 是用于编译 linux-desktop 版本 sdk,编译 arduino yun 可以不用)。 如果是 Ubuntu 14.04,默认的软件源里面的 cmake 和 gcc 版本太低,可以通过 ppa 安装新的版本:

sudo add-apt-repositoryppa:george-edison55/cmake-3.x      # cmake ppa
sudo add-apt-repository ppa:ubuntu-toolchain-r/test              # gcc ppa
sudo apt-get update
sudo apt-get install cmake
sudo apt-get install gcc-4.9 g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
  1. 安装其他工具和编译
cd c/build_all/arduino
./setup.sh
./build.sh
  1. 在 arduino yun 或 seeeduino cloud 中运行 azure iot demo

经过上面的步骤,会生成 ~/openwrt/sdk/build_dir/target-mips_r2_uClibc-0.9.33.2/azure-iot-sdks-1/serializer/samples/simplesample_http/simplesample_http,用 scp 拷贝 simplesample_http 到 openwrt 中。 要运行 simplesample_http 还需要安装 ca-certificates,登陆到 openwrt,运行:

cd /tmp
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/base/ca-certificates_20160104_all.ipk
opkg install ca-certificates_20160104_all.ipk

opkg 安装 ca-certificates 会有一个错误信息提示(return code 127),忽略就好。 然后就可以运行 simplesample_http 了。

  1. 编译 amqp demo

打开 c/build_all/arduino/Makefile.iot,将文件中 -Duse_amqp:bool=OFF 改成 -Duse_amqp:bool=ON,重新运行 c/build_all/arduino/build.sh 就可以生成应用 ~/openwrt/sdk/build_dir/target-mips_r2_uClibc-0.9.33.2/azure-iot-sdks-1/serializer/samples/simplesample_amqp/simplesample_amqp ,将应用传到 openwrt 中运行即可。