• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

smart.js : общие вопросы

joviallix

New member
Ok, сейчас попробую.
Даже если и претензия - то это OK =).
У нас Windows постоянно выпадает из поля зрения, стараемся это изменить, но у нас в команде нет никого, что бы Windows использовал на постоянной основе, поэтому с ней чудеса временами происходят.
PS: пошёл проверять, отпишусь по результатам.
У меня есть убунта под рукой, как на ней зупустить? Я так понимаю, докер образы заново качать?
Щас попробую перенести, наверняка как-то можно.

PS: Открыл графическую оболочку докера и там появились новые контейнеры. Особенно нравится название выделенного :)
upload_2016-3-25_13-7-12.png
 

alashkin

Разработчик Smart.js
Команда форума
@alashkin Спасибо за ответ. Поехали:
.
Кстати, я вот что подумал. При чекауте репозитория (нашего) _важно_ что бы git не переиначивал \n в \r\n, как он обычно делает на Windows

У вас что выводит команда
git config --global --get core.autocrlf
?
 

alashkin

Разработчик Smart.js
Команда форума
У меня есть убунта под рукой, как на ней зупустить? Я так понимаю, докер образы заново качать?
Щас попробую перенести, наверняка как-то можно.

PS: Открыл графическую оболочку докера и там появились новые контейнеры. Особенно нравится название выделенного :)
Это не наше =)

Хотя нет, наше =)
Я не знаю, то кинетик тут показывает, если честно - у меня то его нет

>>Я так понимаю, докер образы заново качать?
Увы да.

Но я бы предложил под Windows собрать. Оно работает, я недавно проверял
 

joviallix

New member
Кстати, я вот что подумал. При чекауте репозитория (нашего) _важно_ что бы git не переиначивал \n в \r\n, как он обычно делает на Windows

У вас что выводит команда
git config --global --get core.autocrlf
?
Да не должен у меня гит такое делать, комманда выдала пустой ответ. Я занимаюсь веб разработкой и часто работаю с UNIX системами, git c Windows у меня обычно на оборот меняет \r\n в \n.
Сейчас буду ставить докер на убунту, может взлетит, интернет не особо быстрый. Но под виндой конечно было бы тоже неплохо собирать ;)
 

alashkin

Разработчик Smart.js
Команда форума
Да не должен у меня гит такое делать, комманда выдала пустой ответ. Я занимаюсь веб разработкой и часто работаю с UNIX системами, git c Windows у меня обычно на оборот меняет \r\n в \n.
Сейчас буду ставить докер на убунту, может взлетит, интернет не особо быстрый. Но под виндой конечно было бы тоже неплохо собирать ;)
ну это легко проверить - откройте любой исходник из нашей репы в Notepad. Тот \n не понимает и покажет одну длинную строку если всё ОК
 

joviallix

New member
ну это легко проверить - откройте любой исходник из нашей репы в Notepad. Тот \n не понимает и покажет одну длинную строку если всё ОК
Да, действительно. Я почитал, в гите не только для Windows но для Unix, autoclrf включен по дефолту и он мне перегоняет везде все правильно, а тут получается репозиторий на винде лежит, а использует его linux контейнер. В общем, качаю репозиторий заново. Скоро отпишусь
 

alashkin

Разработчик Smart.js
Команда форума
Да, действительно. Я почитал, в гите не только для Windows но для Unix, autoclrf включен по дефолту и он мне перегоняет везде все правильно, а тут получается репозиторий на винде лежит, а использует его linux контейнер. В общем, качаю репозиторий заново. Скоро отпишусь
Толко надо autoclrf поменять, в input например
(но потом обратно вернуть,а то прочие репы можно покорёжить)
Если после этого заработает, я .gitattributes туда добавлю, что бы впредь таких проблем не возникало
 

joviallix

New member
Толко надо autoclrf поменять, в input например
(но потом обратно вернуть,а то прочие репы можно покорёжить)
Если после этого заработает, я .gitattributes туда добавлю, что бы впредь таких проблем не возникало
И так. Поменял в настройках гита autoclrf на false и выгрузил репу заново - это не помогло, почему-то переносы опять поменялись.
Выгрузил на убунте репозиторий и скинул на винду, переносы остались \n, как надо, после этого запустил make.sh, прошло чуть дальше но всеравно упало

Код:
  CC    ../../src/sj_wifi_js.c -> /cesanta/smartjs/platforms/esp8266/build/posix_sjs_build/sj_wifi_js.o
  CC    ../../src/clubby_proto.c -> /cesanta/smartjs/platforms/esp8266/build/posix_sjs_build/clubby_proto.o
  CC    ../../../common/ubjserializer.c -> /cesanta/smartjs/platforms/esp8266/build/posix_sjs_build/ubjserializer.o
  CC    ../../src/sj_clubby.c -> /cesanta/smartjs/platforms/esp8266/build/posix_sjs_build/sj_clubby.o
  CC    ../../src/sj_common.c -> /cesanta/smartjs/platforms/esp8266/build/posix_sjs_build/sj_common.o
  CC    ../../src/sj_config.c -> /cesanta/smartjs/platforms/esp8266/build/posix_sjs_build/sj_config.o
  CC    ../../src/device_config.c -> /cesanta/smartjs/platforms/esp8266/build/posix_sjs_build/device_config.o
  CC    /cesanta/smartjs/platforms/esp8266/build/posix_sjs_build/sys_config.c -> /cesanta/smartjs/platforms/esp8266/build/posix_sjs_build/sys_config.o
  GEN   /cesanta/smartjs/platforms/esp8266/build/posix_sjs_build/build_info.c
  CC    /cesanta/smartjs/platforms/esp8266/build/posix_sjs_build/build_info.c -> /cesanta/smartjs/platforms/esp8266/build/posix_sjs_build/build_info.o
LD /cesanta/smartjs/platforms/esp8266/build/posix_sjs_bin/smartjs
MKFS fs
Can't remove /cesanta/smartjs/platforms/esp8266/build/posix_sjs_bin/conf_sys_defaults.json: Text file busy, skipping file.
make[1]: Leaving directory `/cesanta/smartjs/platforms/posix'
  FREEZE
  /cesanta/smartjs/platforms/esp8266/build/posix_sjs_bin/smartjs
  GEN   fr.c
  CC    ../../../smartjs/platforms/esp8266/user/c_sscanf.c -> /cesanta/smartjs/platforms/esp8266/build/c_sscanf.o
  CC    ../../../smartjs/platforms/esp8266/user/esp_adc.c -> /cesanta/smartjs/platforms/esp8266/build/esp_adc.o
  CC    ../../../smartjs/platforms/esp8266/user/esp_config.c -> /cesanta/smartjs/platforms/esp8266/build/esp_config.o
In file included from ../../../mongoose/mongoose.h:1017:0,
                 from ../../../smartjs/platforms/esp8266/user/esp_config.c:11:
../../../krypton/openssl/ssl.h:1:1: error: expected identifier or '(' before '.' token
../krypton.h
^
In file included from ../../../smartjs/platforms/esp8266/user/esp_config.c:11:0:../../../mongoose/mongoose.h:1098:24: error: field 'sa' has incomplete type
   union socket_address sa; /* Remote peer address */
                        ^
../../../mongoose/mongoose.h:1102:3: error: unknown type name 'SSL'
   SSL *ssl;
   ^
../../../mongoose/mongoose.h:1103:3: error: unknown type name 'SSL_CTX'
   SSL_CTX *ssl_ctx;
   ^
make: *** [/cesanta/smartjs/platforms/esp8266/build/esp_config.o] Error 1
 

alashkin

Разработчик Smart.js
Команда форума
Так. Это баг. Починим.
Windows не воспринимает симлинки в репозитории.
Мы из вычищали, но видимо опять занесли как-то.
Простейший способ починить - скопировать файл ../../../krypton/krypton.h поверх ../../../krypton/openssl/ssl.h (который в Windows содержит только строчку ../krypton.h вместо содержимого ../krypton.h)
Т.е. на убунте это бы собралось, т.к. там бы это было симлинком.
 

joviallix

New member
Так. Это баг. Починим.
Windows не воспринимает симлинки в репозитории.
Мы из вычищали, но видимо опять занесли как-то.
Простейший способ починить - скопировать файл ../../../krypton/krypton.h поверх ../../../krypton/openssl/ssl.h (который в Windows содержит только строчку ../krypton.h вместо содержимого ../krypton.h)
Т.е. на убунте это бы собралось, т.к. там бы это было симлинком.
Отлично! Все собралось! Спасибо!

Кстати, вы не думали сделать аналог npm для smart.js. Если ваша прошивка начнет набирать популярность, будет классно делаться пакетами и Си расширениями.
Если что, могу помочь, опыт в разработке очень большой, времени правда не так много, но я планирую плотно поработать с esp8266, так что, обращайтесь :)
Могу в личку написать контакты мессенджеров, для быстрой связи.
 

alashkin

Разработчик Smart.js
Команда форума
Отлично! Все собралось! Спасибо!

Кстати, вы не думали сделать аналог npm для smart.js. Если ваша прошивка начнет набирать популярность, будет классно делаться пакетами и Си расширениями.
Если что, могу помочь, опыт в разработке очень большой, времени правда не так много, но я планирую плотно поработать с esp8266, так что, обращайтесь :)
Могу в личку написать контакты мессенджеров, для быстрой связи.
Временами мы подумываем об этом. В том числе и положить что-то непосредственно в NPM, для упрощения всей этой ерунды со сборкой.
Что до помощи с разработкой - то тут и спрашивать не обязательно =)
Просто присылайте pull request, если что-то такое сделаете.

А вот в штат взять не получится (не практикуем part-time)
 

joviallix

New member
В том числе и положить что-то непосредственно в NPM, для упрощения всей этой ерунды со сборкой.
Наверное это будет лучшее решение. Учитывая что npm позволяет выполнять произвольные комманды.
Проблема, что для JS файлов можно использовать просто npm, а для расширений к v7 придется еще качать докер и тд, что бы забилдить всю прошивку.
Для юзеров на старте сложно будет

А вот в штат взять не получится (не практикуем part-time)
Так это у Вас прям коммерческий проект? Я думал что-то типа OpenSource :)

PS: У вас на форуме спросил про IR Controller, веду там беседу с rojer, может кто-то слышал про это?
В документации указаны пины на которых должен быть Rx и Tx, мне почему-то кажется что не спроста это и не просто програмная реализация, тогда можно на любых пинах это сделать.
 

joviallix

New member
@alashkin А есть какая-то возможность делать eval кода? Как repl в терминале к примеру. Хочу чделать похожий repl для http или websocket.
Есть File.eval (он кстати не описан в разделе File, а только в 2-х примерах), но неудобно каждый раз сохоанять файл и потом выполнять его.
 
Последнее редактирование:

DmitryReut

New member
Бился целый день с WebDAV(beta3), пару мин назад прошился на Beta2 все заработало из коробки) Так же при старте выпадает в консоль какие-то "кракозябры", я так понимаю из-за отсутствия питания на ножке VDD_RTC.
Т.е. она говорит, что у вас не полноценный модуль(Это лишь мои догадки, после гугления), ну или прошиваюсь неудачно
1.jpg
 
Последнее редактирование:

par

New member
Попробовал убрать поддержку облака включив опцию -DDISABLE_C_CLUBBY
Полезли ошибки в файле sj_console.c - т.е. анализ препроцессорной переменной DISABLE_C_CLUBBY туда вставить забыли. Выпилить консоль полностью без временных затрат не удается, так она сильно завязана на api.
Возможно ли убрать функции поддержки облака из smart.js?
 

joviallix

New member
Попробовал убрать поддержку облака включив опцию -DDISABLE_C_CLUBBY
Полезли ошибки в файле sj_console.c - т.е. анализ препроцессорной переменной DISABLE_C_CLUBBY туда вставить забыли. Выпилить консоль полностью без временных затрат не удается, так она сильно завязана на api.
Возможно ли убрать функции поддержки облака из smart.js?
Я тоже решил собрать без поддержки, натолкнулся на проблемы вроде Вашей (уже не помню) и просто снес inclue файлов с cloubby + собрал с -DDISABLE_C_CLUBBY и все ок
 

par

New member
Я тоже решил собрать без поддержки, натолкнулся на проблемы вроде Вашей (уже не помню) и просто снес inclue файлов с cloubby + собрал с -DDISABLE_C_CLUBBY и все ок
Так не пойдет, ключ -DDISABLE_C_CLUBBY ( я его внутри make.build прописывал ) заставляет препроцессор обойти все объявления.
Бросил заниматься этим фрейворком.
 

lmorningstar

New member
добрый день. интересует возможность создания REST сервиса на ESP и отправки данных по Rx Tx данной платы.
То есть по REST получаем данные (например [HASHTAG]#123456[/HASHTAG]) и передаем их в COM-порт.

подскажите как такое можно реализовать
 
Сверху Снизу