跳转到主要内容

设置英特尔® EDISON 开发板和MICROSOFT AZURE 物联网套件

editor 提交于

<br>在开始将英特尔® Edison 开发板连接到 Azure 之前,您需要确保安装了最新的操作系统映像。 要确保这一点,请按照英特尔官方文档门户上的入门说明操作。 按照标准英特尔® Edison 设置说明操作后,您需要从您的机器上建立一个串行连接到您的设备。 向英特尔® Edison 开发板建立串行连接(命令行)后,接下来您可以按照以下说明安装 Azure 物联网软件开发套件。</br>

<strong>开始之前</strong>

<li>确保您运行了 configure_edison --setup 命令来设置开发板</li>

<li>确保英特尔® Edison 开发板通过本地 Wi-Fi 网络连接上线(应在 configure_edison 设置过程中发生)</li>

<strong>cmake 注意事项</strong>

据微软准备 Linux 开发环境的说明(https://github.com/Azure/azure-iot-sdks/blob/master/c/doc/devbox_setup…),使用 Azure 物联网软件开发套件需要 cmake 版本 3.0 或更高版本。

<strong>在英特尔® Edison 上安装 Git</strong>

Git 是一款广泛使用的分发版本控制工具,我们需要在开发板上安装 Git 来克隆 Azure 物联网软件开发套件并在本地构建它。 如要做到这一点,我们必须先添加包括 Git 的扩展软件包。 英特尔® Edison 的 Yocto Project Linux build 使用 opkg 管理器,该管理器默认情况下不包括 Git 支持。

1、首先,在您的英特尔® Edison 开发板命令行上,使用 vi 将以下命令行添加到您的 base-feed 中:

$ vi /etc/opkg/base-feeds.conf

2、将以下命令行添加至 base-feeds.conf 文件:

src/gz all http://repo.opkg.net/edison/repo/all

src/gz edison http://repo.opkg.net/edison/repo/edison

src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32

3、点击 esc 退出,输入 SHIFT+:,然后输入 wq,最后点击 Enter。 如果您对 vi 编辑不熟悉,请阅读此链接的内容。

4、接下来,进行更新并升级命令行:

$ opkg update 上的 opkg base-feed

5、将会出现下列信息:

<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001201-736-0010.pn…; alt=""></center>

<br><strong>将 Azure 物联网软件开发套件下载到您的英特尔® Edison 开发板上</strong></br>

1、在您的英特尔® Edison 开发板上,使用 Git 并直接使用以下命令克隆 Azure 软件开发套件库。 我们建议使用位于 /home/root:

$ opkg install git

$ git clone git@github.com:Azure/azure-iot-sdks.git 中的默认文件夹

2、系统可能会提示在设备中添加 RSA 密钥,请回复“是”。

<strong>备用部署方法</strong>

1、如果由于某种原因,您无法将 Azure 物联网软件开发套件直接克隆到到开发板上,您可以将库克隆到 PC / Mac / Linux 桌面上,然后通过网络使用 FileZilla 或 SCP 将文件传输至您的英特尔® Edison 开发板上。

2、对于 FileZilla,可以在英特尔® Edison 上运行 wpa_cli status 来查找 IP 地址,然后使用 “sftp://your.ip.address”,使用密码 “root” 和英特尔® Edison 密码通过 FileZilla 建立 SFTP 连接。 完成后,您可以通过网络直接拖放文件。

<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001201-737-002.png…; alt=""></center>

<br><strong>在英特尔® Edison 开发板上构建 Azure 物联网软件开发套件</strong></br>

我们想要向自己证明已经成功构建了 Azure 物联网软件开发套件。 为此,我们将构建了一个基于软件开发套件的示例应用。 为此,我们需要更新示例 AMPQ 应用中的证书,以便与 Azure IoT Hub 应用相匹配。 当我们构建 Azure 物联网软件开发套件时,示例 C 应用默认自动构建,我们需要在构建软件开发套件时将证书添加到示例应用中,以便其在我们构建之后能够正常运行。

1、使用 vi 或其他编辑器按照以下方式编辑 "/c/iothub_client/samples/iothub_client_sample_amqp/iothub_client_sample_amqp.c" :
使用如下信息 (static const char* ….) 更换 IoT Hub 连接,即 connectionString 字符串占位符,当您完成后,结果应如以下连接字符串,括号中的是您的证书而非占位符。

重要提示: 使用您的证书或示例更换括号中的项目无效。

static const char* connectionString = “HostName=[YOUR-HOST-NAME];CredentialType=SharedAccessKey;CredentialScope=Device;DeviceId=[YOUR-DEVICE-ID];SharedAccessKey=[YOUR-ACCESS-KEY];

2、在终端中,输入 /c/build_all/linux 并执行以下步骤:

$ opkg install util-linux-libuuid-dev

$ ./build_proton.sh

$ ./build.sh

<strong>更新 ldconfig 高速缓存</strong>

当构建 Azure 物联网软件开发套件时,我们需要先构建名为 Qpid Proton 的依赖性。 但是,我们需要先注册包含 ldconfig 的结果库才能进一步测试和构建我们的 C 语言示例。 为此,我们需要先找到 Proton lib,然后将其复制到 Yocto 的 /lib 文件夹中。

1、通过运行以下终端命令将 libqpid-proton.so.2 添加到共享 lib 中:

$ find -name 'libqpid-proton.so.2'

将该命令调用的目录复制到剪切板上。

2、$ cp [directory_to_libqpid-proton.so.2] /lib

使用第一步中 find 命令所得的结果替换 [directory_to_libqpid-proton.so.2]。

3、$ ldconfig

这将自动更新高速缓存;它是一个单行命令。

4、$ ldconfig -v | grep "libqpid-p*"

如果您正确完成操作,屏幕上将会列出 "libqpid-proton.so.2” 。

5、现在我们已经将 Qpid Proton 添加到 ldcache 中,接下来我们将能够构建基于 Proton 的示例 C 项目:

返回: /c/iothub_client/samples/iothub_client_sample_amqp/iothub_client_sample_amqp/linux

运行 “make -f makefile.linux”

运行 “./iothub_client_sample_amqp"

6、结果应与如下一致:

# ./iothub_client_sample_amqp
hub_client/samples/iothub_client_sample_amqp/linux#
Starting the IoTHub client sample AMQP...
IoTHubClient_SetNotificationCallback...successful.
IoTHubClient_SendTelemetryAsync accepted data for transmission to IoT Hub.
IoTHubClient_SendTelemetryAsync accepted data for transmission to IoT Hub.
IoTHubClient_SendTelemetryAsync accepted data for transmission to IoT Hub.
IoTHubClient_SendTelemetryAsync accepted data for transmission to IoT Hub.
IoTHubClient_SendTelemetryAsync accepted data for transmission to IoT Hub.
Press any key to exit the application.
Confirmation[0] received for message tracking id = 0 with result =
IOTHUB_CLIENT_CONFIRMATION_OK
Confirmation[1] received for message tracking id = 1 with result =
IOTHUB_CLIENT_CONFIRMATION_OK
Confirmation[2] received for message tracking id = 2 with result =
IOTHUB_CLIENT_CONFIRMATION_OK
Confirmation[3] received for message tracking id = 3 with result =
IOTHUB_CLIENT_CONFIRMATION_OK
Confirmation[4] received for message tracking id = 4 with result =
IOTHUB_CLIENT_CONFIRMATION_OK

文章来源:<a href="https://software.intel.com/zh-cn/articles/intel-edison-board-microsoft-…;英特尔开发人员专区