Что делает маркетолог, когда его просят рассказать как использовать технологию, а он не может найти инструкцию? Обычно начинает дёргать всех окружающих технарей, искать в интернете или молча ждать чуда, или плакать. Но, эта история про другого маркетолога. Он просто взял и написал инструкцию сам. Приглашаю под кат оценить труды и поделиться своим мнением.
Передаю слово Андрею.
Давайте договоримся, что ниже речь пойдёт про Raspberry Pi 2 Model B. Именно при работе с ним были сделаны все снимки экрана.
Дистрибутив Ubuntu Mate можно скачать, например, здесь.
Имея img файл — создаём загрузочную SDCard – для этого я использовал Win32 Disk Imager, который установил на свою Windows 10.
Получившуюся загрузочную карточку вставляем в Raspberry Pi, подключаем клавиатуру, мышь и дисплей. После успешной загрузки видим окна ниже.
Сразу после установки выполняем несколько команд.
Важные команды update и upgrade – чтобы обновить систему.
Далее добавим русский язык для клавиатуры.
Вот так можно поменять комбинацию клавиш переключения (я пару минут потратил, пока нашёл этот пункт).
На одном из форумов прочитал, что надо включить I2C: командой
Тут кстати и настройки SSH можно поменять.
Пока нет под рукой датчиков — пробую сделать хоть что-то… Читаю вот эту статью.
Давайте начнём с того, что нам понадобится подписка Azure! Пробную верcию можно получить здесь.
Наши дальнейшие шаги.
Шаг 1.
Шаг 2.
Шаг 3.
Шаг 4.
Итак, вернёмся на устройство! Команда
Устанавливаем Node.js. Для этого вбиваем команду:
Теперь команда
На всякий случай.
Теперь нужен NPM — устанавливаем командой:
Далее запускаем:
Теперь надо поставить последнюю версию IoT Hub transport package:
И ещё одна команда:
Теперь надо установить IoT Explorer:
Следующим шагом запускаем вот такую команду
Далее подключаем устройство:
На портале Azure устройство видно.
Копируем на устройство скрипт JS со странички:
Сам по себе скрипт не заведётся — надо:
Запускается скрипт командой
Пробуем ещё раз – на этот раз в Device Explorer (подробнее про него и ссылка на скачивание в статье.
Жмём Enter… :)
Поздравляю – первые сообщения от нашего RPI достигли Azure IoT Hub
Я искренне надеюсь доработать данную инструкцию и сделать её еще более полезной! Например, пройдя вот этот путь (имея на руках датчик BME280 или без оного).
Для того, чтобы вы могли попробовать проделать это упражнение сами, мы с Андреем решили разыграть две штуки Raspberry Pi 3. Их получат первые 2 человека, которые ответят правильно в сообщения сообщества Microsoft Developer на вопрос: «На основе какого микроконтроллера была разработана самая ранняя версия Raspberry Pi?» Общие правила.
Передаю слово Андрею.
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
– покажет нам сетевые настройки устройстваВажные команды update и upgrade – чтобы обновить систему.
sudo apt-get update
sudo apt-get upgrade
Далее добавим русский язык для клавиатуры.
Вот так можно поменять комбинацию клавиш переключения (я пару минут потратил, пока нашёл этот пункт).
На одном из форумов прочитал, что надо включить I2C: командой
sudo raspi-config
. Тут кстати и настройки SSH можно поменять.
Пока нет под рукой датчиков — пробую сделать хоть что-то… Читаю вот эту статью.
Давайте начнём с того, что нам понадобится подписка Azure! Пробную верcию можно получить здесь.
Наши дальнейшие шаги.
Шаг 1.
Шаг 2.
Шаг 3.
Шаг 4.
Итак, вернёмся на устройство! Команда
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… :)
Поздравляю – первые сообщения от нашего RPI достигли Azure IoT Hub
Я искренне надеюсь доработать данную инструкцию и сделать её еще более полезной! Например, пройдя вот этот путь (имея на руках датчик BME280 или без оного).
Для тех, кто дочитал
Для того, чтобы вы могли попробовать проделать это упражнение сами, мы с Андреем решили разыграть две штуки Raspberry Pi 3. Их получат первые 2 человека, которые ответят правильно в сообщения сообщества Microsoft Developer на вопрос: «На основе какого микроконтроллера была разработана самая ранняя версия Raspberry Pi?» Общие правила.
Поделиться с друзьями
Комментарии (17)
denisnone
13.07.2017 11:52-1Кто бы мог поверить, что настанет когда-нибудь тот великий час, когда Майкрософт начнет писать статьи о том, как установить Ubuntu на Raspberry Pi. А Стив Балмер тем временем читает вашу статью и плачет кровавыми слезами. Его пророчество сбылось, та самая «раковая опухоль», как он выражался в свое время о Linux, поразила и его любимую компанию.
nikitasius
Мои глаза, понеслось...
Мне больно...
НЕТ!!! Не надо!!! прекратите!!
Скриншотыфотоснимки работающей системы, чтож… зачем останавливаться? Можно было бы их до кучи распечатать на лазернике, шариковой ручкой указать что хотели и отсканировать!Статья ни-о-чем, dd + next-next-next и первый ответ из гугла тем, кто купил RPI, ваш кэп!
Schvepsss
Как я написала в начале, это статья не претендует на высокий уровень техничности и была написана маркетологом потому, что мы не нашли русскоязычную инструкцию. :)
Кэп, могли бы поделиться ссылкой на первый ответ из гугл? Будет интересно почитать.
anmipo
Как ни удивительно, первый ответ из гугла ведёт на википедию.
http://lmgtfy.com/?q=first+raspberry+pi+microcontroller
Schvepsss
Никогда такого не было и вот опять.
nikitasius
Заместо кривой статьи лучше бы правильный перевод сделали.
Schvepsss
«Вместо»*
nikitasius
Кортану спросить забыл. Своими текстами вы опускаете планку блога M$.
Schvepsss
Спасибо за ваше мнение.
Pythonpy
вы просто эгоист)
nikitasius
В чем проблемы, в том что развеял ее мечты о зеленой и прекрасной? Так сказок нет. Это айти ресурс. Так что давайте не будет наполнять его говноконтенто, и без того хватает.
Pythonpy
вы слишком надменны.
статью было интересно почитать хотя бы для того чтобы взглянуть как человек разбирался в этом.
с другой стороны специально для таких как вы автор сделал предупреждение в начале статьи.
если вам это не показалось полезным, это не означает что это говноконтент.
Schvepsss
Очень рада, что вы меня поняли. Я правда решила, что будет обидно прятать в стол реальную историю о том, как гуманитарий разбирается с техническими вопросами.
nikitasius
Конечно! Меня еще после полуночи кормить нельзя.
Эта, кхм, статья, — это говностатья. Она в корпблоге, но говностатья вида: "Я купила рпи и решила поставить линукс, было страшно, ноготь сломала, но справилась и, таккакэтостатьявблогемелкософта, подключила сей продукт к замечательному сервису от M$".
Тут даже тема не в сексизме, я его на айтиресурс не выношу, ибо в жизни выражаюсь на ура, а именно в говноматериале. Женщин, которые пишут хороший материал или занимаются разработкой софта хватает, но только не в этом блоге.
З.Ы, Еще у меня минусомет на Д'Артаньянов возбуждается.
Pythonpy
я вам рекомендую вам остановиться, потому что вы не уважаете других.
развивайтесь без нас.
простите, но вы ведёте себя хуже религиозного фанатика.
Schvepsss
Судя по этому комментарию у меня остался последний вопрос: «Вы статью читали?»
Уверена, что нет, с учётом того, что во втором абзаце написано, что это история не о моих сломанных ногтях.
Если вы считаете, что ваш сексизм здесь не слишком ярко выражен, вы ошибаетесь. Это не первый мой пост здесь, но столь откровенную ненависть и желание притянуть за уши образ розовой принцессы я встречаю впервые. Но ладно, о чём это я тут разболталась, пойду борщ варить и плакать над разбитыми мечтами стать звездой.
P.s. Правильно, когда человек отвечает тебе аргументировано и тебе сказать нечего, минусуй. И не кушай много на ночь. :)
Schvepsss
Не хочу вас расстраивать, но вы вряд ли обладаете способностями для развеивания моих мечт. :)
Итак, поговорим про плохой контент: в ваших комментариях я не увидела конструктива, исключительно желание показать, какой вы крутой и весёлый тролль. Если вы пытаетесь пощекотать своё чсв, не вижу смысла продолжать беседу. Если вами движет светлой и доброе желание сказать, что в статье что-то не так, вы можете написать мне об этом в лс и не пытаться совершить публичную казнь субъективного образа «этойпринцессывоблаках».
P.s. Но как показывает практика, скорее всего вы ничего не напишите, ибо в лс нет необходимой публики.