Перейти к содержимому

Open

Фотография
- - - - -

Акваконтроллер ака Умный аквариум :)


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 310

#281 Starcomputer

Starcomputer

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 2 164
  • Меня зовут:Сергей
  • Откуда:Донецк, ДНР

Отправлено 17 Ноябрь 2021 - 18:06

Поигрался тут с ESP32.

Соединение по WiFi - без проблем

Соединение с УД по MQTT:

Конфигурируем MQTT:

AT+MQTTUSERCFG=0,1,"Aquarium","aqua","MyPass",0,0,""
OK

 

 

Соединение с УД:

AT+MQTTCONN=0,"192.168.10.107",1883,0
+MQTTCONNECTED:0,1,"192.168.10.107","1883","",0
OK

 

 

Подписка:
AT+MQTTSUB=0,"aqua",1
OK

 

 

Публикация:
AT+MQTTPUB=0,"aqua","test",1,0
OK
+MQTTSUBRECV:0,"aqua",4,test

 

Дальше надо уже в самом УД настраивать.


С уважением, Сергей Таранченко

#282 balabollng

balabollng

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 5 435

Отправлено 18 Ноябрь 2021 - 08:09

Прекрасное решение.

Можно еще вместо esp32 комп подключить к atmega. И AT командами отправлять mqtt запросы. Используя его только как точку доступа.
Мне не важно ваше мнение. Мне важны ваши дела.

#283 Starcomputer

Starcomputer

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 2 164
  • Меня зовут:Сергей
  • Откуда:Донецк, ДНР

Отправлено 18 Ноябрь 2021 - 09:43

Не мое. Espressif именно и позиционирует его как чип многоцелевого беспроводного интерфейса. Подключение к нему дисплеев и прочего это уже ПО сторонних разработчиков. Это видно даже из развития фирменного ПО. Последняя, вышеупомянутая, прошивка как Вы могли заметить нацелена именно на поддержание беспроводных интерфейсов, а не на работу с дисплеями и т. п.

Да, возможно ситуация, когда ведомый чип мощнее, чем ведущий это нонсенс :) Но не стоит забывать, что львиная доля ресурсов процессора тратится как раз на сети. Если Вы мне не верите, откройте диспетчер задач в винде и посмотрите, чем в основном занят процессор при подключенном интернете.

 

Вы можете предложить свое решение, но контроллер должен быть полностью автономным и работать вне зависимости от наличия каких-либо внешних сетей, кроме питания.

Впрочем Вы уже его предложили: https://habr.com/ru/post/474816/

Хотя, насколько я понял, сделать это на контроллере у Вас не получилось

В общем, одного чипа ESP8266 мне не хватило. Потратив немного времени я нашел еще один интересный чип — PCA9685.

 

 Быстро выяснилась еще деталь — поставляемая SDK на этот чип занимает практически все его ресурсы. Что-то запилить было конечно возможно, но что-то нормальное — нет.

Но цель-то была в оверхеде! Не долго думая, я объявил сее устройство IoT вещью и запилил к нему облако. 

 

 

, и Вы вместо компа подключили туда облако :)

Все тяжелые преобразования проводились в облаке. Трансляции по крону запускали пересчет программ для контроллеров. Контроллер же раз в минуту ходил GET запросом и получал очередную, актуализированную программу.

 

 

Круто конечно, но поверьте, гидробионитам от 3D графики ни холодно, ни жарко.

 

Простите, а о каких "тяжелых" преобразованиях идет речь ? Расчет скважности ШИМ от времени ? :)

И что из этого:

 

Визуализацию спектра и в 2D и в 3D;

Трансляцию светового дня с любой точки мира;

Отображение в реальном времени значений датчиков;

Уведомление о выходе за предельные значения датчиков (для этого впилил тогда очень модные и неизведанные (ServiceWorkers);

Сделал элементы социалки (спектрами можно было делиться).

 

 

относится непосредственно к аквариумному контроллеру ?

Я вижу только только два пункта - отображение значений датчиков и уведомление о выходе за предельные значения. Но это делается даже на Ардуино UNO, и туда не нужно "влеплять ServiceWorkers", только потому, что они новые и неизведанные.

Остальное наверно и есть те самые "тяжелые" вычисления.

В-общем проект чисто для портфолио, впрочем Вы и сами написали, что "цель-то была в оверхеде! ".

А что было дальше ?

 мы выпустили первый “взрослый” контроллер, который на борту имел MCU. ESP умела его прошивать

 

Т.е. дальше Вы пошли по тому-же пути, что и я :)

Таким и я когда-то развлекался (лет 15 назад). Проект назывался Aquaduino. Как можно понять из названия это был маленький контроллер с RTC и блютузом на борту и кучей контактов для дальнейшего использования. Оказался не интересен ввиду отсутствия доступных средств разработки и библиотек.

Сейчас я взял уже готовый контроллер, на который уже есть и библиотеки и IDE. И использую ESP32 по прямому назначению.


С уважением, Сергей Таранченко

#284 Starcomputer

Starcomputer

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 2 164
  • Меня зовут:Сергей
  • Откуда:Донецк, ДНР

Отправлено 18 Ноябрь 2021 - 13:33

Начал проектировать модули. Хотя проектировать это ну ОЧЕНЬ громко сказано :)

Собственно все схемы уже давно есть.

Подумал, что будет удобнее, если каждый модуль будет представлять из себя отдельно контроллер модуля (цифровая часть) и сам модуль, куда уже можно что угодно лепить :)

Итак контроллер модуля.

Все абсолютно банально. Atmega 328 + MCP2515 + TJA1050. Частота 16 мГц.

Питание - LD1117-5,0

В чип прошивается загрузчик для Ардуино PRO (PRO micro). И после этого контроллер можно программировать в среде Ардуино, используя стандартные библиотеки.

По сути получилась Ардуино PRO + CAN + 1-WIRE.

Поскольку минимальная обвязка контроллера это DS18B20, то шина 1-WIRE сделана непосредственно в контроллере модуля.

Разъем PRG служит для прошивки загрузчика и в дальнейшем как угодно. Разъем FTDI для заливки скетча.

Схема прилагается. Замечания, пожелания приветствуются :)

Прикрепленные изображения

  • Схема кмд.JPG

С уважением, Сергей Таранченко

#285 Starcomputer

Starcomputer

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 2 164
  • Меня зовут:Сергей
  • Откуда:Донецк, ДНР

Отправлено 18 Ноябрь 2021 - 13:45

Наличие такого отдельного контроллера модуля позволяет использовать обычные платы расширения для Ардуино.


С уважением, Сергей Таранченко

#286 Igor "Boroda"

Igor "Boroda"

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 335
  • Меня зовут:Игорь

Отправлено 18 Ноябрь 2021 - 14:04

На колодке китайского FTDI шесть выводов и земля там шестой(не пятый).

В цепь сброса ещё бы добавить керамику 0.1 для надёги.

Преобразователь уровней 5-3В перенесён с дуе? Тут то зачем? Да и питалова 3.3В на схеме нет. Брать с UNO? Так он там никакой(50 мА вроде)



#287 Starcomputer

Starcomputer

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 2 164
  • Меня зовут:Сергей
  • Откуда:Донецк, ДНР

Отправлено 18 Ноябрь 2021 - 16:09

На колодке действительно шесть. На одних схемах 5-й - CTS (никуда не подключен), на других - GND (5-й и 6-й). Поэтому 5 выводов.

Не вопрос. Я обычно так и делаю, но тут еще DTR сбрасывает цепь через 0,1

Какой преобразователь ? :(

Если Вы про LD1117-5,0, то это источник 5-ти вольтового питания. По кабелю CAN кроме сигналов и земли идет 7,5В (7...9В). От него через LD-шку запитан контроллер.

3в3 тут в принципе нет вообще :) А зачем ?

А да, сорри .... при копировании с другой схемы не доглядел .... исправлю.


С уважением, Сергей Таранченко

#288 Krashn056

Krashn056

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 1 370
  • Меня зовут:Дмитрий
  • Откуда:Оренбург

Отправлено 18 Ноябрь 2021 - 20:45

TJA1050 лучше не использовать, часто вылетают, знаю по тачкам, недавно менял такую в халдекс муфте, на NCV7342



#289 balabollng

balabollng

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 5 435

Отправлено 19 Ноябрь 2021 - 06:39

Esp32 ДВА ядра и 160 (!) MHz. Одно ядро для обеспечения работы сетевых протоколов, второе для прикладное.

Про позиционирование esp32 как сетевой интерефейс - забавно. Что это чип для IoT я видел везде. Даже в 100500 примерах от самого производителя чипов.

Вы вот бьетесь как рыба об камень, а в примерах для esp32 есть все. Просто все, что вам нужно.
Мне не важно ваше мнение. Мне важны ваши дела.

#290 Krashn056

Krashn056

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 1 370
  • Меня зовут:Дмитрий
  • Откуда:Оренбург

Отправлено 19 Ноябрь 2021 - 07:19

Esp32 ДВА ядра и 160 (!) MHz. Одно ядро для обеспечения работы сетевых протоколов, второе для прикладное.

Про позиционирование esp32 как сетевой интерефейс - забавно. Что это чип для IoT я видел везде. Даже в 100500 примерах от самого производителя чипов.

Вы вот бьетесь как рыба об камень, а в примерах для esp32 есть все. Просто все, что вам нужно.

Советы все любят раздавать, вот взяли бы и помогли web морду написать)

#291 balabollng

balabollng

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 5 435

Отправлено 19 Ноябрь 2021 - 07:35

Советы не давать советы все любят давать. А вы возьмите и помогите сами;)

Я уже помог каждому из присутствующих. Просто нужно помощь принять. А для этого у нас принято проходить 7 известных стадий. Ждем.

Если вдруг забылось - https://reefcentral....gjs#entry856876
https://habr.com/ru/post/521174/
Мне не важно ваше мнение. Мне важны ваши дела.

#292 Krashn056

Krashn056

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 1 370
  • Меня зовут:Дмитрий
  • Откуда:Оренбург

Отправлено 19 Ноябрь 2021 - 09:47

Советы не давать советы все любят давать. А вы возьмите и помогите сами;)

Я уже помог каждому из присутствующих. Просто нужно помощь принять. А для этого у нас принято проходить 7 известных стадий. Ждем.

Если вдруг забылось - https://reefcentral....gjs#entry856876
https://habr.com/ru/post/521174/

Если знал программирование и был бы web дизайнером, вы бы уже давно пользовались моим идеальным, умным компьютером))))

#293 balabollng

balabollng

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 5 435

Отправлено 19 Ноябрь 2021 - 15:52

Тогда занимайтесь саморазвитием. И уже через месяц ждем свершений вместо советов не давать советов ;) 

С нетерпением жду. первым вам донат отправлю. 


Мне не важно ваше мнение. Мне важны ваши дела.

#294 Starcomputer

Starcomputer

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 2 164
  • Меня зовут:Сергей
  • Откуда:Донецк, ДНР

Отправлено 20 Ноябрь 2021 - 07:45

Esp32 ДВА ядра и 160 (!) MHz. Одно ядро для обеспечения работы сетевых протоколов, второе для прикладное.

Про позиционирование esp32 как сетевой интерефейс - забавно. Что это чип для IoT я видел везде. Даже в 100500 примерах от самого производителя чипов.

Вы вот бьетесь как рыба об камень, а в примерах для esp32 есть все. Просто все, что вам нужно

Давайте сделаем так:

Вы нарисуете СВОЮ схему контроллера с учетом выложенных здесь требований, а мы все посмотрим.

Я с удовольствием прму любые идеи, кроме "делай как я !!!".

Кроме того  не забывайте, что при заливке своей программы старая прошивка ESP32 стирается. Т.е. либо нужно найти способ заливки БЕЗ стирания имеющейся (и способ вызова имеющихся в SDK функций), либо написать свои библиотеки. Думаю, что Вам, как человеку, позиционирующему себя как серьезный программист это вполне по силам, тем более, что концепция (Одно ядро для обеспечения работы сетевых протоколов, второе для прикладное.) у Вас уже есть.


С уважением, Сергей Таранченко

#295 balabollng

balabollng

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 5 435

Отправлено 20 Ноябрь 2021 - 07:56

Давайте нет:)

Где я говорил - делай как я? Я лишь говорил, что вы делаете нерациональную, морально устаревшую, не нужную по сути штуку. Аргументы выше.

Но коль вы делаете ее просто так, т.е. даром, для души, то все эти аргументы не имеют смысла. Т.е. проект не находится в плоскости аргументов, а расположен в плоскость вкусовщины.

Подчеркиваю еще раз. Я все понимаю. Принял эту позицию. Общаемся о вкусах. Я высказал свой с высоты моего опыта и знаний.

---
Вы делаете кучу неверных предположений о ESP32. Говорящие одно - вы не уделили время на прочтение документации. Прочтите и жизнь станет резко проще.

В поставке SDK на ESP32 есть ВСЕ нужные вам примеры.
Мне не важно ваше мнение. Мне важны ваши дела.

#296 avfv

avfv

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 535
  • Меня зовут:Андрей
  • Откуда:Санкт-Петербург

Отправлено 20 Ноябрь 2021 - 10:59

Кроме того  не забывайте, что при заливке своей программы старая прошивка ESP32 стирается. Т.е. либо нужно найти способ заливки 

Вы должны понимать, что залить дополнительную прошивку в пару к стандартной в принципе не получится. Это так не работает.
Если хочется добавить свой функционал в AT прошивку от espressif, то нужно взять ее исходники и доработать под себя. Исходный код: https://github.com/espressif/esp-at

Вам советуют по одной простой причине - в свое время пробовали так как вы, и нам не понравился результат.



#297 balabollng

balabollng

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 5 435

Отправлено 20 Ноябрь 2021 - 12:14

Ну даже это решение я предложил. Т.е. при обновлении логики не терять данные. Но... нужно как-то не так :)

P.S. https://docs.espress...ion-tables.html
Мне не важно ваше мнение. Мне важны ваши дела.

#298 Starcomputer

Starcomputer

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 2 164
  • Меня зовут:Сергей
  • Откуда:Донецк, ДНР

Отправлено 20 Ноябрь 2021 - 14:50

расположен в плоскость вкусовщины.

 

Естественно :) Каждый видит по своему.


С уважением, Сергей Таранченко

#299 Starcomputer

Starcomputer

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 2 164
  • Меня зовут:Сергей
  • Откуда:Донецк, ДНР

Отправлено 20 Ноябрь 2021 - 14:57

Вы должны понимать, что залить дополнительную прошивку в пару к стандартной в принципе не получится. Это так не работает.
Если хочется добавить свой функционал в AT прошивку от espressif, то нужно взять ее исходники и доработать под себя. Исходный код: https://github.com/espressif/esp-at

Вам советуют по одной простой причине - в свое время пробовали так как вы, и нам не понравился результат.

Нет. Компиляция в целом не подойдет. Для коммерческого закрытого проекта ДА, для открытого с возможностью что-то добавлять / изменять НЕТ.

Я тоже не представляю КАК это можно сделать.

В идеале - готовая базовая (уже записанная) прошивка, в которую включены все функции по работе с железом. Типа биоса, так что ли назвать :)

Все остальное можно писать самому. Как вариант - на Ардуино IDE, как одной из самых простых и распространенных.


С уважением, Сергей Таранченко

#300 Starcomputer

Starcomputer

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 2 164
  • Меня зовут:Сергей
  • Откуда:Донецк, ДНР

Отправлено 20 Ноябрь 2021 - 15:04

Я лишь говорил, что вы делаете нерациональную, морально устаревшую, не нужную по сути штуку.

 

Насчет иррациональности ну ПОЛНОСТЬЮ с Вами согласен. Интерес к подобным контроллерам (да и к аквариумистике в целом) давно уже погас.

Насчет устаревшей .... ну мое мнение пока прежнее - такие системы должны быть полностью автономны. Связь с инетом только как дополнительная опция.

Устаревшее железо ... ну предложите свой вариант.


С уважением, Сергей Таранченко




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных