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

Sming Open Source Framework для нативной разработки прошивок ESP8266

anakod

Moderator
Команда форума
Все переменные которые Вы видите в Makefile-user.mk могут быть объявлены централизовано для всех проектов в настройках эклипса: Window > Preferences -> C/C++ > Build > Environment
После этого значение применится везде, переопределив стандартное значение.
 
А,ну понятно.Точно также значит,как и ESP_HOME.То есть название переменной это COM_PORT,значение переменной это COM2.Я правильно понимаю?
 
anakod, вообщем ситуация такова:Загрузил пример,по FTP зайти не могу вообще,связь прерывается.По моему у Вас постоянно идет сканирование сетей,тем самым перебивая подключение,или же модуль пытается подключится к точке доступа,но имя и пароль не указаны,тем самым он пытается переподключиться.Попытаюсь разобраться в чем дело
-------------------------------------------------------------------------------------------------------------------------
Отчитываюсь о тестирование:
Отключил сканирование,так же не смог подключиться по FTP
Отключил wifi.station,подключение прошло моментально.
Вывод:Модуль пытается соединиться к открытой точкой,так как пароль и имя сети не задано,
и нет открытой точки доступа,модуль уходит в ребут.Хотя может я и не прав
Попробую сделать условие,что пока не создан конфигурационный файл,wifi.station(false)
-------------------------------------------------------------------------------------------------------------------------
А вот тут уже становится интересно.Совсем забыл что,если вайфай станция отключена,то сканирование не происходит.
Не мешало бы добавить функцию смены режима модуля,то есть откл\включение режима станции
 
Последнее редактирование:

anakod

Moderator
Команда форума
Можно добавить по завершению сканирования списка сетей:
if (WifiStation.getSSID().length() == 0)
WifiStation.enable(false)

Но вообще такого не должно быть что при включенной станции не работает точка доступа (хотя у меня тоже не всегда это работало стабильно, приходилось иногда переподключаться или ждать некоторое время).
Еще, насколько знаю Espressif недавно выпустили патч по этой теме, надо будет попробовать его.
 
anakod, дело в том что когда модуль успешно подключается к какой либо точке,начинает работать стабильно.Работает как и станция,так и точка доступа.Пробовал на простом примере.Это глюк общий помоему.
 

anakod

Moderator
Команда форума
А Вы на какой версии SDK тестируете? Espessif недавно выпускала патч именно по этой теме (но я сам ещё не проверял).
 

pvvx

Активный участник сообщества
Не мешало бы добавить функцию смены режима модуля,то есть откл\включение режима станции
В режиме SOFTAP
if(! wifi_station_scan(NULL, wifi_scan_cb)) os_printf("Error!\n");
успешно в последних SDK уже давно.
С полностью отключенным аппаратно WiFi в его регистрах - не проверял :)
 

pvvx

Активный участник сообщества
Если честно не проверял,то что было в udk,то и использовал))
Не - не работает - ошибся.
Там, в SDK, по IDA, стоит проверка в wifi_station_scan:
int x = wifi_get_opmode();
if(x == 2 || x == 0) return 0;
Это нужно запомнить режим и другие опции ST, потом отключить wifi_station_set_auto_connect(0);, включить ST, остканить, восстановить всё обратно.
Заодно и у себя исправил, благо конфиг WiFi всегда сохранен:
Код:
int x = wifi_get_opmode();
    if(!(x&1)) {
        wifi_station_set_auto_connect(0);
        wifi_set_opmode(x|1);
    }
...
    if(wifi_get_opmode() != wificonfig.b.mode) {
        New_WiFi_config(WIFI_MASK_MODE | WIFI_MASK_STACN); // тут он проверит что надо восстановить и восстановит в правильной последовательности :)
    }
 
Последнее редактирование:

FGX

Member
Дбрый день. Скачал последнюю версию Sming-1.1.0 и все примеры перестали собираться. При этом старые работают.
01:09:36 **** Build of configuration Sming for project Basic_AirUpdate ****
make all
MAKE Version 5.2 Copyright (c) 1987, 1998 Inprise Corp.
Error makefile 7: Command syntax error
Error makefile 13: Command syntax error
Error makefile 14: Command syntax error
Error makefile 15: Command syntax error
Error makefile 16: Command syntax error
Error makefile 17: Command syntax error
Error makefile 18: Command syntax error
Error makefile 20: Command syntax error
*** 8 errors during make ***

01:09:37 Build Finished (took 110ms)

Мейк файлы не трогал, переменные среды задал, что ему надо не пойму.
https://www.dropbox.com/s/w3l2as9cju5gw8h/Скриншот 2015-05-16 01.11.36.png?dl=0
 

JustACat

Moderator
Команда форума
FGX, поздравляю, у вас та же фигня, что была у меня. Дайте, угадаю, у вас стоит Delphi? :)
В общем, в комплекте с Delphi тоже идет утилита make.exe - но гравицапа не той конструкции :)
Проверить можно так: в командной строке (обычной виндовой) набрать:
[inline]where make[/inline]
В ответ может вылезти 1 или несколько путей к make.exe, но важно, чтобы первым был путь к make.exe из пакета MinGW или другого, но не делфовский.
У меня, например, так выводится:
[inline]C:\MinGW\msys\1.0\bin\make.exe[/inline]
[inline]C:\Program Files (x86)\Borland\Delphi7\Bin\make.exe[/inline]
Если у вас нету пути к MinGW, значит у вас не вбит он в переменной PATH.
Либо, если стоит не первым - значит тоже труба, нужно, чтобы первым стоял.
Тогда открываем переменные среды Windows и в начало (это важно) переменной PATH добавляем вот это:
[inline]C:\MinGW\bin\;C:\MinGW\msys\1.0\bin\;[/inline]
 

FGX

Member
FGX, поздравляю, у вас та же фигня, что была у меня. Дайте, угадаю, у вас стоит Delphi? :)
Стоит родимый :) Пойду чинить. Создал переменную PATH после чего эклипс совсем перестал запускаться и командная строка не выполняеет больше ничего, пишет на любую команду что она не является командой... удаление переменной PATH не помогло.
 
Последнее редактирование:

anakod

Moderator
Команда форума
А где Вы ее создали? Она ведь уже задана в Windows, и ее надо только дополнить.
 

FGX

Member
А где Вы ее создали? Она ведь уже задана в Windows, и ее надо только дополнить.
В видовс и создал в переменных системы, видимо она затерло что там было и теперь многие программы глючат. Можете дать ее полное содержание
 

anakod

Moderator
Команда форума
Это плохо, ее надо дополнять а не заменять. Попробуйте вот это лекарство: superuser.com/questions/523688/deleted-path-environment-variable-how-to-restore
 

FGX

Member
Это плохо, ее надо дополнять а не заменять. Попробуйте вот это лекарство: superuser.com/questions/523688/deleted-path-environment-variable-how-to-restore
Да там черт голову сломает, у меня таких веток нет в реестре. Нельзя ли просто создать ее заново? Дайте, пожалуйста, свое содержание этой переменной, стандартные программы хоть заработают и ладно, там же, что-то у всех есть одинаковое. Кто ж знал, что ее нужно не создавать, а дополнять. Описание настройки эклипса требует доработки...
 

JustACat

Moderator
Команда форума
Можете дать ее полное содержание
Проблема в том, что ее содержание наполняют программы в процессе установки. И оно у всех будет разное же...
Вот, например, что у меня там сейчас (Windows 7 64 битная):
C:\MinGW\bin\;C:\MinGW\msys\1.0\bin\;C:\Program Files (x86)\Borland\Delphi7\Bin;C:\Program Files (x86)\Borland\Delphi7\Projects\Bpl\;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Python27
И это я еще удалил несколько путей программ, которых, как мне кажется, у вас точно нет.
В любом случае если в Path не будет хватать каким-то из ваших программ путей, то они будут глючить.
Ммм, если у вас семерка, может откат какой-то сделать? Правда не уверен, как он на счет Path...
Кто ж знал, что ее нужно не создавать, а дополнять.
Не хочу нагнетать, но я вам вообще-то написал:
Тогда открываем переменные среды Windows и в начало (это важно) переменной PATH добавляем вот это:
 

anakod

Moderator
Команда форума
FGX, там по ссылке ниже ещё советы есть если Вы не перезагружались есть шанс восстановить и скопировать старое значение
 

FGX

Member
FGX, там по ссылке ниже ещё советы есть если Вы не перезагружались есть шанс восстановить и скопировать старое значение
Перезагружался. Вставил, что дал @JustACat, командная строка заработала, эклипс заработал, будем считать, что починили. Под добавить я понял нажатие кнопочки добавить переменную. Не хочеться делать восстановление системы, т.к. сломается она при этом еще больше, система 8ка 64бита.
Теперь выдает ошибку
Makefile:20: C:\tools\sming\Sming;c:/tools/sming/Sming/Makefile-project.mk: No such file or directory
make: *** No rule to make target `C:\tools\sming\Sming;c:/tools/sming/Sming/Makefile-project.mk'. Stop.
Путь правильный, но там и в правду нет такого файла.
 
Сверху Снизу