Satura rādītājs
Atjaunināts - marts 10, 2025
Ja vēlaties noteikt GPS datus, izmantojot SmartHome, piemēram, lai pieprasītu vietējos laikapstākļu datus, to var izdarīt ar Teltonika RUTX50 maršrutētāju bez papildu aparatūras vai programmatūras ar Homematic / RaspberryMatic.
Pamati
Teltonika maršrutētāji RUTX... ļauj sūtīt un saņemt SMS, izmantojot aktivizēto SIM karti. Ir iespējams arī nosūtīt atrašanās vietas datus, atbildot uz SMS ar saturu "Parole gps„.
Ienākošo SMS sarakstu un SMS saturu var apskatīt, izmantojot HTTP pieprasījumu. Pašreizējos ģeogrāfiskā garuma un platuma datus var nolasīt no SMS, kas saņemta, atbildot uz SMS pieprasījumu.
Tagad tos var tālāk apstrādāt, izmantojot skriptu SmarttHome automatizācijas sistēmā, izmantojot HomeMatic vai RaspberryMatic. Ceļojot pastāvīgi mainīgos ģeodatus var izmantot pastāvīgi atjauninātiem laikapstākļu pieprasījumiem, pamatojoties uz pašreizējo atrašanās vietu, piemēram, izmantojot bezmaksas pakalpojumu no openweathermap.org izmantot.
Pakalpojumu sniedzēja SMS iestatījumi
Atkarībā no pakalpojumu sniedzēja maršrutētājā izmantotā SIM karte var būt jāaktivizē SMS saņemšanai. Parasti to veic attiecīgajos iestatījumos pēc pieteikšanās pakalpojumu sniedzēja tīmekļa vietnē.
Lai gan tā sauktos vairāku karšu piedāvājumus var izmantot zvanīšanai un zvanīšanai visās ierīcēs, kas aprīkotas ar šādu SIM karti, SMS tiek atbalstītas tikai VIENĀ no SIM kartēm!
Iestatīšana - Teltonika maršrutētājs
Pakalpojumi - Mobilo sakaru pakalpojumi - SMS vārti
- Mobilā ziņa/saņemt iestatījumus - Ieslēgts
- Lietotājvārds: Pieteikšanās vārds
- Parole: LoginPassword
Pakalpojumi - Ievade/izvade - Post/Get
- I/O Post/Get Settings - Ieslēgts
- Lietotājvārds: Pieteikšanās vārds
- Parole: LoginPassword
Iestatīšana - RaspberryMatic
CUx dēmona instalēšana
CUx dēmons ir papildinājums, kas nodrošina HomeMatic / RaspberryMatic virtuālās ierīces, ko var izmantot kā mazāk apgrūtinošu sistēmas izsaukumu aizstājēju, piemēram, SMS ziņojumu nosūtīšanai uz maršrutētāju, izmantojot HTTP pieprasījumu.
Papildierīce tiek instalēta sadaļā Iestatījumi - Papildu programmatūra, kur varat lejupielādēt papildierīces failu, noklikšķinot uz pogas. Izvēlieties failu
attiecīgajā datora lejupielādes mapē un noklikšķiniet uz pogas Uzstādīt
var ielādēt un uzstādīt centrā.
CUx dēmons - Ierīces izveide
CUx dēmons tiek izsaukts, izmantojot System, noklikšķinot uz pogas CUx dēmons
.
Noklikšķiniet uz pogas augšējā labajā stūrī Ierīces
atver saskarni. Augšējā kreisajā stūrī, sadaļā CUxD ierīces tips, no tālāk dotā saraksta tiek izvēlēts šāds Sistēma
izvēlēts.
Funkcija Exec
ir izvēlēts, laukā Nosaukums tiek ievadīts atbilstošs apzīmējums, piem.,. GPSun pēc tam noklikšķiniet uz pogas Ierīces izveide CCU
ierīce ir saglabāta.
Pēc tam izveidotā ierīce tiek parādīta labajā logā ar tās ID, piemēram, CUX2801001, un to var adresēt skriptos, izmantojot šo ID.
Skripti
SMS nosūtīšana GPS datu izvadei
Informācija kvadrātiekavās jāaizstāj ar saviem datiem:
string url="'http://[Maršrutētāja IP]/cgi-bin/sms_send?username=[[Lietotājvārds]&password=[parole]&number=[Starptautiskais tālruņa numurs]&text=[Parole gps]'“;
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - "#url);
Lūdzu, ņemiet vērā, ka virkne ir ietverta ar dubultajām (") UN vienreizējām (') komatām!
Šis skripts tiek izmantots programmā, kas jāizveido. GPS_Loc_Update
un nākamais skripts, kas savukārt izsauc programmu GPS_Data, tiek aizkavēts par 30 sekundēm, lai gaidītu, kamēr tiks saņemta SMS ar PÜS datiem:
var programObj = dom.GetObject("GPS_Data");
programObj.ProgramExecute();
Programma GPS_Loc_Update
var izpildīt reizi dienā vai īsākos intervālos atkarībā no prasībām, izmantojot laika kontroli.

Izvades SMS saraksts
Lai nolasītu GPS datus, maršrutētājam tiek pieprasīts izvadīt SMS sarakstu, izmantojot HTTP pieprasījumu.
Šim skriptam ir nepieciešami divi DRAWING CHAIN tipa mainīgie, kas jārada sadaļā Settings - System variables (Iestatījumi - Sistēmas mainīgie) apakšā, noklikšķinot uz pogas New (Jauns):
- W_Lat (ģeogrāfiskā platuma saglabāšanai)
- W_Lon (ģeograrpiskā garuma saglabāšanai)
Skripta saturs (rindas ar sākuma Izsaukuma zīme ir komentāri; WriteLine-Instrukcijas tiek izmantotas tikai izejas kontrolei, un tās var dzēst):
var url = "http://[Maršrutētāja IP]/cgi-bin/sms_list?username=[[Lietotājvārds]&password=[parole]“;
! Mainīgo deklarēšana
var posValueStart;
var posValueEnd;
var pos;
var data;
var posStart;
var posEnd; string stderr; string stdout;
! WGET komanda HTTP pieprasījuma virknes pārsūtīšanai uz maršrutētāju
system.Exec("wget -q -O - '"#url#"'", &stdout, &stderr);
! Vaicājuma rezultāta izvadīšana pārbaudei
WriteLine(stdout);
! Indekss: 1
! Datums: Fri Jan 26 11:01:02 2024
! Nosūtītājs: +49xxxxxxxxxxxxxxx
! Teksts: Fiksācijas laiks: 2024-01-26, 11:01:01 Ģeogrāfiskais platums: 54.834682 Ģeogrāfiskais garums: 12.040196 http://maps.google.com/?
! q=54.834682,12.040196&om=1speed:0
! Statuss: lasīt
! GPS datu nolasīšana
pos = 0;
! Meklējamās vērtības sākuma pozīcija
posStart = 'Ģeogrāfiskais platums: ';
! Meklējamās vērtības beigu atrašanās vieta
posEnd = ' Garuma garums: ';
posValueStart = stdout.Find(posStart) + posStart.Length();
posValueEnd = stdout.Find(posEnd)-posValueStart;
! ir meklētā virkne:
string Latitude = stdout.Substr(posValueStart, posValueEnd);
! Virknes (rakstzīmju virknes) konvertēšana skaitlī ar peldošo komata punktu
var lat = Latitude.ToFloat();
! Ģeogrāfiskā garuma izvadīšana pārbaudei
WriteLine("Platums");WriteLine(Platums);
! Ģeogrāfiskā garuma saglabāšana mainīgajā W_Lat
dom.GetObject('W_Lat').State(lat);
pos = 0;
posStart = 'Ģeogrāfiskais garums: ';
posEnd = ' http';
posValueStart = stdout.Find(posStart) + posStart.Length();
posValueEnd = stdout.Find(posEnd)-posValueStart;
string Garuma garums = stdout.Substr(posValueStart, posValueEnd);
lon = Longitude.ToFloat();
WriteLine("Ģeogrāfiskais garums");WriteLine(lon);
dom.GetObject('W_Lon').State(lon);
Programmā nav izpildes nosacījuma, jo tā tiek iniciēta ar iepriekš minētās programmas vai skripta palīdzību.

Ģeogrāfisko informāciju tagad var izmantot, lai meklētu laikapstākļu datus par šo atrašanās vietu. Šim nolūkam tiek izveidota cita programma, kas tiek periodiski palaista, izmantojot laika kontroli, un, izmantojot skriptu, ievada abas vērtības iepriekšminētā meteoroloģisko datu pakalpojuma HTTP pieprasījuma rindā, tādējādi pieprasījumā ņemot vērā mainīgās atrašanās vietas.
Programma W_Data_OWM

URL sastādīšana
! GPS_Data aizpildīto mainīgo ielāde W_Lat un W_Lon un piešķirot mainīgajiem url_1 un url_2
var url_1 = dom.GetObject("W_Lat").Value();
WriteLine("Lat=");WriteLine(url_1);
var url_2 = dom.GetObject("W_Lon").Value();
WriteLine("Lon=");WriteLine(url_2);
! Sastādiet URL, izmantojot mainīgo saturu no url_1 un url_2
! [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] ir laika apstākļu pakalpojuma API atslēga, kas saņemta pēc reģistrācijas.
var url = "https://api.openweathermap.org/data/2.5/weather?lat="#url_1#"&lon="#url_2#"&appid=[xxxxxxxxxxxxxxxxxxxxxxxxx]&units=metric";
! Pilnas virknes izvadīšana pārbaudei
WriteLine(url);
Pēc tam seko tā pati procedūra mainīgo deklarēšanai, WGET komanda, vaicājuma rezultāta izvadīšana pārbaudei un vēlamo laikapstākļu datu nolasīšanai (sk. Dokumentācija) saskaņā ar procedūru, kas aprakstīta GPS datiem.