- PVSM.RU - https://www.pvsm.ru -
Проекты на основе Intel Galileo и Intel Edison в основном представляют собой прототипы устройств. Часто на этом и заканчивается. В данной статье будет рассмотрен полный путь от прототипа до промышленного решения на основе Intel Gateway. Это будет система для контроля температуры внутри фургона.
Этот проект преследует две цели. Первая — это создание работающей модели, основанной на наборе Intel IoT Commercial Developer Kit с дополнительными сенсорами. И вторая — это последующий переход к масштабируемому промышленному решению, в котором используется коммерческий шлюз (Gateway), промышленные сенсоры, McAfee Security и платформа Wind River. Разрабатываемый нами продукт предназначен для транспортного сектора, и его цель следить за состоянием внутри фургона, перевозящего скоропортящиеся продукты и предупреждать водителя, если температура превышает заданный порог.
Работающий прототип для доказательства работоспособности идеи мы построим на основе платы Intel Galileo с использованием базового шилда и сенсоров из набора Grove Seeed Starter Kit Plus.
К концу статьи вы увидите быстрый и легкий переход от прототипа к промышленному решению, показывающий, как можно быстро подключить оборудование к ОС Wind River. Использование предварительно скомпилированных модулей, как и RPM, помогают убрать ненужные загрузки, настройку ОС и определение необходимых библиотек, чтобы проект заработал.
На фото пример промышленного шлюза. Он небольшого размера и может уместиться на ладони.
Наша команда разработчиков была сформирована, чтобы продемонстрировать возможности набора Intel IoT Commercial Developer Kit и решения Intel IoT Commercial Gateways. Мы решили сфокусироваться на транспорте, который перевозит скоропортящиеся продукты.
Был выбран именно этот проект, так как есть потенциальная возможность подобных решений на рынке. В то время как наш проект имеет только базовую функциональность, он так же показывает, что можно добавить дополнительные возможности, например соединение с вебом, облачными сервисами, удалённый мониторинг и другие необходимые компоненты.
После определения основной области применения, команда перечислила потенциальные возможности для прототипа и продукта. Были предложены различные идеи, такие как отслеживание состояния задней двери, температуры внутри фургона, предупреждение о смене их состояний и значений, онлайн приложение для просмотра данных и вывод информации в кабине водителя.
Возможности прототипа, построенного на основе Intel IoT Commercial Developer Kit, определялись сенсорами, которые входили в набор Grove Seeed Sensor kit. Поэтому всю функциональность надо было реализовать с использованием этого набора.
Проект в Intel XDK для интерфейса на Microsoft Surface Pro 3:
Мы разделили проект на три ключевые области:
Макет с сенсорами:
Разделив проект, мы смогли быстрее пройти фазу подтверждения концепта, используя наши способности там, где они были необходимы. Пользовательский интерфейс был важен и требовал много времени для проектирования и реализации. Его разработка была начата рано, и поэтому мы были уверены, что он будет сделан вовремя.
В целом мы смогли упростить выбор сенсоров, так как знали, что датчик двери должен быть простым. Это позволило сильнее сфокусироваться на правильном использовании датчика температуры для тестового масштаба и позднее для промышленного.
Используя набор Grove Sensor Kit, мы смогли быстро создать прототип с работающими сенсорами для команды интерфейса. Это позволило им быстрее разработать дизайн и расположение элементов, что создало основу для окончательного примера использования.
Пример использования основывался на следующем сценарии:
1. Нажать кнопку (симуляция открытия двери).
2. Дотронуться до датчика температуры, чтобы он нагрелся.
3. Температура поднимется на 5 градусов:
4. Прикоснуться к сенсорной кнопке:
5. Нажать кнопку, чтобы закрыть дверь:
В этом примере промоделировано уменьшение потенциальных потерь продуктов, которые чувствительны к температуре, отслеживая температуру в фургоне и предупреждая водителя при необходимости.
Просмотр данных с датчика температуры:
Основной вид системы:
Следующая таблица показывает используемые сенсоры в прототипе и коммерческом продукте.
Developer kit | Commercial kit | |
Пищалка | Grove Buzzer | Сигнал на телефоне (веб-интерфейс или приложение) |
ЖК-экран | Grove LCD panel | Экран на телефоне (веб-интерфейс или приложение) |
Красный светодиод | Grove Kit LED | Свет на телефоне (веб-интерфейс или приложение) |
Кнопка | Grove Kit Button | Промышленный магнитный датчик |
Датчик касания | Grove Kit Touch Sensor | Нажатие на телефоне (веб-интерфейс или приложение) |
Датчик температуры | Grove Kit Temp Sensor | Коммерческий датчик температуры |
Источник тепла | Палец | Галогеновая лампа на 20 Вт |
Шлюз подключения | Плата Galileo с Arduino шилдом | Intel Industrial Gateway |
Имея прототип, основанный на Intel IoT Commercial Developer Kit, необходимо определить, как переходить к коммерческому решению. Есть много коммерческих шлюзов и каждый немного отличается в зависимости от промышленного применения. Нам требовалось наличие портов ввода-вывода для подключения сенсоров.
В этом проекте в качестве шлюза был выбран Intel IoT Commercial Gateway, так как он обладает необходимыми портами ввода-вывода и имеет достаточную вычислительную мощность для нашего коммерческого использования.
Мы посчитали необходимым использование проводного датчика температуры Modbus для надежного подключения и получения данных каждые несколько секунд. Все соединения на устройстве сделаны проводами или через локальную сеть. Стандартные библиотеки MRAA и UPM были использованы без каких-либо изменений.
Шлюз работает как вебсервер для сохранённых данных, и он также выполняет обращения к температурному датчику, чтобы получать новые значения. Для этого вызов curl обновляет значение непосредственно на вебсервере, получая температуру с датчика. Получение значения температуры реализовано на языке C с использованием библиотеки libmodbus.
Шлюз, установленный вместе с датчиком температуры в демонстрационной модели:
Обычно переход на коммерческий шлюз приводит к переписыванию кода, чтобы он стал совместим с теми сервисами, которые доступны в системе. В данном случае программа для прототипа была написана на Python, HTML и JavaScript, что сделало простым переход к коммерческому варианту. Не было никаких проблем заставить работать код, так как используются те же библиотеки MRAA и UPM.
Шаги для перехода к коммерческому решению:
Рассмотрим добавление Intel Galileo к сети Gateway.
За время, которое нам было выделено, мы смогли использовать плату Galileo Gen 2 как контроллер сенсоров, но всё же рекомендуется использовать контроллер промышленного уровня. Соединить Galileo и шлюз можно при помощи Ethernet кабеля. Так как сетевой интерфейс (eth0) на шлюзе сконфигурирован для доступа к WAN, потребуются дополнительные шаги для настройки. Назначение статических IP адресов обоим устройствам сработает, но так как на шлюзе есть DHCP, то лучше использовать его, чтобы использовать автоматическую настройку Galileo.
На шлюзе сделайте следующее:
ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up
Добавьте в /etc/dhcp/dhcpd.conf
:
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.100 10.0.0.120;
option routers 10.0.0.1;
}
Запустите dhcpd для DHCP сервера. На Galileo, возможно потребуется опустить и поднять интерфейс снова.
ifconfig enp0s20f6 down
ifconfig enp0s20f6 up
Проверьте работоспособность при помощи команды ping.
Конфигурационные шаги, приведённые выше, не сохранятся после перезагрузки системы и потребуются снова, если шлюз будет перезапущен. Чтобы сделать эти настройки постоянными, выполните следующие шаги:
На шлюзе измените WAN интерфейс в /etc/config/network
:
config interface ‘wan’
option ifname ‘eth0’
option proto ‘static’
option ipaddr ’10.0.0.1’
option netmask ‘255.255.255.0’
Включите автозапуск dhcpd на eth0 командой:
systemctl enable dhcpd.service
Заметьте, что перевод интерфейса в статический режим означает, что шлюз не может быть использован для подключения к WAN с использованием eth0 без отмены сделанных ранее шагов. Дополнительно проброс и маршрутизация портов между Wi-Fi сетью и eth0 будет включена по умолчанию.
Автор: Intel
Источник [1]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/110105
Ссылки в тексте:
[1] Источник: https://habrahabr.ru/post/275805/
Нажмите здесь для печати.