• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Не знает ли кто многопользовательский вариант Telnet сервера для 8266?

Юрий Ботов

Moderator
Команда форума
Не знает ли кто многопользовательский вариант квази-Telnet сервера для 8266? Тот что в примерах, не смотря на массив клиентов реально поддерживает только одного. Первый прицепляющийся оказывается во всех ячейках массива, а второй немедленно режектится... Как я уже говорил: задача хоббийная, интерпретатор палеозойского языка Trac. То есть некий сервер, вы к нему подключаетесь и программируете себе на тараке. Сейчас (недоделано) подцепиться может всего 2 юзера: rs232 и 1 telnet. Хочется несколько сетевых подключений. Для понимания: GitHub - yurybotov/trac: trac interpreter
 

nikolz

Well-known member
Не знает ли кто многопользовательский вариант квази-Telnet сервера для 8266? Тот что в примерах, не смотря на массив клиентов реально поддерживает только одного. Первый прицепляющийся оказывается во всех ячейках массива, а второй немедленно режектится... Как я уже говорил: задача хоббийная, интерпретатор палеозойского языка Trac. То есть некий сервер, вы к нему подключаетесь и программируете себе на тараке. Сейчас (недоделано) подцепиться может всего 2 юзера: rs232 и 1 telnet. Хочется несколько сетевых подключений. Для понимания: GitHub - yurybotov/trac: trac interpreter
чтобы цепляться к ESP открываете режим softAP с именем и логином. У вас появляется точка доступа в эфире. Со своего устройства с WIFI подключаетесь к этой точке доступа.
 

nikolz

Well-known member
вопрос:
Вы уже реализовали этот интерпретатор на компе, или Вы сразу пытаетесь его реализовать на ESP?
 

tretyakov_sa

Moderator
Команда форума
чтобы цепляться к ESP открываете режим softAP с именем и логином. У вас появляется точка доступа в эфире. Со своего устройства с WIFI подключаетесь к этой точке доступа.
Зачем вы это делаете? Как только человек задает вопрос у вас уже готов бесполезный ответ. Может ответите на поставленный вопрос?
 

Юрий Ботов

Moderator
Команда форума
вопрос:
Вы уже реализовали этот интерпретатор на компе, или Вы сразу пытаетесь его реализовать на ESP?
Первая версия (теперь знаю что не самая удачная) была написана на F#. Работала из командной строки или внешнего файла или через telnet.
Вторая версия (лежит на гитхабе адрес вверху) написана на javascript и работает тупо в браузере. Версия тоже не идеальная, но для поиграться - сойдет.
Эта версия третья, и я хочу сделать именно "компьютер на кристалле". Можно конечно было взять и другой кристалл, но.. у avr маловато памяти (внешнюю не хочу навешивать, хотя это и не проблема), stm32 - с памятью все нормально, но уж больно они большие для столь примитивной задачи, espшка подходит идеально: памяти достаточно, скорости достаточно, выводов хватает выше крыши, да еще на борту есть сеть и какой-никакой диск! Поэтому выбор пал на нее. Ответил?
 

Юрий Ботов

Moderator
Команда форума
чтобы цепляться к ESP открываете режим softAP с именем и логином. У вас появляется точка доступа в эфире. Со своего устройства с WIFI подключаетесь к этой точке доступа.
Спасибо, не то. У меня не точка доступа, а "сервер". Вопрос именно о реализации многопользовательского сервера через один входящий IP порт.
 

nikolz

Well-known member
Спасибо, не то. У меня не точка доступа, а "сервер". Вопрос именно о реализации многопользовательского сервера через один входящий IP порт.
попробуйте сделать UDP сервер.
В этом случае не надо держать открытыми соединения,
поэтому(теоретически) можно по любому числу соединений.
 

nikolz

Well-known member
Первая версия (теперь знаю что не самая удачная) была написана на F#. Работала из командной строки или внешнего файла или через telnet.
Вторая версия (лежит на гитхабе адрес вверху) написана на javascript и работает тупо в браузере. Версия тоже не идеальная, но для поиграться - сойдет.
Эта версия третья, и я хочу сделать именно "компьютер на кристалле". Можно конечно было взять и другой кристалл, но.. у avr маловато памяти (внешнюю не хочу навешивать, хотя это и не проблема), stm32 - с памятью все нормально, но уж больно они большие для столь примитивной задачи, espшка подходит идеально: памяти достаточно, скорости достаточно, выводов хватает выше крыши, да еще на борту есть сеть и какой-никакой диск! Поэтому выбор пал на нее. Ответил?
Как Вариант интерпретатор можно написать на луа под виндой и потом портировать на ESP без проблем.
Если на луа не работали, то поставьте редактор текста SciTe , который написан на луа, содержит компилятор, отладчик.
В нем реализуете интерпретатор и потом просто загоните текст отлаженной программы в nodemcu.
 

Юрий Ботов

Moderator
Команда форума
попробуйте сделать UDP сервер.
В этом случае не надо держать открытыми соединения,
поэтому(теоретически) можно по любому числу соединений.
Не пробовали telnet-ом зайти на UDP сервер? Он от него сразу отваливается и закрывается. UDP не подойдет...
Но если ничего с telnet не получится, придется писать специального клиента на js и цепляться по http...
 

Юрий Ботов

Moderator
Команда форума
Как Вариант интерпретатор можно написать на луа под виндой и потом портировать на ESP без проблем.
Если на луа не работали, то поставьте редактор текста SciTe , который написан на луа, содержит компилятор, отладчик.
В нем реализуете интерпретатор и потом просто загоните текст отлаженной программы в nodemcu.
Интерпретатор написать на интерпретаторе? :) Смысл?
 

nikolz

Well-known member
Интерпретатор написать на интерпретаторе? :) Смысл?
Я не пользуюсь телнетом, так как просто делаю себе на луа или на си интерфейс обмена.
Написать на луа имеет смысл для отладки алгоритма.
как правило на это уходит 1-2 дня. Потом уже готовый алгоритм можно перенести на любой другой любимый язык.
Из своего опыта знаю, что если пишу сразу на СИ то уйдет например недели две, а если сначала на луа а потом на си (если надо скорость увеличить), то время надо раза в два меньше. часто на луа вполне быстро работает, так как все операторы в луа сделаны в нативном коде и изначально написаны на си. Кроме того, строки хранятся в хеше и на сравниваются как числа, поэтому обработка строк гораздо быстрее чем даже на СИ без хеша.
В луа нет дублекатов таблиц и все обрабатывается по указателям, что также существенно ускоряет вычисления.
короче говоря, попробуйте, Вам понравится.
 
Сверху Снизу