D9MG корпус для AMS

Модератор: Alex

alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: D9MG корпус для AMS

Сообщение alexsis_76 » Вт окт 16, 2018 12:26 pm

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

Re: D9MG корпус для AMS

Сообщение serghei » Вт окт 16, 2018 12:33 pm

Он у меня и есть центральный. Реализованы все фишки , что мы обсуждали. Сейчас жду 485 конверторы и буду прикручивать модбас. Единственное - хочется переписать код для AMS с учетом работы из-под RTOS. ( Главный признак - отсутствие вкладки таймеров).
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: D9MG корпус для AMS

Сообщение alexsis_76 » Вт окт 16, 2018 1:38 pm

хочется переписать код для AMS с учетом работы из-под RTOS
для таких вещей RTOS противопоказана, программирование под RTOS требует определенной дисциплины и понимания что и как работает, сидящие под ардуиной обычно такими тонкостями не обременены поэтому все это оборачивается неисчислимыми глюками, код под RTOS тяжелее отлаживать, поэтому хватит AMS и обычных таймеров и пользователем будет меньше головной боли(у AMS сразу упадет рейтинг :D )
Реализованы все фишки , что мы обсуждали
есп32 может намного больше

Попробовал в качестве IDE Эклипс, среда изумительная.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: D9MG корпус для AMS

Сообщение serghei » Вт окт 16, 2018 1:49 pm

Так 32-я по дефолту компилится с Rtos. Просто мало кто про это знает. Знаний у меня мало в этом направлении , но в меру пытаюсь перейти. Реконнект уже так работает. Электро модуль то же. Есть пример сервера и SD карты. Надо просто собрать все в кучу.
PS/ почему тогда моргание led на 13-м пине занимает половину оперативы ?
PPS/ А у людей либо в шоколаде либо никому не надо. Только один человек обратился за помощью.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: D9MG корпус для AMS

Сообщение alexsis_76 » Вт окт 16, 2018 2:04 pm

Так 32-я по дефолту компилится с Rtos
они все NON-RTOS
PS/ почему тогда моргание led на 13-м пине занимает половину оперативы ??
Ты на чем пишешь? правильно на ардуине, она видимо не заморачивается и пихает в оперативку все что найдет плюс различные буфера в самой ардуине
Я как то смотрел коды, в родных файлах для есп определен буфер но ардуино для своей работы создает еще один буфер, т е получаем замедление скорости работы(копирование из одной области памяти в другой, операция фактически бесполезная) и бессмысленное отжирание оперативной памяти и так повсюду.
А у людей либо в шоколаде либо никому не надо
найдут где нибудь код и довольны работает и ладно, Ардуино способствует деградации человека как программиста

Кстати idf ide обновляется очень быстро, там уже прилично кода
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: D9MG корпус для AMS

Сообщение alexsis_76 » Ср окт 17, 2018 4:44 am

двухпоточная программа
#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");
}
}
Безымянный.jpg
задачи
Безымянный.jpg (167.94 КБ) 3509 просмотров
в отладчике видно что задача опроса кнопок в два раза медленнее другой задачи
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: D9MG корпус для AMS

Сообщение Alex » Ср окт 17, 2018 9:03 am

я тут вдохновленный командировкой поколупал esp32, оказалось китайцы сделали большой шаг вперед, относительно вменяемое описание, добавлены модули, есть даже сторожевой пес, для любителей проводной связи можно прицепить полноценный физический уровень, программная реализация стэка избавляет от проблем с количеством сокетов, вообщем хороший претендент на роль центрального модуля
Поздравляем. Это уже больше года как всем известно.
для таких вещей RTOS противопоказана, программирование под RTOS требует определенной дисциплины и понимания что и как работает, сидящие под ардуиной обычно такими тонкостями не обременены поэтому все это оборачивается неисчислимыми глюками, код под RTOS тяжелее отлаживать, поэтому хватит AMS и обычных таймеров и пользователем будет меньше головной боли(у AMS сразу упадет рейтинг :D )
Теоретик вы наш...
kalina
Сообщения: 180
Зарегистрирован: Пн фев 22, 2016 11:01 pm
Благодарил (а): 29 раз
Поблагодарили: 90 раз

Re: D9MG корпус для AMS

Сообщение kalina » Ср окт 17, 2018 10:01 am

Я решил сделать серию "устройств" под корпуса этой серии (D3MG, D6MG и D9MG) и наткнулся на эту тему. Не смог пройти мимо и хочу выразить свою точку зрения))
Alex писал(а):
Ср сен 26, 2018 11:55 am
Те, кто может делать железо т. н. «железячники» делают всё, что угодно, любую никому не нужную фигню с тиражами в 10-20 экземпляров
А кто может сказать им, что действительно сейчас нужно? Разве проблема развести плату? Продать и продвигать продукт намного сложнее. Я, на примере своих скромных устройств, понял, что простого пути нет, либо заниматься всеръёз и надолго, либо то о чём вы пишете. Так вот, большинство идёт по пути наименьшего сопротивления)) Несмотря на мой трудный путь, мне всё-таки удалось продать практически все свои устройства (95% в Европу), но это только благодаря раскрученности проекта MySensors.
Alex писал(а):
Ср сен 26, 2018 11:55 am
в упор не видят возможность сделать Ардуино в индустриальном исполнении с потенциальным тиражом в тысячи и десятки тысяч экземпляров (это безотносительно АМС).
Если этого до сих пор не сделали, может оно и не надо?
Alex писал(а):
Ср сен 26, 2018 11:55 am
Я уже отчаялся достучаться до них и получается как всегда — хочешь сделать хорошо — сделай сам. Чем я и занимаюсь в меру своих скромных способностей.
Это правильно, полностью поддерживаю. Значит будет хороший результат!
Raspberry PI3 + образ 3.31 | MDMSGate | Lighting | LightingX2 | Power | Multisensor
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: D9MG корпус для AMS

Сообщение Alex » Ср окт 17, 2018 10:24 am

Если этого до сих пор не сделали, может оно и не надо?
Как это не надо? Мега в индустриальном исполнении на DIN-рейку + модули на шине не надо? Это не просто надо, а очень надо — посмотрите пример Controllino, Мега-Д и прочих...
продвигать продукт намного сложнее
Кошек тоже нужно уметь готовить. Для примера, у проекта АМС 600 000+ прочтений статей на Хабре

https://habr.com/users/smart_alex/posts/

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

Re: D9MG корпус для AMS

Сообщение serghei » Ср окт 17, 2018 10:45 am

У Controllino и Мега-Д есть идеология проекта - первый универсальное решение , второй заточен под определённую задачу. Просто запихать плату в корпус не интересно. А по правильному развести тот же W5500 - еще надо умудриться запаять без ошибок.
И за всё время изучения AMS только сейчас подхожу к реализации как я себе это представляю. Универсальное решение получается с трудом. Во первых подключить PowerMonitor. Для этого надо вытащить наружу 16 аналоговых выходов. Во вторых все цифровые выводы. Что бы был выбор - 30 DHT или кнопки или реле со всеми комбинациями.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Ответить