Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub
Что
делает маркетолог, когда его просят рассказать как использовать
технологию, а он не может найти инструкцию? Обычно начинает дёргать всех
окружающих технарей, искать в интернете или молча ждать чуда, или
плакать. Но, эта история про другого маркетолога. Он просто взял и
написал инструкцию сам. Приглашаю под кат оценить труды и поделиться
своим мнением.

Передаю слово Андрею (@andvis).
Disclaimer:
Коллеги, не претендую на истину в первой инстанции – просто делюсь своим опытом. Возможно он сэкономит кому-то немного сил и времени. И да, в момент написания статьи я первый раз в жизни видел командную строку Linux.
Давайте договоримся, что ниже речь пойдёт про Raspberry Pi 2 Model B. Именно работая с ним были сделаны все снимки экрана.

Дистрибутив Ubuntu Mate можно скачать, например, здесь.
Имея img файл — создаём загрузочную SDCard – для этого я использовал Win32 Disk Imager, который установил на свою Windows 10.

Получившуюся загрузочную карточку вставляем в Raspberry Pi, подключаем клавиатуру, мышь и дисплей. После успешной загрузки видим окна ниже.


Сразу после установки выполняем несколько команд.
sudo update-rc.d ssh enable

sudo service ssh restart

sudo ifconfig
– покажет нам сетевые настройки устройства
sudo apt-get update

sudo apt-get upgrade



На одном из форумов прочитал, что надо включить I2C: командой
sudo raspi-config
. Тут кстати и настройки SSH можно поменять.


Давайте начнём с того, что нам понадобится подписка Azure! Пробную верcию можно получить здесь.
Наши дальнейшие шаги.
Шаг 1.




node -v
возвращает ошибку на моём RPI.
Устанавливаем Node.js. Для этого вбиваем команду:
sudo apt install nodejs-legacy
.
Теперь команда
node -v
возвращает текущую версию.
На всякий случай.

Теперь нужен NPM — устанавливаем командой:
sudo apt-get install npm
. Команда не быстро, но отработала!
Далее запускаем:
sudo npm install -g npm@2.x
.
Теперь надо поставить последнюю версию IoT Hub transport package:
sudo npm install -g azure-iot-device@latest
.
И ещё одна команда:
sudo npm install -g azure-iot-device-http@latest
.
Теперь надо установить IoT Explorer:
sudo npm install -g iothub-explorer@latest
.
Следующим шагом запускаем вот такую команду
iothub-explorer login "строка подключения"
.
Далее подключаем устройство:
iothub-explorer create muzeyrpi-1 --connection-string
. Успешно!
На портале Azure устройство видно.

Копируем на устройство скрипт JS со странички:
var connectionString = '<your device connection string>';
var clientFromConnectionString = require('/usr/lib/node_modules/azure-iot-device-http').clientFromConnectionString;
var client = clientFromConnectionString(connectionString);
var Message = require('/usr/lib/node_modules/azure-iot-device').Message;
var msg = new Message('some data from my device');
var connectCallback = function (err) {
if (err) {
console.error('Could not connect: ' + err);
} else {
console.log('Client connected');
var message = new Message('some data from my device');
client.sendEvent(message, function (err) {
if (err) console.log(err.toString());
});
client.on('message', function (msg) {
console.log(msg);
client.complete(msg, function () {
console.log('completed');
});
});
}
};
client.open(connectCallback);
Сам по себе скрипт не заведётся — надо:
- В путях внутри файла надо поменять
/usr/lib
на/usr/local/lib
. - Добавить строку подключения. Причём строку подключения именно к устройству.

node MyScript.js
из папки, где лежит скрипт.
Пробуем ещё раз – на этот раз в Device Explorer (подробнее про него и ссылка на скачивание в статье.

Жмём Enter… :)

Поздравляю – первые сообщения от нашего PRI достигли Azure IoT Hub
Я искренне надеюсь доработать данную инструкцию и сделать её еще более полезной! Например, пройдя вот этот путь (имея на руках датчик BME280 или без оного).
Для того, чтобы вы могли попробовать проделать это упражнение сами, мы с
Андреем решили разыграть две штуки Raspberry Pi 3. Их получат первые 2
человека, которые ответят правильно в сообщения сообщества
Microsoft Developer
на вопрос: «На основе какого микроконтроллера была разработана самая ранняя версия Raspberry Pi?»
Общие правила
.
Комментарии
Отправить комментарий