Опрос ds18b20 + Raspberry (GPIO)

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 402 раза
Контактная информация:

Re: Опрос ds18b20 + Raspberry (GPIO)

Сообщение immortal » Пт май 26, 2017 12:12 pm

neromih писал(а):
immortal писал(а):Зачем такие танцы с бубном? чем не устраивает owfs?
просто в owfs.conf добавляем:
server: w1

и подключаем в МД стандартным способом
А разве owfs работает с датчиками подключенными через GPIO, без Мастера 1-wire сети? В OpenHab пытался сделать не получилось...
Работает, так какой мастер используется определяется в конфиге, может быть usb, i2c, uart, com и в том числе и gpio.
Тут я уже писал тут гдето как настроить, а вообще как у себя попробую так будет статья.
Опенхаб тут ни при чем, там вроде какая то библиотека еще должна быть вроде.
За это сообщение автора immortal поблагодарил:
neromih (Пт май 26, 2017 2:24 pm)
Рейтинг: 1.16%
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 402 раза
Контактная информация:

Re: Опрос ds18b20 + Raspberry (GPIO)

Сообщение immortal » Пт май 26, 2017 12:17 pm

Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 402 раза
Контактная информация:

Re: Опрос ds18b20 + Raspberry (GPIO)

Сообщение immortal » Пт май 26, 2017 12:21 pm

Вот аналогичная тема viewtopic.php?f=8&t=3865&hilit=Owfs
За это сообщение автора immortal поблагодарил:
neromih (Пт май 26, 2017 2:24 pm)
Рейтинг: 1.16%
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
neromih
Сообщения: 154
Зарегистрирован: Чт апр 20, 2017 5:32 am
Откуда: Томск
Благодарил (а): 55 раз
Поблагодарили: 22 раза

Re: Опрос ds18b20 + Raspberry (GPIO)

Сообщение neromih » Пт май 26, 2017 2:24 pm

Странно пытался довольно таки недавно, кучу информации прочитал, как понимал что нельз, через gpio. Попробую, спасибо за совет!!!
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 402 раза
Контактная информация:

Re: Опрос ds18b20 + Raspberry (GPIO)

Сообщение immortal » Сб май 27, 2017 9:13 am

на сколько я понимаю для OrangePi задается номер GPIO в script.bin в параметре
[w1_para]
w1_used = 1
gpio = 20
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
getro_ded
Сообщения: 8
Зарегистрирован: Пн дек 09, 2013 12:03 am
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Re: Опрос ds18b20 + Raspberry (GPIO)

Сообщение getro_ded » Вт май 30, 2017 11:46 pm

Я вопрос решил через MQTT и Python

Раз в минуту опрашиваются все датчики и для каждого со своим топиком отправляется информация.

поставил в автозапуск и нет проблем.


#!/usr/bin/python3
# -*- coding: utf-8 -*-
#The header is important make sure you use pyhton3 or paho will not work

# Import the Modules
import sys
import os
import time
import paho.mqtt.client as mqtt

def on_connect(client, userdata, flags, rc):
print("Connected with result code " + str(rc))

client = mqtt.Client()
#Set username and pw here
client.username_pw_set("username",password="password")
client.on_connect = on_connect
#add the url or ip to your mqtt broker port 1883 is the default non encrypted port
client.connect("localhost", 1883, 60)

# read 1-Wire Slave-list
#file = open('/sys/devices/w1_bus_master1/w1_master_slaves')
#w1_slaves = file.readlines()
#file.close()
while True:
# read 1-Wire Slave-list
file = open('/sys/devices/w1_bus_master1/w1_master_slaves')
w1_slaves = file.readlines()
file.close()
# print temperature for each 1-Wire Slave
for line in w1_slaves:
# extract 1-wire Slave
w1_slave = line.split("\n")[0]
# 1-wire Slave read file
file = open('/sys/bus/w1/devices/' + str(w1_slave) + '/w1_slave')
filecontent = file.read()
file.close()
# Read values and convert it to a floating point number in celsius
stringvalue = filecontent.split("\n")[1].split(" ")[9]
temperature = float(stringvalue[2:]) / 1000
#publish the values to mqtt broker
client.publish("/1warelocalhost/DS1820/%s" % w1_slave, "%s" % temperature)
# print temperature
# print(str(w1_slave) + ': %s °C' % temperature)
time.sleep(60) # delay for a second
sys.exit(0)


p.s. а как тут отступы указать?
Raspberry PI B+ 1, 2, 3; esp8266; Python
Ответить