Eport Pro EP10 и EP20

pvvx

Активный участник сообщества
Построены на:
  • MCU M200 (MIPS 4Kc, CPUCLK: 512/480/384/320/..60 MHz, SYSCLK: 160..60 MHz)
  • RAM 32MiB (встроенные в чип M200)
  • FLASH 16MiB
Eport Pro-EP10:
Eport_Pro-EP10.jpg
Eport Pro-EP20 (снята крышка):
Eport_Pro-EP20sm.jpg
Питание 3.3В:
  • Стартовые пики до 260 mA 3.3В при 512 MHz и активных LAN, SPI, ...
  • Средние до 200 mA 3.3В при работе на 320 MHz
Питание от DC-DC (стартовый режим 512MHz, работа после загрузки и инициализации OpenWTR на 320 Mhz, время на графиках в сек):
EportDC-DC.gif
Производительность: 511.18 BogoMIPS при 512 MHz
UART модель типа 16550A (FIFO 14 байт). Работает нормально на 3 мегабита, более не проверял.
 

pvvx

Активный участник сообщества
Полные исходники (SDK) есть, для u-boot тоже.
Китайская прошивку сразу удаляю, т.к. она связывается с китайскими Cloud.
Я использую так GPIO на Eport Pro-EP10:
upload_2019-9-25_6-57-11.png
На своей сборке OpenWRT после старта доступно более 20 Мегабайт RAM с работающими сервисами:
DHCP, DNS, NBIOS, LLMNR, mDNS, WEB-сервер, ModbusTCP, ...
Загрузка использует не более 3-х мегабайт в SPI-Flash (сейчас 2.1 MiB). Остальная Flash отведена на диски для Web-сервера (5MiB) и сохранение годовой статистики-логов работы контролируемых устройств (8MiB).
 

pvvx

Активный участник сообщества
Web-сервер конфигурации переписан от обычного роутера и работает на отдельно выделенном порту:
upload_2019-9-25_7-21-0.png
Основная рабочая версия web, связанная со спецификой конечного устройства работает на стандартном порту.
 

pvvx

Активный участник сообщества
Короче - на стабильность работы всё протестировано. Принимаются предложения на темы создания open-source проектов на данных модулях (и аналогичных), но только предложения с обязательным участием и вкладом!
 

oleg_777

New member
Проект типа UART Bridge + скриптовый язык для реализации автономного контроллера на этой базе.
 

pvvx

Активный участник сообщества
Проект типа UART Bridge + скриптовый язык для реализации автономного контроллера на этой базе.
Это уже сделано, но Modbus RTU + типа SCADA. Накапливает данные с пром.установки с усреднением в 10 минут на циклический буфер на год, лог событий на последние дцать тысяч, и обеспечивает её управление и настройки. Скриптом описываются данные в виртуальном устройстве Modbus чтобы по имени и в определенном формате отдавать переменные + функции FIFO для получения быстрых текущих показаний на графике. Так-же скриптом описывается в каком формате передавать данные в Web (к примеру в XML или Json или в каком текстовом виде - без разницы, т.к. полностью задается). Глубина FIFO должна обеспечивать интервал между запросами эхплорера в javscript. Максимальная скорость набора FIFO = скорости передачи сообщений по modbus в RS-485. Для Modbus TCP модуль обеспечивает 10 тысяч запрос-ответов в сек.
Описывать всё сложно и долго - по тому кратко. И часть коммерческая.
 

pvvx

Активный участник сообщества
Для open-sorce предполагается упрощение сборки собственных модулей и заливка их во внутренний диск устройства. Это чтобы не собирать всю OpenWRT, только кросс компиляция приложений пользователя. Ну типа Arduino.
Так, по причине устойчивости - сама система Linux read-only.
Проект типа UART Bridge
Этого навалом для OpenWRT и требуется только собрать.
 

pvvx

Активный участник сообщества
Для наорду надо что-то немного проще.

К примеру такой процесс:
Берем исходники ina219 -> ZigFisher/Glutinium
Модифицируем, добавив непрерывный опрос в заданные мкс..сек и вывод к примеру в .csv формате.
Собираем исходник, закидываем на диск устройства и запускаем, примеру через отладку в web:
http://eport/cli.cgi?cmd=debug ina219 –i 5000 -w20 -l100
Получаем такую текстовую HTML страничку:
Код:
cmd=ina219 -i 5000 -w -l 100
mV;mA;step=5000us
3300;0.33
3304;0.32
3304;0.30
3304;0.33
3304;0.31
3300;0.33
3304;0.32
3300;0.33
3304;0.35
3304;0.31
3300;0.33
3304;0.32
3304;0.33
3304;0.31
3304;0.34
3300;0.32
3304;0.32
3308;0.31
3300;0.33
3300;0.35
3304;0.33
3304;0.35
3304;0.31
3304;0.30
3304;0.34
3304;0.30
3300;0.32
3308;0.32
3300;0.32
3304;0.32
3304;0.33
3304;0.32
3304;0.34
3304;0.33
3304;0.31
3304;0.32
3300;0.32
3304;0.33
3300;0.31
3304;0.29
3304;0.32
3300;0.31
3304;0.30
3304;0.30
3300;0.33
3304;0.34
3300;0.32
3304;0.35
3304;0.30
3300;0.33
3304;0.34
3304;0.32
3304;0.33
3304;0.33
3300;0.35
3300;0.35
3300;0.32
3300;0.33
3308;0.31
3304;0.30
3304;0.33
3304;0.32
3304;0.33
3304;0.32
3304;0.33
3304;0.32
3300;0.33
3300;0.33
3304;0.32
3300;0.32
3304;0.32
3308;0.32
3304;0.32
3304;0.32
3300;0.33
3300;0.32
3304;0.32
3300;0.32
3304;0.30
3304;0.32
3304;0.32
3304;0.33
3304;0.31
3300;0.32
3304;0.32
3304;0.33
3308;0.33
3304;0.33
3300;0.30
3304;0.33
3304;0.32
3304;0.31
3300;0.32
3300;0.32
3304;0.32
3300;0.31
3304;0.36
3308;0.33
3304;0.33
3304;0.32
Ok, 100 samples
Так-же возможно передать данные через websocket или ещё как в какой Cloud. Тут вариантов масса.

Пока сделан вариант передачи данных в виртуальное Modbus устройство. А там уже обработка скриптами, выдача в нужном формате для AJAX или websocket, накопление лога и т.д.
Но всё нужно оформлять, выкладывать и поддерживать, на что времени не очень...
 

pvvx

Активный участник сообщества
Чтобы была какая-то универсальность нужно в системе иметь некий буфер обмена. Я пока использую виртуальное modbus устройство.
Для него есть файлы скриптов с секциями-командами загружаемые при старте или при запросе с web если не указаны. Могут быть и отдельные файлы скриптов - тогда надо в запросе указать имя. Можно и передать скрипт на исполнение прямо в запросе к web.
Переменные modbus находятся в shm памяти и доступны любому процессу...
К примеру хотим прочитать на страницу молниеносный снимок первых 1000 ячеек, то лепим примерно такой HTML (вложен). *молниеносный снимок - без изменений другими процессами чтобы данные были правильные.
Запускаем на компе или кидаем на диск устройства в каталог Web файлов (это делается так-же через web c парольным доступом или ssh).
На исполнение скриптов и прочего в web требуется логин и пароль соответствующего уровня доступа необходимого для используемых команд.
В общем получаем такую страничку (уменьшено чтоб влезло):
upload_2019-9-25_14-17-16.png
Это самый примитивный пример :)
Простым людям и в этом не разобраться. По этому требуется упрощение.
 

Вложения

chumxeed

New member
[QUOTE = "pvvx, post: 65477, member: 6"]
There are complete sources (SDK), for u-boot too.
I immediately delete the Chinese firmware, tk. she contacts the Chinese Cloud.
I use this way GPIO on Eport Pro-EP10:
Посмотреть вложение 7937
On its assembly of OpenWRT, after the start, more than 20 Megabytes of RAM are available with running services:
DHCP, DNS, NBIOS, LLMNR, mDNS, WEB server, ModbusTCP, ...
The download uses no more than 3 megabytes in SPI-Flash (currently 2.1 MiB). The rest of Flash is reserved for disks for the Web server (5MiB) and saving the annual statistics-logs of the controlled devices (8MiB).
[/ QUOTE]
I'm not sure this thread still active or not. BTW. great find out. I interested in this module. would you share the SDK and your custom openwrt toolchain for this module for the benefit of the other?.
 

aonmaster

New member
Китайская прошивку сразу удаляю, т.к. она связывается с китайскими Cloud.
Я использую так GPIO на Eport Pro-EP10:
Круто! Я пока во всём этом мало понимаю, прошу совета. Раньше использовал USR-TCP232-T2, тоже с веб интерфейсом. Но там GPIO как таковой обрезанный, а мне надо кроме преобразования UART-TCP/IP ещё и иметь возможность пин хотя бы один GPIO использовать через веб или телнет для управления реле.

Если подскажете, как это сделать на модуле Eport Pro-EP10 - буду очень благодарен.
 

aonmaster

New member
Обнаружил сейчас, что Ваш модуль с Pro, а то, что я нашёл на али - вот https://aliexpress.ru/item/32944878256.html там Pro нету :(
Но в PDF для обычного (не Pro) https://ptelectronics.ru/wp-content/uploads/Eport-E10-Serial-Server-User-Manual-20160822.pdf пины расписаны аналогично, вот и думаю теперь, одинаковые ли это устройства или Pro стоит совсем других денег.
 

chumxeed

New member
Версия PRO основана на MCU MIPS, а другая версия - на MCU Cortex-M3. Для этого модуля может существовать SDK, вам следует связаться с поставщиком или hiflying
 

aonmaster

New member
Поясните, пожалуйста, как использовать SDK. Есть для EP10 такой, там указано вот что:
6.6 ep10_gpio_set
Function prototype:
int HSF_API ep10_gpio_set(int gpio, int val)
Description:
Set gpio value for EP10/EP20/HF511A
Parameters:
gpio: gpio number, eg, 1,2
value: 0:low, 1: high

Типа установить уровень на ножке GPIO.
Но как это дело применить-то? я понимаю что такое команда CLI, а это наверное из другой оперы?
Вот ссылка на SDK http://www.hi-flying.com/download-c...download-item-eport-hf51-linux-sdk-user-guide
 
Сверху Снизу