Страница 23 из 51
Re: Arduino Mega Server для ESP32
Добавлено: Ср янв 17, 2018 11:20 pm
serghei
BME_280 то же РАБОТАЕТ
Код: Выделить всё
2018-01-17 22:13:49 Module Temp... started
2018-01-17 22:13:49 Module LED... started
2018-01-17 22:13:49 Module BME... started
2018-01-17 22:13:49 Base Receiving
2018-01-17 22:13:49 Module nRF24... started
2018-01-17 22:13:49 Module Electro... started
2018-01-17 22:13:49 Module TLog... started
GLOBAL Init DONE (19s)
AMS WORK
2018-01-17 22:13:49 : 113276 (39%) 113276
Request: -> 2 1 0 255 1 0 0 0 0
Answer: <- 5 2 222 255 0 170 0 0 0 AMS DHT
ANSWER: 1 DONE
2018-01-17 22:13:50 tempSTR: 14.00
2018-01-17 22:13:50 tempHOM: 31.12
2018-01-17 22:13:50 tempWRM: 17.44
2018-01-17 22:13:50 tempB2: 38.81
312.06 520.29 33.78 15.40 0.60
11.2 C , 56.5% ,736.1 mm.Hg. // Данные BME_280
*** Сообщение запрещено. Сообщение похоже на спам. ***
Re: Arduino Mega Server для ESP32
Добавлено: Ср янв 17, 2018 11:22 pm
serghei
Еще раз - BME_280 РАБОТАЕТ.
Re: Arduino Mega Server для ESP32
Добавлено: Вс янв 21, 2018 11:06 am
olmoro
serghei писал(а):
... I2C как бы работает , но не понятно как и в чем ошибка. 1WIRE_I2C мост DS2482 нормально работает.
Лог работы
- AMS for ESP32 SD started...
...
...
2018-01-17 17:29:36 Module LED... started
...
В титульном проекте на выводы "железного" I2C (IO21, IO22) модулем LEDS подключены светодиоды
#define LED_RED_PIN 21
#define LED_GREEN_PIN 22
запрограммированные, в отличие от выводов I2C, как цифровые:
pinMode(LED_GREEN_PIN, OUTPUT);
pinMode(LED_RED_PIN, OUTPUT);
а для нормальной работы I2C выводы должны быть настроены на работу с подтягивающими резисторами, что обеспечивает библиотека Wire.
При осциллографировании это хорошо заметно.
Отключение указанного модуля решает проблему только частично, так как обращения к RED и GREEN светодиодам имеются и в других модулях проекта. При работе под rtos для ESP32 это недопустимо. Конфликт должен быть разрешен тем или иным способом.
Re: Arduino Mega Server для ESP32
Добавлено: Вс фев 04, 2018 9:59 pm
serghei
Alex писал(а):..может кто-нибудь составить короткую табличку-резюме с перечислением периферии (имеется в виду стандартный набор — датчики температуры, влажности и т. п.), которую удалось/не удалось подключить к ESP32
Маленькое послесловие.
Суммируя полученные знания по ESP32 понял простую вещь - такой подход программирования "в лоб" не срабатывает. И скорее всего из за того , что этот контроллер использует свою операционку Rtos. А она отдает ограниченное время на одну задачу.
Движок сервера то работает , а любое подключение датчиков превращается в правку библиотек (не всегда корректные).
Простые примеры тех же далласов требуют неимоверных усилий.
В результате появился целый зоопарк портабл- версий под каждый скетч.
Пытаюсь скомпилить простой тест для DS2423 счетчика. И не могу избежать конфликтов в библиотеках.
Код: Выделить всё
#include <OneWire.h>
#include <DS2423.h>
#include <string.h>
//arduino 0023
// адрес моего счетчика DS2423
DeviceAddress counter = { 0x1D, 0xEF, 0xC3, 0x0F, 0x0, 0x0, 0x0, 0x38 };
OneWire ow(5);// подклчение сигнального провода 1-wire
ds2423 myCounter(&ow, counter);
void setup(void)
{
// Для отладки включим отправку данных в COM порт
Serial.begin(9600);
delay(2000);
}
void loop(void)
{
// Счетчик показаний Холодной воды. цифры 163422/100 - это показания моего счетчик, соответственно вы ставите свои
int a =((myCounter.readCounter(1)+163422)/100);
// Счетчик показаний горячей воды. цифры 94888/100 - это показания моего счетчик, соответственно вы ставите свои.
int b =((myCounter.readCounter(2)+94888)/100);
// выводим результат
Serial.print("Counter A: ");
Serial.println(a);
Serial.print("Counter B: ");
Serial.println(b);
Serial.println();
delay(5000); // это чтоб не рябило в глазах :)
}
Собственно конкретно этот код IDE 1.8.5 "сплющило". Микрухи пока в пути. Надо еще умудрится соединить его с AMS...
Re: Arduino Mega Server для ESP32
Добавлено: Пн фев 05, 2018 1:10 pm
ser009
Код: Выделить всё
unsigned int Start = 0; // начальное значение
boolean starting = false; // добавить начальное значение
unsigned int CountFull = 0 // накопленный счетчик
if (starting == true){
CountFull = CountFull + Start;
starting = false;
}
простой вариант
Данные можно заносить с веб странички + кнопку для добавления начального значения
Re: Arduino Mega Server для ESP32
Добавлено: Пн фев 05, 2018 1:27 pm
serghei
Пока жду микросхемы , хочу разобраться с кодом. Через прерывания на Меге все понятно и очень давно работает. А тут сам счетчик - это как тот же даллас-градусник. Так мало того , подключен через 1-wire мост. И что бы скомпилировать код градусников и счетчика , приходится использовать разные библиотеки OneWire. На Меге проще будет - там одна и та же библиотека.
А на 32-й стоит мост.
Re: Arduino Mega Server для ESP32
Добавлено: Вт фев 06, 2018 5:05 am
alexsis_76
НУ А ПОЧЕМУ ИМЕННО ESP32,МОЖНО ЧЕГО ПОПРОЩЕ.
МОЖНО ИСПОЛЬЗОВАТЬ ПРЕРЫВАНИЕ ПО ВХОДУ,КАК ТАМ С ПРИОРИТЕТАМИ?
Re: Arduino Mega Server для ESP32
Добавлено: Вт фев 06, 2018 5:10 am
ser009
Легкие пути это не для нас

Re: Arduino Mega Server для ESP32
Добавлено: Вт фев 06, 2018 5:12 am
alexsis_76
ПОХОЖЕ НА ТО
Re: Arduino Mega Server для ESP32
Добавлено: Вт фев 06, 2018 9:46 am
serghei
Ответ прост , как мычание коровы - в наличие есть ГОТОВАЯ плата с кучей наворотов - 1Wire - I2C мост, сторожевой таймер, усилитель шины на 8 портов , на котором сидят 4 реле , RGB диод , зуммер, разведенный аналоговый вход для PowerMonitor , разъём для NRF24 , разъём для RTC и SD карта......
Корпус для этого хозяйства уже едет на почту.
С ESP32 все наработки для датчиков просто так не работают , потому что у контроллера абсолютно другая архитектура с двумя ядрами на борту и Rtos операционкой.
Тут нужен другой подход к программированию с разбиением на ядра и задачи ( 1 миллисекунда на задачу). Банальное обслуживание далласов разбивается на кучу задач , когда опрос одного прибора - это одна задача.
Примеры кода есть , но пока очень все сырое.
А в эту же плату хочу прицепить и далласовский счетчик. Но в лоб решить проблему не позволяют правленые библиотеки...