Pull to refresh
0

Настройка платы Intel Edison для Microsoft Azure IoT suite

Reading time4 min
Views4.1K
Original author: Intel Developer Zone


В этом руководстве будет рассказано, как подключить плату Intel Edison к облачному сервису Microsoft Azure.

Проверьте, что у вас установлена последняя версия образа на Intel Edison. Для этого следуйте инструкциям на сайте Intel. После этого вам надо будет настроить последовательное соединение. Затем вы сможете выполнить установку Azure IoT SDK, используя наши инструкции.
Перед тем, как начнёте:
  • Настройте плату, используя configure_edison --setup
  • Убедитесь, что плата Intel Edison находится в той же Wi-Fi сети.

Обратите внимание, что в соответствии с инструкциями Microsoft для сборки Azure IoT SDK для Linux требуется cmake версии 3.x или выше.

Установка Git на Intel Edison


Git это распределённая система контроля версий. Её надо будет установить, чтобы клонировать Azure IoT SDK и построить его локально. Для этого надо установить пакеты, которые включают Git. Intel Edison основанный на Yocto, использует менеджер пакетов opkg и по умолчанию не включает поддержку Git.

На Intel Edison в файл /etc/opkg/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

Это можно сделать, например, через встроенный редактор vi.
$ vi /etc/opkg/base-feeds.conf

Если вы раньше не работали с vi, можете посмотреть инструкции. Если не можете выйти из программы, не поддавайтесь панике и не нажимайте Reset, просто нажмите Esc, затем «SHIFT»+«:» и напечатайте wq. Так вы сохраните текущий файл и выйдите из программы.

Затем обновите базу opkg:
$ opkg update


Вы должны увидеть следующее:



Загрузка Azure IoT SDK на плату Intel Edison


Используйте Git на Intel Edison для клонирования репозитория Azure SDK следующими командами. Мы рекомендуем использовать папку по умолчанию /home/root:
$ opkg install git
$ git clone git@github.com:Azure/azure-iot-sdks.git

Если вас попросят добавить ключ RSA на ваше устройство, ответьте «yes».

Альтернативный метод установки


Если по какой-либо причине вы не можете клонировать Azure IoT SDK непосредственно на вашу плату, сначала клонируйте репозиторий на ваш компьютер, а затем передайте файлы по сети на плату Intel Edison с использованием FileZilla или SCP.

Если вы используете FileZilla, определите адрес платы командой:
wpa_cli status

Используйте «sftp://адрес_платы», пользователя «root» и пароль от платы, чтобы установить соединение SFTP c FileZilla. После того, как вы это сделаете, вы можете копировать файлы непосредственно через сеть, используя drag-and-drop.



Постройка Azure IoT SDK на Intel Edison


Надо убедиться, что Azure IoT SDK установлен правильно. Для этого надо построить приложение, основанное на SDK. Возьмем С-пример AMQP (AMQP – протокол обмена) и поменяем в нём параметры, чтобы они соответствовали нашему Azure IoT Hub и всё работало после сборки.
В файле /c/iothub_client/samples/iothub_client_sample_amqp/iothub_client_sample_amqp.c замените параметры в строке connectionString вашей информацией, как показано ниже (static const char* ….). Обязательно это сделайте, иначе пример не заработает.

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


В терминале зайдите в /c/build_all/linux и выполните следующие шаги:

$ opkg install util-linux-libuuid-dev
$ ./build_proton.sh
$ ./build.sh


Обновите ldconfig кеш


Ещё нам надо построить Qpid Proton – библиотеку для посылки сообщений. И перед тем как мы выполним тестирование и постройку нашего примера на C, надо зарегистрировать полученную библиотеку при помощи ldconfig. Чтобы это сделать, нам надо для начала выяснить, где находится библиотека Proton и затем скопировать её в папку /lib в Yocto.

Добавьте libqpid-proton.so.2 к разделяемым библиотекам. Для этого надо её найти, запустив в терминале следующую команду:

$ find -name 'libqpid-proton.so.2'
Скопируйте имя найденной директории в буфер обмена.

Замените [directory_to_libqpid-proton.so.2] результатом команды поиска из первого шага:
2.	$ cp [directory_to_libqpid-proton.so.2] /lib


Эта команда автоматически обновит кэш:
$ ldconfig

Проверьте:
$ ldconfig -v | grep "libqpid-p*"

Если вы выполнили все операции правильно, то увидите в списке «libqpid-proton.so.2»
Мы добавили Qpid Proton к ldcache и можем построить пример С-проекта, основанного на Proton’е:

Вернитесь в папку /c/iothub_client/samples/iothub_client_sample_amqp/iothub_client_sample_amqp/linux
Запустите
make -f makefile.linux

Затем
./iothub_client_sample_amqp


Результат должен быть следующим:

# ./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
Tags:
Hubs:
+8
Comments0

Articles

Information

Website
www.intel.ru
Registered
Founded
Employees
5,001–10,000 employees
Location
США
Representative
Анастасия Казантаева