IoT и Galileo Gen2: часть первая

20 апреля 2015, 23:24

Сегодня поговорим о IoT, что в переводе Интернет вещей. В последнее время этот термин очень тесно вошел в нашу жизнь. В этом цикле статей попробуем разобраться в этой проблеме.
В качестве подопытного будет выступать плата Galileo Gen2 от Intel с microSD на 8Gb и Mac.
В первой части рассмотрим установку необходимого программного обеспечения.

Подготовки Galileo

Обновление прошивки

Первое, что необходимо сделать — это обновить прошивку. Загружаем утилиту для обновления Firmware (для каждой ОС свой updater).
В утилите необходимо выбрать порт, к которому подключена плата и нажать Update Firmware:

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

Подготовка microSD карты

Все действия описаны для Mac OSX.
Для работы с IoT нам потребуется записать на карту памяти Yocto образ.
Карта памяти должна быть от 4 до 32 Гб, также потребуется картридер.
Загружаем последний Yocto образ: http://iotdk.intel.com/images/iot-devkit-latest-mmcblkp0.direct.bz2.
Распаковываем архив:

bunzip2 iot-devkit-latest-mmcblkp0.direct.bz2

Форматируем microSD с помощью дисковой утилиты в MS DOS (FAT).
Запускаем утилиту для монтирования дисков и смотрим список дисков в системе:

diskutil list

В появившейся таблице находим строчку с картой памяти и в столбце IDENTIFIER запоминаем имя, например у меня это disk2.
Отмонтируем карту памяти:

diskutil unmountDisk disk2

С помощью утилиты dd запишем образ на карту памяти командой:

sudo dd bs=8m if=iot-devkit-version-mmcblkp0.direct of=/dev/disk2

Процес может занять довольно продолжительное время, при этом на экране ничего не отображается. По окончании процесса будет написано, что данные были записаны. У меня этот процесс занял около 15 минут.
Проверяем в менеджере файлов, что образ записался и извлекаем карту памяти:

diskutil eject disk2

Настройка Linux на Galileo

Вставляем карту памяти, подключаем LAN-кабель и питание. Приблизительно через минуту можно попробовать подключиться по ssh (в настройках роутера нужно посмотреть, какой IP адрес получила плата):

ssh root@192.168.1.2

Установим пароль для пользователя root:

passwd

Установим синхронизацию времени по NTP:

rdate www.nist.gov

Проверим текущее время командой:

timedatectl status

При необходимости установим свой временной пояс:

timedatectl set-timezone Europe/Moscow

Обновим библиотеки libmraa и upm:

echo "src maa-upm http://iotdk.intel.com/repos/1.1/intelgalactic" > /etc/opkg/intel-iotdk.conf
opkg update
opkg upgrade

Galileo готово для последующих экспериментов, можно проверить работоспособность на моргании светодиода. Для этого нам потребуется текстовый редактор nano. Загрузка и установка:

mkdir nano-src
cd nano-src
curl http://www.nano-editor.org/dist/v2.2/nano-2.2.6.tar.gz >nano-2.2.6.tar.gz
tar zxvf nano-2.2.6.tar.gz
cd nano-2.2.6
./configure
make
make install

libmraa и светодиод

Попробуем с помощью C++ поморгать светодиодом. Создадим новый файл:

nano blink.cpp

И добавим следующее содержимое:

#include "mraa.h"

int main() {
    mraa_gpio_context gpio; 
    gpio = mraa_gpio_init(13);
    mraa_gpio_dir(gpio, MRAA_GPIO_OUT); 
    bool ledState=true;
    while(true){
        mraa_gpio_write(gpio, ledState?1:0); 
        ledState=!ledState;
        sleep(1);
    }
}

Скомпилируем:

g++  blink.cpp -lmraa -o blink

Запустим получившееся приложение:

./blink

После этого встроенный светодиод на плате начнет моргать.
Перейдем к следующему шагу.

Установка Intel XDK IoT Edition

Загружаем XDK для своей ОС на странице.
И устанавливаем согласно инструкции.
Среда разработки выглядит следующим образом:

Чтобы подключиться к плате, нужно в списке IoT Device выбрать свою плату, после чего появиться диалоговое окно с предложением ввести имя пользователя и пароль. Пользователь по умолчанию root, а пароль, тот что установили выше. Нажимаем Connect и ждем подключения, состояние его можно увидеть в нижнем окне.

Обновление xdk-daemon

Завершающим шагом будет обновление xdk демона.
На панели инструментов нажимаем кнопку с изображением шестеренки и выбираем Upgrade xdk-daemon on IoT device:

По завершении установки рабочее окружение готово для экспериментов.
Следующая статья будет как раз об этом.

Поделиться
Запинить
Популярное