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

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

lsm

Разработчик Smart.js
Команда форума
После релиза https, возможно будет использовать подключение через wss в WebSocket?
Да, конечно.
TLS реализуется на уровне Мангуста, сетевого движка Smart.js. Это значит любое TCP соединение - HTTP, MQTT, WebSocket, etc, может быть завернуто в TLS.
 

Igor Djugostran

New member
При компиляции выдаёт несколько ошибок
Код:
../../common/platforms/esp8266/config.c:136:19: error: 'const struct sys_config_wifi_ap' has no member named 'enable'
   if (cfg->wifi.ap.enable && cfg->wifi.sta.enable) {
                   ^
../../common/platforms/esp8266/config.c:138:26: error: 'const struct sys_config_wifi_ap' has no member named 'enable'
   } else if (cfg->wifi.ap.enable) {
                          ^
../../common/platforms/esp8266/config.c:151:19: error: 'const struct sys_config_wifi_ap' has no member named 'enable'
   if (cfg->wifi.ap.enable && !do_ap(cfg)) {
                   ^
make: *** [/cesanta/smart.js/platforms/esp8266/build/config.o] Error 1
make: Leaving directory `/cesanta/smart.js/platforms/esp8266'
make: *** [all] Error 2
 

Igor Djugostran

New member
Обновил, скомпилировалось, но после прошивки, esp не запустилась. Посмотрел в make файле там указан FLASH_SIZE ?= 1M FS_SIZE ?= 64K
Нашёл у себя старую версию файла, поменял на старые значения. После компиляции написало
Code size: 425K of 424K, -2K (0%) is available
Но esp заработало. Не знаю на сколько стабильный билд получился.
 

lsm

Разработчик Smart.js
Команда форума
Но esp заработало. Не знаю на сколько стабильный билд получился.
Нестабильный билд получился :)
Файловая система затерла кусок прошивки.
В последних версиях размер прошивки распух и вылез за пределы 512k, то есть поддержка ESP-01 сломалась. То есть на данный момент прошивка работает только для железок с флешом > 512k.
 

Victor

Administrator
Команда форума

lsm

Разработчик Smart.js
Команда форума
Вот такое форматирование файловой системы обязательно поможет :)
Да, неплохое решение :)

@Jazz777 , по триггеру режима установки: мы помучались с RTC, и пока решили сделать триггер на GPIO - уже реализовали. Сейчас подчищаем несколько вещей, типа поддержки SSL, глюки с DAV - после чего выложу обновление.
 

Jazz777

New member
мы помучались с RTC
Это да, задачка явно не тривиальная, ведь esp "не знает" сколько она была выключена, я так понимаю часов реального времени у нее нет и время начинается с нуля при включении. На вскидку можно записывать метки в первые секунды после старта, а во время следующего старта анализировать всех ли меток хватает. Если не всех, значит вырубили через такое-то время. Хотя, конечно, на первом этапе GPIO вполне подойдет.
Сейчас подчищаем несколько вещей, типа поддержки SSL, глюки с DAV - после чего выложу обновление.
Ура. Не хотел вас дергать спрашиванием, ну как там, не забыли ли про меня )) Очень жду. Я пока собрал некое подобие делителя напряжения для ADC и сообщение на сайте на почту об отсутствии сигнала с устройства. И запустил тестирование реалтайм. ADC, конечно, иначе как "шуткой инженеров" не назовешь. Всё работает на 3,3, а ADC меряет до 1. А любые делители во-первых дополнительно будут сажать батарейку, во-вторых значительно снижают точность измерения. Ну, что-то меряет. Сейчас продумываю методы калибровки. Результаты расскажу..
 

Jazz777

New member
Первые результаты выявляют зависание с перезагрузкой через 5-15 часов после запуска.Завис02.jpg Завис02_01.jpg
На всякий случай скидываю код:
JavaScript:
function report() {
  var i;
  var m_adc;
  var s_adc = 0;
  var f_adc;
  print('sending request...');
  GPIO.write(5, 1);
  for (i = 1; i <= 10; i++) {
  m_adc = ADC.read(0);
  s_adc = s_adc + m_adc;
//  print(i);
//  print(m_adc);
//  print(s_adc);
  }
  GPIO.write(5, 0);
  f_adc = Math.round(s_adc / 10);
  print(f_adc);
  Http.request({
    hostname: 'www.womencreative.ru',
    path: '/esp.php?n=' + GC.stat().sysfree  + '&adc=' + f_adc + '&mac=' + Sys.ro_vars.mac_address // Free RAM & ADC
  }, function(response) { print(response); }).end(/* no POST data */)
  .setTimeout(3000, function() {
    this.abort();   // Timeout request after 3 seconds
  });
  setTimeout(report, 60000);  // Report every 60 seconds
};

report();

Пока могу только собирать статистику. Отпишитесь, что думаете. Ну или могу просто дождаться новой прошивки, вдруг само вылечится.
 
Последнее редактирование модератором:
  • Like
Реакции: lsm

lsm

Разработчик Smart.js
Команда форума
@Jazz777 , спасибо,
Хмм, несколько часов работает.. а в логе что показывается по свободной памяти - особенно перед крешем - уменьшается память или нет? Какие там значения?
 

Jazz777

New member
Нет, даже наоборот немного вверх идет:
23.12.2015 10:52:35 Mem: 22672 mac: 5ecf7f0ac820 ADC: 1024
23.12.2015 10:53:35 Mem: 22672 mac: 5ecf7f0ac820 ADC: 1024
23.12.2015 10:54:35 Mem: 22664 mac: 5ecf7f0ac820 ADC: 1024
23.12.2015 10:55:35 Mem: 22672 mac: 5ecf7f0ac820 ADC: 1024
23.12.2015 10:56:35 Mem: 22672 mac: 5ecf7f0ac820 ADC: 1021
23.12.2015 10:57:35 Mem: 22664 mac: 5ecf7f0ac820 ADC: 1024
23.12.2015 10:58:35 Mem: 22672 mac: 5ecf7f0ac820 ADC: 1024
23.12.2015 10:59:35 Mem: 22672 mac: 5ecf7f0ac820 ADC: 1021
23.12.2015 11:00:35 Mem: 22664 mac: 5ecf7f0ac820 ADC: 1024
23.12.2015 11:01:36 Mem: 22672 mac: 5ecf7f0ac820 ADC: 1022
23.12.2015 11:02:36 Mem: 22672 mac: 5ecf7f0ac820 ADC: 1024
23.12.2015 11:03:36 Mem: 22664 mac: 5ecf7f0ac820 ADC: 1024
23.12.2015 11:04:36 Mem: 22672 mac: 5ecf7f0ac820 ADC: 1024
23.12.2015 11:05:36 Mem: 22672 mac: 5ecf7f0ac820 ADC: 1022
23.12.2015 11:06:36 Mem: 23120 mac: 5ecf7f0ac820 ADC: 1023

Сейчас вообще меньше двух часов проработал:
23.12.2015 14:08:31 Mem: 22544 mac: 5ecf7f0ac820 ADC: 1023
23.12.2015 14:09:31 Mem: 22544 mac: 5ecf7f0ac820 ADC: 1024
23.12.2015 14:10:31 Mem: 22576 mac: 5ecf7f0ac820 ADC: 1023
23.12.2015 14:11:31 Mem: 22544 mac: 5ecf7f0ac820 ADC: 1022
23.12.2015 14:12:31 Mem: 22552 mac: 5ecf7f0ac820 ADC: 1023
23.12.2015 14:13:31 Mem: 22568 mac: 5ecf7f0ac820 ADC: 1023
23.12.2015 14:14:31 Mem: 22544 mac: 5ecf7f0ac820 ADC: 1024
23.12.2015 14:15:31 Mem: 22544 mac: 5ecf7f0ac820 ADC: 1023
23.12.2015 14:16:32 Mem: 22576 mac: 5ecf7f0ac820 ADC: 1024
23.12.2015 14:17:32 Mem: 22544 mac: 5ecf7f0ac820 ADC: 1023
23.12.2015 14:18:32 Mem: 22552 mac: 5ecf7f0ac820 ADC: 1024
23.12.2015 14:19:32 Mem: 23016 mac: 5ecf7f0ac820 ADC: 1024

И, кстати, после такого ребута, он хоть приглашение выдает, но файлы не эвалит, приходится питание щелкать..
 
  • Like
Реакции: lsm

lsm

Разработчик Smart.js
Команда форума
Пробуйте новую прошивку (ссылки для mac и win):

https://backend.cesanta.com/devel/win_fw_20160104_224731.zip
https://backend.cesanta.com/devel/mac_fw_20160104_224731.zip

Что сделано:
1. Много фиксов в JS движке
2. Опция в конфиге - триггер AP по GPIO во время reboot
3. Опция в конфиге - не включать AP если STA сконфигурирован

Над чем работаем - продолжаем работу над движком, конфигуратором, OTA, DAV.
 

Jazz777

New member
Блин, сел проверять и чет не могу перепрошить - видимо забыл за праздники )) Помогите. ESP12:
gnd - земля
Vcc - 3,3v
Gpio15 через 10кОм к земле
Tx к компу
En к 3,3
И для прошивки подтянуть GPIO0 к нулю перед стартом.
Пишет Failed to talk to bootloader.
Хотя если просто запустить - всё стартует и работает
 

rojer

Разработчик Smart.js
Команда форума
Блин, сел проверять и чет не могу перепрошить - видимо забыл за праздники )) Помогите. ESP12:
gnd - земля
Vcc - 3,3v
Gpio15 через 10кОм к земле
Tx к компу
En к 3,3
И для прошивки подтянуть GPIO0 к нулю перед стартом.
Пишет Failed to talk to bootloader.
Хотя если просто запустить - всё стартует и работает

TX к компу, а RX? RX тоже надо, в обе стороны обмен идёт.
 

Jazz777

New member
Ау, меня услышали? Несколько раз запустил, крешится в рандомное время обычно меньше двух часов. У вас есть такой эффект? Ещё что-то тестировать или ждать обновления?
 

alashkin

Разработчик Smart.js
Команда форума
Ау, меня услышали? Несколько раз запустил, крешится в рандомное время обычно меньше двух часов. У вас есть такой эффект? Ещё что-то тестировать или ждать обновления?
Услышали. Воспроизвёл.
Думаем. =)
Спасибо!
 
Сверху Снизу