Имя: NokiaLinux Основан: декабрь 2010г Участники: Роман Савоченко, Максим Лысенко Описание: Проект посвящён сборке проекта OpenSCADA для мобильных устройств фирмы Nokia (N800, N900, N950) на Linux платформах Maemo и MeeGo. Материалы: ftp://ftp.oscada.org/OpenSCADA/Devices/Nokia |
Фирма Nokia является одним из мировых лидеров в производстве и продаже мобильных телефонов. В 2005 году фирма Nokia выпустила карманный персональный компьютер (КПК) N770 на основе развитого Linux окружения с собственным окружением рабочего стола (на GTK+) — Hildon под общим названием проекта Maemo. В последствии на основе платформы Maemo было выпущено ещё три мобильных устройства, а именно два КПК «интернет-планшета» N800, N810 и смартфон «интернет-планшет» N900. В 2010 году фирма Nokia объединила свои усилия по работе над Maemo с проектом MobLin фирмы Intel, создав проект MeeGo. На основе платформы MeeGo в 2011 году было выпущено два смартфона N950(прототип) и N9.
Для проекта OpenSCADA мобильные устройства фирмы Nokia на платформах Maemo и MeeGo интересны в плане их основы на развитом окружении ОС Linux, отсутствия блокировок и ограничений на расширения этих платформ путём сборки и адаптации типовых программ ОС Linux, что позволяет просто осуществить адаптацию OpenSCADA на аппаратные платформы ARM и сборку для вышеупомянутых мобильных устройств фирмы Nokia.
Адаптация проекта OpenSCADA для работы на аппаратных платформах ARM была выполнена в 2011 году в соответствии с общим планом развития http://wiki.oscada.org/Works/RoadMap в окружении КПК N800 (http://wiki.oscada.org/Works/Tests/ARM ). В значительной степени адаптация была выполнена в рамках chroot окружения дистрибутива ALTLinux, как более свежего и менее проблемного. Последние сборки OpenSCADA уже полноценно и корректно работают в родном окружении N800.
КПК N800 (рис.1) содержит процессор OMAP2420 с рабочей частотой 400 МГц, сенсорный (резистивный) дисплей 4,1" 800×480 и построен на основе программной платформы Maemo 4.1.
На этапе знакомства и изучения возможности сборки OpenSCADA под или для N800 были обнаружены проблемы некоторой устарелости программного окружения и ряд проблем при исполнении собранной OpenSCADA, часть из которых была связана с неготовностью OpenSCADA для работы на архитектуре ARM. По этой причине была осуществлена также сборка OpenSCADA в "chroot" окружении дистрибутива ALTLinux на N800. Из наиболее существенных проблем, с которыми пришлось столкнуться при сборке OpenSCADA, можно отметить:
Для безопасного проведения экспериментов с устройством и предотвращения возможного повреждения исходного программного окружения была настроена мульти-загрузка с возможностью загрузки как в исходное программное окружение на внутреннем flash-носителе так и в экспериментальное окружение на внутренней SD-карте, копии исходного программного окружения (http://habrahabr.ru/blogs/n800/24111 ).
Для создания "chroot" окружения ARM репозитория ALTLinux использовано руководство http://www.altlinux.org/Ports/arm/chroot. На основе полученного chroot было создано сборочное окружение для сборки в нём OpenSCADA непосредственно на N800. Теоретически возможна сборка непосредственно на большой машине, через quemu, однако при этом у меня возникли проблемы с падением quemu. Кроме сборки OpenSCADA полученное "chroot" окружение также успешно использовалось для запуска свежего окружения KDE 3.5.12 на N800.
Впоследствии, для сборки OpenSCADA с графическим интерфейсом под родное окружение, что стало возможно с появлением пакетов QT4, было установлено официальное SDK и окружение компиляции фирмы Nokia. Установка проводилась посредством скрипта установки сборочного окружения maemo-scratchbox-install_4.1.sh и скрипта установки SDK maemo-sdk-install_4.1.sh. Общее описание SDK можно получить по ссылке.
Внимание! В расширенном репозитории Maemo 4.1 последняя версия QT4 (libqtcore4, libqtgui4-4.5.3-1maemo1) содержит ошибку, которая приводит к падению приложения в момент создания/удаления виджетов, что можно наблюдать в конфигураторе OpenSCADA на библиотеке QT. Для обхода этой проблемы необходимо установить и зафиксировать от обновления предыдущую версию QT4 (libqtcore4, libqtgui4-4.5.2-1maemo2), которая не имеет этой проблемы и работает стабильно.
Кроме первоочередной цели сборки и запуска OpenSCADA на этом устройстве были также выполнены задачи:
Nokia N900 содержит процессор ARM Cortex-A8 OMAP3430 (600 МГц), сенсорный (резистивный) дисплей 3.5" 848×480 и построен на основе программной платформы Maemo 5.
Для сборки OpenSCADA под родное окружение было установлено официальное SDK и окружение компиляции фирмы Nokia. Установка проводилась посредством скрипта установки сборочного окружения maemo-scratchbox-install_5.0.sh и скрипта установки SDK maemo-sdk-install_5.0.sh. Общее описание SDK можно получить по ссылке.
Nokia N950 содержит процессор ARM Cortex-A8 OMAP3630 (1 ГГц), сенсорный (емкостной) дисплей 4" 854×480 и построен на основе программной платформы MeeGo 1.2 Harmattan.
Телефон был получен от Nokia в рамках программы Qt Ambassador Program для адаптации на него системы OpenSCADA.
Для сборки OpenSCADA под родное окружение было установлено официальное SDK и окружение компиляции фирмы Nokia. Установка проводилась посредством скрипта установки harmattan-sdk-setup.py. Общее описание SDK и инструкцию по установке можно получить по ссылке.