Hogyan küldjünk SMS-t Tcl/Tk-ből
A legegyszerűbb módja SMS küldésének Tcl/Tk-ből az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Amikor ezt az API-t használod, SMS üzeneteket küldesz egy HTTP POST kérés kiadásával az SMS gateway felé. A HTTP POST kérés egy JSON formátumban formázott üzenetet fog tartalmazni. Az SMS gateway továbbítja ezt az SMS-t a címzett telefonjára, és egy HTTP 200 OK választ küld vissza a kérésedre.
Tcl/Tk kód SMS küldésére mobilra
Az alábbi Tcl/Tk SMS kód minta bemutatja, hogyan küldhetsz SMS-t az Ozeki SMS Gateway HTTP REST SMS API-jának használatával a Tcl/Tk Ozeki.Libs.Rest könyvtár segítségével. Ez a könyvtár ingyenesen elérhető, és bármely projektjében használhatja és módosíthatja.
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 "Hello world!" set api [ MessageApi new $configuration ] set result [ $api send $msg ] puts [ $result toString ]
A Tcl/Tk SMS példa használata:
Ez a Tcl/Tk SMS példa bármely Tcl/Tk alkalmazásban használható. A használatához hozzá kell adnod az Ozeki.Libs.Rest.tcl fájlt a projektedhez. Miután a fájl hozzáadásra került, az "source Ozeki.Libs.Rest.tcl" direktívát a Tcl/Tk forráskódod fejléc részébe kell elhelyezned. Ez lehetővé teszi az Ozeki.Libs.Rest könyvtár által nyújtott osztályok használatát. A Message osztály segítségével hozhatod létre az SMS-t. A MessageApi osztály segítségével elküldheted az SMS-t az SMS gatewaynek. Az SMS gateway továbbítja az üzenetedet a mobilhálózatnak vezeték nélküli kapcsolaton vagy az interneten keresztül.
A SendSms.tcl letöltése
A cikkben ismertetett forráskód letölthető, használható és módosítható ingyenesen.
Letöltés: SendSms.tcl.zip (4.07Kb)
Mi található a SendSms.tcl.zip fájlban?
A SendSms.tcl.zip fájl tartalmazza az Ozeki.Libs.Rest könyvtárat, amely minden szükséges eszközt biztosít SMS üzenetek küldéséhez és fogadásához. A zip-ben megtalálod a SendSms projektet is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldj egy SMS-t. Ez a példakód az alábbiakban látható.
Hogyan küldjünk SMS-t Tcl/Tk-ből (Egyszerű útmutató)
SMS küldése Tcl/Tk-ből:
- Telepíts egy HTTP API felhasználót
- Kapcsold be a "Log communication events" opciót az Advanced fülön
- Töltsd le és telepítsd a Tcllib könyvtárat
- Töltsd le, majd csomagold ki a SendSms.tcl.zip fájlt
- Nyisd meg a SendSms.tcl fájlt egy szövegszerkesztőben
- Indítsd el az Ozeki SMS Gateway alkalmazást
- Futtasd a SendSms.tcl Tcl/Tk kódot a terminálban
- Ellenőrizd a naplókat, hogy az SMS elküldésre került-e
Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása
Ahhoz, hogy SMS-t tudj küldeni Tcl/Tk-ből, először HTTP SMS API felhasználói fiók létrehozása. Hozz létre egy felhasználót "http_user" felhasználónévvel és "qwe123" jelszóval, hogy a példa módosítás nélkül működjön.
Miután a környezet beállításra került, futtathatod a Tcl/Tk kódodat.
HTTP API URL SMS küldéséhez Tcl/Tk-ből
Ahhoz, hogy SMS-t küldj Tcl/Tk-ből, a Tcl/Tk alkalmazásodnak egy HTTP kérést kell küldenie az SMS gatewaynek. Az API URL az alábbiakban látható. Fontos, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét írd. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol a Tcl/Tk SMS alkalmazás fut, ez maradhat 127.0.0.1. Ha másik számítógépre van telepítve, annak IP címét kell megadni.
http://127.0.0.1:9509/api?action=rest
HTTP hitelesítés SMS küldéséhez Tcl/Tk-ből
A Tcl/Tk SMS kliens hitelesítéséhez a felhasználónevet és a jelszót egy base64 kódolt karakterláncban kell elküldeni a szervernek egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). Tcl/Tk-ben a következő kódot használhatod a kódoláshoz:
set usernamePassword "$username:$password" set usernamePasswordEncoded [ binary encode base64 $usernamePassword ] return "Basic $usernamePasswordEncoded"
Például, ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódolod, a következő base64 kódolt karakterláncot kapod: aHR0cF91c2VyOnF3ZTEyMw==. Az elküldéshez
HTTP kérés fejléc SMS küldéséhez Tcl/Tk-ből
Az SMS üzenetek küldéséhez a következő sorokat kell tartalmaznia a HTTP kérés fejlécének. Figyelj arra, hogy tartalomtípust és egy Authorization fejlécet is tartalmazunk.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP kérés SMS küldéséhez Tcl/Tk-ből
Az SMS beküldéséhez a Tcl/Tk alkalmazásod egy olyan HTTP kérést fog küldeni, mint az alábbi. Figyelj arra, hogy ez a kérés tartalmaz egy HTTP fejléc részt és egy HTTP törzs részt. A HTTP törzs egy JSON kódolt adatsor. Tartalmazza a címzett számát és az üzenet szövegét.
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 válasz, amit a Tcl/Tk SMS példa kap
Amint az SMS gateway megkapja ezt a kérést, generál egy HTTP választ. A HTTP válasz tartalmaz egy állapotkódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Egy JSON kódolt struktúrát is visszaad, amely hasznos részleteket nyújt az üzenet beküldéséről.
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" } ] } }
Csatlakoztasd az SMS gatewayt a mobilhálózathoz és hozz létre egy HTTP API felhasználói fiókot
Feltételezzük, hogy már csatlakoztattad a mobilhálózathoz. Ahhoz, hogy SMS-t tudj küldeni mobiltelefonra Tcl/Tk-ből, létre kell hoznod egy HTTP API felhasználói fiókot az Ozeki SMS Gateway-ben.
Új felhasználó létrehozása (Videó útmutató)
Ez a videó bemutatja, hogyan állíthatsz be egy új HTTP API felhasználói fiókot. Az Ozeki SMS Gateway kezdőlapjáról indul, és az új felhasználó Események lapjával ér véget. A videó megmutatja, hogyan hozhatod létre és konfigurálhatod az új felhasználót. A videó nagyszerűsége, hogy mindössze 30 másodperc hosszú, de tartalmazza az összes szükséges információt egy új HTTP API felhasználó létrehozásához.
Hogyan telepítsük a Tcllib-et Linuxon
Ha Linux gépet használsz, telepítened kell a Tcllib könyvtárat, mielőtt elkezdenéd használni az Ozeki.Libs.Rest könyvtárat. A következő videóban megmutatom, hogyan telepítheted a Tcllib könyvtárat a terminál és a fossil segítségével. Ezt a részt kihagyhatod, ha már telepítetted a Tcllib-et.
A Tcllib könyvtár telepítésének lépései Linuxon
-
A Tcllib könyvtár telepítéséhez szükségünk lesz a fossil nevű eszközre. A fossil telepítéséhez Linux gépen a következő parancsra van szükség:
sudo apt-install fossil
-
Miután telepítetted a fossil-t, folytathatjuk a Tcllib könyvtár klónozását a következő paranccsal:
cd Desktop fossil clone http://core.tcl.tk/tcllib tcllib.fossil
-
Miután klónoztad a Tcllib könyvtárat, létre kell hoznunk egy könyvtárat, és ki kell csomagolnunk a könyvtárat abba.
mkdir tcllib cd tcllib fossil open ../tcllib.fossil
-
Ezután telepíthetjük a Tcllib könyvtárat a következő paranccsal:
sudo tclsh installer.tcl
-
Miután a telepítési folyamat befejeződött, tesztelhetjük a könyvtárat a következő paranccsal:
tclsh % package require uuid // 1.0.7 % uuid::uuid generate // c004b0d6-f983-4169-8748-31013dfd24b2
Hogyan küldjünk SMS-t Tcl/Tk-ből a Tcl/Tk SMS API használatával (Videó útmutató)
Ez a videó bemutatja, hogyan töltheted le a SendSms.tcl.zip fájlt erről az oldalról, és hogyan nyithatod meg a tartalmát egy szövegszerkesztőben. Ha megnézed a videót, észreveszed, hogy a SendSms.tcl zip tartalma az Asztalra kerül. Azt is látni fogod, hogy duplán kattintunk a SendSms.tcl fájlra a Tcl szkript megnyitásához.
Tcl/Tk SMS példa: SendSms.tcl
Az alábbi példakód a SendSms.tcl.zip fájl része. A zip-ben két fájlt találsz: a SendSms.tcl és az Ozeki.Libs.Rest.tcl fájlokat.
Hogyan ellenőrizd, hogy az SMS-t elfogadta-e a HTTP felhasználó (Videó útmutató)
Miután az SMS beküldésre került, jó ötlet ellenőrizni az SMS gatewayt, hogy lássuk, mit kapott. A naplót az Ozeki SMS Gateway kezelőfelületén megnyitva ellenőrizheted, a HTTP felhasználó részletei között. A következő videó bemutatja, hogyan kell ezt megtenni. A videó a megnyitott kóddal kezdődik, és az elküldött üzenet részleteivel ér véget. Megtanulod, hogyan indítsd el a projektet, hogyan néz ki a projekt futás közben, és hogyan néz ki a naplófájl utána. A videó mindössze 42 másodperc hosszú és könnyen érthető. Nem lesz gondod a követésével.
Hogyan ellenőrizd, hogy az SMS eljutott-e a mobilhálózatra
A folyamat ellenőrzésének utolsó lépése, hogy megnézzük a mobilhálózati kapcsolat naplóit. Lehet, hogy be kell kapcsolnod a naplózást a kapcsolat beállításaiban, mielőtt elküldöd az üzenetet, hogy lásd a naplókat. Ha a naplózás be van kapcsolva, látni fogod a telefonszámot és az elküldött üzenet szövegét.
Teszteld, hogy a kérést elfogadták-e (Videó útmutató)
A következő videóban látni fogod, hogyan ellenőrizheted, hogy az SMPP kliens sikeresen elküldte-e az üzenetedet. Megtanulod, hogyan nyisd meg az SMPP felhasználó Események lapját, és hogyan keresd meg a szükséges információkat. A videó mindössze 18 másodperc hosszú, de nagyon hasznos lesz.
SMS fogadása a telefonon (Videó útmutató)
A következő videón láthatod, hogyan néz ki egy bejövő üzenet, amelyet az Ozeki SMS Gateway-ből küldtek. Az android telefon kezdőképernyőjével kezdődik, és a megnyitott üzenettel ér véget. Mindössze 18 másodperc hosszú, és láthatod az üzenet fogadásának teljes folyamatát.
Összefoglalás
A fenti útmutató bemutatta a Tcl/Tk-ből történő SMS küldés lépéseit. Amint látható, az Ozeki minden szükséges eszközt biztosít az üzenetküldéshez, így ha a lépéseket gondosan követed, az üzenetküldés Tcl/Tk-ből már nem lesz probléma. Az Ozeki SMS Gateway hatalmas szerepet játszik az üzenetküldésben, a mobilfelhasználók nélküle nem érhetők el. Fontos megjegyezni, hogy az Ozeki SMS Gateway bármely országban működik, így nemzetközi szinten is küldhetsz üzeneteket ezzel a megoldással.
Ne állj meg itt, böngészd az Ozeki oktatóanyagait, és tanulj többet a SMS fogadásáról Tcl/Tk-ben.
A következő lépés, hogy letöltöd az Ozeki SMS Gateway-t és elkezded a munkát!
More information