Hogyan lehet SMS-t fogadni Tcl/Tk-ből
A legegyszerűbb módja az SMS fogadásának 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üldhetsz HTTP Get kérések kiadásával az SMS gateway felé. A HTTP Get kérés tartalmazni fogja annak a mappának a nevét, amelyből az SMS-eket szeretnénk fogadni. Az SMS gateway elküldi az üzeneteket a Tcl/Tk API kliensnek, és egy HTTP 200 OK választ küld 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 lehet SMS-eket fogadni az Ozeki SMS Gateway http rest sms api-jával a Tcl/Tk Ozeki.Libs.Rest könyvtár segítségével. Ez a könyvtár ingyenesen elérhető számodra, és bármely projektben felhasználhatod és módosíthatod.
ReceiveSms.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 api [ MessageApi new $configuration ] set result [ $api downloadIncoming ] puts [ $result toString ] for { set i 0 } { $i < [ llength [ $result getMessages ] ] } { incr i } { puts [ [ lindex [ $result getMessages ] $i ] 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álathoz hozzá kell adnod az Ozeki.Libs.Rest.tcl fájlt a projektedhez. A fájl hozzáadása után a 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. Az Message osztály segítségével létrehozhatod 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 mobil hálózatba vezeték nélküli kapcsolaton vagy az interneten keresztül.
ReceiveSms.tcl letöltése
A cikkben ismertetett forráskód letölthető, felhasználható és módosítható ingyenesen.
Letöltés: ReceiveSms.tcl.zip (4.1Kb)
Mi található a ReceiveSms.tcl.zip fájlban?
A ReceiveSms.tcl.zip fájl tartalmazza az Ozeki.Libs.Rest könyvtárat, amely minden szükséges eszközt biztosít az SMS-ek küldéséhez és fogadásához. A zip-ben megtalálod a ReceiveSms projektet is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldj SMS-t. Ez a példakód az alábbiakban látható.
Hogyan küldj SMS-t Tcl/Tk-ből (Egyszerű útmutató)
SMS küldése Tcl/Tk-ből:
- Telepíts egy HTTP API felhasználót
- Engedélyezd a Kommunikációs események naplózását a Speciális lapon
- Töltsd le és telepítsd a Tcllib könyvtárat
- Töltsd le, majd csomagold ki a ReceiveSms.tcl.zip fájlt
- Nyisd meg a ReceiveSms.tcl fájlt egy szövegszerkesztőben
- Indítsd el az Ozeki SMS Gateway alkalmazást
- Futtasd a ReceiveSms.tcl Tcl/Tk kódot a terminálban
- Ellenőrizd a naplókat, hogy az SMS elküldődött-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 telepítened kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a Tcl/Tk kódodat fejleszted Visual Studio-ban. A telepítés után a következő lépés az, hogy csatlakoztad az Ozeki SMS Gateway-t a mobil hálózathoz. létrehozol egy HTTP SMS API felhasználói fiókot. 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 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 lehet 127.0.0.1. Ha másik számítógépre van telepítve, akkor annak az 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 base64 kódolású karakterláncként kell elküldened 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ódolású karakterláncot kapod: aHR0cF91c2VyOnF3ZTEyMw==.
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 küld, mint az alábbi. Figyelj arra, hogy ez a kérés tartalmaz egy HTTP fejlécet, amely tartalmazza annak a mappának a nevét, amelyből üzeneteket szeretnénk fogadni, valamint a base64 kódolású felhasználónevet és jelszót.
GET /api?action=receivemsg&folder=inbox 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
HTTP válasz, amelyet a Tcl/Tk SMS példa kap
Miután az SMS gateway megkapja ezt a kérést, generál egy HTTP választ. A HTTP válasz tartalmazni fog egy állapotkódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Emellett egy JSON kódolású 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: Wed, 04 Aug 2021 08:44:43 GMT Server: 10/10.3.124 Microsoft-HTTPAPI/2.0 User-Agent: OZEKI 10.3.124 (www.myozeki.com) Access-Control-Allow-Origin: * Date: Wed, 04 Aug 2021 10:11:34 GMT Connection: close { "http_code": 200, "response_code": "SUCCESS", "response_msg": "", "data": { "folder": "inbox", "limit": "1000", "data": [ { "message_id": "82469c20-8f97-4c72-9d2f-d8224d30722a", "from_connection": "http_user@localhost", "from_address": "+36203333333", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 3", "create_date": "2021-08-04 12:11:28", "valid_until": "2021-08-11 12:11:28", "time_to_send": "2021-08-04 12:11:28", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "5172aae1-f708-12ca-9115-2d202a084a13", "from_connection": "http_user@localhost", "from_address": "+36202222222", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 2", "create_date": "2021-08-04 12:11:28", "valid_until": "2021-08-11 12:11:28", "time_to_send": "2021-08-04 12:11:28", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "d5843a47-0ff6-ed10-8875-1c2e6ef8cefc", "from_connection": "http_user@localhost", "from_address": "+36201111111", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 1", "create_date": "2021-08-04 12:11:28", "valid_until": "2021-08-11 12:11:28", "time_to_send": "2021-08-04 12:11:28", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] } ] } }
Hogyan küldj SMS-t Tcl/Tk-ből a Tcl/Tk SMS API segítségével (Videó útmutató)
Ez a videó bemutatja, hogyan töltheted le a ReceiveSms.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 ReceiveSms.tcl zip tartalma az Asztalra kerül. Azt is látni fogod, hogy duplán kattintunk a ReceiveSms.tcl fájlra a tcl szkript megnyitásához.
Tcl/Tk SMS példa: ReceiveSms.tcl
Az alábbi példakód a ReceiveSms.tcl.zip fájl része. A zip-ben két fájl található: a ReceiveSms.tcl és az Ozeki.Libs.Rest.tcl.
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 az HTTP felhasználó részleteinek megnyitásával ellenőrizheted. A következő videó bemutatja, hogy mire kell figyelni. 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.
More information