Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.10.2013, 13:56   #21
Acid_Reptile
Junior Member
 
Регистрация: 02.10.2013
Сообщений: 10
Вес репутации: 0
Acid_Reptile is an unknown quantity at this point
По умолчанию

Еее, нашел причину. Для работы phpliteadmin просто -таки необходим php5-mod-pdo-sqlite
Acid_Reptile вне форума   Ответить с цитированием
Старый 13.11.2013, 01:13   #22
tiktoo
Junior Member
 
Регистрация: 13.11.2013
Сообщений: 1
Вес репутации: 0
tiktoo is an unknown quantity at this point
По умолчанию

Кто нибудь пробовал работать с sqlite на openwrt через python...Выдает ошибку типа
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/sqlite3/__init__.py", line 24, in <module>
from dbapi2 import *
File "/usr/lib/python2.7/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ImportError: No module named _sqlite3

Пакет python-sqlite3 Установлен...как я понял не хватает _sqlite.so но где его взять/собрать никто не подскажет куда смотреть?
tiktoo вне форума   Ответить с цитированием
Старый 18.12.2013, 12:52   #23
filinmd
Senior Member
 
Регистрация: 18.09.2012
Адрес: Moscow
Сообщений: 157
Вес репутации: 0
filinmd is an unknown quantity at this point
Отправить сообщение для filinmd с помощью ICQ
По умолчанию Re: OpenWRT + MySQL

Хочу поделится скриптом, который отправляет запрос в порт, слушает его и полученные значения пишет в базу SQLite.
К роутеру подключена Ардуинка, к которой подключены два датчика температуры ds18b20.
На запрос роутере, ардуина отвечает такой строкой:
ROM=2834F1DD3003C:46.66
ROM=2852F5DD30052:22.44
ID датчика Температура
На роутере необходимо доставить пакеты sqlite3-cli lsqlite3

Может кому и пригодится

Создать базу и таблицу:
PHP код:
#!/bin/sh
sqlite3 test.db "create table temperature ( ID INTEGER PRIMARY KEY AUTOINCREMENT, TIME INTEGER,SENSOR TEXT, VALUE REAL );" 
Заполнить:
PHP код:
#!/bin/sh
PORT=/dev/ttyATH0                     #UART роутера  
echo $PORT                          # Выполняем запрос
while read -t 2  LINE;                  # Слушаем порт в течении 2х секунд
do
   
#echo $LINE;                         # данные из порта 
   
stid=`expr index "$LINE" =`          # находим № позиции символа =
   #echo $stid
   
stdata=`expr index "$LINE" :`        # находим № позиции символа :
   #echo $stdata
   
id=${LINE:$stid:$stdata-$stid-1}     # вырезаем из строки нужный кусок
   #echo $id  
   
data=${LINE:$stdata}                 # вырезаем из строки нужный кусок
   #echo $data
   
sqlite3 test.db "insert into temperature values(NULL,`date +%Y%m%d%H%M%S`,'"$id"',$data});"  #заполняем таблицу текущей датой и данными
done $PORT 
filinmd вне форума   Ответить с цитированием
Старый 24.12.2013, 22:37   #24
juroku
Junior Member
 
Регистрация: 24.12.2013
Сообщений: 14
Вес репутации: 0
juroku is an unknown quantity at this point
По умолчанию Re: OpenWRT + MySQL

А sketch для ардуины не дадите.Заранее спасибо
juroku вне форума   Ответить с цитированием
Старый 25.12.2013, 07:51   #25
filinmd
Senior Member
 
Регистрация: 18.09.2012
Адрес: Moscow
Сообщений: 157
Вес репутации: 0
filinmd is an unknown quantity at this point
Отправить сообщение для filinmd с помощью ICQ
По умолчанию Re: OpenWRT + MySQL

PHP код:
//D0,D1 - RX TX
//D7 - Dallas DS18B20 Датчики температуры
#include <OneWire.h>


OneWire  ds(7);    
byte addr[8];
byte i;
byte present 0;
byte data[12];
float celsius;

void setup()
{
  
Serial.begin(57600); 
}
 
void loop() 
{
    if (
Serial.available() > 0)  
    {  
      
byte inByte Serial.read();  
      switch (
inByte)  
        {  
        case 
52:
          
get_temp();
        break;
        
        }
    }


void get_temp()
{
label:
  if ( !
ds.search(addr)) {
    
ds.reset_search();
    
delay(250);
    return;
  }
   
Serial.print("ROM=");
  for( 
08i++) {
     
Serial.print(addr[i], HEX);
  }  
  
ds.reset();
  
ds.select(addr);
  
ds.write(0x441);        // start conversion, with parasite power on at the end
  
delay(1000);  
  
present ds.reset();
  
ds.select(addr);  
 
  
ds.write(0xBE); 
  for ( 
09i++) {           
    
data[i] = ds.read();
  }
  
  
int16_t raw = (data[1] << 8) | data[0];
  
byte cfg = (data[4] & 0x60);
  if (
cfg == 0x00raw raw & ~7;  // 9 bit resolution, 93.75 ms
  
else if (cfg == 0x20raw raw & ~3// 10 bit res, 187.5 ms
  
else if (cfg == 0x40raw raw & ~1// 11 bit res, 375 ms
  
  
celsius = (float)raw 16.0;
  
Serial.print(":"); 
  
Serial.print(celsius);
  
Serial.println(); 
  goto 
label;

filinmd вне форума   Ответить с цитированием
Старый 28.03.2014, 18:25   #26
als_su
Junior Member
 
Регистрация: 02.02.2013
Сообщений: 18
Вес репутации: 0
als_su is an unknown quantity at this point
По умолчанию Re: OpenWRT + MySQL

Добрый день,

Немного освежу тему.

Под предыдущий пример для Arduino написал PHP скрипт.

Функции:
- при нажитии на кнопку <sen4toRS232> отправляет запрос (цифру 4) в порт Ардуино. Файл <ds_sql_ser.php> заниамется передачей и приемом ответа от/к Ардуино, там же создается база данных SQLite3 и заносятся показание датчиков.
- возможность просмотра и удаление показаний из базы данных<ds_sql.php>;

Вообщем ничего особенного - для чайников как я надеюсь будет в помощь.

Запускаем файл <ds_sql.php> ds_sql.rar, в тойже папке нужен файл <ds_sql_ser.php> ds_sql_ser.rar

После нажатия на кнопку <sen4toRS232> видим что то типа того :
Нажмите на изображение для увеличения
Название: Capture.JPG
Просмотров: 492
Размер:	41.7 Кб
ID:	1646

Ну и конечно в Ардуино нужно залить программу из предудущего поста.

P.S. Весь код содран с этого сайта и немного доработан под свои нужды.
als_su вне форума   Ответить с цитированием
Старый 04.04.2014, 12:26   #27
ankv
Junior Member
 
Регистрация: 25.03.2014
Адрес: Калуга
Сообщений: 8
Вес репутации: 0
ankv is an unknown quantity at this point
По умолчанию Re: OpenWRT + MySQL

Подскажите плиз, как передать файл с MR3020 (CyberWRT + PHP + SQLite3) на удаленный сервер.
Ситуация такая: на MR3020 висит датчик, показания пишутся в локальную sqlite базу.
Задача: 1. по крону, допустим, раз в 10 минут передавать файлик базы на удаленный сервер http://site.ru/base.db и перезаписывать его там.
Задача 2. Писать показания датчиков непосредственно в базу sqlite на удаленном хосте http://site.ru

Просто вся визуализация показаний идет именно на удаленном хосте.

Последний раз редактировалось ankv; 04.04.2014 в 12:30.
ankv вне форума   Ответить с цитированием
Старый 04.04.2014, 13:20   #28
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: OpenWRT + MySQL

Цитата:
Подскажите плиз, как передать файл с MR3020 (CyberWRT + PHP + SQLite3) на удаленный сервер.
Можно использовать функцию Wget
Admin вне форума   Ответить с цитированием
Старый 08.04.2014, 23:06   #29
ankv
Junior Member
 
Регистрация: 25.03.2014
Адрес: Калуга
Сообщений: 8
Вес репутации: 0
ankv is an unknown quantity at this point
По умолчанию Re: OpenWRT + MySQL

Цитата:
Сообщение от Admin Посмотреть сообщение
Можно использовать функцию Wget
А можно пример, а то своими силами не получилось...

Попробовал еще Wput (доустанавливал пакет), работает отлично из терминала, а вот когда ставлю в Планировщик, то не работает.
По logread событие отмечается, но файл не переписывается.
Использую так: "wput -u myfile.txt ftp://логин:пароль@mysite.ru/папка/"
myfile физически лежит в папке /www, но повторюсь из Терминала все отрабатывает отлично.
В чем могут быть грабли?

Последний раз редактировалось ankv; 08.04.2014 в 23:12.
ankv вне форума   Ответить с цитированием
Старый 09.04.2014, 10:14   #30
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: OpenWRT + MySQL

Говорим серверу что это браузер.
Поробуйте. У меня сейчас нет возможности проверить
wget -q -U "Mozilla/5.0" --post-file myfile.txt --header="Content-Type: text/html" -O - "http://mysite.ru/папка/"
Admin вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 05:47. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика