Через 3g у Вас, скорее всего, не динамический, а "серый" (за файрволом) ip и сервис расшаривания адресов Вам не поможет.
Решение в управлении по про протоколу MQTT через платный или открытый брокер (iot.eclipse.org) или организации VPN.
Lua от NodeMCU имеет like JS таймеры. Подвешенный на них код (грязный хак) становится самостоятельной нитью.
Кроме того, есть серьезный перечень асинхронных функций. Вместе с ними событийное программирование не представляется сложным.
Вот перечень основных асинхронных функций. Но это малая...
Угу. В несколько потоков. Без механизма диспетчеризации (Lua/NodeMCU, JavaScript) - он там по умолчанию есть. Но чтобы не получать информацию от лохов, типа меня - прочтите что-то по JS и все поймете. Повторюсь - приблизительно также и в Lua от NodеMCU.
К нему. ТС то, он вообще жжот: дали ему...
Не хотелось бы разводить холивар, но ваш тезис верен ровно до того момента, когда надо писать асинхронный код.
И наоборот, пока идет развлекуха с блинканьем/пиканьем - Lua ацки неудобен.