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

в 15:47, , рубрики: Azure IoT Hub, microsoft, Microsoft Azure, Raspberry Pi, Блог компании Microsoft, Разработка для интернета вещей, Разработка под Linux

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

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

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

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

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

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

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

Имея 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

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

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

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

Шаг 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 со странички:

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 (подробнее про него и ссылка на скачивание в статье.

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

Жмём Enter… :)

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

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

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

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

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

Автор: Microsoft

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js