Pull to refresh

Мой опыт работы с Intel Edison. Часть I (подготовительная)

Reading time 3 min
Views 27K
Наконец-то собрал волю в кулак, отодвинул все неотложные дела в сторону и сел написать о своих впечатлениях про штуковину, которую в прошлом году явила миру корпорация Intel. Попробую в нескольких статьях рассказать о платформе Edison. Точнее, о моих попытках работы с этой платформой. Я ученый физик, поэтому все, что связано с тематикой данной серии публикаций — моё хобби. Заранее прошу снисхождения, если что-то не так…

С ноября прошлого года у меня поселился «Эдисон». Произошло это после хакатона, который проводила Intel в рамках продвижения своего видения концепции “интернета вещей” (IoT) и платформ Galileo и Edison. Здесь обзор этого события. Отмечу сразу, что работа с Edison мне доставляет гораздо больше удовольствия, чем, например, с Galileo, и вот, почему. Для того, чтобы плата ожила, нужно выполнить несколько простых манипуляций, которые доходчиво описаны на сайте Intel (там страждущие найдут много интересной информации, в том числе и о том, как запустить Edison). За консультацией можно также обратиться к этой публикации на Хабре. Мне, следуя указаниям в стиле «делай так-то», удалось запустить Edison с первого раза. А вот многие из тех, кто пробовал использовать на вышеупомянутом хакатоне в ноябре плату Galileo, без сторонней помощи эксперта Матиаса Хана (одного из разработчиков комплекта Intel IoT Dev Kit), запустить её, следуя только инструкциям, так и не удалось. Вокруг Galileo приходится плясать с бубном (хотя, сейчас ситуация может и изменилась).

Итак, после хакатона (на котором я работал с Galileo) попробовал поделать простейшие вещи уже с Edison. Попробовал, и оставил её на несколько месяцев из-за появления более важных дел. А вот в этом году решил возобновить эксперименты и периодически сажусь повозиться с платой. Так вот, игрался я с Edison, игрался, пока через пару недель он возьми, да и «сломайся»…

Во-первых, перестала работать библиотека libmraa, необходимая для использования портов. Решил перепрошить плату и залить на неё свежую версию операционной системы Yocto (штатная ОС для Edison). Но не тут-то было! Вторая напасть оказалась серьезнее — стационарный компьютер наотрез отказался воспринимать Edison как внешний USB накопитель, чего раньше никогда не было. Это уже показалось настолько серьезным, что я готов был выбрасывать старую плату и покупать новую.

Все дело в том, что при подключении Edison к компьютеру через USB компьютер должен автоматически распознавать Edison как внешний USB накопитель. На этот накопитель заливаются файлы из архива для установки/обновления операционной системы, а далее через консоль Edison перезагружается хитрой командой, что запускает процесс установки ОС с того раздела, в который были скопированы файлы из архива. Вообще-то, возможен способ установки «по USB-кабелю» из директории с файлами, находящимися на стационарном компьютере, к которому подключен Edison. Весь процесс, опять же, подробно описан на сайте Intel. Однако, у меня ничего из предложенного не сработало.

Вот тут я и поник. При помощи команды fsck удалось выяснить, что на своей флешь-памяти, которую Edison использует под ОС, существует раздел FAT32, в который, очевидно, и кидается образ ОС.

Что выдает команда fsck
root@edison:~# fsck
fsck from util-linux 2.24.1
dosfsck 2.11, 12 Mar 2005, FAT32, LFN
/dev/mmcblk0p7: 5 files, 2700/2931 clusters
e2fsck 1.42.9 (28-Dec-2013)
/dev/mmcblk0p10 is mounted.
e2fsck: Cannot continue, aborting.

Поскольку Edison работает под Linux-системой, просто так к разделу не подберешься, его нужно сперва подмонтировать, после чего ты получишь доступ к этому разделу как к простой папке. Поскольку Edison — платформа новая, информации в интернете по ней не так много, а конкретного указателя на FAT32-раздел команда не выдала. Пришлось порыскать, пока на этой страничке не увидел заветные строки, из которых следовало, что FAT32 раздел лежит по адресу /dev/disk/by-partlabel/update. Далее дело техники: монтируем раздел (для этого я в /mnt сперва создал директорию fat, к которой буду монтироваться),

root@edison:~# mkdir /mnt/fat
root@edison:~# mount /dev/disk/by-partlabel/update /mnt/fat

Если посмотреть теперь подмонтированные разделы, то окажется, что заветная цель располагалась по адресу /dev/mmcblk0p9, а /dev/disk/by-partlabel/update, видимо, связанная с ним папка. Знал бы я это раньше, мог бы вместо папки (mount /dev/disk/by-partlabel/update /mnt/fat) смонтировать непосредственно файл раздела (mount /dev/mmcblk0p9 /mnt/fat ).
Теперь перегружаем Edison в режиме установки системы.

root@edison:~# reboot ota

Сработало! После обновления системы Edison опять стал распознаваться стационарным компьютером как внешний USB-накопитель. Только теперь, поскольку система была перепрошита, её нужно заново настроить (пароль root-а, wifi и пр.) командой configure_edison --setup (на этом этапе смело можно вернуться к руководствам на официальном сайте Intel).

В следующей статье я опишу свои мытарства при создании web-доступа к портам Edison.
Tags:
Hubs:
+12
Comments 1
Comments Comments 1

Articles