27 МОСКОВСКАЯ ВСТРЕЧА
Форум самогонщиков Сайт Барахолка Магазин 27 МОСКОВСКАЯ ВСТРЕЧА

Smart Distiller (Умный дистиллятор с управлением по интернет)

Форум самогонщиков Автоматика
1 ... 7 8 9 10 11 12 13 10
C-Bell Научный сотрудник Улан-Удэ 1.8K 1.3K
Отв.180  20 Сент. 17, 13:49
Похоже, недоступен модуль визуализации google chart.
Чтобы проверить, в браузере нужно нажать F12, выбрать вкладку Console и обновить страницу (F5).
Должно чего-то написать.
C-Bell Научный сотрудник Улан-Удэ 1.8K 1.3K
Отв.181  20 Сент. 17, 14:36, через 47 мин
В продуктив, часть 2. Собираем электрику
     Теперь встраиваем одноплатник Raspberry PI в схему автоматики:
Smart Distiller (Умный дистиллятор с управлением по интернет)
Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.


    Цифровые термометры подключаются на шину 1-Wire к 7 штырьку GPIO (GPIO4), общий провод – к штырьку 9, питание 3,3V подается со штырька 1. Между проводом питания и сигнальным проводом включен резистор 3 kOm.
    ТЭН включается через мощное твердотельное реле SSR-40DA, которое управляется со штырька 18 (GPIO24). Твердотельное реле должно быть установлено на радиатор.
    Электроклапана дефлегматора и конденсатора включаются сдвоенным твердотельным реле OMRON. Дефлегматор управляется со штырька 11 (GPIO17), конденсатор – со штырька 12 (GPIO18). Питание на OMRON подаётся со штырька 4 (+5V).

    Гирлянда термометров подключена через разъем Jack3,5, резистор 3,0kOm припаян на гнездо этого разъёма. Электроклапана подключены через трёхштырьковый разъем от аудиосистемы. ТЭН включается в розетку, установленную на корпусе блока автоматики.

    Все подключения описаны в файле конфигурации проекта config.py.
Jack3_5.png
Jack3_5.png Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.
DS18B20.png
DS18B20.png Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.
Сборка.png
Сборка.png Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.
Inco Студент Донецк 47 10
Отв.182  20 Сент. 17, 15:36
C-Bell, вот какую ошибку показывает:
error.png
error.png Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.
C-Bell Научный сотрудник Улан-Удэ 1.8K 1.3K
Отв.183  20 Сент. 17, 17:03
Inco, с трудом разобрал, что задаётся отрицательное значение радиуса при прорисовке круга.
Сильно мелко для моих старых глаз.
Информации недостаточно для определения источника ошибки.
В другом браузере также не прорисовываются приборы?
ys1797 Доцент Санкт-Петербург 1K 339
Отв.184  20 Сент. 17, 17:56, через 53 мин
C-Bell, А сдюжит вывод gpio SRR реле? Там они кашмар какие дохлые.
Inco Студент Донецк 47 10
Отв.185  20 Сент. 17, 18:03, через 8 мин
C-Bell, сорри, но при присоединении картинки форум ее сжимает/уменьшает.
Завтра проверю на других браузерах.
Вот нашел ещё показометры:
http://bernii.github.io/gauge.js/
https://github.com/Mikhus/canvas-gauges
Чтобы попробовать уйти от гугла
HBB Кандидат наук Москва 357 94
Отв.186  20 Сент. 17, 19:21
Вот нашел ещё показометры:Inco, 20 Сент. 17, 18:03
Могу подкинуть графикометры:),может кому интересно будет.

C-Bell, сорри, но при присоединении картинки форум ее сжимает/уменьшает.Inco, 20 Сент. 17, 18:03
В галерее, при загрузке картинки есть опция >> Изменить размер >> Не менять.
C-Bell Научный сотрудник Улан-Удэ 1.8K 1.3K
Отв.187  20 Сент. 17, 20:14, через 54 мин
А сдюжит вывод gpio SRR реле? Там они кашмар какие дохлые.ys1797, 20 Сент. 17, 17:56
16 mA вполне достаточно для управления SSR.
До сих пор не дохли выводы.
Inco Студент Донецк 47 10
Отв.188  21 Сент. 17, 10:42
C-Bell, решил проблему правкой файла layout.html
В опциях настройки термометров и ваттметра добавил ширину и высоту:

           // Настройка термометров
           //options определяет вид стрелочного термометра
           options: {
               width: 750, height: 150,
               greenFrom: 0, greenTo: 80,
               yellowFrom: 80, yellowTo: 90,
               redFrom: 90, redTo: 100,
               minorTicks: 10
           }

и

           // настройка ваттметра
           optionsP: {
               width: 150, height: 150,
               greenFrom: 0, greenTo: 25,
               yellowFrom: 25, yellowTo: 35,
               redFrom: 35, redTo: 100,
               minorTicks: 5
           }

Теперь показывают (см. картинку)


Добавлено через 22мин.:

Что ещё изменил, совсем по мелочи:
1. пересохранил dashboard.css блокнотом в кодировке utf8  - он изначально был в ANSI - ни на что не влияет, но PyCharm ругается
2. изменил расширение базы данных - лога на .db

# Базы данных приложения
   SQLALCHEMY_BINDS = { 'Distiller': 'sqlite:///' + os.path.join(BASEDIR, "Distiller.db" ) ,
                       'log': 'sqlite:///' + os.path.join(BASEDIR,
                                                          datetime.now().strftime('%Y_%m_%d %H-%M-%S.log.db' ) ) }

Просто для удобства просмотра содержимого. В TotalCommander установил плагин для SQLite и теперь просто по F3 можно посмотреть любой его файлик

Добавлено через 4ч. 31мин.:

Вдогонку.
Для пробы заменил гугловский показометр.
Пока только на нагрев.

Добавлено через 18ч. 20мин.:

Заменил все гугловские показометры и чуть переделал layout.
Но где-то что-то зацепил и кнопки пропали, эх - плохо я знаю жабаскрипт...
Gauge.png
Gauge.png Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.
Yes.png
Yes.png Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.
Gauge2.png
Gauge2.png Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.
C-Bell Научный сотрудник Улан-Удэ 1.8K 1.3K
Отв.189  24 Сент. 17, 15:04
В продуктив, часть 3. Развёртывание и запуск на Raspberry PI.
     Подготовка архива.
    Очень желательно зайти в папку проекта Distiller, удалить все файлы баз данных (*.log и Distiller.db) и кэш-папки python __pycache__ во всех подпапках. В проект добавлены «боевые» файлы DS18B20(RPi).py в пакете sensors, power(RPi).py и cools(RPi).py в пакете actuators. Они заменят модули-фейки, позволяющие запускать проект на компьютере. Файл requirements.txt содержит перечень пакетов питона, используемых в проекте и устанавливаемых в виртуальное окружение. Чтобы актуализировать содержимое этого файла нужно в обозревателе решений кликнуть правой клавишей на env(Python 3.6) и выбрать Создать requirements.txt. Далее нужно запаковать в архив с именем Distiller.zip папку Distiller вместе с файлами requirements.txt и runserver.py.

    Перенос проекта на Raspberry PI
    Можно конечно, для переноса файлов использовать USB-flash. Удобно пользоваться File transfer VNC. Если в окне VNC подвести указатель мыши к верху окна в середине, то вывалится панелька с набором инструментов. Иконка File transfer выглядит как две зелёные встречные стрелки. Обычно файлы записываются на рабочий стол малинки. Нужно перенести три файла: архив проекта Distiller.zip, скрипт развёртывания setupDistiller.sh и скрипт запуска startDistiller.sh.
    Скрипт setupDistiller.sh распаковывает архив Distiller.zip в рабочую папку и устанавливает необходимое виртуальное окружение. Скрипт startDistiller.sh активирует виртуальное окружение и запускает веб-сервер.

    Развертывание
    Чтобы запустить с рабочего стола скрипт setupDistiller.sh, сначала нужно кликнуть по нему правой кнопкой мыши и в контекстном меню выбрать Properties. На вкладке Permissions Execute: выбрать Anyone. То же самое проделать со скриптом startDistiller.sh. После этого скрипты запускаются двойным кликом левой кнопки мыши. На запрос как запускать лучше выбрать Execete in Terminal.
    Остается запустить скрипт setupDistiller.sh и подождать завершения развёртывания.
    После успешного развёртывания можно запустить сервер запуском скрипта startDistiller.sh, который в командном окне напишет:
WebSocket transport not available. Install eventlet or gevent and gevent-websocket for improved performance.
* Running on http://localhost:5555/ (Press CTRL+C to quit)

Если теперь запустить на малинке браузер Chromium и перейти на указанный адрес http://localhost:5555/, то попадаем в веб-интерфейс нашего устройства.

2017-09-19_13-39-31.png
2017-09-19_13-39-31.png Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.

Distiller.zip 838.4 Кб
скрипты.zip 860.0 б
C-Bell Научный сотрудник Улан-Удэ 1.8K 1.3K
Отв.190  24 Сент. 17, 15:42, через 38 мин
Заменил все гугловские показометры и чуть переделал layout.
Но где-то что-то зацепил и кнопки пропали, эх - плохо я знаю жабаскрипт...Inco, 21 Сент. 17, 10:42

Потребные кнопки хранятся в файлах WAIT.html, WAITAL.html, ABORT.html и др.
При подключении к серверу формируется запрос на получение актуального состояния устройства. У этого запроса есть функция обратного вызова. В файле layout.html это код
                //Запрос актуальных данных от сервера
               var dataToServer = { sid: socket.id };
               socket.emit('GiveDeviceData', dataToServer, (data) => {
                   //alert(data.DateTime);
                   ShowDeviceData(data);


--------------------------------------
Colored with http://dumpz.org


Отображение кнопок возложено на функцию ShowDeviceData(data), код
            //Отображение кнопок
            if (msg.ModeButtons) {
                $('#ModeButtons').html(msg.ModeButtons);
            }


--------------------------------------
Colored with http://dumpz.org
Inco Студент Донецк 47 10
Отв.191  25 Сент. 17, 15:11
C-Bell, да, спасибо, все получилось, нашел ошибку.
Теперь без гуглометров:
gauge3.png
gauge3.png Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.
сообщения удалены (2)
KlimD Новичок Варна 1
Отв.192  27 Сент. 17, 15:16
Спасибо. Тема очень интересная. Я у себя все сделал на ардуине, но возможности ее не безграничны. Долго думал тоже начать делать на малинке, но никак руки не доходили. Теперь точно буду переходить на нее. Буду дописывать модуль ректификации.
vasiliyvk Студент Нижний Новгород 15
Отв.193  26 Окт. 17, 12:04
Долго думал тоже начать делать на малинке, но никак руки не доходили. Теперь точно буду переходить на нее. Буду дописывать модуль ректификации.KlimD, 27 Сент. 17, 15:16
Всем доброго дня.
Есть решение дистилляции, ректификации и пивоварении на малинке?
HBB Кандидат наук Москва 357 94
Отв.194  26 Окт. 17, 12:12, через 8 мин
Почитай тут
[Ненавязчивая автоматизация ректификационной установки]
C-Bell Научный сотрудник Улан-Удэ 1.8K 1.3K
Отв.195  16 Февр. 18, 03:50
Автозапуск программы при включении Raspberry PI.
Чтобы врукопашную каждый раз не запускать web-сервер, сделаем его автозапуск при включении Raspberry PI.
Воспользуемся несколько устаревшим способом: пропишем вызов стартового скрипта в файл rc.local в папке /etc

Для исключения возможности ручного запуска, перенесем скрипт startDistiller.sh с рабочего стола в папку /home/pi/Distiller командой в терминале
mv /home/pi/Desktop/startDistiller.sh /home/pi/Distiller


В терминале набираем команду
sudo leafpad /etc/rc.local

или
sudo mousepad /etc/rc.local


Перед строкой exit 0
добавляем строку
/home/pi/Distiller/startDistiller.sh

сохраняем

После перезагрузки можно сразу запустить браузер и убедиться, что веб-интерфейс автоматики доступен.
HBB Кандидат наук Москва 357 94
Отв.196  16 Февр. 18, 04:40, через 50 мин
Володь, молодец!
Парни, купил вторую малинку, хочу на ней смонтировать независимую систему безопасности. Датчики пролива, давления, температуры в критических точках, видеокамера с выходом наружу - вырубание всей системы до ручного вмешательства, сигнализация по смс (gsm модуль) и "звонок другу" (gsm модуль) с сообщением проблемы. По отдельности все работает. А вот в системе - пока сложно, не хватает времени прокатиться на питоне Улыбающийся)). Если есть потребность, может всем миром соберем?
Sten58 Магистр Лисичанск 217 49
Отв.197  26 Февр. 18, 11:47
DS18B20 по шине 1-Wire через адаптер с USB-шиной DS9490RC-Bell, 07 Февр. 14, 09:28
Под винду есть драйвер для подключения DS18x20 через переходник "USB to COM" ценой чуть больше доллара (переходник). Может, и под линух что-то текое есть?
Уж очень цена на DS9490R впечатлила...
SA1348 Профессор Саратов 3.3K 1.5K
Отв.198  26 Февр. 18, 11:53, через 6 мин
Драйвера USB-Serial стоят в ядре линуха по умолчанию.
C-Bell Научный сотрудник Улан-Удэ 1.8K 1.3K
Отв.199  26 Февр. 18, 17:37
Sten58, Raspberry PI 3 умеет работать с цифровыми термометрами DS18B20 без всяких переходников-адаптеров через свой порт GPIO (смотри схему).
В Raspbian вшиты модули для работы с шиной 1-Wire и цифровыми термометрами, нужно лишь включить эти модули в файле конфигурации.