Jak wysłać SMS z Tcl/Tk
Najprostszym sposobem na wysłanie SMS z Tcl/Tk jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Kiedy używasz tego API, będziesz wysyłać wiadomości SMS poprzez wysłanie żądania HTTP Post do bramki SMS. Żądanie HTTP Post będzie zawierać wiadomość sformatowaną w formacie json. Bramka SMS wyśle tę wiadomość SMS na telefon odbiorcy i zwróci odpowiedź HTTP 200 OK na twoje żądanie.
Kod Tcl/Tk do wysyłania SMS na telefon komórkowy
Poniższy przykładowy kod Tcl/Tk do wysyłania SMS demonstruje, jak możesz wysyłać SMS używając interfejsu HTTP rest sms API Ozeki SMS Gateway z biblioteką Tcl/Tk Ozeki.Libs.Rest. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnym z twoich projektów.
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 ]
Jak używać przykładu Tcl/Tk do wysyłania SMS:
Ten przykład Tcl/Tk do wysyłania SMS może być używany w dowolnej aplikacji Tcl/Tk. Aby go użyć, musisz dodać plik Ozeki.Libs.Rest.tcl do swojego projektu. Po dodaniu pliku, musisz umieścić dyrektywę source Ozeki.Libs.Rest.tcl w sekcji nagłówkowej twojego kodu źródłowego Tcl/Tk. To pozwoli ci używać klas dostarczonych przez bibliotekę Ozeki.Libs.Rest. Możesz użyć klasy Message do tworzenia SMS. Możesz użyć klasy MessageApi do wysłania SMS do bramki SMS. Bramka SMS przekaże twoją wiadomość do sieci komórkowej albo przez połączenie bezprzewodowe, albo przez Internet.
Pobierz SendSms.tcl
Kod źródłowy omówiony w tym artykule może być pobrany, używany i modyfikowany bezpłatnie.
Pobierz: SendSms.tcl.zip (4.07Kb)
Co znajduje się w pliku SendSms.tcl.zip?
Plik SendSms.tcl.zip zawiera bibliotekę Ozeki.Libs.Rest, która dostarcza wszystkie narzędzia niezbędne do wysyłania i odbierania wiadomości SMS. Znajdziesz tam również projekt SendSms w zipie, który zawiera przykładowy kod pokazujący jak wysłać SMS. Ten przykładowy kod jest wymieniony poniżej.
Jak wysłać SMS z Tcl/Tk (Proste wskazówki)
Aby wysłać SMS z Tcl/Tk:
- Zainstaluj użytkownika HTTP API
- Włącz Logowanie zdarzeń komunikacyjnych na karcie Zaawansowane
- Pobierz i zainstaluj bibliotekę Tcllib
- Pobierz, a następnie rozpakuj plik SendSms.tcl.zip
- Otwórz plik SendSms.tcl w edytorze tekstu
- Uruchom aplikację Ozeki SMS Gateway
- Uruchom kod Tcl/Tk SendSms.tcl w terminalu
- Sprawdź logi, aby zobaczyć, czy SMS został wysłany
Zainstaluj Ozeki SMS Gateway i utwórz użytkownika HTTP API
Aby móc wysyłać SMS z Tcl/Tk, najpierw musisz zainstalować Ozeki SMS Gateway. Bramka SMS może być zainstalowana na tym samym komputerze, na którym tworzysz swój kod Tcl/Tk w Visual Studio. Po instalacji, kolejnym krokiem jest podłączenie Ozeki SMS Gateway do sieci komórkowej. Możesz wysłać testową wiadomość SMS z interfejsu Ozeki, aby sprawdzić, czy twoje połączenie z siecią komórkową działa. Ostatnim krokiem przygotowania środowiska jest utworzenie użytkownika HTTP sms api. Utwórz użytkownika z nazwą "http_user" i hasłem "qwe123", aby przykład działał bez modyfikacji.
Po skonfigurowaniu środowiska, możesz uruchomić swój kod Tcl/Tk.
URL API HTTP do wysyłania SMS z Tcl/Tk
Aby wysłać SMS z Tcl/Tk, twoja aplikacja Tcl/Tk będzie musiała wysłać żądanie HTTP do bramki SMS. URL API jest pokazany poniżej. Zauważ, że adres IP (127.0.0.1) powinien zostać zastąpiony adresem IP twojej bramki SMS. Jeśli Ozeki SMS Gateway jest zainstalowany na tym samym komputerze, na którym działa aplikacja Tcl/Tk do wysyłania SMS, może to być 127.0.0.1. Jeśli jest zainstalowany na innym komputerze, powinien to być adres IP tego komputera.
http://127.0.0.1:9509/api?action=rest
Uwierzytelnianie HTTP do wysyłania SMS z Tcl/Tk
Aby uwierzytelnić klienta SMS Tcl/Tk, musisz wysłać nazwę użytkownika i hasło w zakodowanym ciągu base64 do serwera w żądaniu HTTP. Używany format to: base64(nazwa_użytkownika+":"+hasło). W Tcl/Tk możesz użyć następującego kodu do wykonania tego kodowania:
set usernamePassword "$username:$password" set usernamePasswordEncoded [ binary encode base64 $usernamePassword ] return "Basic $usernamePasswordEncoded"
Na przykład, jeśli zakodujesz nazwę użytkownika 'http_user' i hasło 'qwe123', otrzymasz następujący zakodowany ciąg base64: aHR0cF91c2VyOnF3ZTEyMw==. Aby wysłać
Nagłówek żądania HTTP do wysyłania SMS z Tcl/Tk
Aby wysłać wiadomości SMS, musisz uwzględnić następujące linie jako nagłówki w żądaniu HTTP. Zauważ, że uwzględniamy typ zawartości i nagłówek Authorization.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Żądanie HTTP do wysłania SMS z Tcl/Tk
Aby przesłać SMS, Twoja aplikacja Tcl/Tk wyśle żądanie HTTP podobne do poniższego. Zauważ, że to żądanie zawiera część nagłówka HTTP i część ciała HTTP. Ciało HTTP to ciąg danych zakodowany w formacie JSON. Zawiera numer odbiorcy i tekst wiadomości.
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 } ] }
Odpowiedź HTTP otrzymana przez przykład SMS w Tcl/Tk
Gdy brama SMS otrzyma to żądanie, wygeneruje odpowiedź HTTP. Odpowiedź HTTP będzie zawierać kod statusu, aby wskazać, czy żądanie wysłania SMS zostało zakończone sukcesem czy nie. Zwróci również strukturę zakodowaną w JSON, aby dostarczyć przydatne informacje o przesłaniu wiadomości.
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" } ] } }
Podłącz swoją bramkę SMS do sieci komórkowej i utwórz konto użytkownika HTTP API
Zakładamy, że masz już zainstalowaną bramkę SMS Ozeki i podłączyłeś ją do sieci komórkowej. Aby móc wysyłać SMS-y na telefon komórkowy z Tcl/Tk, musisz skonfigurować konto użytkownika HTTP API w bramce SMS Ozeki.
Utwórz nowego użytkownika (Samouczek wideo)
Ten film prezentuje, jak skonfigurować nowe konto użytkownika HTTP API. Zaczyna się od strony głównej bramki SMS Ozeki i kończy na zakładce Zdarzenia nowego użytkownika. Film pokaże Ci, jak utworzyć i skonfigurować nowego użytkownika. Wspaniałą rzeczą w tym filmie jest to, że trwa tylko 30 sekund, ale zawiera wszystkie informacje potrzebne do utworzenia nowego użytkownika HTTP API.
Jak zainstalować Tcllib w Linuxie
Jeśli używasz komputera z systemem Linux, musisz zainstalować bibliotekę Tcllib zanim zaczniesz używać biblioteki Ozeki.Libs.Rest. W poniższym filmie pokażę Ci, jak zainstalować bibliotekę Tcllib za pomocą terminala i fossil. Możesz pominąć tę część, jeśli już zainstalowałeś Tcllib.
Kroki instalacji biblioteki Tcllib na Linuxie
-
Aby zainstalować bibliotekę Tcllib, będziemy potrzebować czegoś zwanego fossil. Aby zainstalować fossil na komputerze z systemem Linux, użyj tej komendy:
sudo apt-install fossil
-
Po zainstalowaniu fossil możemy kontynuować klonowanie biblioteki Tcllib za pomocą następującej komendy:
cd Desktop fossil clone http://core.tcl.tk/tcllib tcllib.fossil
-
Po sklonowaniu biblioteki Tcllib powinniśmy utworzyć katalog i wypakować bibliotekę do niego.
mkdir tcllib cd tcllib fossil open ../tcllib.fossil
-
Następnie możemy zainstalować bibliotekę Tcllib za pomocą następującej komendy:
sudo tclsh installer.tcl
-
Po zakończeniu procesu instalacji możemy przetestować bibliotekę za pomocą następującej komendy:
tclsh % package require uuid // 1.0.7 % uuid::uuid generate // c004b0d6-f983-4169-8748-31013dfd24b2
Ten film pokazuje, jak pobrać plik SendSms.tcl.zip z tej strony oraz jak wyświetlić jego zawartość w edytorze tekstu. Jeśli obejrzysz film, zauważysz, że zawartość pliku SendSms.tcl.zip jest umieszczana na Pulpicie. Zobaczysz również, że dwukrotnie klikamy plik SendSms.tcl, aby otworzyć skrypt Tcl.
Przykład SMS w Tcl/Tk: SendSms.tcl
Poniższy przykładowy kod jest częścią pliku SendSms.tcl.zip. W pliku zip znajdziesz dwa pliki: SendSms.tcl oraz Ozeki.Libs.Rest.tcl.
Jak sprawdzić, czy SMS został zaakceptowany przez użytkownika HTTP (Samouczek wideo)
Po wysłaniu SMS-a warto sprawdzić w bramce SMS, co zostało odebrane. Możesz sprawdzić logi, otwierając szczegóły użytkownika HTTP w konsoli zarządzania Ozeki SMS Gateway. Poniższy film pokazuje, na co zwrócić uwagę. Film rozpoczyna się od otwartego kodu i kończy na szczegółach wysłanej wiadomości. Dowiesz się, jak uruchomić projekt, jak wygląda projekt podczas działania oraz jak wygląda plik dziennika po jego zakończeniu. Film trwa tylko 42 sekundy i jest łatwy do zrozumienia. Nie będziesz miał problemu z jego śledzeniem.
Jak sprawdzić, czy SMS został wysłany do sieci komórkowej
Ostatnim krokiem weryfikacji procedury jest sprawdzenie logów połączenia z siecią komórkową. Może być konieczne włączenie logowania w konfiguracji połączenia przed wysłaniem wiadomości, aby zobaczyć logi. Jeśli logowanie jest włączone, zobaczysz numer telefonu i treść wysłanej wiadomości.
Sprawdź, czy żądanie zostało zaakceptowane (Samouczek wideo)
W poniższym filmie zobaczysz, jak sprawdzić, czy klient SMPP pomyślnie wysłał wiadomość. Dowiesz się, jak otworzyć zakładkę zdarzeń użytkownika SMPP i na co zwrócić uwagę. Film trwa tylko 18 sekund, ale będzie bardzo pomocny.
SMS odebrany na telefonie (Samouczek wideo)
Na poniższym filmie zobaczysz, jak wygląda przychodząca wiadomość wysłana z Ozeki SMS Gateway. Zaczyna się od ekranu głównego telefonu z systemem Android i kończy na otwartej wiadomości. Film trwa tylko 18 sekund i możesz zobaczyć cały proces odbierania wiadomości.
Podsumowanie
Powyższy przewodnik wyjaśnił kroki wysyłania SMS z Tcl/Tk. Jak widać, Ozeki dostarcza wszystkie narzędzia potrzebne do dostarczania wiadomości, więc jeśli kroki były dokładnie przestrzegane, wysyłanie wiadomości z Tcl/Tk nie jest już problemem. Ozeki SMS Gateway odgrywa ogromną rolę w dostarczaniu wiadomości – bez tego programu nie można by dotrzeć do użytkowników mobilnych. Ważne jest, aby zauważyć, że Ozeki SMS Gateway działa w każdym kraju, więc wiadomości można wysyłać międzynarodowo za pomocą tego rozwiązania.
Nie kończ czytania tutaj, przejrzyj stronę samouczków Ozeki i dowiedz się więcej o odbieraniu SMS w Tcl/Tk.
Twoim następnym krokiem powinno być pobranie Ozeki SMS Gateway i rozpoczęcie pracy!
More information
- Td/Tk wyślij SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Td/Tk wyślij wiele SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Td/Tk zaplanuj SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Tcl/Tk odbierz SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Tcl/Tk usuń SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Jak pobrać najnowszą bibliotekę Tcl/Tk SMS z Github