- PVSM.RU - https://www.pvsm.ru -

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub

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

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 1

Передаю слово Андрею (@andvis).

Disclaimer:
Коллеги, не претендую на истину в первой инстанции – просто делюсь своим опытом. Возможно он сэкономит кому-то немного сил и времени. И да, в момент написания статьи я первый раз в жизни видел командную строку Linux.

Давайте договоримся, что ниже речь пойдёт про Raspberry Pi 2 Model B. Именно работая с ним были сделаны все снимки экрана.

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 2

Дистрибутив Ubuntu Mate можно скачать, например, здесь [1].

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

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 3

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

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 4


Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 5
Сразу после установки выполняем несколько команд.

sudo update-rc.d ssh enable
Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 6

sudo service ssh restart
Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 7

sudo ifconfig – покажет нам сетевые настройки устройства
Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 8

Важные команды update и upgrade – чтобы обновить систему.

sudo apt-get update
Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 9

sudo apt-get upgrade
Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 10

Далее добавим русский язык для клавиатуры.
Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 11

Вот так можно поменять комбинацию клавиш переключения (я пару минут потратил, пока нашёл этот пункт).

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 12

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

Тут кстати и настройки SSH можно поменять.

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 13


Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 14

Пока нет под рукой датчиков — пробую сделать хоть что-то… Читаю вот эту статью [2].

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

Наши дальнейшие шаги.

Шаг 1.
Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 15

Шаг 2.
Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 16

Шаг 3.
Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 17

Шаг 4.
Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 18

Итак, вернёмся на устройство! Команда node -v возвращает ошибку на моём RPI.

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 19

Устанавливаем Node.js. Для этого вбиваем команду: sudo apt install nodejs-legacy.

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 20

Теперь команда node -v возвращает текущую версию.

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 21

На всякий случай.

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 22

Теперь нужен NPM — устанавливаем командой: sudo apt-get install npm. Команда не быстро, но отработала!

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 23

Далее запускаем: sudo npm install -g npm@2.x.

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 24

Теперь надо поставить последнюю версию IoT Hub transport package: sudo npm install -g azure-iot-device@latest.

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 25

И ещё одна команда: sudo npm install -g azure-iot-device-http@latest.

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 26

Теперь надо установить IoT Explorer: sudo npm install -g iothub-explorer@latest.

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 27

Следующим шагом запускаем вот такую команду iothub-explorer login "строка подключения".

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 28

Далее подключаем устройство: iothub-explorer create muzeyrpi-1 --connection-string. Успешно!

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 29

На портале Azure устройство видно.

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 30

Копируем на устройство скрипт JS со странички [2]:

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);

Сам по себе скрипт не заведётся — надо:

  1. В путях внутри файла надо поменять /usr/lib на /usr/local/lib.
  2. Добавить строку подключения. Причём строку подключения именно к устройству.

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 31

Запускается скрипт командой node MyScript.js из папки, где лежит скрипт.

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 32

Пробуем ещё раз – на этот раз в Device Explorer (подробнее про него и ссылка на скачивание в статье [4].

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 33

Жмём Enter… :)

Заметки маркетолога: Как поставить Ubuntu на RPI и подключить к Azure IoT Hub - 34

Поздравляю – первые сообщения от нашего PRI достигли Azure IoT Hub

Я искренне надеюсь доработать данную инструкцию и сделать её еще более полезной! Например, пройдя вот этот путь [5] (имея на руках датчик BME280 или без оного).

Для тех, кто дочитал

Для того, чтобы вы могли попробовать проделать это упражнение сами, мы с Андреем решили разыграть две штуки Raspberry Pi 3. Их получат первые 2 человека, которые ответят правильно в сообщения сообщества Microsoft Developer [6] на вопрос: «На основе какого микроконтроллера была разработана самая ранняя версия Raspberry Pi?» Общие правила [7].

Автор: Microsoft

Источник [8]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/raspberry-pi/260245

Ссылки в тексте:

[1] здесь: https://ubuntu-mate.org/download/

[2] эту статью: https://www.concurrency.com/blog/march-2016/azure,-azure-automation-,-azure-iot-hub-,-iot,-l

[3] здесь: https://azure.microsoft.com/ru-ru/free/?wt.mc_id=AID570629_QSG_BLOG_139069

[4] статье: https://www.concurrency.com/blog/march-2016/azure,-azure-automation-,-azure-iot-hub-,-iot,-l)

[5] этот путь: https://docs.microsoft.com/ru-ru/azure/iot-hub/iot-hub-raspberry-pi-kit-node-get-started

[6] Microsoft Developer: https://vk.com/msdnru

[7] Общие правила: https://vk.com/doc3861744_447958086

[8] Источник: https://habrahabr.ru/post/332940/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best