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

Esp8266 nmea0183 WiFi (нужна помощь)

maksim13

Member
Добрый день знающим людям, постараюсь кратко изложить суть проблемы: я новичок и разбираюсь не очень по этому просьба не кидать в меня сразу тухлыми помидорами.
Пытаюсь повторить проект с GitHub по трансляции nmea 0183 в сеть WiFi.

Оригинал проекта https://github.com/alvra/nmea-bridge/tree/main

Плата у меня ESP8266 D1 mini с OZON

На скетч Arduino ide не ругалась ( как это часто бывает со скетчеми из интернета)

На плату все заливается только если в менеджере плат выбрать wemos D1 mini pro. При выборе других плат не заливается

К вопросу: после того как все залито, подключившись к WiFi esp8266 и зайдя в плату через ip адрес , перейдя во вкладку config есть возможность изменять много настроек (таких как SSID, pass, ip, port, скорость передачи и т.д.) и сохранять настройки кнопкой "save" соответственно. По после выкл/вкл питания или нажатия reset сохраненные настройки сбрасываются к изначально залитым.

Что мне нужно сделать, что бы при reset сохраненные настройки остались?????

Может перед загрузкой что-то переключить в Arduino ide >tools?
Для этой платы так много tools ( а я большинство из них не понимаю)

P.s. остальной функционал проекта не проверял, завис на save
Заранее спасибо
 

maksim13

Member
Сейчас ещё нечего не собрано, esp8266 D1 mini подсоеденяю и питаю через usb с компа. Схема как должно быть ниже
 

Вложения

CodeNameHawk

Moderator
Команда форума
В скетче упоминается boot_mode_button_pin равный 0, далее в скетче есть опрос этой кнопки и сброс настроек в начальное состояние, если кнопка нажата == LOW .
У вас этой кнопки не вижу.
Сделайте скриншот вывода в сериял, будет более понятно.
 

CodeNameHawk

Moderator
Команда форума
0 это gpio0 , тогда это будет кнопка burn, если она есть на вашем модуле.
 

maksim13

Member
В скетче упоминается boot_mode_button_pin равный 0, далее в скетче есть опрос этой кнопки и сброс настроек в начальное состояние, если кнопка нажата == LOW .
У вас этой кнопки не вижу.
Сделайте скриншот вывода в сериял, будет более понятно.
Заранее извиняюсь, что тупыми вопросами отвлекаю занятых людей ((

1-Если я Вас правильно понял, то сброс настроек должен произойти при замыкание gpio 0 (D3) на gnd, а при нажатии кнопки reset на плате настройки сбрасываться не должны?

2- Не понял скриншот чего Вы просите.
 

CodeNameHawk

Moderator
Команда форума
при нажатии кнопки reset на плате настройки сбрасываться не должны?
Не должны.
Запускаете программу для работы с Сом портом(он же уарт, он же сериал в ардуино).
Ищите в гоогле, как с есп8266 вывести отладочную информацию в сериял порт.
 

maksim13

Member
Не должны.

Запускаете программу для работы с Сом портом(он же уарт, он же сериал в ардуино).
Ищите в гоогле, как с есп8266 вывести отладочную информацию в сериял порт.
Прочитал 12 статей, во всех учат писать Serial.print("Hello, World! )

Может проблема в том, что у меня прошивается только под LOLIN(WEMOS) D1mini Pro? А там флэш 16мб, а у меня на есп только 4мб, может из-за этого конфиг не сохраняется ?
 

CodeNameHawk

Moderator
Команда форума
Прочитал 12 статей, во всех учат писать Serial.print("Hello, World! )
Это место где появляется Hello, World!, только у вас должен показаться текст отладки.

Поставьте резистор на 10 ком с +3.3 В на вывод D1, это тот который GPIO5.
В скетче nmea_bridge.ino замените строку
#define BOOT_MODE_BUTTON_PIN 0
на
#define BOOT_MODE_BUTTON_PIN 5
Скомпилируйте и залейте в модуль.
 

maksim13

Member
Поставьте резистор на 10 ком с +3.3 В на вывод D1, это тот который GPIO5.
В скетче nmea_bridge.ino замените строку
#define BOOT_MODE_BUTTON_PIN 0
на
#define BOOT_MODE_BUTTON_PIN 5
Скомпилируйте и залейте в модуль.
Не сработало... Настройки после перезагрузки не сохраняются (((
 

maksim13

Member

Вложения

maksim13

Member
Что показывает в терминал.
Я очень извиняюсь, но я не как не могу понять, что и где Вы просите посмотреть.

Если я правильно все понимаю, то что бы монитор порта начал показывать текст отладки, нужно переписывать скетч с добавлением данного функционала?
 

maksim13

Member
после сброса там скорость 4800.
Я скорость при установке ставлю 38400

#define BAUDRATE_OPTION_COUNT 4
uint32_t baudrate_options[BAUDRATE_OPTION_COUNT + 1] = {
0, // not an option, used to distinguish from undefined
4800,
9600,
38400,
115200

Меняю в скетче с:
// tx_address
INADDR_ANY,
// tx_port
10110,
// rx_port
10110,
// tx_baudrate (4800)
1,
// rx_baudrate (4800)
1,

На

// tx_address
INADDR_ANY,
// tx_port
3000,
// rx_port
3000,
// tx_baudrate (4800)
3,
// rx_baudrate (4800)
3,
 

CodeNameHawk

Moderator
Команда форума
Если я правильно все понимаю, то что бы монитор порта начал показывать текст отладки, нужно переписывать скетч с добавлением данного функционала?
Скетч полностью рабочий, в нем ничего править не надо.
Но ваша плата сама нажимает кнопку, которая сбрасывает настройки по умалчанию.
Тут два варианта или просто купить голый модуль есп8266 но надо будет делать обвязку и внешний переходник сом - усб, или просто переназначить кнопку на другой вывод, .
Но у вас не получилось, возможно не попали на нужный вывод резистором.

Проверил настройки сохраняются.
Я скорость при установке ставлю 38400
Это делается в окне настроек.
но я не как не могу понять, что и где Вы просите посмотреть.
Есть в ардуиноиде такой терминал, речь идет о нем.
1716181740213.png
Но удобней пользоваться другим терминалом, я использую HTERM
1716181889786.png
 
Последнее редактирование:

CodeNameHawk

Moderator
Команда форума
Подайте питание на плату и измерьте напряжение на выводе GPIO0 относительно минуса питания.
 
Сверху Снизу