Приветствуем на Форум Херсона. Форум Херсонской молодежи.. На данный момент Вы находитесь на форуме как Гость и имеете очень ограниченные возможности и права. Что бы писать или отвечать в темах, загружать картинки, файлы на форуме Вам нужно зарегистрироваться, что совершенно бесплатно. Регистрация очень быстрая, не откладывайте эту процедуру! Если возникнут проблемы с регистрацией напишите нам. |
|
Программирование Все вопросы по написанию программ |
|
Опции темы |
15.12.2017, 11:08 | #1 (Ссылка на пост) |
Свой В Доску
Пол:
|
python скрип
Всем привет.
Нужна помощь по редактированию python скрипта. Имеется скрип для датчиков температуры и других. Нужно в этом скрипте добавить ещё два датчка ds18b20. Но не хватает знаний что откуда берётся. Где берутся эти данные? Код:
html.write(' <div class="panel-body">\n') html.write(' <div class="row">\n') html.write(' <div class="col-md-2">\n') html.write(' <div class="panel panel-info">\n') html.write(' <div class="panel-heading">Zunanja temepratura</div>\n') html.write(' <div class="panel-body" style="text-align: center">\n') html.write(' <h1>'+str(round(to,1))+'<small> °C</small></h1>\n') html.write(' </div>\n') html.write(' </div>\n') html.write(' </div>\n') |
|
15.12.2017, 13:46 | #2 (Ссылка на пост) | ||||||||
Задержался
Благодарил(а): 41
Благодарили 90 раз в 39 постах
Галерея:
0
Вес репутации: 19
|
А покажи вывод:
ls -lhd /sys/bus/w1/devices/28-* |
||||||||
|
15.12.2017, 14:17 | #3 (Ссылка на пост) |
Свой В Доску
Пол:
|
Серийник я знаю как брать и где смотреть. Я не могу понять как значение записываются в html файл +';'+str(round(to,1))+';'+str(ti)+';'+str(round(pa ))+';'+str(hu)+';'+str(al)+';'+str(lu)+' где эти данные берутся?
Последний раз редактировалось Вик, 15.12.2017 в 14:24. |
|
15.12.2017, 14:24 | #4 (Ссылка на пост) | ||||||||
Задержался
Благодарил(а): 41
Благодарили 90 раз в 39 постах
Галерея:
0
Вес репутации: 19
|
Там функция в коде writeHTML:
Код:
def writeHTML(to, ti, hu, pa, al, lu): Код:
writeHTML(tempExt, tempi, humid, press, altit, luxmeter) |
||||||||
|
15.12.2017, 14:28 | #5 (Ссылка на пост) |
Свой В Доску
Пол:
|
А если такой код добавить несколько раз то как будет
Код:
def readDS18B20(): tempRead = -100.0 cmdStat, cmdOut = commands.getstatusoutput("cat /sys/bus/w1/devices/28-000005f40f1c/w1_slave") dbgprint("DS18B20 output: " + str(cmdOut)) # Parse output if cmdStat == 0: matchObj = re.search(r'.*crc=\S*\s(\S*)[\n].*t=(.*)',cmdOut,re.I) if matchObj: if matchObj.group(1) == 'YES': tempRead = float(int(matchObj.group(2))/1000.0) dbgprint("Exterior Temperature: "+str(tempRead)) else: dbgprint("DS18B20 returned CRC error.") else: dbgprint("No match during DS18B20 output parse!!") else: dbgprint("Error reading DS18B20 sensor") return tempRead |
|
15.12.2017, 14:43 | #6 (Ссылка на пост) | ||||||||
Задержался
Благодарил(а): 41
Благодарили 90 раз в 39 постах
Галерея:
0
Вес репутации: 19
|
Хреново будет.
Покажи вывод, который я запросил из второго поста, попробую тебе написать. |
||||||||
|
15.12.2017, 15:06 | #7 (Ссылка на пост) | |
Свой В Доску
Пол:
|
Цитата:
Код:
pi@raspberrypi:~ $ ls -lhd /sys/bus/w1/devices/28-* lrwxrwxrwx 1 root root 0 Дек 15 15:20 /sys/bus/w1/devices/28-21ee67000900 -> ../../../devices/w1_bus_master1/28-21ee67000900 lrwxrwxrwx 1 root root 0 Дек 15 15:20 /sys/bus/w1/devices/28-7d4358126461 -> ../../../devices/w1_bus_master1/28-7d4358126461 lrwxrwxrwx 1 root root 0 Дек 15 15:20 /sys/bus/w1/devices/28-ab4058126461 -> ../../../devices/w1_bus_master1/28-ab4058126461 pi@raspberrypi:~ $ Как будет выглядеть код если у меня 3 этих ds18b20 датчика и один bmp180 |
|
|
15.12.2017, 19:47 | #8 (Ссылка на пост) |
Свой В Доску
Пол:
|
Я все правильно понял и делаю.
Добавляю readDS18B20b Код:
def readDS18B20b(): tempRead = -100.0 cmdStat, cmdOut = commands.getstatusoutput("cat /sys/bus/w1/devices/28-7d4358126461/w1_slave") dbgprint("DS18B20 output: " + str(cmdOut)) # Parse output if cmdStat == 0: matchObj = re.search(r'.*crc=\S*\s(\S*)[\n].*t=(.*)',cmdOut,re.I) if matchObj: if matchObj.group(1) == 'YES': tempRead = float(int(matchObj.group(2))/1000.0) dbgprint("Exterior Temperature: "+str(tempRead)) else: dbgprint("DS18B20 returned CRC error.") else: dbgprint("No match during DS18B20 output parse!!") else: dbgprint("Error reading DS18B20 sensor") return tempRead Код:
def writeHTML(to, ti, hu, pa, al, lu, tb): Код:
html.write(' <div class="col-md-2">\n') html.write(' <div class="panel panel-warning">\n') html.write(' <div class="panel-heading">Наружная температура tb</div>\n') html.write(' <div class="panel-body" style="text-align: center">\n') html.write(' <h1>'+str(round(tb,1))+'<small> °C</small></h1>\n') html.write(' </div>\n') html.write(' </div>\n') html.write(' </div>\n') Код:
curr.write(str(vNow)+';'+str(round(to,1))+';'+str(ti)+';'+str(round(pa))+';'+str(hu)+';'+str(al)+';'+str(lu)+';'+str(tb)+'\n') Код:
temptb = readDS18B20b() Код:
cmd = '/usr/bin/rrdtool update /home/pi/bazy/weatherRRD.rrd -t tempo:tempi:press:humid:altit:luxmeter:temptb N:' cmd = cmd +str(tempExt)+':'+str(tempi)+':'+str(press)+':'+str(humid)+':'+str(altit)+':'+str(luxmeter)+':'+str(temptb) Код:
writeHTML(tempExt, tempi, humid, press, altit, luxmeter, temptb) Последний раз редактировалось Вик, 15.12.2017 в 19:58. |
|
15.12.2017, 19:58 | #9 (Ссылка на пост) |
Свой В Доску
Пол:
|
Осталось разобраться из БД rrdtool weatherRRD.rrd какие там таблицы нужны чтобы создать заново потому как БД досталась существующая.
Правильно сделал? Код:
#!/bin/bash rrdtool create weatherRRD.rrd --start N --step 300 \ DS:tempo:GAUGE:600:U:U \ DS:tempi:GAUGE:600:U:U \ DS:humid:GAUGE:600:U:U \ DS:press:GAUGE:600:U:U \ DS:altit:GAUGE:600:U:U \ DS:luxmeter:GAUGE:600:U:U \ RRA:AVERAGE:0.5:1:600 \ RRA:AVERAGE:0.5:6:700 \ RRA:AVERAGE:0.5:24:775 \ RRA:AVERAGE:0.5:288:797 \ RRA:MIN:0.5:1:600 \ RRA:MIN:0.5:6:700 \ RRA:MIN:0.5:24:775 \ RRA:MIN:0.5:288:797 \ RRA:MAX:0.5:1:600 \ RRA:MAX:0.5:6:700 \ RRA:MAX:0.5:24:775 \ RRA:MAX:0.5:288:797 \ Последний раз редактировалось Вик, 15.12.2017 в 20:32. |
|
18.12.2017, 13:57 | #10 (Ссылка на пост) | ||||||||
Задержался
Благодарил(а): 41
Благодарили 90 раз в 39 постах
Галерея:
0
Вес репутации: 19
|
Посмотри вложение.
По идее можно использовать любое кол-во датчиков температуры. Во всяком случае в html и txt файл данные запишет. По rrd особо не вникал, но Код:
cmd = '/usr/bin/rrdtool update /home/pi/project/WeatherStation/weatherRRD.rrd -t tempo:tempi:press:humid:altit:luxmeter N:' cmd = cmd +str(DS18B20_result[0])+':'+str(tempi)+':'+str(press)+':'+str(humid)+':'+str(altit)+':'+str(luxmeter) |
||||||||
|
Сказали Спасибо пользователю MyNickName за этот пост: | Вик (18.12.2017) |
18.12.2017, 19:05 | #11 (Ссылка на пост) |
Свой В Доску
Пол:
|
Все работает спасибо
Еще как переместить одно значения, чтобы было в одну строку хоть из меньшим размером |
|
25.12.2017, 10:50 | #12 (Ссылка на пост) | ||||||||
Si vis pacem, para bellum
Пол:
Адрес: Херсон
Благодарил(а): 9,965
Благодарили 31,502 раз в 8,875 постах
Галерея:
0
Вес репутации: 345
|
__________________
У світі багато брудного й заразного, Але той хто хоче - лишається чистим. |
||||||||
|
29.12.2017, 22:58 | #13 (Ссылка на пост) |
Извините, я на тракторе!
Пол:
|
в 2000х этот троллинг был весьма толстый
__________________
Какая разница из какого места растут руки, если они золотые. |
|
30.12.2017, 00:05 | #14 (Ссылка на пост) | ||||||||
Si vis pacem, para bellum
Пол:
Адрес: Херсон
Благодарил(а): 9,965
Благодарили 31,502 раз в 8,875 постах
Галерея:
0
Вес репутации: 345
|
Ну так і ми тоді не були такими снобами як зараз ))))
__________________
У світі багато брудного й заразного, Але той хто хоче - лишається чистим. |
||||||||
|
30.12.2017, 19:34 | #15 (Ссылка на пост) |
Свой В Доску
Пол:
|
Вам больше не где спамить. Где-же модераторы?
|
|
Здесь присутствуют: 1 (пользователей - 0 , гостей - 1) | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пистолет под патрон Флобера Ekol Python | flint | Спорт-товары | 10 | 17.06.2014 14:36 |
Резюме: Программист Python (standalone, mobile or web) | mplaksin | Работа | 8 | 16.11.2011 06:34 |
Требуется программист на Python, Херсон (удаленно) | AndreyZ | Работа | 1 | 06.10.2011 11:40 |
Python developer | ANNutka | Работа | 4 | 09.02.2011 14:02 |