Сервер умного дома на Raspberry PI с поддержкой управления GPIO

Тема в разделе "Raspberry Pi", создана пользователем MrSmit_ligarobotov, 2 янв 2016.

  1. Jeid

    Jeid Нерд

    Кстати, каким образом читаете значение с датчика?
     
  2. Golev

    Golev Нуб

    Может конечно громостко но как-то так)
    #! /bin/bash
    while (true)
    do
    sudo modprobe w1-gpio
    sudo modprobe w1-therm
    temp=$(cat /sys/bus/w1/devices/10-0008019f16b3/w1_slave | grep -E -o ".{0,0}t=.{0,2}" | cut -c 3- >temp1)
    #echo "Температура: $temp"

    sudo modprobe w1-gpio
    sudo modprobe w1-therm
    temp=$(cat /sys/bus/w1/devices/28-000004a09101/w1_slave | grep -E -o ".{0,0}t=.{0,2}" | cut -c 3- >temp2)
    #echo "Температура: $temp"
    sleep 8;
    done;
     
  3. Golev

    Golev Нуб

    Добрый день, не пробовали ничего по моему вопросу?
     
  4. Jeid

    Jeid Нерд

    Вчера до дома добрался очень поздно, так что ничего не делал. Может сегодня
     
  5. Golev

    Golev Нуб

    А Вы про меня не забыли? ))))
     
  6. Jeid

    Jeid Нерд

    Не забыл, но так получилось что сейчас нет возможности быстро сделать скрипт. Если хотите - то могу скинуть пример для датчика температуры и влажности DHT11
    Он у меня уже есть готовый
     
  7. Golev

    Golev Нуб

    Да скиньте, я видел в инете скрипт на этот датчик, он мне не помог, может ваш поможет )))
     
  8. Jeid

    Jeid Нерд

    Код (Python):
    import RPi.GPIO as GPIO
    import time
    import dht11

    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BOARD)
    GPIO.cleanup()

    instance = dht11.DHT11(pin = 18)

    while True:
        result = instance.read()
        if result.is_valid():
            print(result.temperature);
            time.sleep(5);
    result.temperature возвращает int температуру. Дальше можно поставить условие:
    Код (Python):
    if result.temperature < 15:
      GPIO.output(PIN_NUMBER, GPIO.HIGH)
     
    Библиотеку для работы с DHT11 можно взять тут:
    https://github.com/szazo/DHT11_Python
     
  9. Jeid

    Jeid Нерд

    На выходных всё таки подключу датчик DS18B20
     
  10. Golev

    Golev Нуб

    к сожалению скрипт не подошел (
     
  11. Unixon

    Unixon Оракул Модератор

    По крайней мере нужен некоторый интерфейс (канал доступа), через который можно сконфигурировать эти автономные элементы или обновить им прошивки.
     
  12. Golev

    Golev Нуб

    Доброго времени суток! Получилось что-нибудь по моему вопросу?
     
  13. Golev

    Golev Нуб

    Здравствуйте! что не так ?

    #!/bin/bash

    if cat /var/www/zak1 -gt, 15 ;
    then /var/www/down.sh
    fi

    if cat /var/www/zak1 -lt, 15 ;
    then /var/www/up.sh
    fi

    ошибка
    root@raspberrypi:/var/www# ./123.sh
    cat: invalid option -- 'g'
    Try `cat --help' for more information.
    cat: invalid option -- 'l'
    Try `cat --help' for more information.
     
  14. ИгорьК

    ИгорьК Гуру

    Команда "cat" не поддерживает опции "g "и "l". Для получения информации выполните cat --help
     
  15. Golev

    Golev Нуб

    Спасибо разобрался должно быть так:
    Temp=$(cat /var/www/zak1)
    Trig=15

    if [[ $Temp -lt $Trig ]]
    then /var/www/up.sh
    else /var/www/down.sh
    fi
     
  16. VladimirI

    VladimirI Нуб

    Доброго времени суток!
    Посмотрите решение от intraHouse
    Софт умного дома для Raspberry Pi.
    Все легко. Скачиваете образ SD карты, запускаете и настраиваете свой умный дом.
    Есть возможность подключить 21 шт. входов/выходов и датчики температуры DS18B20
    Подключение устройств, настройка сценариев, настройка интерфейса - легко. Попробуйте.
    Интерфейс сделан на HTML, серверная часть на Node.js
     
    dehimer нравится это.
  17. dehimer

    dehimer Нуб

    Да, intrahouse хорошо на малинку ставится.
    Забыли добавить самое главное - ссылку на образы и deb пакет: http://intrahouse.io/downloads