Еще зависание может быть следствием нехватки памяти, тут тоже можно применить несколько оптимизаций:
1. Уменьшить размер буфера того Serial, который направлен в сторону пользователя (а не ESP)
2. Отправлять данные не из оперативной памяти, а из кода программы. Это может довольно сильно сэкономить память, если narodmon готов принимать данные по частям.
В примерах у меня есть такой пример использования:
Код:
connection.send(F("Hi from ESP8266pro, my friend!"));
Про функцию F(..) можете погуглить, это стандартный функционал Arduino. Суть тут в том что в этом случае мы почти не задействуем RAM а шлем данные прямо из кода программы.
3. В крайнем случае размер буфера в моей библиотеке тоже можно уменьшить (но это лучше делать только если другие оптимизации не помогли, т.к. потом могут быть проблемы с приемом)