Kako poslati SMS iz Tcl/Tk
Najjednostavniji način za slanje SMS-a iz Tcl/Tk je korištenje ugrađenog HTTP/Rest SMS API-ja Ozeki SMS Gatewaya. Kada koristite ovaj API, slati ćete SMS poruke slanjem HTTP Post zahtjeva prema SMS gatewayu. HTTP Post zahtjev će sadržavati poruku formatiranu u json formatu. SMS gateway će poslati ovaj SMS na telefon primatelja i vratit će HTTP 200 OK odgovor na vaš zahtjev.
Tcl/Tk kod za slanje SMS-a na mobilni telefon
Primjer Tcl/Tk SMS koda ispod pokazuje kako možete poslati SMS koristeći http rest SMS API Ozeki SMS Gatewaya s Tcl/Tk Ozeki.Libs.Rest bibliotekom. Ova biblioteka vam je dostupna besplatno i možete je koristiti i mijenjati u bilo kojem od vaših projekata.
SendSms.tclsource Ozeki.Libs.Rest.tcl set configuration [ Configuration new ] $configuration setUsername "http_user" $configuration setPassword "qwe123" $configuration setApiUrl "http://127.0.0.1:9509/api" set msg [ Message new ] $msg setToAddress "+36201111111" $msg setText "Pozdrav svijete!" set api [ MessageApi new $configuration ] set result [ $api send $msg ] puts [ $result toString ]
Kako koristiti Tcl/Tk SMS primjer:
Ovaj Tcl/Tk SMS primjer može se koristiti u bilo kojoj Tcl/Tk aplikaciji. Da biste ga koristili, morate dodati datoteku Ozeki.Libs.Rest.tcl u svoj projekt. Nakon dodavanja datoteke, morate staviti izravnu source Ozeki.Libs.Rest.tcl u zaglavlje vašeg Tcl/Tk izvornog koda. To će vam omogućiti korištenje klasa dostupnih u Ozeki.Libs.Rest biblioteci. Možete koristiti klasu Message za kreiranje SMS-a. Možete koristiti klasu MessageApi za slanje SMS-a prema SMS gatewayu. SMS gateway će proslijediti vašu poruku mobilnoj mreži putem bežične veze ili putem interneta.
Preuzmite SendSms.tcl
Izvorni kod objašnjen u ovom članku može se preuzeti, koristiti i mijenjati besplatno.
Preuzimanje: SendSms.tcl.zip (4.07Kb)
Što se nalazi u SendSms.tcl.zip datoteci?
Datoteka SendSms.tcl.zip sadrži Ozeki.Libs.Rest biblioteku, koja vam daje sve potrebne alate za slanje i primanje SMS poruka. Također ćete pronaći SendSms projekt u zip datoteci, koji sadrži primjer koda koji pokazuje kako poslati SMS. Ovaj primjer koda je naveden ispod.
Kako poslati SMS iz Tcl/Tk (Jednostavne smjernice)
Da biste poslali SMS iz Tcl/Tk:
- Instalirajte HTTP API korisnika
- Omogućite bilježenje komunikacijskih događaja na kartici Napredno
- Preuzmite i instalirajte Tcllib biblioteku
- Preuzmite zatim raspakirajte datoteku SendSms.tcl.zip
- Otvorite datoteku SendSms.tcl u uređivaču teksta
- Pokrenite Ozeki SMS Gateway aplikaciju
- Pokrenite SendSms.tcl Tcl/Tk kod u terminalu
- Provjerite zapisnike da vidite je li SMS poslan
Instalirajte Ozeki SMS Gateway i kreirajte HTTP API korisnika
Da biste mogli slati SMS iz Tcl/Tk, prvo morate instalirati Ozeki SMS Gateway. SMS gateway se može instalirati na istom računalu gdje razvijate svoj Tcl/Tk kod u Visual studiju. Nakon instalacije, sljedeći korak je povezivanje Ozeki SMS Gatewaya s mobilnom mrežom. Možete poslati testni SMS iz Ozeki GUI-a kako biste potvrdili da vaša mobilna mrežna veza radi. Konačni korak za pripremu vašeg okruženja je kreiranje HTTP SMS API korisničkog računa. Kreirajte korisnika s korisničkim imenom "http_user" i lozinkom "qwe123" kako bi primjer radio bez izmjena.
Nakon što je okruženje postavljeno, možete pokrenuti svoj Tcl/Tk kod.
HTTP API URL za slanje SMS-a iz Tcl/Tk
Da biste poslali SMS iz Tcl/Tk, vaš Tcl/Tk će morati poslati HTTP zahtjev prema SMS gatewayu. API URL je prikazan ispod. Imajte na umu da IP adresa (127.0.0.1) treba biti zamijenjena IP adresom vašeg SMS gatewaya. Ako je Ozeki SMS Gateway instaliran na istom računalu gdje se pokreće Tcl/Tk SMS aplikacija, ovo može biti 127.0.0.1. Ako je instaliran na drugom računalu, treba biti IP adresa tog računala.
http://127.0.0.1:9509/api?action=rest
HTTP autentifikacija za slanje SMS-a iz Tcl/Tk
Da biste autentificirali Tcl/Tk SMS klijent, morate poslati korisničko ime i lozinku u base64 kodiranom stringu prema poslužitelju u HTTP zahtjevu. Korišteni format je: base64(korisničko_ime+":"+lozinka). U Tcl/Tk možete koristiti sljedeći kod za ovo kodiranje:
set usernamePassword "$username:$password" set usernamePasswordEncoded [ binary encode base64 $usernamePassword ] return "Basic $usernamePasswordEncoded"
Na primjer, ako kodirate korisničko ime 'http_user' i lozinku 'qwe123', dobit ćete sljedeći base64 kodirani string: aHR0cF91c2VyOnF3ZTEyMw==. Za slanje
HTTP zaglavlje zahtjeva za slanje SMS-a iz Tcl/Tk
Da biste poslali SMS poruke, morate uključiti sljedeće retke kao zaglavlja u HTTP zahtjevu. Imajte na umu da uključujemo content type i Authorization zaglavlje.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP zahtjev za slanje SMS-a iz Tcl/Tk
Za slanje SMS-a, vaša Tcl/Tk aplikacija će poslati HTTP zahtjev sličan donjem primjeru. Imajte na umu da ovaj zahtjev sadrži dio HTTP zaglavlja i dio HTTP tijela. HTTP tijelo je JSON kodirani niz podataka. Sadrži broj primatelja i tekst poruke.
POST /api?action=sendmsg HTTP/1.1 Host: 127.0.0.1:9509 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 10.0) http/2.9.0 Tcl/8.6.9 Connection: close Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Accept: */* Accept-Encoding: gzip,deflate,compress Content-Type: application/json Content-Length: 320 { "messages": [ { "message_id": "48de1284-aea2-442b-a8cd-45112153a94f", "to_address": "+36201111111", "text": "Hello world!", "create_date": "2021-08-03T14:36:27", "valid_until": "2021-08-10T14:36:27", "time_to_send": "2021-08-03T14:36:27", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true } ] }
HTTP odgovor primljen od Tcl/Tk SMS primjera
Nakon što SMS gateway primi ovaj zahtjev, generirat će HTTP odgovor. HTTP odgovor će sadržavati statusni kod kako bi naznačio je li zahtjev za slanje SMS-a bio uspješan ili ne. Također će vratiti JSON kodiranu strukturu kako bi vam pružila korisne detalje o slanju poruke.
HTTP/1.1 200 OK Transfer-Encoding: chunked Content-Type: application/json; charset=utf8 Last-Modified: Mon, 02 Aug 2021 13:44:10 GMT Server: 10/10.3.124 Microsoft-HTTPAPI/2.0 User-Agent: OZEKI 10.3.124 (www.myozeki.com) Access-Control-Allow-Origin: * Date: Tue, 03 Aug 2021 12:36:27 GMT Connection: close { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "48de1284-aea2-442b-a8cd-45112153a94f", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world!", "create_date": "2021-08-03 14:36:27", "valid_until": "2021-08-10 14:36:27", "time_to_send": "2021-08-03 14:36:27", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Povežite svoj SMS gateway s mobilnom mrežom i kreirajte HTTP API korisnički račun
Pretpostavljamo da ste već instalirali Ozeki SMS Gateway, i da ste ga povezali s mobilnom mrežom. Kako biste mogli slati SMS na mobilni telefon iz Tcl/Tk, potrebno je postaviti HTTP API korisnički račun u Ozeki SMS Gatewayu.
Kreirajte novog korisnika (Video tutorijal)
Ovaj video prikazuje kako postaviti novi HTTP API korisnički račun. Počet će s početnom stranicom Ozeki SMS Gatewaya i završit će s karticom Događaji novog korisnika. Video će vam pokazati kako kreirati i konfigurirati vašeg novog korisnika. Sjajna stvar u vezi ovog videa je da traje samo 30 sekundi, ali sadrži sve informacije koje su vam potrebne za kreiranje novog HTTP API korisnika.
Kako instalirati Tcllib na Linuxu
Ako koristite Linux računalo, morate instalirati Tcllib biblioteku prije nego što počnete koristiti Ozeki.Libs.Rest biblioteku. U sljedećem videu pokazat ću vam kako instalirati Tcllib biblioteku koristeći terminal i fossil. Možete preskočiti ovaj dio ako ste već instalirali Tcllib.
Koraci za instalaciju Tcllib biblioteke na Linuxu
-
Za instalaciju Tcllib biblioteke trebat će nam nešto što se zove fossil. Da biste instalirali fossil na Linux računalu, trebat će vam ova naredba:
sudo apt-install fossil
-
Nakon što ste instalirali fossil, možemo nastaviti kloniranjem Tcllib biblioteke sljedećom naredbom:
cd Desktop fossil clone http://core.tcl.tk/tcllib tcllib.fossil
-
Nakon što ste klonirali Tcllib biblioteku, trebamo kreirati direktorij i izvući biblioteku u njega.
mkdir tcllib cd tcllib fossil open ../tcllib.fossil
-
Zatim možemo instalirati Tcllib biblioteku koristeći sljedeću naredbu:
sudo tclsh installer.tcl
-
Nakon što je proces instalacije završen, možemo testirati biblioteku sljedećom naredbom:
tclsh % package require uuid // 1.0.7 % uuid::uuid generate // c004b0d6-f983-4169-8748-31013dfd24b2
Ovaj video pokazuje kako preuzeti datoteku SendSms.tcl.zip s ove stranice i kako preuzeti njezin sadržaj u tekstualni editor. Ako pogledate video, primijetit ćete da je sadržaj SendSms.tcl.zip datoteke smješten na Radnoj površini. Također ćete vidjeti da dvoklikom na SendSms.tcl datoteku otvaramo Tcl skriptu.
Tcl/Tk SMS primjer: SendSms.tcl
Primjer koda u nastavku dio je datoteke SendSms.tcl.zip. U zip datoteci možete pronaći dvije datoteke: SendSms.tcl i Ozeki.Libs.Rest.tcl
Kako provjeriti je li SMS prihvaćen od strane HTTP korisnika (Video tutorial)
Nakon što je SMS poslan, dobro je provjeriti vaš SMS pristupnik kako biste vidjeli što je primio. Dnevnik možete provjeriti otvaranjem detalja HTTP korisnika iz upravljačke konzole Ozeki SMS pristupnika. Sljedeći video pokazuje što trebate tražiti. Video će započeti s otvorenim kodom i završiti s detaljima poslane poruke. Naučit ćete kako pokrenuti projekt, kako projekt izgleda tijekom rada i kako izgleda datoteka dnevnika nakon toga. Video traje samo 42 sekunde i lako ga je razumjeti. Nećete imati problema s praćenjem.
Kako provjeriti je li SMS poslan na mobilnu mrežu
Završni korak u provjeri postupka je pogledati dnevnike veze s mobilnom mrežom. Možda ćete morati uključiti bilježenje u konfiguraciji veze prije slanja poruke kako biste vidjeli dnevnike. Ako je bilježenje uključeno, vidjet ćete broj telefona i tekst poruke koju ste poslali.
Provjerite je li zahtjev prihvaćen (Video tutorial)
U sljedećem videu vidjet ćete kako provjeriti je li SMPP klijent uspješno poslao vašu poruku. Naučit ćete kako otvoriti karticu događaja SMPP korisnika i što trebate tražiti. Video traje samo 18 sekundi, ali će biti vrlo koristan.
SMS primljen na telefonu (Video tutorial)
U sljedećem videu vidjet ćete kako izgleda dolazna poruka poslana iz Ozeki SMS pristupnika. Počet će s početnim zaslonom android telefona i završiti s otvorenom porukom. Traje samo 18 sekundi i možete vidjeti cijeli proces primanja poruke.
Sažetak
Gore navedeni vodič objasnio je korake slanja SMS-a iz Tcl/Tk. Kao što se moglo vidjeti, Ozeki vam daje sve alate potrebne za isporuku poruka, tako da ako su koraci pažljivo slijedeni, slanje poruka iz Tcl/Tk više nije problem. Ozeki SMS pristupnik igra ogromnu ulogu u isporuci, bez ovog programa ne biste mogli doći do mobilnih korisnika. Važno je napomenuti da Ozeki SMS pristupnik radi u bilo kojoj zemlji, tako da se poruke mogu slati internacionalno s ovim rješenjem.
Ne završavajte čitanje ovdje, pregledajte Ozekijevu stranicu s tutorialima i naučite o primanju SMS-ova u Tcl/Tk.
Sljedeća stvar koju trebate učiniti je preuzeti Ozeki SMS pristupnik i neka počne rad!
More information
- Td/Tk pošalji SMS s HTTP REST API-jem (primjer koda)
- Td/Tk pošalji više SMS-ova s HTTP REST API-jem (primjer koda)
- Td/Tk zakazani SMS s HTTP REST API-jem (primjer koda)
- Tcl/Tk primi SMS s HTTP REST API-jem (primjer koda)
- Tcl/Tk izbriši SMS s HTTP REST API-jem (primjer koda)
- Kako preuzeti najnoviju Tcl/Tk SMS biblioteku s Githuba