Страница 39 из 51
Re: Arduino Mega Server для ESP32
Добавлено: Чт июн 21, 2018 3:47 pm
alexsis_76
можно редактировать и создавать страницы прямо в браузере
это больше похоже на какое то насилие,есть же хорошие редакторы кода и есть FTP.
Лично мне чертовски нравиться извращаться с визуализацией
не я наизвращался.
нужно хватать jpeg кадры,паковать в UDP и пинать в сеть,15 fps хватит.
я так думаю что место для кнопочек должно остаться,насчет датчиков - не уверен.
Re: Arduino Mega Server для ESP32
Добавлено: Чт июн 21, 2018 4:21 pm
serghei
Насилием было вытаскивание карты из платы , заливка файла, не понравилось - возвращайся в редактор , заливай файл по новой и так 20 - 100 раз. А тут никуда ничего заливать не надо. Изменил содержание , посмотрел на результат. Супер !
Re: Arduino Mega Server для ESP32
Добавлено: Чт июн 21, 2018 5:36 pm
eGorka
alexsis_76 писал(а): ↑Чт июн 21, 2018 3:47 pm
это больше похоже на какое то насилие,есть же хорошие редакторы кода и есть FTP.
Делитесь библиотекой FTP для 32-ой
Re: Arduino Mega Server для ESP32
Добавлено: Чт июн 21, 2018 6:10 pm
Alex
Делитесь библиотекой FTP для 32-ой
Во-во, а заодно и для ESP8266. И для Меги тоже не помешает, только реально работающей (библиотек много, но мне ещё ни одну не удалось заставить нормально работать).
Re: Arduino Mega Server для ESP32
Добавлено: Чт июн 21, 2018 10:47 pm
alexsis_76
Делитесь библиотекой FTP для 32-ой
делится пока нечем,кристалл только выехал из Китая.
вот эта вроде работает,пробовал в файлзилла,нет работы с каталогами(собственно неважно) иногда вываливается,но автореконнект решает проблему(может отваливается из за того что запускается отдельной задачей),добавление,удаление,просмотр файлов,если зацепился то держит мертвой хваткой,файлы не теряет.
Для меги нет,да и меги тоже нет.
Re: Arduino Mega Server для ESP32
Добавлено: Чт июн 21, 2018 10:50 pm
serghei
Продолжение банкета. Пока " правильно " работал реконнект. Добавил еще Далласы и PowerMonitor ( физически датчиков пока нет ).
- AMS32_Task.jpg (196.41 КБ) 3859 просмотров
При измерении тока раз в пол секунды (!!!) и 4 температур раз в секунду нагрузки на сервер вообще
НЕТ !!! До этого ток мерил раз в 20 секунд . Нагрузка здорово чувствовалась.
Так что идея правильная и надо это двигать дальше. На очереди запуск сервера. Цифры в даш-панели не правильные , так как в Ажаксе еще не прописал.
PS. Не так всё просто оказалось. Нужен файл конфигурации платы ( куда что подключено ). А у всех пользователей они разные. Править библиотеку вряд ли кто будет. А с другой стороны - хочешь прикрутить реле на произвольный пин , пиши это в библиотеке.
Если 4 реле , зуммер и RGB , то начало файла
Код: Выделить всё
/*
* pcb.cpp
*
*/
#include "Arduino.h"
#include "pcb.h"
//#define U32v17
#define U32maxi.xx
#ifdef U32maxi.xx
#include <Wire.h>
#include <PCF8574.h> // Do not forget to comment define to disable interrupt support (36 //#define PCF8574_INTERRUPT_SUPPORT)
// 63 void begin(uint8_t address); // Remove = 0x21 or set 0x38 for "A"
#endif
#ifdef U32v17
const int K1 = 32; // IO32
const int K2 = 25; // IO25
const int K3 = 26; // IO26
const int K4 = 04; // IO04
const int SG = 27; // IO27
const int LED_R = 33; // IO33
const int LED_G = 17; // IO17
const int LED_B = 02; // IO02
const int FIRE = 16; // IO16
#endif
Зато элементарно цепляется расширитель выходов.
Re: Arduino Mega Server для ESP32
Добавлено: Сб июн 23, 2018 12:36 pm
eGorka
serghei писал(а): ↑Чт июн 21, 2018 10:50 pm
... Добавил еще Далласы ...
кодом(задачей) от
olmoro ?
Re: Arduino Mega Server для ESP32
Добавлено: Сб июн 23, 2018 1:20 pm
serghei
Да , от него. Градусники определились , только не показывают ((. Я думаю , проблема в библиотеках. У меня уже куча перепиленных версий. Надо попробовать на оригинальной.
Еще заметил - плата перегружается раз в 2-3 часа. Надо еще код сервера в задачу поставить.
И к стати , там же можно задать на каком ядре работать.Задать жёстко ядро для выполнения задачи конкретным ядром можно, добавив в объявление задачи
Код: Выделить всё
xTaskCreatePinnedToCore номер ядра - 0 или 1
Вроде работает , только еще в дебаг вывести надо. Но это уже вечером.
Re: Arduino Mega Server для ESP32
Добавлено: Сб июн 23, 2018 1:34 pm
eGorka
serghei писал(а): ↑Сб июн 23, 2018 1:20 pm
Да , от него.
А ничего в коде для Далласов не смущает? А если прицепить 60 датчиков?
Re: Arduino Mega Server для ESP32
Добавлено: Сб июн 23, 2018 2:26 pm
serghei
Смущает , что не работает
. Гавкнулся шлейф до счетчиков и 4-х градусников. Но один определился (( подключил отдельно ). Если начать разбираться
Код: Выделить всё
/*
* temp.cpp
* Ol.Moro 2018.02.08
*/
#include "Arduino.h"
#include "DS2482.h" // I2C to 1-Wire bridge used with ESP WIFI
#include "DS18B20_DS2482.h"
#include "Wire.h" // I²C
#include "temp.h"
portMUX_TYPE timerMux = portMUX_INITIALIZER_UNLOCKED;
float current_temp0 = 0.0;
float current_temp1 = 0.0;
float current_temp2 = 0.0;
float current_temp3 = 0.0;
DS2482 DS2482(0);
DS18B20_DS2482 sensors(&DS2482);
// Sensors ID's
const byte id0[] = {0x28, 0x22, 0xb3, 0x3b, 0x04, 0x00, 0x00, 0x85}; // sens0 as tempSTR
const byte id1[] = {0x28, 0xfa, 0x77, 0x3b, 0x04, 0x00, 0x00, 0xdd}; // sens1 as tempHOM
const byte id2[] = {0x28, 0xf6, 0xac, 0x3b, 0x04, 0x00, 0x00, 0x8e}; // sens2 as tempWRM
const byte id3[] = {0x28, 0x01, 0x0f, 0x36, 0x04, 0x00, 0x00, 0x99}; // sens3 as tempBTH
void initTemp(void)
{
Wire.begin(SDA, SCL, 400000);
Serial.print("DS2482-100 reset: ");
DS2482.reset();
Serial.println("ok");
if (!DS2482.configure(DS2482_CONFIG_APU))
{
Serial.println(F("Active pull-up cofigured."));
}
DS2482.wireResetSearch();
// locate devices on the bus
uint8_t count = DS2482.devicesCount(true);
Serial.print(F("Found devices: ")); Serial.println(count);
DS2482.wireResetSearch();
sensors.setWaitForConversion(false);
}
void workTemp(void)
{
static int cnt = 5;
cnt++;
if ( cnt >= 5 ) { cnt = 0; }
Serial.print(F(" work Temp2: "));
switch ( cnt )
{
case 0:
// sends command for all devices on the bus to perform a temperature conversion
vTaskEnterCritical(&timerMux);
sensors.requestTemperatures();
vTaskExitCritical(&timerMux);
Serial.println(F(" Start conversion for all devices"));
break;
case 1:
vTaskEnterCritical(&timerMux);
current_temp0 = sensors.getTempC((const unsigned char*) &id0);
vTaskExitCritical(&timerMux);
Serial.print(F(" Read 1-st device: ")); Serial.println(current_temp0);
break;
case 2:
vTaskEnterCritical(&timerMux);
current_temp1 = sensors.getTempC((const unsigned char*) &id1);
vTaskExitCritical(&timerMux);
Serial.print(F(" Read 2-nd device: ")); Serial.println(current_temp1);
break;
case 3:
vTaskEnterCritical(&timerMux);
current_temp2 = sensors.getTempC((const unsigned char*) &id2);
vTaskExitCritical(&timerMux);
Serial.print(F(" Read 3-th device: ")); Serial.println(current_temp2);
break;
case 4:
vTaskEnterCritical(&timerMux);
current_temp3 = sensors.getTempC((const unsigned char*) &id3);
vTaskExitCritical(&timerMux);
Serial.print(F(" Read 4-th device: ")); Serial.println(current_temp3);
break;
default:
break;
}
}
Поиск работает. Инициализация и какое питание ? Ну еще объектов нет. Мне бы для начала и это запустить.