kod php dla sms sendera z wlasnymi smsami dla stanow bez opcji deflaut sms number - wymaga każdorazowo jego deklaracje
odczyt jsona dokumentacja lk3 https://docs.tinycontrol.pl/pl/lk3/responses/ tu zwrotka dla większości in/out https://docs.tinycontrol.pl/lk3demo/json/all.json
Kod PHP:
<?php
error_reporting(E_ALL);
if (!empty($_SERVER['QUERY_STRING'])){ parse_str($_SERVER['QUERY_STRING']); }
//parse_str($_SERVER['QUERY_STRING']);
/** API Client //post msg format
function sms($x){ //usage sms('wiadomosc');
$ch = curl_init( 'http://ip/bramka.php' ); //powiadomienie sms
curl_setopt($ch, CURLOPT_USERPWD, "user:password"); //haslo do api
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'tel=600600600&msg='.$x);
curl_exec($ch);
}
w LK3 bez nakladki gsm ustawiasz http user:pass@adres_ip:port/adres/bramka.php?tel=600600600&msg=xxx
gdzie xxx to wiadomosc do wyslania a tel to numer odbiorcy aktywacja np zadaniem hhtp2
edycja kodu:
# zapisz kod na serwerze jako bramka.php z uprawnieniami chmod 744
# w kodzie nalezy edytowac USER:PASS jesli jest inne a powinno byc! w function get()
# oraz ponizej:
# ip oraz port LK3 na ktorym jest nakladka gsm
# domyslny nr telefonu 600600600 na wlasny domyslny nr pod ktory maja przychodzic wyslane smsy lub numery kwestia wersji
# slac podziekowania bic poklony ;) informacje o bykach i pomyslach na https://forum.tinycontrol.pl/member.php?action=profile&uid=3492
**/
// CONFIGURACJA ///
$x = 'http://192.168.1.100:80'; //ip:port LK z nakladka gsm
function r($url){
$e = rawurlencode($url);
$e = str_replace("%3F", "?", $e);
$e = str_replace("%26", "&", $e);
$e = str_replace("%3D", "=", $e);
$e = str_replace("%2F", "/", $e);
$e = str_replace("%7C", "%0A", $e); //nowa linia |
$e = str_replace("%C2%BA", "º", $e);
return $e;
}
function r_pl($q) { //usuwanie znakow specjalnych
$p = array("ą","ć","ę","ł","ń","ó","ś","ż","ź","Ą","Ć","Ę","Ł","Ń","Ó","Ś","Ż","Ź");
$z = array("a","c","e","l","n","o","s","z","z","A","C","E","L","N","O","S","Z","Z");
$q = str_replace($p, $z, $q);
$q = preg_replace("/[^a-z,?A-Z.0-9 º'|!=:\-\+@%]/", '', $q);
return $q;
}
function get($x, $url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $x.$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "user:pass"); //user:pass LK
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$d = curl_exec($ch);
$i = curl_getinfo($ch);
curl_close($ch);
return $d;
}
if( isset($_REQUEST['par']) AND isset($_REQUEST['val']) ){
if($_REQUEST['par']=='power' AND $_REQUEST['val'] > 500 ) {$_REQUEST['msg'] = $_REQUEST['msg'].' Powrót zasilania ';} //do kodu smsa dodac &par=power&val=%006
if($_REQUEST['par']=='power' AND $_REQUEST['val'] < 500 ) {$_REQUEST['msg'] = $_REQUEST['msg'].' Brak zasilania ';} //do kodu smsa dodac &par=power&val=%006
if($_REQUEST['par']=='pompa' AND $_REQUEST['val'] == 1) {$_REQUEST['msg'] = $_REQUEST['msg'].' Pompa ON';} //do kodu smsa dodac &par=pompa&val=%044
if($_REQUEST['par']=='pompa' AND $_REQUEST['val'] == 0) {$_REQUEST['msg'] = $_REQUEST['msg'].' Pompa Off';} //do kodu smsa dodac &par=poczta&val=%056
if($_REQUEST['par']=='poczta' AND $_REQUEST['val'] == 1) {$_REQUEST['msg'] = $_REQUEST['msg'].' Otwarcie skrytki pocztowej';} //do kodu smsa dodac &par=pompa&val=%044
if($_REQUEST['par']=='poczta' AND $_REQUEST['val'] == 0) {exit();} //pomija wysyłke sms jesli stan powraca i nas wnerwia :)
//itd dla każdego przesłanego par i val jesli wiadomosc poczatkowa ma byc timestampem to url ma postac user:pass@adres_ip:port/adres/bramka.php?tel=600600600&msg=%069 - %070|&par=power&val=%006
}
if(isset($_REQUEST['msg']) AND isset($_REQUEST['tel'])){
$o = json_decode(get($x,'/json/gsm.json'));
if (!is_object($o)) {exit('access fatal error json!');}
$s2=$o->gsmTexts[0]->off;
$s3=$o->gsmTexts[1]->on;
$s4=$o->gsmTexts[1]->off;
$s5=$o->gsmTexts[2]->on;
$s6=$o->gsmTexts[2]->off;
$s7=$o->gsmTexts[3]->on;
$s8=$o->gsmTexts[3]->off;
$d = 'gsmnumber1='.$_REQUEST['tel'];
$_REQUEST['msg'] = substr(r_pl($_REQUEST['msg']),0,155).' ';
$url = '/stm.cgi?'.$d.'&gsmsms1='.$_REQUEST['msg'].'*'.$s2.
'&gsmsms2='.$s3.'*'.$s4.'&gsmsms3='.$s5.'*'.$s6.'&gsmsms4='.$s7.'*'.$s8.'&gsmsendsms';
if(array($o->gsmTexts)){get($x,r($url));}
exit($_REQUEST['tel'].' --> '.$_REQUEST['msg'].'<br/>'.$url);
}
?>
<html dir='ltr' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr' lang="pl-PL">
<head>
<title>Bramka LK3 SMS</title>
<meta content='text/html; charset=utf-8' http-equiv='Content-Type'/>
</head>
<body>
<form action="bramka.php" method="post">
<textarea type="text" id="sms" name="msg" rows="3" cols="40" maxlength="155" placeholder="Tresc wiadomosci SMS...">Treść wiadomości SMS
</textarea><br/>
<input type="text" name="par" value="pompa"><br/>
<input type="text" name="val" value="1"><br/>
Odbiorca: <select id="tel" name="tel">
<option value="600600600">nr telefonu</option>
<!--... itd ..-->
</select>
<input type="submit" value="wyslij sms">
</form>
<pre>
<?php /////odczyt z LK przyklad
$e = json_decode(get($x,'/json/all.json'));
if (!is_object($e)) {exit('access fatal error!');}
echo "mac adress: ".$e->mac."<hr/>mozliwe wartosci do pobrania";
print_r($e);
?>
</pre>
</body>
</html>
odczyt jsona dokumentacja lk3 https://docs.tinycontrol.pl/pl/lk3/responses/ tu zwrotka dla większości in/out https://docs.tinycontrol.pl/lk3demo/json/all.json
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