Похоже, недоступен модуль визуализации google chart.
Чтобы проверить, в браузере нужно нажать F12, выбрать вкладку Console и обновить страницу (F5).
Должно чего-то написать.
Smart Distiller (Умный дистиллятор с управлением по интернет)
C-Bell
Научный сотрудник
Улан-Удэ
1.8K 1.3K
Отв.180 20 Сент. 17, 13:49
C-Bell
Научный сотрудник
Улан-Удэ
1.8K 1.3K
Отв.181 20 Сент. 17, 14:36, через 47 мин
В продуктив, часть 2. Собираем электрику
Теперь встраиваем одноплатник Raspberry PI в схему автоматики:
Цифровые термометры подключаются на шину 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.
Цифровые термометры подключаются на шину 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.
Inco
Студент
Донецк
47 10
Отв.182 20 Сент. 17, 15:36
C-Bell, вот какую ошибку показывает:
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
Чтобы попробовать уйти от гугла
Завтра проверю на других браузерах.
Вот нашел ещё показометры:
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:5616 mA вполне достаточно для управления SSR.
До сих пор не дохли выводы.
Inco
Студент
Донецк
47 10
Отв.188 21 Сент. 17, 10:42
C-Bell, решил проблему правкой файла layout.html
В опциях настройки термометров и ваттметра добавил ширину и высоту:
Теперь показывают (см. картинку)
Добавлено через 22мин.:
Что ещё изменил, совсем по мелочи:
1. пересохранил dashboard.css блокнотом в кодировке utf8 - он изначально был в ANSI - ни на что не влияет, но PyCharm ругается
2. изменил расширение базы данных - лога на .db
Просто для удобства просмотра содержимого. В TotalCommander установил плагин для SQLite и теперь просто по F3 можно посмотреть любой его файлик
Добавлено через 4ч. 31мин.:
Вдогонку.
Для пробы заменил гугловский показометр.
Пока только на нагрев.
Добавлено через 18ч. 20мин.:
Заменил все гугловские показометры и чуть переделал layout.
Но где-то что-то зацепил и кнопки пропали, эх - плохо я знаю жабаскрипт...
В опциях настройки термометров и ваттметра добавил ширину и высоту:
// Настройка термометров
//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.
Но где-то что-то зацепил и кнопки пропали, эх - плохо я знаю жабаскрипт...
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/, то попадаем в веб-интерфейс нашего устройства.
Очень желательно зайти в папку проекта 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/, то попадаем в веб-интерфейс нашего устройства.
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, да, спасибо, все получилось, нашел ошибку.
Теперь без гуглометров:
Теперь без гуглометров:
сообщения удалены (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 командой в терминале
В терминале набираем команду
или
Перед строкой exit 0
добавляем строку
сохраняем
После перезагрузки можно сразу запустить браузер и убедиться, что веб-интерфейс автоматики доступен.
Воспользуемся несколько устаревшим способом: пропишем вызов стартового скрипта в файл 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 модуль) с сообщением проблемы. По отдельности все работает. А вот в системе - пока сложно, не хватает времени прокатиться на питоне )). Если есть потребность, может всем миром соберем?
Парни, купил вторую малинку, хочу на ней смонтировать независимую систему безопасности. Датчики пролива, давления, температуры в критических точках, видеокамера с выходом наружу - вырубание всей системы до ручного вмешательства, сигнализация по смс (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 впечатлила...
Отв.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 и цифровыми термометрами, нужно лишь включить эти модули в файле конфигурации.
В Raspbian вшиты модули для работы с шиной 1-Wire и цифровыми термометрами, нужно лишь включить эти модули в файле конфигурации.