Hogyan ütemezhetünk SMS-t Tcl/Tk-ban

A legegyszerűbb módja az ütemezett SMS küldésének Tcl/Tk-ban 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 POST kérések kiadásával az SMS gateway felé. A HTTP POST kérés egy JSON formátumú üzenetet tartalmaz. 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 ütemezhetünk sms-t tcl-tk-ban
1. ábra - Hogyan ütemezhetünk SMS-t Tcl/Tk-ban

Tcl/Tk kód SMS küldésére mobilra

Az alábbi Tcl/Tk SMS kód minta bemutatja, hogyan küldhetsz ütemezett SMS-t 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ő, és bármely projektben felhasználhatod és módosíthatod.

SendScheduledSms.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!"
$msg setTimeToSend "2021-08-03 12:00:00"

set api [ MessageApi new $configuration ]

set result [ $api send $msg ]

puts [ $result toString ]
	

Hogyan használd a Tcl/Tk SMS példát:

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 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 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ózatnak vezeték nélküli kapcsolaton vagy az interneten keresztül.

SendScheduledSms.tcl letöltése

A cikkben ismertetett forráskód ingyenesen letölthető, felhasználható és módosítható.
Letöltés: SendScheduledSms.tcl.zip (4.17Kb)

Mi található a SendScheduledSms.tcl.zip fájlban?

A SendScheduledSms.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 SendScheduledSms 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ó.

send scheduled sms tcl directory
2. ábra - Mi található a SendScheduledSms.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 SendScheduledSms.tcl.zip fájlt
  5. Nyisd meg a SendScheduledSms.tcl fájlt egy szövegszerkesztőben
  6. Indítsd el az Ozeki SMS Gateway alkalmazást
  7. Futtasd a SendScheduledSms.tcl Tcl/Tk kódot a terminálban
  8. 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. 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 van állítva, 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 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 jelszót base64 kódolású karakterláncként kell elküldeni a szervernek egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). Tcl/Tk-ban 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. Figyeld meg, hogy tartalmazunk egy Content-Type és egy Authorization fejlécet.

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. Figyeld meg, 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ódolású adatsor. Tartalmazza a címzett számát, az üzenet szövegét és az üzenet küldési idejé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: 321

{
	"messages": [
		{
			"message_id": "6d862e85-e8e0-4cad-b8bc-42513c7b8e94",
			"to_address": "+36201111111",
			"text": "Hello world!",
			"create_date": "2021-08-04T11:40:38",
			"valid_until": "2021-08-11T11:40:38",
			"time_to_send": "2021-08-03 12:00:00",
			"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 státuszkó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 09:40:38 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": "6d862e85-e8e0-4cad-b8bc-42513c7b8e94",
        "from_station": "%",
        "to_address": "+36201111111",
        "to_station": "%",
        "text": "Hello world!",
        "create_date": "2021-08-04 11:40:38",
        "valid_until": "2021-08-11 11:40:38",
        "time_to_send": "2021-08-03 12:00:00",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      }
    ]
  }
}
	

Hogyan küldjünk 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 SendScheduledSms.tcl.zip fájlt erről az oldalról, és hogyan nyithatod meg tartalmát egy szövegszerkesztőben. Ha megnézed a videót, észreveszed, hogy a SendScheduledSms.tcl zip tartalma az Asztalra kerül. Azt is látni fogod, hogy duplán kattintunk a SendScheduledSms.tcl fájlra a Tcl szkript megnyitásához.

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

Tcl/Tk SMS példa: SendScheduledSms.tcl

Az alábbi példakód a SendScheduledSms.tcl.zip fájl része. A zip-ben két fájl található: SendScheduledSms.tcl és az Ozeki.Libs.Rest.tcl.

hogyan küldjünk ütemezett sms-t tcl használatával
3. ábra - SendScheduledSms.tcl

Hogyan ellenőrizd, hogy az SMS-t elfogadta-e az HTTP felhasználó (Videó útmutató)

Az SMS beküldése után érdemes ellenőrizni az SMS gatewayt, hogy 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 mit kell keresned. 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.

2. videó - Ütemezett SMS küldése a fenti Tcl/Tk kóddal (Videó útmutató)

More information