Sivolday

Ответы в темах

Просмотр 8 сообщений - с 1 по 8 (из 8 всего)
  • Автор
    Сообщения
  • #21843
    Sivolday
    Участник
    • Ответов: 17
    @sivolday
    #21327
    Sivolday
    Участник
    • Ответов: 17
    @sivolday

    P.S. сам быстро написать в данной среде “arduino” не могу, ну не привык я к такому “кастрированному” интерфейсу, если кто знает, как прикрутить ЭТО чудо техники к нормальной среде (можно к примеру Eclipse, только его клон Sloeber не предлагать…), возможно внесу больше своей лепты.

    Под Visual Studio есть Visual Micro  Бесплатной версии вполне достаточно, подсветка синтаксиса, навигация по коду, предиктивный ввод… всё работает.

    Вложения:
    Вы должны войти для просмотра вложений.
    #21031
    Sivolday
    Участник
    • Ответов: 17
    @sivolday

    Глупо конечно цитировать самого себя (( , бегло просмотрел html, скрол появляется от ифреймов, и мало того все страницы соответственно грузятся в ифреймы со своими скриптами бутстрапом и jquery,  http://joxi.ru/V2VaM3wTxypbzm и у каждого на «bodyonload» запускается функция process() и по тайм ауту каждую секунду пытается отправить данные на сервер.

    Судя по всему это наследие кодогенерации Layoutit.com, конечно так не надо.

    Можно при загрузке сайта подгружать html всех страниц в JS, и по необходимости (для “перехода” на другую вкладку) подменять содержимое соответствующего div-а . Будет только одна медленная загрузка при старте.

    А при открытии требуемой вкладки есть настройки каждого процесса и кнопка старт, стоп, пауза и возможно на главной «запускается» отображение текущего процесса с графиками, датчиками…

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

    void loop() {

    HTTP.handleClient();

    // dallRead(flagDallRead*1000);

    distillationLoop();

    if(condition.refluxLoopActiveIs)                // по уму завести enum и через switch

    {

    refluxLoop();

    }

    brewingLoop();

    heaterLoop();

    delay(1);

    }

    Нужно ли делать настройки каждого процесса (нужно думаю)

    Согласен.

    Под эти нужды завести систему DTO классов. Это важно при распределённой разработке. Инкапсуляция прекрасна ещё и при работе в нормальной IDE тогда доступны IntelliSense – проще работать с чужим кодом.

    #21017
    Sivolday
    Участник
    • Ответов: 17
    @sivolday

    Я готов заняться графиками, считаю это главной ценностью автоматизации. Выведение состояния системы в виде графика позволяет с максимальной наглядностью наблюдать за протекающим процессом. Готов приступить только поле появления репозитория, поскольку уже сейчас ведётся параллельная разработка и сливать всё воедино будет сложно.

    В своё время делал вывод графиков на plotly . Графики надо переносить на соответствующие страницы иначе они будут сбрасываться. По хорошему надо сделать одну страницу, а вкладки подгружать через AJAX во <frame>. В этом случае фоном может крутиться скрипт, постоянно принимая данные с датчиков. При такой реализации можно безболезненно осуществлять навигацию по сайту.

    Также эта библиотека позволяет выгружать графики в различных форматах (есть ограничение на количество точек), полноценно поддерживается pan/zoom. Во вложении пример моей реализации.

    Вложения:
    Вы должны войти для просмотра вложений.
    #20870
    Sivolday
    Участник
    • Ответов: 17
    @sivolday

    А что там поддерживать? Поставил репозиторий и все. Как я понял.

    Любой сервер требует администрирования в той или иной степени, как минимум первоначальной настойки. Если есть готовый хорошо зарекомендовавший себя сервис, то зачем заморачиваться.

    #20809
    Sivolday
    Участник
    • Ответов: 17
    @sivolday

    Касательно использования одного вывода или нескольких под датчики температуры. С точки зрения платформы целесообразнее использование одного вывода. Поскольку платформа позиционируется как универсальная количество датчиков может варьироваться, у кого-то может не быть возможности измерения температуры в царге или напротив у кого-то есть необходимость в дополнительном датчике. Текущая реализация не допускает масштабирование, более того если я правильно понимаю она будет работать только с 4 датчиками и не как иначе.

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

    Я реализовывал подобную систему и изначально пошёл по аналогичному пути (с заранее определённым числом датчиков), впоследствии для того что бы внести изменения пришлось всё переписывать.

    Существует такая универсальная прошивка под ESP8266, рекомендую к ознакомлению. Концепцию конфигурирования вполне можно перенять.

    #20808
    Sivolday
    Участник
    • Ответов: 17
    @sivolday

    Что бы решить проблему с нагреванием твердотельного реле и проблему залипания электромагнитного можно поставить их параллельно. Вот подробная статья, причём логику работы схемы можно реализовать и программно.

    #20806
    Sivolday
    Участник
    • Ответов: 17
    @sivolday

    Почему бы не воспользоваться GitHub? Поддержка сервера git – это трата времени, которое можно использовать на развитие проекта.

Просмотр 8 сообщений - с 1 по 8 (из 8 всего)