Jak naplánovat SMS v Tcl/Tk

Nejjednodušší způsob, jak odeslat naplánovanou SMS z Tcl/Tk, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Při použití tohoto API budete odesílat SMS zprávy odesláním HTTP Post požadavku na SMS bránu. HTTP Post požadavek bude obsahovat zprávu formátovanou ve formátu json. SMS brána odešle tuto SMS na telefon příjemce a vrátí odpověď HTTP 200 OK na váš požadavek.

jak naplánovat sms v tcl-tk
Obrázek 1 - Jak naplánovat SMS v Tcl/Tk

Tcl/Tk kód pro odeslání SMS na mobil

Ukázka kódu Tcl/Tk pro SMS níže ukazuje, jak můžete odeslat naplánovanou SMS pomocí http rest sms api Ozeki SMS Gateway s využitím knihovny Tcl/Tk Ozeki.Libs.Rest. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli svém projektu.

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 ]
	

Jak použít příklad Tcl/Tk pro SMS:

Tento příklad Tcl/Tk pro SMS lze použít v jakékoli aplikaci Tcl/Tk. Pro použití musíte do svého projektu přidat soubor Ozeki.Libs.Rest.tcl. Poté, co je soubor přidán, musíte do hlavičkové části svého zdrojového kódu Tcl/Tk vložit direktivu source Ozeki.Libs.Rest.tcl. To vám umožní používat třídy poskytované knihovnou Ozeki.Libs.Rest. Třídu Message můžete použít k vytvoření SMS. Třídu MessageApi můžete použít k odeslání SMS na SMS bránu. SMS brána přepošle vaši zprávu do mobilní sítě buď prostřednictvím bezdrátového připojení nebo přes Internet.

Stáhnout SendScheduledSms.tcl

Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: SendScheduledSms.tcl.zip (4.17Kb)

Co je v souboru SendScheduledSms.tcl.zip?

Soubor SendScheduledSms.tcl.zip obsahuje knihovnu Ozeki.Libs.Rest, která vám poskytuje všechny nástroje potřebné k odesílání a přijímání SMS zpráv. V zipu také najdete projekt SendScheduledSms, který obsahuje ukázkový kód, který vám ukáže, jak odeslat SMS. Tento ukázkový kód je uveden níže.

odeslat naplánovanou sms tcl adresář
Obrázek 2 - Co je uvnitř SendScheduledSms.tcl.zip

Jak odeslat SMS z Tcl/Tk (Jednoduchý návod)

Pro odeslání SMS z Tcl/Tk:

  1. Nainstalujte uživatele HTTP API
  2. Povolte Logování komunikačních událostí na kartě Pokročilé
  3. Stáhněte a nainstalujte knihovnu Tcllib
  4. Stáhněte a rozbalte soubor SendScheduledSms.tcl.zip
  5. Otevřete soubor SendScheduledSms.tcl v textovém editoru
  6. Spusťte aplikaci Ozeki SMS Gateway
  7. Spusťte kód Tcl/Tk SendScheduledSms.tcl v terminálu
  8. Zkontrolujte logy, zda byla SMS odeslána

Instalace Ozeki SMS Gateway a vytvoření uživatele HTTP API

Abyste mohli odesílat SMS z Tcl/Tk, musíte nejprve nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj kód Tcl/Tk ve Visual studiu. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací sms z Ozeki GUI a ověřit, že vaše mobilní síťové připojení funguje. Posledním krokem k přípravě vašeho prostředí je vytvoření uživatele HTTP sms api. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby příklad fungoval bez úprav.

Po nastavení prostředí můžete spustit svůj kód Tcl/Tk.

HTTP API url pro odesílání SMS z Tcl/Tk

Pro odesílání SMS z Tcl/Tk bude vaše Tcl/Tk muset odeslat HTTP požadavek na SMS bránu. API url je uvedena níže. Všimněte si, že IP adresa (127.0.0.1) by měla být nahrazena IP adresou vaší SMS brány. Pokud je Ozeki SMS Gateway nainstalován na stejném počítači, kde běží Tcl/Tk sms aplikace, může to být 127.0.0.1. Pokud je nainstalován na jiném počítači, měla by to být IP adresa tohoto počítače.

http://127.0.0.1:9509/api?action=rest
	

HTTP autentizace pro odesílání SMS z Tcl/Tk

Pro ověření Tcl/Tk sms klienta musíte odeslat uživatelské jméno a heslo v base64 kódovaném řetězci na server v HTTP požadavku. Použitý formát je: base64(username+":"+password). V Tcl/Tk můžete pro toto kódování použít následující kód:

set usernamePassword "$username:$password"
set usernamePasswordEncoded [ binary encode base64 $usernamePassword ]
return "Basic $usernamePasswordEncoded"
	

Například, pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', získáte následující base64 kódovaný řetězec: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání

HTTP hlavička požadavku pro odeslání SMS z Tcl/Tk

Pro odeslání SMS zpráv je třeba do HTTP požadavku zahrnout následující řádky jako hlavičky. Všimněte si, že zahrnujeme typ obsahu a autorizační hlavičku.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

HTTP požadavek pro odeslání SMS z Tcl/Tk

Pro odeslání SMS bude vaše aplikace Tcl/Tk odesílat HTTP požadavek podobný níže uvedenému. Všimněte si, že tento požadavek obsahuje část HTTP hlavičky a část HTTP těla. HTTP tělo je řetězec dat zakódovaný v JSON. Obsahuje číslo příjemce, text zprávy a čas, kdy chceme zprávu odeslat.

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 odpověď přijatá příkladem SMS v Tcl/Tk

Jakmile SMS brána obdrží tento požadavek, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zda byl požadavek na odeslání SMS úspěšný nebo ne. Také vrátí strukturu zakódovanou v JSON, která poskytne užitečné detaily o odeslání zprávy.

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"
      }
    ]
  }
}
	

Jak odeslat SMS z Tcl/Tk pomocí Tcl/Tk SMS API (Video návod)

Toto video vám ukáže, jak stáhnout soubor SendScheduledSms.tcl.zip z této stránky a jak jeho obsah otevřít v textovém editoru. Pokud se podíváte na video, všimnete si, že obsah SendScheduledSms.tcl zipu je umístěn na plochu. Uvidíte také, že dvakrát klikneme na soubor SendScheduledSms.tcl, abychom otevřeli Tcl skript.

Video 1 - Jak stáhnout a spustit ukázkový projekt (Video návod)

Příklad SMS v Tcl/Tk: SendScheduledSms.tcl

Níže uvedený příklad kódu je součástí souboru SendScheduledSms.tcl.zip. V zipu najdete dva soubory: SendScheduledSms.tcl a Ozeki.Libs.Rest.tcl.

jak odeslat naplánovanou sms pomocí tcl
Obrázek 3 - SendScheduledSms.tcl

Jak ověřit, že SMS byla přijata HTTP uživatelem (Video návod)

Po odeslání SMS je dobré zkontrolovat vaši SMS bránu, abyste viděli, co přijala. Protokol můžete zkontrolovat otevřením detailů HTTP uživatele v konzoli pro správu Ozeki SMS brány. Následující video vám ukáže, na co se zaměřit. Video začne otevřeným kódem a skončí detaily odeslané zprávy. Dozvíte se, jak projekt spustit, jak projekt vypadá během běhu a jak vypadá protokolový soubor po jeho dokončení. Video je dlouhé pouze 42 sekund a je snadno srozumitelné. Nebudete mít problém jej sledovat.

Video 2 - Odesílání naplánované SMS s výše uvedeným kódem Tcl/Tk (Video návod)

More information