• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

А можно несколько примеров?

lsm

Разработчик Smart.js
Команда форума
Присоединюсь к тестированию) Залил последний билд - сохранение настроек не завелось - отдаёт 404 ошибку на http://192.168.4.1/save_settings
Negor, поподробнее пожалуйста!
Только сохранение глючит? Как с другой функциональностью - есть проблемы? Какой браузер?
 

Negor

New member
lsm, извиняюсь, видимо было временное. Туперь не воспроихводится и я не знаю почему. Но усть другое - при считывании файлов первые две строчки - set_errno set spiff error -10003
 

Jazz777

New member
Будем реализовывать
Отлично. Спасибо. Тогда, я так понял, я пока что сажусь под пальму и жду чего нибудь для тестирования..

Тот факт что нельзя передавать STA пароль, усложняет дело - нужно придумать механизм как это сделать без костылей.
Конкретно здесь я, конечно, не могу знать в чем сложность. Могу пофантазировать например в конфиге по спец галочке отрубать доступ к файлам АР по вайфай, оставляя только вариант с UART, ну и звездочки на странице (понятно, такие звездочки, которые не открываются открывателями звездочек). А в целом согласен, лучше подумать и сделать нормально - потом с костылями затутыркаемся..
Теоретически остается дыра в виде доступа к этому паролю по UART, но, честно говоря, её бы я оставил в базовой версии. Это, наверное, корректно можно только шифрованием закрыть, а мы всё-таки не Windows Server верстаем ))
 
Последнее редактирование:
  • Like
Реакции: lsm

lsm

Разработчик Smart.js
Команда форума
lsm, извиняюсь, видимо было временное. Туперь не воспроихводится и я не знаю почему. Но усть другое - при считывании файлов первые две строчки - set_errno set spiff error -10003
А, это SPIFFS (SPI файловая система на флеше) ругается - https://github.com/pellepl/spiffs/blob/master/src/spiffs.h#L20 . Это можно игнорировать. Браузер запрашивает файл, а его нет.
Пожалуй стоит убрать debug output на UART1 - мы это сделаем настройкой по умолчанию.
 

Jazz777

New member
Ещё момент. Иногда в рандомных случаях не подключается к АР. Выглядит это так:

Ошибка подключения к АР.jpg
Со стороны девайса выглядит вот так:

Не подключается к АР.jpg

Никакого другого логирования нету, так что больше ничем тут помочь не могу. При этом через какое-то время подключается без проблем. Предлагаю в следующих версиях прошивки выводить более подробную информацию о подобных подключениях, ну или если тут всё и так понятно - то жду фикса.
 

lsm

Разработчик Smart.js
Команда форума
Ещё момент: на веб страничку, выведите, пожалуйста полный мак, чтобы пользователь мог сьидентифицировать себя по нему на сайте (можно, конечно и по обрезанному в названии АР, но если у кого совпадет, будет не приятно..)
Полный MAC - уже сделано! Доступен через Sys.ro_vars.mac_address (скролл вправо):

Код:
Starting Smart.js - see documentation at https://cesanta.com/developer/smartjs
==> Sys:
{"id":"esp8266_5ECF7F05FE8A","conf":{"xdebug":{"level":3},"debug":{"mode":2,"level":3},"http":{"enable_webdav":true,"port":"80","enable":true},"wifi":{"ap":{"dhcp_netmask":"255.255.255.0","dhcp_end":"192.168.4.200","dhcp_start":"192.168.4.1","channel":6,"hidden":0,"pass":"Elduderino","ssid":"SMARTJS_??????","enable":true},"sta":{"pass":"FDZPHKZF","ssid":"Sholz","enable":true}}},"ro_vars":{"fw_version":"ESP8266/cc/20151212-174957/26e807dc","arch":"esp8266","mac_address":"5ECF7F05FE8A"}}
Executing app_init.js

smartjs 24856/1092$
Заливайте, пробуйте:
https://backend.cesanta.com/devel/win_fw_20151213_130615.zip

Да, кстати говоря. Про WebDav. Как по мне, очень удобная вещь для редактирования файлов.
Влючаете модуль - как AP, STA, или SOFTAP (одновременно AP и STA). Я например для тестов всегда SOFTAP делаю, потому что модуль может в internet ходить, и на него тоже можно заходить.

Итак, например, включился модуль, и теперь доступен по 192.168.0.16 в локальной сети.
Берем Windows Explorer (на Mac - Finder). И монтируем модуль как внешний WebDAV диск:
Screen Shot 2015-12-13 at 11.36.48.png
Я Mac использую, поэтому скриншоты на маке покажу - на Windows аналогичный процесс.
После чего модуль видно как обычный диск:

Screen Shot 2015-12-13 at 12.59.47.png
Можно работать с файлами в обычном редакторе или IDE, делать backups, и тд.
Мой use case такой: редактирую app_init.js, опять редактирую до тех пор пока не станет работать как нужно.

Мы планируем сделать функциональность "сделать снимок", чтобы текущую прошивку можно было сохранить, залить на облако, и тд.
 

lsm

Разработчик Smart.js
Команда форума
Никакого другого логирования нету, так что больше ничем тут помочь не могу. При этом через какое-то время подключается без проблем. Предлагаю в следующих версиях прошивки выводить более подробную информацию о подобных подключениях, ну или если тут всё и так понятно - то жду фикса.
Да, мы тоже это заметили, разбираемся.
BTW - про WebDAV функциональность.
Насколько мне известно, мы первые которые так работают с wifi модулем. Это возможно потому что сетевое ядро Smart.js - это Мангуст (https://github.com/cesanta/mongoose) который кроме всего прочего умеет WebDAV.

Очень удобно - я напрямую в терминале или в редакторе работаю с файлами:

Код:
/Volumes/192.168.0.16$ ls
I2C.js                 conf.json              conf_sys_defaults.json sys_init.js
app_init.js            conf_app_defaults.json conf_sys_schema.json
clubby.js              conf_app_schema.json   index.html
/Volumes/192.168.0.16$ cat conf.json
{
  "wifi": {
    "sta": {
      "enable": true,
      "ssid": "MyWifi",
      "pass": "12345678"
    }
  },
  "debug": {
    "mode": 1,
    "level": 3
  }
}

Хотя я просто могу не знать - мне неизвестны другие проекты которые используют WebDAV для доступа к файловой системе IoT модулей.
 
Последнее редактирование:

Jazz777

New member
Да, кстати говоря. Про WebDav. Как по мне, очень удобная вещь для редактирования файлов.
Потестил - прям красота ))
В винде называется Подключение к вебсайту, на котором вы можете хранить документы и изображения.
Подключается, открывает, редактировать позволяет. Даже из Тотал коммандера никаких проблем с доступом.
Только когда пытаюсь туда новый файл записать, пишет:
Ошибка в ТС.jpg
В проводнике ошибка аналогичная. Всё это с правами админа.
 
  • Like
Реакции: lsm

Negor

New member
Также потестил. Остался доволен. Можно ли приделать конфиг, чтоб в нём задать какие файлы нужно эвалить при записи по DAV ?
 

lsm

Разработчик Smart.js
Команда форума
Также потестил. Остался доволен. Можно ли приделать конфиг, чтоб в нём задать какие файлы нужно эвалить при записи по DAV ?
Это для того чтобы сделать типа интерактивную консоль через WiFi ? Можете use case рассказать, как именно это будет использоваться?

Мысли про интерактивную консоль уже давно были, и даже простая реализация была - тут лежит: https://github.com/cesanta/smart.js/tree/master/platforms/esp8266/examples/http_eval, уже поломанная к сожалению.
Еще не придумали как сделать красиво, все на уровне дизайна пока.
 

Victor

Administrator
Команда форума
извиняюсь, что вторгаюсь в вашу весьма интересную беседу, но хотелось бы узнать:
1. поддержка mqtt еще не появилась? может имеет смысл пока запилить поддержку mqtt обернутую в WebSockets, раз поддержка WebSockets уже есть?
2. когда в планах https?
 

lsm

Разработчик Smart.js
Команда форума
извиняюсь, что вторгаюсь в вашу весьма интересную беседу, но хотелось бы узнать:
1. поддержка mqtt еще не появилась? может имеет смысл пока запилить поддержку mqtt обернутую в WebSockets, раз поддержка WebSockets уже есть?
2. когда в планах https?
Приветствую Виктор!

MQTT еще нет. На низком уровне (Мангуст, С) он есть, а до JS обертки еще руки не дошли. Конечно планируем, но точно не в ближайшие 2 недели. Середина Q1 2016. Сейчас заняты конфигурацией, HTTP, и OTA.

MQTT over Websockets - вариант, это кстати можно и на JS написать, нас можно не ждать. WebSocket JS клиент есть рабочий.

HTTPS - он уже в процессе, планируем выкатить до НГ, сейчас тестируем. Движок TLS - наш собственный, криптон: https://github.com/cesanta/krypton.

BTW штатный TLS который в SDK - когда мы на него последний раз смотрели, он даже проверки сертификата не делает, то есть что он есть, что его нет - security он никакого не предоставляет. Используется насколько я помню axTLS в качестве движка.
 

Negor

New member
Тут вот что вскрылось - при попытке создать файл, всё как у Jazz777, невозможно и всё такое. Но если посмотреть список файлов(File.list) то имеем
Код:
["Новый текстовый д\,"Новый текстовый д\,"app_init.js","conf.json","main.js","I2C.js","conf_sys_defaults.json","index.html","conf_app_defaults.json","conf_app_schema.json","conf_sys_schema.json","sys_init.js","clubby.js"]
Т.е. как ивдите - появилось в записях два файла с именем Новый текстовый... что то там. Может проблема в попытке создать новый файл через проводник - с именем из кирилицы?
 

lsm

Разработчик Smart.js
Команда форума
И да - функциональность
Т.е. как ивдите - появилось в записях два файла с именем Новый текстовый... что то там. Может проблема в попытке создать новый файл через проводник - с именем из кирилицы?
А ежели с аглицкими буквами новый файл сделать?
 

Negor

New member
всё) приплыли) Не могу ничего записать. И перезаливка прошивки ничего не даёт - файлы остаются. Как то можно переформатировать всё перед прошивкой? использую flashchip
 

Jazz777

New member
А ежели с аглицкими буквами новый файл сделать?
У меня же в примере на английском и не работает. Попробовал в проводнике создать на анлийском, но там я так понял сначала файл создается и записывается по-русски, а потом его переименовывать надо по идеалогии. Соответственно тоже глючит. Тотал позволяет сразу с английскими именами файлы создавать - но и там тоже ошибку выдает.
 

Negor

New member
Это для того чтобы сделать типа интерактивную консоль через WiFi ? Можете use case рассказать, как именно это будет использоваться?
Не, вот я отредактировал файл через webdav. Хочу проверить его работу. Для это в консоли мне нужно проэвалить отредактированный файл. А если б файл эвалился автоматом - я сразу перехожу к тестированию
 

Jazz777

New member
На самом деле ошибки с WebDav абсолютно не критичны. Намного больше интересно то, что мы по пунктам расписали. Можете хотя бы примерно сориентировать по времени когда это ждать?
 
Сверху Снизу