Рассматриваем аппаратную платформу PHPoC для создания и управления устройствами интернета вещей с помощью PHP.
Содержание
Интернет вещей
Сейчас постепенно наступает новая эра, которую называют Интернетом вещей или IoT на английском.
Ежедневно создается много умных устройств, таких как умные часы, умные колонки, чайники и т.п. Но что, если вы сами хотите создать такое устройство или вам в голову пришла прекрасная идея новой умной вещи и вы хотите ее реализовать?
Многие на данном этапе просто откажутся от идеи из-за ограниченных знаний в области программирования и аппаратного обеспечения или из-за времени и трудозатрат на разработку.
Но появилось отличное решение в виде аппаратной платформы PHPoC, которая предоставляет все необходимое для создания подключенных к Интернету вещей всего за несколько шагов.
Что такое PHPoC?
PHPoC (PHP на чипе) - это язык программирования и аппаратная IoT платформа, созданная в Республике Корея. Платформа включает в себя микроконтроллер со встроенным интерпретатором языка программирования PHP.
Дополнительно платформа включает в себя сервера и платы расширения для PHPoC и для популярных микроконтроллеров, например, Arduino Uno или Arduino Mega.
PHPoC позволяет делать прототипы устройств для интернета вещей с возможностью доступа в интернет (Wi-Fi/Ethernet).
И, конечно, как следует из названия, всё это делается с помощью языка PHP.
Как работает?
Для работы с платами нужно сделать всего два шага:
- Написать скрипт на языке PHP и загрузить его в PHPoC.
- Дополнительно загрузить другие виды файлов, типа, HTML, CSS, JavaScript, изображения.
Применение PHPoc
Платформа PHPoc применяется для различных потребностей, например:
- мониторинг датчиков и сенсоров,
- управление периферийными устройствами,
- управление реле, сервоприводами, шаговыми двигателями,
- полнодуплексная связь через WebSocket,
- отправка электронной почты,
- работа с базами данных,
- отладка с помощью USB,
- и т.д.
В большинстве проектов для управления умными устройствами с помощью PHPoC и языка программирования PHP создается web-интерфейс.
Также стоит заметить, что на PHPoC платах есть часы реального времени (RTC). Наличие часов удобно в случаях синхронизации контроллеров с другими устройствами.
И, конечно, эта платформа отлично дружит с платами Ардуино.
Язык программирования для PHPoC
Платформа PHPoC использует язык программирования PHP. PHP (Hypertext Preprocessor или Personal Home Page Tools) - скриптовый язык общего назначения, который чаще всего используют для разработки веб-приложений.
До недавнего времени PHP являлся одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов. Но в последние пару лет язык начал развиваться и постепенно выходить за рамки создания сайтов в интернете.
С появлением PHPoC язык программирования PHP постепенно переходит в разряд языков общего назначения для интернета вещей (IoT).
Синтаксис PHP для платформы практически идентичен классическому PHP, но адаптирован для встроенной системы. В PHPoC добавлены новые функции для взаимодействия с различными устройствами: UART, I2C, SPI, ADC, TIMER / COUNTER, RTC и так далее.
Платформа PHPoC
Как я уже сказал выше, PHPoC является аппаратной платформой с интерпретатором PHP.
Данная платформа содержит базовые интерфейсы для взаимодействия с различными датчиками и устройствами, сетевые интерфейсы проводной и беспроводной локальной сети.
Платформа поддерживает множество интернет-протоколов для создания защищенных устройств Интернета вещей.
Создатели выделяют три основных компонента для своей платформы:
- Программное обеспечение (Hardware). Сюда входят разные интерфейсы и сетевые протоколы.
- Прошивка (Firmware). Драйвер устройства, сетевое ядро, веб-сервер и интерпретатор PHPoC.
- Скрипты PHPoC (User Files). Разработанные программы записываются на плату.
Таким образом, создатели своих устройств после написания программы (скрипта) загружают её на PHPoC в виде .php extension (расширений). Дополнительно указываются файлы для запуска в системном цикле и какие файлы запускать в ответ на HTTP-запросы.
Сравнение с Raspberry Pi и Arduino
Интересно сравнение данной платформы с наиболее популярными линейками плат Arduino и Raspberry Pi. Сами создатели PHPoC считают свою платформу оптимальной с точки зрения простоты и функциональности (см. изображение выше).
PHPoC против Raspberry Pi
Raspberry Pi считается довольно серьезной и производительной аппаратный платформой. Как заявляют создатели, PHPoC может выполнять большинство задач, которые выполняет Raspberry Pi.
Raspberry Pi работает на основе операционной системы, в то время как PHPoC работает на основе прошивки. Программирование OS-систем значительно сложнее. В случае PHPoC всего лишь нужно плату подключить к компьютеру, написать скрипт и загрузить его без каких-либо дополнительных установок.
PHPoC против Arduino
Платы Arduino являются очень популярными. Основным отличием в пользу PHPoC можно назвать возможность отладки в режиме реального времени в IDE, чего изначально нет в Аrduinо.
Но кук и в Ардуино платформа имеет встроенные сетевые интерфейсы (Ethernet или Wi-Fi), встроенный веб-сервер и WebSocket-сервер, часы реального времени. Кроме того, PHPoC поддерживает расширенные сетевые протоколы и протоколы безопасности, которые не поддерживаются другими Wi-Fi или Ethernet шилдами для Arduino.