Конструктор приложения под Linux (обновлено: 05 Dec 2021, 18:43:19)

Экспериментальная версия программного обеспечения (ПО) под любое устройство на базе Linux. Основана на базе прошивки WiFi-Iot и содержит те же возможности, но не ограничена в ресурсах железа и расширяет возможности проекта.

Ссылка на готовые приложения http://files.wifi-iot.com/linuxDev/ под разные системы. Ссылка на конструктор.

Проверено на Raspberry Pi zero, Raspberry Pi 4, Orange Pi, OpenIPC , BlackSwift и на OpenWRT (сяоми шлюз). Возможна работа на х86, но без поддержки GPIO.

Обратите внимание, что опции с шифрованием SSL(Telegram и прочие) работают не на всех типах процессоров.


Доступна работа с GPIO, с некоторыми I2C датчиками, с LCD дисплеем и некоторые логические опции. 

На данный момент программа собрана с несколькими опциями аналогично прошивке.



Идеи и теоретические возможности данного ПО

Возможна в будущем поддержка работы со всеми датчиками и другие опции, аналогичные конструктору ESP32 без ограничений ресурсов (в пределах ограничений устройства). Это касается и работы с камерой и работа с аудио.

Работа с базами данных, сохранение в них сразу всех метрик (или по выбору). Возможность вывода графиков.

Работа с дисплеями HDMI (мониторами). Вывод на них всей информации (текстовой и графической).

Дальнейшее развитие программы зависит от интереса пользователей.


Монетизация программы

На данный момент ПО работает без ограничений на время эксперимента до 31.12.2021.


Особенности программы

1. Можно запустить практически на любом устройстве на базе Linux, если для сборки ПО имеется в наличии SDK (sysroot) с компилятором для данного устройства.

2. Достаточно скачать приложение на устройство и запустить.

3. Используются только базовые функции ОС Linux - минимум зависимостей и не требуется установка массы пакетов.  

4. Может возникнуть проблема с работой опций с шифрованием и установкой для них openssl библиотеки на устройстве.

5. Малый размер программы (от 100 кб), в зависимости от количества включенных опций.

6. Свой автономный веб сервер. Не требуется его установка и настройка.

7. Полная интеграция с прошивками данного проекта через опции VGPO, VSENS, D2D.

8. Работа с стандартной периферией GPIO, I2C , SPI , UART через sysfs, если оно есть на устройстве. Есть возможность подключения конвертеров интерфейсов через USB: USB-UART , USB-I2C и т.д.

9. Быстрая работа GPIO через sysfs(виртуальную ФС) не возможна - некоторые GPIO опции работать не будут. Для этого требуется индивидуальный драйвер для каждого процессора. В тестовом режиме это доступно только на Raspberry и Orange.


Добавление поддержки устройств

Для поддержки OpenWRT устройства требуется найти под него SDK+компилятор по ссылкам актуальных или архивных версий.

Для поддержки других открытых прошивок требуются ссылки на SDK+компилятор для данного устройства.

Для поддержки закрытых прошивок найти подходящий компилятор и SDK затруднительно, но возможно что-то подойдет из открытых прошивок если совпадает модель процессора и версии библиотек системы.


Пример запуска приложения через консоль:

Для каждого устройства(или нескольких устройств) требуется скачать свой файл приложения. Для MIPS процессоров имеется несколько вариантов программ и возможно какая-то из них заработает.

Загрузка для Raspberry и других ARM компьютеров : wget http://files.wifi-iot.com/linuxDev/wifi_iotARM

Загрузка для x86 компьютеров: wget http://files.wifi-iot.com/linuxDev/wifi_iotX86

Аналогично для wifi_iotIMX6 (openwrt) и wifi_iotOpenIPC (OpenIPC) 

Не забываем дать права запуска на файл: chmod 777 имя_файла

Запустить файл - указать полный путь к приложению, или находясь в папке с файлом набрать ./имя_файла. Для запуска в фоне достаточно указать после имени знак или ключ -demon . Описание настройки автозапуска планируется в будущем.

Зайти на веб программы http://IP_Устройства:1081. Порт на данный момент фиксирован и не меняется (настройка порта будет в будущем)

Пример успешного запуска:

I:sys: CPU: ARMv6-compatible processor rev 7
I:sys: Hardware: BCM2835
I:sys: Revision: 900092
I:sys: Serial: 00000000848e9c3c
I:sys: Updated: 00:00:00 30.10.2021
I:sys: size free mem: 101032 kB
I:readsens: start
I:D2D: recv start


Проблемы запуска

При несовпадении версии библиотек (версии SDK) на устройстве программа может не запуститься (файл не найден) и для анализа требуется информация:

Необходимо показать вывод команды ldd ./имя_файла

А так же вывод команды cat /proc/cpuinfo


Все вопросы в чат Телеграм https://t.me/wifi_iot