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.

hogyan küldjünk sms-t tcl tk-ből
1. ábra - Hogyan küldjünk SMS-t Tcl/Tk-ből

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.tcl
source 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ó.

send sms tcl directory
2. ábra - Mi található a SendSms.tcl.zip fájlban

Hogyan küldjünk SMS-t Tcl/Tk-ből (Egyszerű útmutató)

SMS küldése Tcl/Tk-ből:

  1. Telepíts egy HTTP API felhasználót
  2. Kapcsold be a "Log communication events" opciót az Advanced fülön
  3. Töltsd le és telepítsd a Tcllib könyvtárat
  4. Töltsd le, majd csomagold ki a SendSms.tcl.zip fájlt
  5. Nyisd meg a SendSms.tcl fájlt egy szövegszerkesztőben
  6. Indítsd el az Ozeki SMS Gateway alkalmazást
  7. Futtasd a SendSms.tcl Tcl/Tk kódot a terminálban
  8. 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.

1. videó - Hogyan állítsunk be egy HTTP API felhasználói fiókot (Videó útmutató)

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.

2. videó - Hogyan telepítsük a Tcllib-et Linuxon (Videó útmutató)

A Tcllib könyvtár telepítésének lépései Linuxon

  1. 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
    			
  2. 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
    			
  3. 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
    			
  4. Ezután telepíthetjük a Tcllib könyvtárat a következő paranccsal:

    sudo tclsh installer.tcl
    			
  5. 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.

3. videó - Hogyan töltsd le és futtasd a példa projektet (Videó útmutató)

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 küldjünk sms-t tcl használatával
3. ábra - SendSms.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 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.

4. videó - Hogyan küldjünk SMS-t a fenti Tcl/Tk kóddal (Videó útmutató)

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.

5. videó - Hogyan teszteljük, hogy a kérést elfogadta-e az SMPP kliens (Videó útmutató)

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.

6. videó - Hogyan néz ki az SMS üzenet fogadása a mobiltelefonon (Videó útmutató)

Ö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