Похоже, недоступен модуль визуализации google chart. Чтобы проверить, в браузере нужно нажать F12, выбрать вкладку Console и обновить страницу (F5). Должно чего-то написать.
C-Bell
Научный сотрудник
Улан-Удэ
1.8K 1.3K
Отв.181 20 Сент. 17, 14:36 (через 47 мин)
В продуктив, часть 2. Собираем электрику
Теперь встраиваем одноплатник Raspberry PI в схему автоматики: 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 Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.DS18B20.png Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.Сборка.png Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.
Inco
Студент
Донецк
47 10
Отв.182 20 Сент. 17, 15:36
C-Bell, вот какую ошибку показывает:
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 реле? Там они кашмар какие дохлые.
Что ещё изменил, совсем по мелочи: 1. пересохранил dashboard.css блокнотом в кодировке utf8 - он изначально был в ANSI - ни на что не влияет, но PyCharm ругается 2. изменил расширение базы данных - лога на .db
Просто для удобства просмотра содержимого. В TotalCommander установил плагин для SQLite и теперь просто по F3 можно посмотреть любой его файлик
Добавлено через 4ч. 31мин.:
Вдогонку. Для пробы заменил гугловский показометр. Пока только на нагрев.
Добавлено через 18ч. 20мин.:
Заменил все гугловские показометры и чуть переделал layout. Но где-то что-то зацепил и кнопки пропали, эх - плохо я знаю жабаскрипт...
Gauge.png Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.Yes.png Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.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 Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.
Заменил все гугловские показометры и чуть переделал 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 Smart Distiller (Умный дистиллятор с управлением по интернет). Автоматика.
сообщения удалены (2)
KlimD
Новичок
Варна
1
Отв.192 27 Сент. 17, 15:16
Спасибо. Тема очень интересная. Я у себя все сделал на ардуине, но возможности ее не безграничны. Долго думал тоже начать делать на малинке, но никак руки не доходили. Теперь точно буду переходить на нее. Буду дописывать модуль ректификации.
vasiliyvk
Студент
Нижний Новгород
15
Отв.193 26 Окт. 17, 12:04
Долго думал тоже начать делать на малинке, но никак руки не доходили. Теперь точно буду переходить на нее. Буду дописывать модуль ректификации.KlimD, 27 Сент. 17, 15:16
Всем доброго дня. Есть решение дистилляции, ректификации и пивоварении на малинке?
Чтобы врукопашную каждый раз не запускать web-сервер, сделаем его автозапуск при включении Raspberry PI. Воспользуемся несколько устаревшим способом: пропишем вызов стартового скрипта в файл rc.local в папке /etc
Для исключения возможности ручного запуска, перенесем скрипт startDistiller.sh с рабочего стола в папку /home/pi/Distiller командой в терминале
После перезагрузки можно сразу запустить браузер и убедиться, что веб-интерфейс автоматики доступен.
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 и цифровыми термометрами, нужно лишь включить эти модули в файле конфигурации.