01-12-2024, 11:18 PM
(01-12-2024, 12:37 PM)tonymony napisał(a): Co do kodu php to ponizej fragment z paroma komentarzami (samo wysylanie ):
Kod PHP:<?php
require('../phpMQTT.php');
$server = 'ADRES_IP_LUB_DOMENA_SERWERA'; // change if necessary
$port = 1883; // change if necessary
$username = 'NAZWA_KLIENTA_MQTT'; // set your username
$password = 'HASLO_KLIENTA_MQTT'; // set your password
// bin2hex... generuje losowy string, tak by client_id byly unikalny. Nalezy przy tym pamietac ze taki klient powinien laczyc sie z ustawiona flaga clean_session (pierwszy parametr w $mqtt->connect).
$client_id = 'phpMQTT-' . bin2hex(random_bytes(8)); // make sure this is unique for connecting to sever - you could use uniqid()
$mqtt = new Bluerhinos\phpMQTT($server, $port, $client_id);
if ($mqtt->connect(true, NULL, $username, $password)) {
// Pierwszy parametr to temat na ktory wyslac, a drugi to tekst do wyslania, reszte zostawic jak jest.
// Np. ('abcdef/abc/m1', '27.1', 0, false)
$mqtt->publish('PREFIX/CZESC_TEMATU_PO_PREFIXIE', 'WARTOSC_DO_WYSLANIA', 0, false);
$mqtt->close();
} else {
echo "Time out!\n";
}
Odnosnie aktualizacji bazy danych z url na mqtt.ats.pl, co masz na mysli?
thx będę testował kod... teoretycznie widzę już dlaczego nie szło nic
odnośnie update by url...
przypuśćmy ze mamy urządzenie jakieś, które zbiera nam dane np stacja meteo, licznik energi etc
Jeśli nie ma ona obsługi mqtt lub nawet jeśli ma ciut inaczej niż lk3 to trzeba się nakombinować jak to sprzęgnąć z LK - najprościej było by przesłać takie dane przez url
(np. mqtt.ats.pl/api/user/password/prefix/update?temat1=234&temat2=345&itd.. ) na serwer mqtt a na nim wykonać odpowiednie operacje na LK3 za maskaradą
takim oto sposobem można by dodawać do bazy mqtt dane z dowolnych urządzeń
można by to rozwiązać jeszcze prościej z poziomu LK3 który odczytywał by jsona z takiego urządzenia np stacji meteo i podpinał je jako zmienne m1-->m30 a zebrane dane wysyłał na serwer Mqtt ale trzeba sobie radzić na tym co mamy obecnie.
mając na linii speca od mqtt .. czy można jakoś wysłać na lk przez mqtt polecenie AT+ do modemu gsm?
pozdr...
e-chata.hyzne.com | LK1 - sterowniki akwarystyki | LK2 - sterowniki ihome | LK3 - niezliczone ilości wersji/nakładek na farmach PV i nie tylko | LK4 - testy bezprzewodowe