Temat: OpenWrt + Digitemp + MySQL na home.pl
Witam,
Mam zamiar uruchomić termometr na routerze WDR-3600. Skorzystałem z instrukcji opisanej na stronie: http://gru.one.pl/601/digitemp-i-zapis-do-mysql/
Założenia projektu:
1) strona www i mysql znajduje się na zewnątrz na home.pl
2) na działce mam router WDR-3600 + DS18B20
3) router wykonuje pomiar temperatury i zapisuje dane w bazie na home.pl
4) połączenie do internetu za pomocą SIM od PLAY'a
5) pomiar temperatury co 5 minut
Punkt 1 wykonałem: http://uzaleznieniapomoc.waw.pl/ (domena jest dla testów, taką miałem)
Punkty 2, 4 przetestowałem, działają ![]()
Punkt 5 - myślę, że tu nie będzie problemu. Dodanie skryptu do crona.
Moim problemem jest punkt 3.
Chciałem przerobić skrypt:
----
#!/bin/sh
SQL='insert into temperatura (numer_seryjny, temperatura) values ('`digitemp_DS2490 -q -a -o"%R,%.2C" | grep -v Found`');'
psql -q -h host -d baza -U user -c "$SQL"
----
który znajduje się na stronie: http://eko.one.pl/?p=Termometr#usb
Na home.pl mam bazę MySQL, a nie Postgres. Próbowałem użyć komendy mysql, ale to nie działa:
---
mysql -h .... -u .... -p....
use digitemp
insert into digitemp (SerialNumber, Fahrenheit) values, (\! digitemp_DS9097U -q -s /dev/ttyUSB0 -t 1 -o "'%R', '%.2F'")
---
Samo: "insert into digitemp (SerialNumber, Fahrenheit) values, ('1234567890ABCDEFG', '22.43');" działa.
Samo: "\! digitemp_DS9097U -q -s /dev/ttyUSB0 -t 1 -o "'%R', '%.2F'"" działa
Nie wiem jak wynik z komendy digitemp przekazać do komendy sql'a. W ostatecznym rezultacie potrzebuje skrypt, który:
1) wykonuje pomiar z kilku czujników
2) łączy się z mysql na home.pl
3) wrzuca dane do tabeli digitemp - dwie zmienne: ID czujnika i wartość temperatury w F.
Moja wiedza ogranicza się tylko w niewielikim zakresie do linux'a i mysql. Wszelkie napotkane problemy rozwiązywałem za pomocą google. Nad tym problemem siedzę już trzeci wieczór. Znalazłem wiele skryptów w perl, php, ale nie potrafię ich dostosować do moich potrzeb i uruchomić na OpenWrt.
Dziękuję za pomoc.
Pozdrawiam,
Michał