Arduino Mega Server для ESP32

Модератор: Alex

olmoro
Сообщения: 40
Зарегистрирован: Пт окт 13, 2017 9:37 pm
Откуда: Выборг
Благодарил (а): 11 раз
Поблагодарили: 12 раз

Re: Arduino Mega Server для ESP32

Сообщение olmoro » Пн янв 15, 2018 9:33 am

eGorka писал(а):
olmoro писал(а):... об особенностях работы "Далласов" с ESP32 ...
Уже есть OneWire адаптированная для ESP32. Вот как раз проблему "Далласов" решили, а с протоколом I2C на ESP32 полная засада, и то, что у Сергея мост отваливается, нет ничего удивительного.
P.S.
Если уж выкладываете код с комментариями(у себя на сайте), то выкладывайте весь код, а то некоторые моменты непонятны. Хотя, хозяин барин, что и как делать.
Я должен помогать решать проблему с Вашим мостом? А разрабатывал эту чудо-"мать" кто?
А если почитать? Решение, предложенное OneWire накладывает запрет на прерывания во время формирования посылок датчикам при программной реализации протокола 1-wire. Это существенно важно, если не используется мост. Только не следует применять стандартные функции RTOS для работы с прерываниями - они рассчитаны на процессор с одним ядром, а потому "тормозят" оба. Как правильно это сделать для двухъядерного процессора - повторяться не буду - на моем сайте в разделе "Прошивки".
Насчет I2C:
serghei попробуй эту ветку, человек специально пилил I2C.
- а если самому почитать?
"The existing Arduino code base is reliant on the AVR's ability to infintely pause a i2c transaction. The standard coding practice ...may not function correctly with the ESP32, actually usually will not function correctly. The current arduino-esp32 platform is built upon the espressif-idf which is built on FreeRTOS ...But, alas, this creates some incompatibilities with the pre-exisiting Arduino code base."
Так не затруднитесь почитать и выполнить рекомендации, они в тех же "Прошивках". Там же есть и пример, и лог. Проверено.
Не могу комментировать Ваш неопубликованный rtemp_32.ino - но он не решает проблему, хоть и имеет в имени гордое "32".
А с "Вашим мостом" ничего помогать не надо, спасибо.
Успехов!
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server для ESP32

Сообщение serghei » Пн янв 15, 2018 9:58 am

Гордое имя " 32" придумал я , что бы не запутаться в прошивках. Собрал Ваширешения в кучу.И надо разделить две проблемы - программного 1-Wire и I2C.
Первое новая библиотека решило - за неделю пропусков нет. Похоже и вторую задачу решили.
Вот только не понятно , почему не работает экран. Есть еще BME280, но не хочется ломать Дую , хотя ,наверное, придется.
И я предлагаю решать проблемы сообща. То ,что надо учитывать работу под двумя ядрами , понятно. И работать под Rtos .
Если еще кому то интересно - опубликую.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
olmoro
Сообщения: 40
Зарегистрирован: Пт окт 13, 2017 9:37 pm
Откуда: Выборг
Благодарил (а): 11 раз
Поблагодарили: 12 раз

Re: Arduino Mega Server для ESP32

Сообщение olmoro » Пн янв 15, 2018 10:31 am

serghei писал(а):Гордое имя " 32" придумал я.
Предупреждать надо))
eGorke - мои извинения
kvn73
Сообщения: 5
Зарегистрирован: Пн янв 15, 2018 8:51 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server для ESP32

Сообщение kvn73 » Пн янв 15, 2018 8:59 pm

[/quote] И ещё - непосредственное подключение сети датчиков к выводу ESP - это до первой грозы - как часто говорил один профессор ЛЭТИ на лекции "И плакала та Маша, что в это время стояла под балконом". Как-то так.[/quote]
Если использовать для подключения датчиков разъем RJ45 hr911105a с трансформатором, защита от грозы улучшиться?
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server для ESP32

Сообщение serghei » Пн янв 15, 2018 10:18 pm

Из практики. Если "нормальная" )) гроза попадает даже в оптический кабель с тросом, первое сетевое оборудование ничего не спасет. Тут вопрос стоит о борьбе с помехами и защитой от "домашней" статики. Этот разъём содержит согласующий трансформатор. А он работает на очень высокой частоте. Для защиты от грозы на сетевом оборудовании применяют одноразовые предохранители. Называются и в гугле ищутся - " грозозащита для плинтов".
У нас продают по 3 бакса на 1 пару проводов. Смысл - при превышении определённого напряжения "сгорают" и замыкают провод на землю. Но это очень профессиональное решение.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
kvn73
Сообщения: 5
Зарегистрирован: Пн янв 15, 2018 8:51 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server для ESP32

Сообщение kvn73 » Пн янв 15, 2018 10:23 pm

serghei писал(а):" грозозащита для плинтов".
такая?
https://ksr.ru/catalog/5bdefb01-9af1-11 ... c46b2e4b7/
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server для ESP32

Сообщение serghei » Пн янв 15, 2018 10:27 pm

Да , такая. Но это по ссылке просто держатель. Внутрь надо вставить сами предохранители. https://sanktpeterburg.flagma.ru/grozoz ... 04985.html
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server для ESP32

Сообщение Alex » Ср янв 17, 2018 12:17 pm

Друзья, а может кто-нибудь составить короткую табличку-резюме с перечислением периферии (имеется в виду стандартный набор — датчики температуры, влажности и т. п.), которую удалось/не удалось подключить к ESP32 (хорошо бы со ссылками).
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server для ESP32

Сообщение serghei » Ср янв 17, 2018 1:57 pm

Наверное придется мне отвечать, как самому " пострадавшему" :lol:

1 В дистрибутиве не правильно организован вызов "rtemp" модуля. Проверяю работу с 4-мя далласами. ID адреса определяются правильно с контрольными цифрами.
Rtemp_32.zip
(1.89 КБ) 135 скачиваний
2 DHT_11 - Работает
DHT_32.zip
(1.19 КБ) 125 скачиваний
3 I2C как бы работает , но не понятно как и в чем ошибка. 1WIRE_I2C мост DS2482 нормально работает.
4 I2C LCD экран 20*4 показывает цифры , но к ним надо присматриваться. Такое ощущение , что они светятся черным цветом.

5 NRF_24 замечательно работает на 14, 12 , 25, 26 pin (проверено). Надо править библиотеку RF24 и переставлять переменные в коде. Огромное СПАСИБО eGorka в очередной раз.

Для компиляции использовал портабл - версию IDE 1.8.5 от Olmoro
Драйвера для ESP32 по этой ссылке. Скачиваем архив, распаковываем , заменяем папку espressif. Докачиваем файл .py .
Завтра уже попробую BME280.

Лог работы
СпойлерПоказать
  • AMS for ESP32 SD started...
    Module Random... started
    Module EEPROM (NVS)...
    Name: ESP32 SD
    ID: FXB4J-XDZXF-J8VT0
    Address: 177
    ===========
    Module Hardware...
    Arduino IDE: 1.8.5
    SDK version: v3.0-dev-1325-ge5b2c1cf
    Chip revision: 0
    Chip ID: 243E06C40A24
    CPU freq: 240 MHz
    Free memory: 188956 (66%)
    Flash mode: 2
    Flash speed: 80 MHz
    Flash size: 4194304
    Self temp: 26.7 C
    ===========
    Module Wi-Fi...
    Connecting to mega .......
    WiFi: connected
    IP address: 192.168.2.72
    ===========
    Module SD...
    Init: OK
    Type: SDSC
    Size: 942 MB
    Check: .................................
    Files: 337
    Total: 9766698 B
    Empty: 2
    Index: found
    ===========
    Module NTP...
    Server: 129.6.15.30
    Port: 123
    ===========
    Module Time...
    Provider: network
    NTP request: OK
    ===========
    2018-01-17 17:29:34 Module Server... started
    2018-01-17 17:29:34 Module Upload... started
    2018-01-17 17:29:34 Module Send... started
    2018-01-17 17:29:35 Parasite power OFF
    2018-01-17 17:29:35 Found 4 devices
    2018-01-17 17:29:36 #0: 40 26 27 42 7 0 0 151 tempSTR
    2018-01-17 17:29:36 #1: 40 67 255 28 7 0 0 171 tempHOM
    2018-01-17 17:29:36 #2: 40 239 16 29 7 0 0 176 tempWRM
    2018-01-17 17:29:36 #3: 40 255 237 27 3 22 3 146 tempB2
    2018-01-17 17:29:36 Module Temp... started
    2018-01-17 17:29:36 Module LED... started
    2018-01-17 17:29:36 Base Receiving
    2018-01-17 17:29:36 Module nRF24... started
    2018-01-17 17:29:36 Module Electro... started
    2018-01-17 17:29:36 Module TLog... started
    GLOBAL Init DONE (19s)

    AMS WORK
    2018-01-17 17:29:36 : 115724 (40%) 115724
    Request: -> 2 1 0 255 1 0 0 0 0
    SEND FAILED
    2018-01-17 17:29:37 tempSTR: 9.31
    2018-01-17 17:29:37 tempHOM: 33.00
    2018-01-17 17:29:37 tempWRM: 15.25
    2018-01-17 17:29:37 tempB2: 24.87
    447.31 463.24 30.83 15.02 0.97
    TRY: 1
    Request: -> 2 1 0 255 1 0 0 0 0
    Answer: <- 5 2 222 255 0 167 0 0 0 AMS DHT
    ANSWER: 1 DONE
    Request: -> 2 100 0 255 1 0 0 0 0
    Answer: <- 5 101 222 255 0 167 0 0 0 BK_PkTXH?Eik5R,
    ANSWER: 100 DONE
    Request: -> 2 4 0 255 1 0 0 0 0
    SEND FAILED
    TRY: 1
    Request: -> 2 4 0 255 1 0 0 0 0
    SEND FAILED
    Answer: <- 5 5 222 255 0 0 0 0 0 222
    ANSWER: 4 DONE
    Request: -> 2 7 0 255 1 0 0 0 0
    SEND FAILED
    Answer: <- 5 8 222 255 0 255 0 0 0 49
    ANSWER: 7 DONE
    ANSWER: 0 DONE
    2018-01-17 17:29:57 tempSTR: 9.31
    2018-01-17 17:29:57 tempHOM: 33.00
    2018-01-17 17:29:57 tempWRM: 15.25
    2018-01-17 17:29:57 tempB2: 24.75
    0.00 0.00 0.00 0.00 1.00
    Request: -> 2 9 0 255 1 1 0 0 0
    SEND FAILED
    Answer: <- 5 10 222 255 0 255 0 0 0 100
    ANSWER: 9 DONE
    Request: -> 2 11 0 255 1 0 0 0 0
    Answer: <- 5 12 222 255 0 0 0 0 0 14.7
    ANSWER: 11 DONE
    Request: -> 2 15 0 255 1 0 0 0 0
    Answer: <- 5 16 222 255 0 167 0 0 0 80
    ANSWER: 15 DONE
    Request: -> 2 13 0 255 1 0 0 0 0
    Answer: <- 5 14 222 255 0 0 0 0 0 22.0
    ANSWER: 13 DONE
    2018-01-17 17:30:17 tempSTR: 9.38
    2018-01-17 17:30:17 tempHOM: 33.00
    2018-01-17 17:30:17 tempWRM: 15.25
    2018-01-17 17:30:17 tempB2: 24.62
    0.00 0.00 0.00 0.00 1.00
    2018-01-17 17:30:22 : 115724 (40%) 0
    Self temp: 27.8 C
    Answer: <- 5 22 222 255 0 0 0 0 0 6292
    ANSWER: 0 DONE
    Request: -> 2 17 0 255 1 0 0 0 0
    Answer: <- 5 18 222 255 0 220 0 0 0 33.0
    ANSWER: 17 DONE
    Request: -> 2 19 0 255 1 0 0 0 0
    Answer: <- 5 20 222 255 0 0 0 0 0 5160
    ANSWER: 19 DONE
    2018-01-17 17:30:37 tempSTR: 9.38
    2018-01-17 17:30:37 tempHOM: 33.00
    2018-01-17 17:30:37 tempWRM: 15.25
    2018-01-17 17:30:37 tempB2: 24.50
    -0.00 0.00 19.02 0.00 -0.53
    Request: -> 2 23 0 255 1 0 0 0 0
    Answer: <- 5 26 222 255 0 0 0 0 0 43.0
    ANSWER: 0 DONE
Сенсор далеко от сервера - иногда пропускает передачу.
За это сообщение автора serghei поблагодарил:
Alex (Сб янв 20, 2018 12:30 am)
Рейтинг: 1.16%
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server для ESP32

Сообщение Alex » Ср янв 17, 2018 10:41 pm

Наверное придется мне отвечать, как самому " пострадавшему"
serghei, благодарю за ответ.
Ответить