• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

MQTTwarn

alfa2

New member
подумал, посоветовался с Kuthullu Himself и изменил секцию

squlite_timestamp.ry
Код:
    c = conn.cursor()
    try:
        c.execute('CREATE TABLE IF NOT EXISTS %s (id INTEGER PRIMARY KEY AUTOINCREMENT, topic TEXT, payload TEXT, data DATETIME NOT NULL)' % table)
    except Exception, e:
        srv.logging.warn("Cannot create sqlite table in %s : %s" % (path, str(e)))
        return False

      text = item.message
    topic = item.topic

    try:
        c.execute('INSERT INTO %s VALUES (NULL, ?, ?, datetime(\'now\'))' % table, (topic, text, ))
        conn.commit()
        c.close()
в mqttwarn.ini
Код:
launch    =  sqlite_timestamp

[config:sqlite_timestamp]
targets = {
  'base' : [ '/mnt/sda2/mydb.db',  'sensor' ]
  }

[esp8266/ESP00aaaaa6/dsw1]
targets = log:warn, sqlite_timestamp:base

[esp8266/ESP00bbbb33/dhth1]
targets = log:warn, sqlite_timestamp:base
теперь в таблицу добавилась еще ячейка topic (например вида - "esp8266/ESP00aaaaa6/dsw1")
все данные складываю в одну таблицу.

вытаскиваю на web страницу средствами php (главное работает на любой платформе) , пока криво (особенно когда вывожу данные с нескольких topic'ов в одну таблицу), как научусь, будет красиво
Код:
<?php

$db = new SQLite3('/mnt/sda2/mydb.db');
$db->prepare('PRAGMA journal_mode=WAL;');
$sql=('SELECT topic, payload, datetime(data, "+180 minutes")
FROM sensor
WHERE topic LIKE "esp8266/ESP00aaaaa6/dsw1"
ORDER BY data
DESC LIMIT 48');
$result = $db->query($sql);

echo '<table border="1">';
echo '<tr>';
echo '<th align=center width="200"><font color=blue>Дата, время</font></th>';
echo '<th align=center width="150"><font color=blue>кубов</font></th>';

while ($row = $result->fetchArray(SQLITE3_ASSOC))
{
echo '
  <tr>
  <td align=center width="150">'.$row['datetime(data, "+180 minutes")'].'</td>
  <td align=center width="100">'.$row['payload'].'</td>
  </tr>
';
простенько, и без графиков (позже нарисую)
 

Вложения

Последнее редактирование:

st8ev

New member
Код:
root@OpenWrt:/# pip install paho-mqtt
Downloading/unpacking paho-mqtt
  Downloading paho-mqtt-1.1.tar.gz (41kB): 41kB downloaded
  Running setup.py (path:/tmp/pip_build_root/paho-mqtt/setup.py) egg_info for package paho-mqtt

Installing collected packages: paho-mqtt
  Running setup.py install for paho-mqtt
    warning: build_py: byte-compiling is disabled, skipping.

    warning: install_lib: byte-compiling is disabled, skipping.


Successfully installed paho-mqtt
Cleaning up...
root@OpenWrt:/# ps | grep mqttwarn
3571 root      1356 S    grep mqttwarn
root@OpenWrt:/# /usr/bin/python /overlay/mosquitto/mqttwarn.py
Cannot open configuration at mqttwarn.ini: [Errno 2] No such file or directory: 'mqttwarn.ini'
[EMAIL]root@OpenWrt:/#[/EMAIL]
Попытался установить в ручную. Ошибка изменилась. Но результат тот же. Файл 'mqttwarn.ini' находится в том же каталоге что и 'mqttwarn.py'.
Установил всё согласно статьи, при запуске mqttwarn не формируются логи в папке /overlay/mosquitto дошёл до установки paho-mqtt, установил и при запуске вручную mqttwarn, получаю такую же ошибку:
Код:
root@OpenWrt:~# /usr/bin/python /overlay/mosquitto/mqttwarn.py
Cannot open configuration at mqttwarn.ini: [Errno 2] No such file or directory: 'mqttwarn.ini'
root@OpenWrt:~#
Как Вы устранили данную ошибку?
Спасибо.
 
Сверху Снизу