D9MG корпус для AMS
Модератор: Alex
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: D9MG корпус для AMS
я тут вдохновленный командировкой поколупал esp32, оказалось китайцы сделали большой шаг вперед, относительно вменяемое описание, добавлены модули, есть даже сторожевой пес, для любителей проводной связи можно прицепить полноценный физический уровень, программная реализация стэка избавляет от проблем с количеством сокетов, вообщем хороший претендент на роль центрального модуля
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: D9MG корпус для AMS
Он у меня и есть центральный. Реализованы все фишки , что мы обсуждали. Сейчас жду 485 конверторы и буду прикручивать модбас. Единственное - хочется переписать код для AMS с учетом работы из-под RTOS. ( Главный признак - отсутствие вкладки таймеров).
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: D9MG корпус для AMS
для таких вещей RTOS противопоказана, программирование под RTOS требует определенной дисциплины и понимания что и как работает, сидящие под ардуиной обычно такими тонкостями не обременены поэтому все это оборачивается неисчислимыми глюками, код под RTOS тяжелее отлаживать, поэтому хватит AMS и обычных таймеров и пользователем будет меньше головной боли(у AMS сразу упадет рейтинг )хочется переписать код для AMS с учетом работы из-под RTOS
есп32 может намного большеРеализованы все фишки , что мы обсуждали
Попробовал в качестве IDE Эклипс, среда изумительная.
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: D9MG корпус для AMS
Так 32-я по дефолту компилится с Rtos. Просто мало кто про это знает. Знаний у меня мало в этом направлении , но в меру пытаюсь перейти. Реконнект уже так работает. Электро модуль то же. Есть пример сервера и SD карты. Надо просто собрать все в кучу.
PS/ почему тогда моргание led на 13-м пине занимает половину оперативы ?
PPS/ А у людей либо в шоколаде либо никому не надо. Только один человек обратился за помощью.
PS/ почему тогда моргание led на 13-м пине занимает половину оперативы ?
PPS/ А у людей либо в шоколаде либо никому не надо. Только один человек обратился за помощью.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: D9MG корпус для AMS
они все NON-RTOSТак 32-я по дефолту компилится с Rtos
Ты на чем пишешь? правильно на ардуине, она видимо не заморачивается и пихает в оперативку все что найдет плюс различные буфера в самой ардуинеPS/ почему тогда моргание led на 13-м пине занимает половину оперативы ??
Я как то смотрел коды, в родных файлах для есп определен буфер но ардуино для своей работы создает еще один буфер, т е получаем замедление скорости работы(копирование из одной области памяти в другой, операция фактически бесполезная) и бессмысленное отжирание оперативной памяти и так повсюду.
найдут где нибудь код и довольны работает и ладно, Ардуино способствует деградации человека как программистаА у людей либо в шоколаде либо никому не надо
Кстати idf ide обновляется очень быстро, там уже прилично кода
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: D9MG корпус для AMS
двухпоточная программа
в отладчике видно что задача опроса кнопок в два раза медленнее другой задачи#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/queue.h"
#include "driver/gpio.h"
#include "esp_log.h"
#define GPIO_OUTPUT_IO_0 18
#define GPIO_OUTPUT_IO_1 19
#define GPIO_OUTPUT_PIN_SEL ((1ULL<<GPIO_OUTPUT_IO_0) | (1ULL<<GPIO_OUTPUT_IO_1))
#define GPIO_INPUT_IO_0 22
#define GPIO_INPUT_IO_1 5
#define GPIO_INPUT_PIN_SEL ((1ULL<<GPIO_INPUT_IO_0) | (1ULL<<GPIO_INPUT_IO_1))
#define ESP_INTR_FLAG_DEFAULT 0
static const char *TAG = "demo";
static void gpio_task_example(void* arg)
{
uint32_t io_num=GPIO_INPUT_IO_0;
portTickType xLastWakeTime;
xLastWakeTime = xTaskGetTickCount();
for(;;) {
vTaskDelayUntil( &xLastWakeTime, ( 2000 / portTICK_RATE_MS ) );
if(gpio_get_level(io_num))
ESP_LOGI(TAG, "Button level HIGH");
if(!gpio_get_level(io_num))
ESP_LOGI(TAG, "Button level LOW");
}
}
void app_main()
{
gpio_config_t io_conf;
io_conf.intr_type = GPIO_PIN_INTR_DISABLE;
io_conf.pin_bit_mask = GPIO_INPUT_PIN_SEL;
io_conf.mode = GPIO_MODE_INPUT;
io_conf.pull_up_en = 1;
io_conf.pull_down_en = 0;
gpio_config(&io_conf);
xTaskCreate(gpio_task_example, "gpio_task_example", 2048, NULL, 10, NULL);
while(1) {
vTaskDelay(1000 / portTICK_RATE_MS);
ESP_LOGI(TAG, "System OK");
}
}
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: D9MG корпус для AMS
Поздравляем. Это уже больше года как всем известно.я тут вдохновленный командировкой поколупал esp32, оказалось китайцы сделали большой шаг вперед, относительно вменяемое описание, добавлены модули, есть даже сторожевой пес, для любителей проводной связи можно прицепить полноценный физический уровень, программная реализация стэка избавляет от проблем с количеством сокетов, вообщем хороший претендент на роль центрального модуля
Теоретик вы наш...для таких вещей RTOS противопоказана, программирование под RTOS требует определенной дисциплины и понимания что и как работает, сидящие под ардуиной обычно такими тонкостями не обременены поэтому все это оборачивается неисчислимыми глюками, код под RTOS тяжелее отлаживать, поэтому хватит AMS и обычных таймеров и пользователем будет меньше головной боли(у AMS сразу упадет рейтинг )
-
- Сообщения: 180
- Зарегистрирован: Пн фев 22, 2016 11:01 pm
- Благодарил (а): 29 раз
- Поблагодарили: 90 раз
Re: D9MG корпус для AMS
Я решил сделать серию "устройств" под корпуса этой серии (D3MG, D6MG и D9MG) и наткнулся на эту тему. Не смог пройти мимо и хочу выразить свою точку зрения))
А кто может сказать им, что действительно сейчас нужно? Разве проблема развести плату? Продать и продвигать продукт намного сложнее. Я, на примере своих скромных устройств, понял, что простого пути нет, либо заниматься всеръёз и надолго, либо то о чём вы пишете. Так вот, большинство идёт по пути наименьшего сопротивления)) Несмотря на мой трудный путь, мне всё-таки удалось продать практически все свои устройства (95% в Европу), но это только благодаря раскрученности проекта MySensors.
Если этого до сих пор не сделали, может оно и не надо?
Это правильно, полностью поддерживаю. Значит будет хороший результат!
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: D9MG корпус для AMS
Как это не надо? Мега в индустриальном исполнении на DIN-рейку + модули на шине не надо? Это не просто надо, а очень надо — посмотрите пример Controllino, Мега-Д и прочих...Если этого до сих пор не сделали, может оно и не надо?
Кошек тоже нужно уметь готовить. Для примера, у проекта АМС 600 000+ прочтений статей на Хабрепродвигать продукт намного сложнее
https://habr.com/users/smart_alex/posts/
это не считая всего прочего, так что при определённом понимании маркетинговых механизмов любую идею и любой продукт можно донести до потенциального пользователя.
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: D9MG корпус для AMS
У Controllino и Мега-Д есть идеология проекта - первый универсальное решение , второй заточен под определённую задачу. Просто запихать плату в корпус не интересно. А по правильному развести тот же W5500 - еще надо умудриться запаять без ошибок.
И за всё время изучения AMS только сейчас подхожу к реализации как я себе это представляю. Универсальное решение получается с трудом. Во первых подключить PowerMonitor. Для этого надо вытащить наружу 16 аналоговых выходов. Во вторых все цифровые выводы. Что бы был выбор - 30 DHT или кнопки или реле со всеми комбинациями.
И за всё время изучения AMS только сейчас подхожу к реализации как я себе это представляю. Универсальное решение получается с трудом. Во первых подключить PowerMonitor. Для этого надо вытащить наружу 16 аналоговых выходов. Во вторых все цифровые выводы. Что бы был выбор - 30 DHT или кнопки или реле со всеми комбинациями.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS