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

Open

Фотография
* * * * - 6 Голосов

SmartTank (OpenSource проект)


Лучший Ответ balabollng , 23 Февраль 2024 - 19:43

RIP этому проекту.

 

Самое время на банки ставить SEAF

 

 

https://github.com/SEAFTeam/seaf-core

 

:biggrin: 
 

Как я уже говорил выше, опыт с RC меня многому научил. Не столько технологиям ИТ, сколько работе с людьми из разных сфер, которые встречаются волей своего хобби здесь. Ах сколько полезных холиваров было... и, конечно, в итоге, почти везде я оказался прав  :angel:  Это доказало время. 

 

Всем спасибо! Это было интересно. И, внезапно, полезно. 

Перейти к сообщению


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

#201 avfv

avfv

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

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

Отправлено 15 Март 2018 - 11:56

Ну как бы выглядит реалистично, иначе память кончится сразу и будут проблемы с утечками памяти. Разве что, достаточно просто определить фильтр сообщений для скрипта, этого достаточно. Но, сделать скрипты "чистыми функциями" не очень практично, они все равно имеют свое внутреннее состояние. Так что его все равно придется в скрипт передавать, а значит где-то хранить. Даже не знаю где, ибо в идеологии "ESP32 хватит для всего" состояние скриптов хранить негде. Надо бы что-то вроде FRAM напаивать.



#202 balabollng

balabollng

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

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

Отправлено 15 Март 2018 - 12:03

Глобальных переменных не будет. Не нужны они. Зло.
Если что-то нужно сохранять, например накапливать статистику - шлем сообщения. Кому нужно получат. И распорядятся. Например сохранят в файле ил в БД. Т.е. это другая роль.
Мне не важно ваше мнение. Мне важны ваши дела.

#203 avfv

avfv

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

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

Отправлено 15 Март 2018 - 12:26

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

 

А так получается, чтобы обработать сообщение, нужно сначала послать и принять еще кучу сообщений... а у нас выделенный квант времени/таймаут кончился.


  • blurman это нравится

#204 balabollng

balabollng

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

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

Отправлено 15 Март 2018 - 13:54

Андрей, приведи пример, когда скрипту нужно что-то хранить.
Мне не важно ваше мнение. Мне важны ваши дела.

#205 avfv

avfv

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

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

Отправлено 15 Март 2018 - 14:25

Например, при срабатывании датчика уровня посылать SMS об аварийной ситуации каждые 2 часа. Все таймауты используют состояние (время начала отсчета).

Как без памяти состояния реализовывать управление реакторами, дозаторами, автодоливами не представляю. Конечному автомату информация о текущей позиции необходима.



#206 balabollng

balabollng

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

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

Отправлено 15 Март 2018 - 14:52

1. Устанавливается алерт на ногу. Т.е. вызов скрипта по заданому уровню. Если уровень достигнут, вызывается скрипт, который формирует алерт-сообщение в шине. И перевзводит алерт на ногу на 2 часа. Скрипт отсылающий sms сообщения получает событие и отправляет sms. Так повторяется через каждые 2 часа.
2. Более конкретный пример плз. Не вижу пока сложностей и тут. Дозатор дозирует по заданной программе. Реактор включается по событию. Ничего хранить пока не надо...
Мне не важно ваше мнение. Мне важны ваши дела.

#207 avfv

avfv

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

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

Отправлено 15 Март 2018 - 15:44

Вот тут состояние есть, и упрятано в непонятную магию "алерт на ногу" и "алерт на ногу на 2 часа". Возможности скриптов ограничены возможностями набора неких волшебных объектов, а ничего нового написать не получится.

И где-то все равно придется хранить информацию, что на ноге такой-то есть алерт на столько-то.

 

Вот это "дозатор просто дозирует по заданной программе" мне очень нравится. Получается, скрипт для дозатора написать невозможно? Он ведь не может никуда сохранить, сколько уже надозировал за сегодня. Ну разве что придумать еще один волшебный объект "дозирование на ногу"...

 

Сейчас совершенно непонятно, зачем нужны такие неполноценные скрипты. Вот реально проще взять ардуину и C++ и написать так как нужно, чем бороться с искусственными идеологическими ограничениями. 



#208 balabollng

balabollng

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

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

Отправлено 15 Март 2018 - 15:57

Андрей, мне кажется ты каждый раз думаешь, что я как-то пытаюсь оправдать ущербность mjs:))
Отнють. Повторюсь еще раз - если хочется, можно будет просто допилить прошивку и даже не задумываться о скриптовой части. Проблем с этим нет.
Скрипты нужны для иных целей:
1. Не внося в код платформы изменений получать новую функциональность на аппаратном уровне;
2. Отслеживать события шины как на уровне web, так и на уровне контроллера. А так же, этот принцип будет работать и в облаке. Скрипт будет хостится.

Эти условия формируют требования:
1. Унифицированность скрипта и идеологии его исполнения.
2. Полная асинхронность;
3. Отсутствие гарантированной доставки;

Еще раз обращу внимание, что если речь идет об исполнительном устройстве типа автодолив, то это должно быть монолитное устройство. Без выпендрежа. Т.е. захаркоденое. А наружу выставлена лишь шина. В которую он будет отдавать алерты.
Скрипты это следующий уровень абстракции. Когда разговор идет о том, что тебе захотелось зажигать диодик на другом конце мира в тот момент, когда твой долив доливает.
Мне не важно ваше мнение. Мне важны ваши дела.

#209 balabollng

balabollng

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

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

Отправлено 15 Март 2018 - 16:02

Про дозатор вообще не понял. Там хранятся две вещи:
1. Калибровка;
2. Сколько и когда залить.

Чего там считать? Нужно делать ;) Оба параметра сохраняются из web-интерфейса или через restapi и скрипт ими просто пользуется.
Мне не важно ваше мнение. Мне важны ваши дела.

#210 avfv

avfv

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

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

Отправлено 15 Март 2018 - 17:08

Я просто думаю, что "новая функциональность на аппаратном уровне" плохо реализуется скриптами, которые ограничены неким абстрактным верхним уровнем. 

 

Дозатор должен уметь размазывать суточную дозу на весь день, возможно с учетом работы света. И тут надо учитывать, сколько за сегодня успели долить, а сколько еще осталось. Получается, что скриптами так не сделать, подразумевается доработка кода. Хотя, думаю что дописать прошивку будет проще, чем со скриптами возиться. 



#211 balabollng

balabollng

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

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

Отправлено 15 Март 2018 - 17:37

Андрей. Выдимо ты пока так и не понял за что отвечают скрипты. Давай подождем реализации.

Все это прекрасно решается событиями. Србыте рестарт контроллера, которое, если ему нужно, обработает приложение дозатор сообщит ему о простое. И он в свою очередь, считая это проблемой, создаст алерт в шину, который уведомит пользователя.
Равномерное внесение раствора совершенно не проблема событийной машиной. Достаточно расчитать дозу и интервалы и установить таймер.
Создается впечатление, что ты смотришь на мои "потуги" не учитывая того, что все это уже было мной реализовано как минимум один раз;) и сейчас уже с учетом опыта я делаю новую систему.
В общем, поживем, увидим.
  • serpantins это нравится
Мне не важно ваше мнение. Мне важны ваши дела.

#212 Павел.В

Павел.В

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

  • Пользователи
  • PipPipPip
  • Cообщений: 133
  • Меня зовут:Павел
  • Откуда:Воронеж

Отправлено 20 Март 2018 - 11:09

Когда альфа планируется?



#213 lexx8691

lexx8691

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

  • Пользователи
  • PipPipPip
  • Cообщений: 5 998
  • Меня зовут:Алексей
  • Откуда:Новосибирская обл. р. п. Чаны.

Отправлено 20 Март 2018 - 11:11

По агентурным данным через 2 недели :biggrin:


  • Павел.В это нравится

#214 balabollng

balabollng

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

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

Отправлено 20 Март 2018 - 11:29

Да. Алексей прав.

 

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

 

Уже многим пообещал. Придется выполнять :) 


  • serpantins и Павел.В это нравится
Мне не важно ваше мнение. Мне важны ваши дела.

#215 lexx8691

lexx8691

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

  • Пользователи
  • PipPipPip
  • Cообщений: 5 998
  • Меня зовут:Алексей
  • Откуда:Новосибирская обл. р. п. Чаны.

Отправлено 20 Март 2018 - 11:31

 

Уже многим пообещал. Придется выполнять :)

На тебя кто то плохо влияет  :ah:



#216 serpantins

serpantins

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

  • Пользователи
  • PipPipPip
  • Cообщений: 2 383
  • Меня зовут:aleks
  • Откуда:Москва, ЮВАО

Отправлено 20 Март 2018 - 13:27

На тебя кто то плохо влияет  :ah:

Это "плохо" разбудило "лихо" и теперь ныкается в php движке и периодически вылезает то тут, то там, через скриптовые баги...



#217 DNK

DNK

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

  • Brandname
  • PipPipPip
  • Cообщений: 19 931
  • Меня зовут:Дмитрий

Отправлено 20 Март 2018 - 13:40

ныкается в php движке

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



#218 serpantins

serpantins

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

  • Пользователи
  • PipPipPip
  • Cообщений: 2 383
  • Меня зовут:aleks
  • Откуда:Москва, ЮВАО

Отправлено 20 Март 2018 - 13:49

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

Дмитрий, вы это о чем? Вам наверное не здоровится? Или мания какая то? Везде что то писать... не распыляйте свою энергию, она вам еще приггодиться для "пищеварительного процесса"  ;) ... 

P.s. за пределами рц ходят какие то странные разговоры, про активное, назойливое пропихивание чего то куда то и нраво учения.... народ лютует... странно, о чем это?!

Рома, ссори за оффтоп


  • BorisKramer и Little_flea это нравится

#219 balabollng

balabollng

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

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

Отправлено 20 Март 2018 - 13:55

Я тоже про PHP не понял... всему свое место. PHP отличный язык в части соответствующей его миссии. О его миссии можно почитать на официальном сайте. 


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

#220 Александр Авдеев

Александр Авдеев

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

  • Авдеевы
  • PipPipPip
  • Cообщений: 16 541
  • Меня зовут:Александр
  • Откуда:Ухта, Республика Коми

Отправлено 20 Март 2018 - 13:58

А я не понял пост выше…. aleks, не пора уже мне кнопочку нажать? :dontknow:  :biggrin:






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

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

Ветка управляется: