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

Open

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

SmartTank (OpenSource проект)


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

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

 

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

 

 

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

 

:biggrin: 
 

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

 

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

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


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

#101 avfv

avfv

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

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

Отправлено 20 Февраль 2018 - 19:06

Я-то смогу и разобраться, и создать.. Vue действительно хороший выбор, к нему бы еще TypeScript прикрутить. Проблема в том, что Vue простой лишь для тех, кто до этого плотно работал с React, Angular, jQuery, верстать умеет, CSS тоже на автомате... много ли таких? Да просто тривиальные git clone | npm install для развертывания рабочего окружения это уже сложно!

 

Поэтому я за то, что если уж делать пользовательские скрипты - то именно скрипты. Чтобы вся работа была в веб-интерфейсе контроллера. А хочешь сделать красивый интерфейс - тогда да, разбирайся с Vue, git, npm, nodejs, webpack... 


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

#102 balabollng

balabollng

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

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

Отправлено 20 Февраль 2018 - 19:16

Андрей, как тут любят говаривать - будет порог для входа ;)

 

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

 

Но те кто делают эти залипухи так и продолжат их делать. Просто потому, что изучать что-то новое они не будут. Есть куча видео по Arduino. Куча готового сырца. Куча форумов, где можно вопросы позадвать аля - у меня Arduino не компилируется... почему?

 

Я рассчитываю сделать платформу, в которой можно будет делать относительно серьезные вещи. Тиражируемые. Поэтому, пытаться угодить ардуинщикам смысла нет. Хватает других людей - кто имеют знания но не хотят что-то делать с нуля. Т.е. аудитория разработчиков видится иная. Их будет меньше. Значительно меньше. Но это только к лучшему ;)

 

А вот для конечного пользователя тут сплошные плюсы.


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

#103 BorisKramer

BorisKramer

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

  • Пользователи
  • PipPipPip
  • Cообщений: 2 588
  • Откуда:New-York - Peterburg

Отправлено 20 Февраль 2018 - 19:49

Андрей, как тут любят говаривать - будет порог для входа ;)

Это не порог, а блок.

Гарантия что никто лишний не полезет.



#104 avfv

avfv

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

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

Отправлено 20 Февраль 2018 - 20:04

Думаю, не нужно противопоставлять "серьезных разработчиков" и "ардуинщиков". Вроде как проект для DIY?

 

Я вот думаю, а вообще нужно ли делать встроенный скриптовой движок, если есть такая замечательная штука, как ардуино? Со средой разработки и сообществом? Развести на плате пару атмег, сделать в веб-интерфейсе кнопку "залить скетч", и пусть пользовательские скрипты там крутятся, через uart со всем остальным общаются.


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

#105 movoleg

movoleg

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

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

Отправлено 20 Февраль 2018 - 20:04

Как Рома и сказал, пусть меньше, но качественее будет продукт


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

#106 BorisKramer

BorisKramer

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

  • Пользователи
  • PipPipPip
  • Cообщений: 2 588
  • Откуда:New-York - Peterburg

Отправлено 20 Февраль 2018 - 20:09

Думаю, не нужно противопоставлять "серьезных разработчиков" и "ардуинщиков". Вроде как проект для DIY?
 
Я вот думаю, а вообще нужно ли делать встроенный скриптовой движок, если есть такая замечательная штука, как ардуино? Со средой разработки и сообществом? Развести на плате пару атмег, сделать в веб-интерфейсе кнопку "залить скетч", и пусть пользовательские скрипты там крутятся, через uart со всем остальным общаются.


Судя по всему, это чисто коммерческая разработка. Просто заработок будет на облаке.

#107 balabollng

balabollng

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

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

Отправлено 20 Февраль 2018 - 20:31

Андрей, я не противопоставляю, а просто объективно описываю существующую ситуацию. Если кто-то хочет сделать OpenSource проект на Arduino - кто ж запретит? Только он уже есть - контроллер Олега. И что-то не видно там большого наплыва желающих улучить что-то. Т.ч. делать то, что уже сделано, это для меня последнее дело.

 

Усложнять схему MCU (ставить рядом контроллеры) в этом проекте только еще выше поставить планку. Кому нужно будет, воспользуются готовым средством вывода, сделает это без проблем. Но нужды в этом не будет. 


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

#108 Sleepy

Sleepy

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

  • Администраторы
  • Cообщений: 18 450
  • Меня зовут:Николай
  • Откуда:Москва

Отправлено 20 Февраль 2018 - 21:11

Судя по всему, это чисто коммерческая разработка. Просто заработок будет на облаке.

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


С Уважением, Николай.

Я не отвечаю на "аквариумные" вопросы в личке. Пишите на форум, пожалуйста.


#109 balabollng

balabollng

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

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

Отправлено 20 Февраль 2018 - 21:15

Кстати, Андрей, посмотрел для VUE плагины для автогенерации форм. Тоже есть.

 

К примеру - https://github.com/v...-form-generator


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

#110 lexx8691

lexx8691

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

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

Отправлено 21 Февраль 2018 - 13:19

Роман ты обкатываешь виртуально или на железе? Мне вот что интересно ни где не увидел что делать с неиспользуемыми выводами. Оставить в воздухе?

Еще там есть интересные входы для сенсорной кнопки ;) 



#111 balabollng

balabollng

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

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

Отправлено 21 Февраль 2018 - 14:29

И на железе и локально. Точнее сначала делаю прототип на компе, отлаживаю фичу, затем ее партирую на контроллер. И проверяю там.

По железу сейчас не запариваюсь. Есть девборда с esp32 аля NodeMCU. Вот на ней и проверяю. С сигеалами пока не разбирался.

Прсмотри видео в начале темы. Там умный дядька много полезного говорит.
Мне не важно ваше мнение. Мне важны ваши дела.

#112 balabollng

balabollng

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

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

Отправлено 21 Февраль 2018 - 15:56

Новая новость. Тут как-то сама собой вышла новая технология - SmartTankAppNET :))

 

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

 

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

 

И тут возникла интересная идея - можно же сделать слабо связанные приложения!

 

Суть такая, что компонент может быть не определен вообще (не быть загруженым). Но при обращении к нему система будет сначала искать его на контроллере, а затем обращаться к репозиторию в облаке. Таким образом, приложения на контроллере смогут:

1. Внедрять в себя части других приложений или их отдельные компоненты;

2. Держать часть своего "тяжелого" функционала во внешних ресурсах. 

3. Могут создаваться поистине сетевые приложения!

 

Для конечно пользователя это:

1. Возможность получать приложения любой сложности на столь ограниченных ресурсах контроллера. 

2. Дружелюбная система обновлений приложений и конфигурирования контроллера. 

 

Честно сказать, мне идея очень понравилась своей красивой и простой реализацией через VUE.


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

#113 balabollng

balabollng

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

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

Отправлено 27 Февраль 2018 - 15:05

Тихим сапом начался "запил" интерфейса управления светильником.

 

Выделение_003.png

 

Что тут нового:

1. Это мультиграфик. Т.е. можно определить не один день, а по сути любой интервал времени, который будет разбит на более мелкие (например дни). Это позволит создавать различные циклы любой длительности и переодичности. Конечно, никто не запрещает сделать цикл равным одному дню.

2. График может масштаброваться вплоть до миллисекунд. Т.е. при необходимости, можно создавать прецизионные графики. 

3. Сам график можно будет использовать в своих приложениях. Это позволяет разработанная технология SmartTankAppNET. Естественно с этим учетом и пилится его функциональность.

4. Для пользователя работа с графиком будет очень понятна и проста. Чем-то напоминать работу с картами, например Яндекс.

 

Помимо этого, концепция SmartTankAppNET позволила саму оболочку сделать приложением. Т.е. по сути, можно написать собственную оболочку и установить как приложение. Что-то типа ланчеров для Android. 

 

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

 

 

 

 

 


  • Nazguluz, lexx8691 и movoleg это нравится
Мне не важно ваше мнение. Мне важны ваши дела.

#114 avfv

avfv

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

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

Отправлено 28 Февраль 2018 - 14:56

Роман, а как концепция SmartTank решает проблему наличия сразу нескольких ESP? Облаком? Или все еще в разработке?



#115 balabollng

balabollng

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

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

Отправлено 28 Февраль 2018 - 15:13

Шиной. Это абстрактное понятие которое реализуется на различных физических принципах. Сами физические принципы не важны. К примеру:

1. При передаче в шину сообщения, оно отправляется по UDP широковещательному протоколу в локальную есть. И другие модули могут получать сообщения.

2. Модули могут быть соединены проводом и сообщения передаваться по ним. От 1w, CAN, I2C до Ethernet и т. п.

3. Модули могут быть подключены к облаку и обмениваться сообщениями находясь на любом отдалении.

 

Вывод данных в шину осуществляют шлюзы. Это программный модуль, которые принимает сообщение, конвертирует его и отправляет по физике, для которой он создавался.

 

Шина уже сейчас функционирует контроллер-контроллер и контроллер-WEB интерфейс. 


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

#116 avfv

avfv

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

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

Отправлено 28 Февраль 2018 - 15:28

Ок, это как приложения общаются. Но вот у меня есть светильник и дозатор, две ESP, на каждую установлено свое приложение. Каждая ESP получает свой какой-то IP от роутера, можно сделать его постоянным. Как мне увидеть оба интерфейса сразу? Через облако?



#117 balabollng

balabollng

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

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

Отправлено 28 Февраль 2018 - 15:36

Совсем не обязательно. Как раз SmartTankAppNET решает этот вопрос. При объединении устройств в кластер, интерфейс у них становится общим. Ты заходишь на любое устройство, оно в курсе о наличии других в кластере. И будет отображать все установленные приложения. Во всем кластере. Т.е. если это дозатор и светильник, зайдя на любое устройство, будет два приложения, которые будут открываться в оболочке того устройства, на который ты зашел. Т.е. пользователь увидит и приложение светильника и приложение дозатора. 

 

Другое дело, что сейчас я еще не продумал как сделать, если будет 2 дозатора в кластере. Тут нужно будет как-то определять для какого дозатора какое приложение. Скорее всего, приложения будут иметь имена равные имени точки доступа этого контроллера. И ты будешь видеть откуда именно ты запускаешь приложение. 

 

А так, сама технология делает считай локальное облако ресурсов не имеющее четкой точки входа. 


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

#118 avfv

avfv

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

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

Отправлено 28 Февраль 2018 - 17:09

Получается, что сеть между нодами все равно необходима, или же приложения будут передаваться по шине?

 

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



#119 kapelan

kapelan

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

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

Отправлено 28 Февраль 2018 - 17:19

Андрей, я не противопоставляю, а просто объективно описываю существующую ситуацию. Если кто-то хочет сделать OpenSource проект на Arduino - кто ж запретит? Только он уже есть - контроллер Олега. И что-то не видно там большого наплыва желающих улучить что-то. Т.ч. делать то, что уже сделано, это для меня последнее дело.

 

Усложнять схему MCU (ставить рядом контроллеры) в этом проекте только еще выше поставить планку. Кому нужно будет, воспользуются готовым средством вывода, сделает это без проблем. Но нужды в этом не будет. 

Контроллера от Олега не существует, если Вы имеете в виду jarduino  от Jamie Jardin?
То там действительно сложно что-то улучшить. Грубо говоря ядро написано не самым лучшим образом - поэтому что-то изменить есть большой геморой.  
но учитывая что это было 5 лет назад - вполне годится.
А ардуинку просто по цене не получится побить .
Там изначально чип рарабатывался на управление периферией.
Пробовать управлять утюгом с помошью компьютера конечно можно и даже получится... только письма писать нужно ручкой а картины маслом - а не наоборот.



#120 balabollng

balabollng

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

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

Отправлено 28 Февраль 2018 - 18:17

Для приложения есть понятие - манифест. Манифест передается по шине. В нем излагаются его экспортные функции, подписки на события и ресурсы. Именно ресурсы определяют где лежат его компоненты. Для локальной сети это будет http на конкретный ip.
Мне не важно ваше мнение. Мне важны ваши дела.




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

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

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