Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

ESP Sky – Онлайн редактор для lua скриптов

Тема в разделе "NodeMCU", создана пользователем Shade, 4 ноя 2016.

?

Стали бы пользоваться

Голосование закрыто 13 янв 2017.
  1. Да

    5 голосов
    100,0%
  2. Нет

    0 голосов
    0,0%
  1. Shade

    Shade Новичок

    Сообщения:
    30
    Симпатии:
    3
    Обновление безопасности:
    • Обязательный HTTPS для редактора
    • Шифрование AES128 для сообщений с MQTT
    • При скачивании файлов проверяется их подпись. Т.е. посторонний видит содержимое, но не может его подменить.
    • Новая демка для SPI дисплея (например Nokia 5110, он же pcd8544)
    Так что теперь устройства плюс минус защищены.

    Чтобы обновиться, нужно скачать новый ESPSky.lua и ребутнуться

    Код (Text):
    1. http.get("http://espsky.com/resources/setup/espsky-latest.txt", nil, function(code, data) if (code == 200) then file.open("ESPSky.lua", "w+"); file.write(data); file.close(); print("OK");else print("ERR");end; end)
    [​IMG]



    [​IMG]
     
  2. khseal

    khseal Новичок

    Сообщения:
    10
    Симпатии:
    1
    Круто, так же прикрутить бы еще отправку на esp не только lua файлов. К примеру мне нужно html страничку отредактировать. А она не заливается на esp...
    А похоже мне надо обновлять ESPSky с шифрованием. Т.к. все файлы не заливаются...
    Хорошо бы две версии сделать с шифрованием и без. Т.к. шифрование отъело еще оперативной памяти...
     
    Последнее редактирование: 1 дек 2016
  3. Shade

    Shade Новичок

    Сообщения:
    30
    Симпатии:
    3
    Так другие файлы тоже можно отправить — достаточно просто в редакторе сделать не lua файл а например html. Сейчас редактор будет их подсвечивать так же как lua файл, но зальются они правильно.

    Без шифрования должно продолжить работать, думаю просто в коде где-то бага.
    По крайней мере мне вчера удалось залить через редактор на нешифрованное esp новый файл и запустить его.
     
  4. khseal

    khseal Новичок

    Сообщения:
    10
    Симпатии:
    1
    Да, все залилось правильно, это из-за бага с шифрованием я подумал что html не заливается. А оказалось все файлы не заливаются. Да там и команды на ESP почему то не передавались.
    Попробую еще раз не шифрованную версию проверить.
    UPD
    Версия и без шифрования работает. Странно, может я вчера что-то сам не так заколхозил...
     
    Последнее редактирование: 2 дек 2016
  5. Andrey12

    Andrey12 Новичок

    Сообщения:
    2
    Симпатии:
    0
    Почему то не печатает print("sent : ") которые внутри функций.
     
  6. khseal

    khseal Новичок

    Сообщения:
    10
    Симпатии:
    1
    Все таки версия без шифрования не работает на новых привязанных девайсах. Т.е. на той что было привязке работало. Я удалил девайс. Добавил заново и все перестало работать. Т.е. сам девайс видно в сети и он подключается, но команды никакие не работают.
     
  7. Shade

    Shade Новичок

    Сообщения:
    30
    Симпатии:
    3
    Скорее всего у вас не просто функция, а асинхронный коллбэк.

    например так:
    Код (Text):
    1. http.get("http://google.com", nil, function()
    2.  
    3.      print('123')
    4.  
    5. end)
    пока так и задумано. ESPSky слушает node.output только на время выполнения скрипта, а когда файл скачается, то скрипт к тому моменту уже будет выполнен и pint(123) в ESPsky не появится. Я уже сам на это неудобство нарвался, поменяю.
     
  8. Shade

    Shade Новичок

    Сообщения:
    30
    Симпатии:
    3
    Разбираюсь, займет какое-то время т.к. сейчас пока есть другие задачи.
     
  9. Shade

    Shade Новичок

    Сообщения:
    30
    Симпатии:
    3
    А, все же, нужна ли нам версия без шифрования? Ведь в будущем оно все равно отомрет.
     
  10. khseal

    khseal Новичок

    Сообщения:
    10
    Симпатии:
    1
    Хз, у меня версия с шифрованием не стабильно работает. Работает определенное время и устройство тупо не онлайн. Перезагружаешь устройство, оно опять онлайн. Хотя все остальное на самом esp работает без проблем...
     
  11. Andrii.Ievdoshenko

    Andrii.Ievdoshenko Новичок

    Сообщения:
    1
    Симпатии:
    0
    Идея супер, есть вопрос защиты сервиса от хакеров? Не хочеться стать частью ботнета?
    Спасибо!
     
  12. Shade

    Shade Новичок

    Сообщения:
    30
    Симпатии:
    3
    привет, аккурат про секьюрити в первом сообщении на этой странице.

    команды шифруются AES закрытым ключём, который никогда не покидает устройство
    скачваемые файлы подписываются с учетом секретного ключа, т.е. устройство чужой код точно не выполнит.
     
  13. Shade

    Shade Новичок

    Сообщения:
    30
    Симпатии:
    3
    Мой доклад на митапе Mail.ru:
     
    OlegRnD нравится это.
  14. Vladimir555

    Vladimir555 Читатель

    Сообщения:
    312
    Симпатии:
    5
    Привет!
    Интересное решение, нормальная презентация,
    а можно зарегистрироваться не через фейсбук ?
     
  15. Shade

    Shade Новичок

    Сообщения:
    30
    Симпатии:
    3
    Хай!
    Пока нет, но это потому что этот вариант реализации был самым быстрым.
    EspSky берет только имя и фотку для аватарки, так что можно логиниться через FB без опаски публикаций на стену и прочего непотребства.

    В течение недели, если сойдутся звёзды, добавлю авторизацию просто по почте.
     
  16. Past

    Past Читатель

    Сообщения:
    60
    Симпатии:
    9
    Перестало работать в текущем dev из за замены cjson на sjson.
    После патчинья ESPSky.lua методом s/cjson/sjson/g вываливается с ошибкой
    Код (Lua):
    1. > Warning, deprecated API! autoreconnect == 1 is deprecated. It will be removed in the next version. See documentation for details.
    2. ESPSky secure connection complete
    3. PANIC: unprotected error in call to Lua API (ESPSky.lua:6: JSON parse error: FOUND_NULL_BYTE)
     
  17. Shade

    Shade Новичок

    Сообщения:
    30
    Симпатии:
    3
    Спасибо.
    Эта ошибка очень похожа на багу именно в самом SJSON (по этой причине он видимо еще и живет в DEV ветке)

    на 6-й строчке в ESPSky.lua находится cjson.decode от decodeMessage
    а сам decodeMessage используется при распарсивании сообщения от сервера.
    На стороне сервера стоит чрезвычайно популярный сериализатор JS, нет оснований сомневаться в валидности выдаваемого им json-на.

    Думаю нужно либо немного подождать, либо создать багу на гитхабе nodemcu
    GitHub - nodemcu/nodemcu-firmware: lua based interactive firmware for mcu like esp8266
     
  18. panama

    panama Новичок

    Сообщения:
    3
    Симпатии:
    0
    @Shade на NodeMCU custom builds теперь в master ветке вместо cjson можно выбрать только sjson. Только возникает ошибка:
    Код (Text):
    1. ESPSky.lua:3: attempt to index global 'cjson'
    Можно как то исправить?
     
  19. Past

    Past Читатель

    Сообщения:
    60
    Симпатии:
    9
    Вы прочитали два предыдущих поста?
     
  20. panama

    panama Новичок

    Сообщения:
    3
    Симпатии:
    0
    Да, поэтому и спросил, т.к. в master ветке теперь нету cjson, а с sjson не работает. А в предыдущих 2 постах разговор шел про dev.
     

Поделиться этой страницей