• Система автоматизации с открытым исходным кодом на базе 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:~#
Как Вы устранили данную ошибку?
Спасибо.
 
Сверху Снизу