Arduino Yún, Народный мониторинг: управление отоплением в загородном доме через Интернет.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 16 дек 2014.

  1. ИгорьК

    ИгорьК Гуру

    Проект потихонечку интегрируется с этим проектом. Сейчас на Yun установлен MQTT брокер Mosquitto, и плата вместе с отправкой данных на Народный мониторинг отправляет данные и на домашний сервер, с установленным Openhab.
    [​IMG]
    Некоторые полезные заметки.
    1. Установим на Yun Mosquitto (ссылка на первоисточник по установке).
    Код (Bash):
    opkg update
    opkg install mosquitto
    /etc/init.d/mosquitto restart
    opkg update
    opkg install mosquitto-client
    2. Создадим файл mqttsend.php:
    Код (PHP):
    <?php
        $db_server = mysql_connect('localhost', 'user', 'password');
        if(!$db_server) die ("Невозможно подключиться к MySql: " . mysql_error());
        else print("All is good!");
        mysql_select_db('narodmon')
            or die("Невозможно выбрать базу данных: " . mysql_error());

        $query = "SELECT * FROM narod";
        $result = mysql_query($query);
        if(!$result) die ("Сбой при доступе к базе данных: " . mysql_error);
            $tempout = mysql_result($result,0, 'intemp');
            $tempin = mysql_result($result,0, 'outtemp');
            $tempsystem = mysql_result($result,0, 'systemtemp');
            $wind = mysql_result($result,0, 'wind');
            $data01 = mysql_result($result,0, 'data01');
            $data02 = mysql_result($result,0, 'data02');
            $press = mysql_result($result,0, 'press');
            $presstemp = mysql_result($result,0, 'presstemp');
            $press01 = $press * 0.75;

        mysql_close($db_server);

        $result = shell_exec(' /root/mqtttomoscow.sh "' .$tempout.'" "' .$tempsystem.'" "' .$tempin.'" "' .$data01.'" "' .$data02.'" "' .$press01.'" "' .$presstemp.'" "' .$wind.'" ');
        echo $result;
    ?>
    Создадим и сделаем исполняемым файл mqtttomoscow.sh:
    Код (Bash):
    mosquitto_pub -h www.youraddress.ru -t /myhome/dacha/t_out01/status -m $1
    sleep 1
    mosquitto_pub -h www.youraddress.ru -t /myhome/dacha/t_system/status -m $2
    sleep 1
    mosquitto_pub -h www.youraddress.ru -t /myhome/dacha/t_home01/status -m $3
    sleep 1
    mosquitto_pub -h www.youraddress.ru -t /myhome/dacha/t_out02/status -m $4
    sleep 1
    mosquitto_pub -h www.youraddress.ru -t /myhome/dacha/t_home02/status -m $5
    sleep 1
    mosquitto_pub -h www.youraddress.ru -t /myhome/dacha/pressure/status -m $6
    sleep 1
    mosquitto_pub -h www.youraddress.ru -t /myhome/dacha/t_press/status -m $7
    sleep 1
    mosquitto_pub -h www.youraddress.ru -t /myhome/dacha/wind/status -m $8
    sleep 1
    Отредактируем файл отправки данных на Народный мониторинг. Именно этот файл вызывается через cron каждые 10 минут:
    Код (Bash):
    php-cgi /root/sendnarodmon.php
    sleep 5
    # Добавлена одна строка
    php-cgi /root/mqttsend.php
    echo ' sh OK\n'
    После чего:
    Код (Text):
    /etc/init.d/cron restart
    Вот такие полезности. Все перечисленные выше файлы находятся в директории /root/

    UPD: Развитие вопроса здесь: http://forum.amperka.ru/threads/esp8266-raspberry-pi-2-openhab-%D0%A3%D0%BC%D0%BD%D1%8B%D0%B9-%D0%B4%D0%BE%D0%BC-%D0%B0%D0%B7%D1%8B-%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F.5043/#post-40866
     
    Последнее редактирование: 4 сен 2015