{"id":9069,"date":"2026-04-29T08:23:12","date_gmt":"2026-04-29T08:23:12","guid":{"rendered":"https:\/\/lora.vsb.cz\/?page_id=9069"},"modified":"2026-05-07T06:05:23","modified_gmt":"2026-05-07T06:05:23","slug":"lorawan-node-at-433-mhz-band","status":"publish","type":"page","link":"https:\/\/lora.vsb.cz\/index.php\/lorawan-node-at-433-mhz-band\/","title":{"rendered":"433 MHz LilyGO T-Beam"},"content":{"rendered":"<table style=\"height: 212px;\" width=\"300\">\n<tbody>\n<tr>\n<td style=\"text-align: left; min-width: 100px;\" width=\"10%\"><strong>TTN version:<\/strong><\/td>\n<td><strong><span style=\"color: #008000;\">TTNv3 \/ TTSS<\/span><\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>Board:<\/strong><\/td>\n<td>LilyGO T-Beam v1.2<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left; min-width: 100px;\" width=\"10%\"><strong>Activation:<\/strong><\/td>\n<td>OTAA<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left; min-width: 100px;\" width=\"10%\"><strong>Device Class:<\/strong><\/td>\n<td>Class A<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left; min-width: 100px;\" width=\"10%\"><strong>Last updated:<\/strong><\/td>\n<td>April 29, 2026<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>This page was created as part of a bachelor&#8217;s thesis by <strong>Armin Gembal<\/strong> at VSB \u2013 Technical University of Ostrava, with the topic <strong>Design and Assembling of the Communication Node of the LoraWAN technology Operating at 433 MHz Band<\/strong>.<\/p>\n<p>This project describes the assembly of a battery-powered alarm device operating on a\u00a0<strong>LoRaWAN<\/strong>\u00a0network in the\u00a0<strong>433 MHz<\/strong>\u00a0frequency band. The key feature of the node is its\u00a0<strong>Deep Sleep<\/strong>\u00a0operation mode. The device wakes up only when one of the three connected sensors detects an event. After waking up, the\u00a0<strong>ESP32<\/strong>\u00a0sends a single-byte packet to\u00a0<strong>TTN<\/strong>\u00a0(The Things Network).\u00a0<strong>TTSS<\/strong>\u00a0(The Things Stack Sandbox) then forwards the message via\u00a0<strong>Webhook<\/strong>\u00a0to\u00a0<strong>GAS<\/strong>\u00a0(Google Apps Script). The script decodes the payload and immediately sends a text notification to a\u00a0<strong>Telegram<\/strong>\u00a0chat.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9117\" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device-e1777443557463.jpg\" alt=\"\" width=\"384\" height=\"349\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device-e1777443557463.jpg 1740w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device-e1777443557463-300x273.jpg 300w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device-e1777443557463-1024x933.jpg 1024w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device-e1777443557463-768x700.jpg 768w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device-e1777443557463-1536x1399.jpg 1536w\" sizes=\"auto, (max-width: 384px) 100vw, 384px\" \/><\/p>\n<h2><span style=\"color: #189bd6;\"><strong>Prepare<\/strong><\/span><\/h2>\n<ul>\n<li><strong>LilyGO T-Beam v1.2<\/strong>\u00a0(with SX1268 chip for 433 MHz)<\/li>\n<li>Motion sensor PIR <strong>HC-SR505<\/strong><\/li>\n<li>Vibration sensor\u00a0<strong>SW1801P<\/strong><\/li>\n<li>Sound sensor\u00a0<strong>KY-037<\/strong><\/li>\n<li>Li-Ion battery in\u00a0<strong>18650<\/strong> format (recommended 3500 mAh)<\/li>\n<li>9x Wires<\/li>\n<li>Breadboard<\/li>\n<li>Box (<a href=\"https:\/\/github.com\/Arming107\/LilyGo_TBeam_node_config\/blob\/main\/node_box.stl\">3D model<\/a>)<\/li>\n<li>Lid (<a href=\"https:\/\/github.com\/Arming107\/LilyGo_TBeam_node_config\/blob\/main\/node_cap.stl\">3D model<\/a>)<\/li>\n<li>PC + Micro-USB cable<\/li>\n<\/ul>\n<p>When using the <strong>3500 mAh battery<\/strong>, the device <strong>lasts 12 days<\/strong> on a single charge.<\/p>\n<h3><span style=\"color: #189bd6;\"><strong>LilyGO T-Beam v1.2<\/strong><\/span><\/h3>\n<p>The\u00a0<strong>LilyGO T-Beam v1.2<\/strong>\u00a0module is a comprehensive development platform that combines a\u00a0<strong>ESP32<\/strong>\u00a0microcontroller, a\u00a0<strong>LoRa SX1268 433 MHz<\/strong>\u00a0radio module, a\u00a0<strong>u-blox NEO-6M<\/strong>\u00a0GPS module, and an\u00a0<strong>AXP2101<\/strong>\u00a0power management circuit on a single board. Serial communication with a computer is handled by a\u00a0<strong>CH9102F<\/strong>\u00a0USB-to-UART converter. Unlike simple peripheral LoRa modules, it does not require an external microcontroller. All computing power, radio communication, power management, and GPS are integrated directly on the board.<\/p>\n<p>The board features an\u00a0<strong>ESP32<\/strong>\u00a0chip running at 240 MHz with 4 MB Flash and 8 MB PSRAM, integrated Wi-Fi and Bluetooth 4.2. The radio section is handled by a Semtech\u00a0<strong>SX1268<\/strong> chip with a maximum transmit power of 10 mW (+10 dBm). Power management is provided by the <strong>AXP2101<\/strong>\u00a0chip, which allows software-controlled disconnection of voltage rails and powers the board from an 18650 Li-Ion battery or via micro-USB.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9116\" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/LilyGO_TBeam_v1.2.jpg\" alt=\"\" width=\"419\" height=\"311\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/LilyGO_TBeam_v1.2.jpg 678w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/LilyGO_TBeam_v1.2-300x223.jpg 300w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/p>\n<h3><span style=\"color: #189bd6;\"><strong>Detection sensors<\/strong><\/span><\/h3>\n<p><strong>Motion sensor PIR HC-SR505<\/strong> (GPIO 14) \u2013 a passive infrared sensor that detects motion based on changes in infrared radiation in the surrounding environment.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9115\" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/sensor_HC-SR505.jpg\" alt=\"\" width=\"281\" height=\"156\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/sensor_HC-SR505.jpg 587w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/sensor_HC-SR505-300x167.jpg 300w\" sizes=\"auto, (max-width: 281px) 100vw, 281px\" \/><\/p>\n<p><strong>Vibration sensor SW1801P<\/strong> (GPIO 25) \u2013 a mechanical sensor sensitive to shocks and vibrations. When a vibration is detected, the digital output switches to logical HIGH. Suitable for detecting impact or movement of an object it is attached to.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9122\" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/sensor_SW1801P.jpg\" alt=\"\" width=\"268\" height=\"212\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/sensor_SW1801P.jpg 550w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/sensor_SW1801P-300x237.jpg 300w\" sizes=\"auto, (max-width: 268px) 100vw, 268px\" \/><\/p>\n<p><strong>Sound sensor KY-037<\/strong> (GPIO 13) \u2013 a microphone with a comparator. The digital output switches to HIGH when the configured volume threshold is exceeded. Sensitivity can be adjusted using the trimmer directly on the module.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9114\" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/sensor_KY-037.jpg\" alt=\"\" width=\"268\" height=\"206\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/sensor_KY-037.jpg 633w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/sensor_KY-037-300x231.jpg 300w\" sizes=\"auto, (max-width: 268px) 100vw, 268px\" \/><\/p>\n<h2><span style=\"color: #800000;\"><strong>Assembly<\/strong><\/span><\/h2>\n<p>Connect everything according to the schematics below:<\/p>\n<p>The <strong>18650 Li-Ion battery<\/strong> is connected to the integrated <strong>holder on the back<\/strong> of the <strong>LilyGO T-Beam<\/strong> board.<\/p>\n<p>The <strong>HC-SR505<\/strong> PIR motion sensor is connected using three wires. The <strong>VCC<\/strong> power pin is connected to the <strong>3V3<\/strong> pin on the LilyGO T-Beam board. The <strong>GND<\/strong> pin is connected to the <strong>GND<\/strong> pin on the LilyGO T-Beam board. The data pin <strong>OUT<\/strong> is connected to <strong>pin 14<\/strong> on the LilyGO T-Beam board.<\/p>\n<p>The <strong>SW1801P<\/strong> vibration sensor is connected using three wires. The <strong>VCC<\/strong> power pin is connected to the <strong>3V3<\/strong> pin on the LilyGO T-Beam board. The <strong>GND<\/strong> pin is connected to the <strong>GND<\/strong> pin on the LilyGO T-Beam board. The data pin <strong>DO<\/strong> is connected to <strong>pin 25<\/strong> on the LilyGO T-Beam board.<\/p>\n<p>The <strong>KY-037<\/strong> sound sensor is connected using three wires. The <strong>VCC<\/strong> power pin is connected to the <strong>3V3<\/strong> pin on the LilyGO T-Beam board. The <strong>GND<\/strong> pin is connected to the <strong>GND<\/strong> pin on the LilyGO T-Beam board. The data pin <strong>DO<\/strong> is connected to <strong>pin 13<\/strong> on the LilyGO T-Beam board.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9123\" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device_schematic.jpg\" alt=\"\" width=\"452\" height=\"480\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device_schematic.jpg 1190w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device_schematic-282x300.jpg 282w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device_schematic-964x1024.jpg 964w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device_schematic-768x816.jpg 768w\" sizes=\"auto, (max-width: 452px) 100vw, 452px\" \/><\/p>\n<p>Put everything in a small box<span style=\"color: #000000;\">.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9118\" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device_in-e1777443458442.jpg\" alt=\"\" width=\"487\" height=\"474\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device_in-e1777443458442.jpg 2140w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device_in-e1777443458442-300x292.jpg 300w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device_in-e1777443458442-1024x995.jpg 1024w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device_in-e1777443458442-768x746.jpg 768w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device_in-e1777443458442-1536x1493.jpg 1536w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/alarm_device_in-e1777443458442-2048x1991.jpg 2048w\" sizes=\"auto, (max-width: 487px) 100vw, 487px\" \/><\/p>\n<h2><span style=\"color: #800000;\"><strong>Arduino IDE setup<\/strong><\/span><\/h2>\n<ol>\n<li>Run Arduino IDE.<\/li>\n<li>In the Arduino IDE <strong>Tools \u2192 Board \u2192 Boards Manager<\/strong> search <strong>esp32 <\/strong>by Espressif Systems\u00a0and install it.<\/li>\n<li>In the Arduino IDE <strong>Tools \u2192 Manage Libraries<\/strong> search <strong>MCCI LoRaWAN LMIC Library<\/strong>\u00a0by Matthijs Kooijman and Thomas Telkamp\u00a0and install it.<\/li>\n<li>In the Arduino IDE <strong>Tools \u2192 Manage Libraries<\/strong> search <strong>XPowersLib<\/strong>\u00a0by Lewis He\u00a0and install it.<\/li>\n<\/ol>\n<h3><span style=\"color: #800000;\">Modifying LMIC library configuration<\/span><\/h3>\n<p>The default LMIC library configuration assumes use of the 915 MHz band. To operate in Europe on the 433 MHz band, the following modifications are required:<\/p>\n<ol>\n<li>In the installed library, go to the folder <strong>MCCI_LoRaWAN_LMIC_library \u2192 src \u2192 lmic<\/strong> and place the modified <strong><a href=\"https:\/\/github.com\/Arming107\/LilyGo_TBeam_node_config\/blob\/main\/lorabase_eu868.h\" target=\"_blank\" rel=\"noopener\">lorabase_eu868.h<\/a><\/strong> file there, replacing the existing file with the same name. This file has been specially modified for broadcasting in the 433 MHz frequency band.<\/li>\n<li>Open the configuration file <strong>MCCI_LoRaWAN_LMIC_library \u2192 project_config \u2192 lmic_project_config.h<\/strong>. Comment out the line <strong><code>#define CFG_us915 1<\/code><\/strong> and uncomment <strong><code>#define CFG_eu868 1<\/code><\/strong>. This will make the library work with the modified file for the 433 MHz frequency band when used.<\/li>\n<\/ol>\n<h2><span style=\"color: #800000;\"><strong>Registration <span class=\"citation-79\">LilyGO T-Beam<\/span> into TTSS<\/strong><\/span><\/h2>\n<ol>\n<li><strong>Log in<\/strong>\u00a0on\u00a0<strong><a href=\"https:\/\/www.thethingsnetwork.org\/login?next=\/\" target=\"_blank\" rel=\"noopener\">The Things Network<\/a><\/strong>. If you don\u2019t have account, create one.<\/li>\n<li>Click on your username and choose\u00a0<strong>Console<\/strong>.<\/li>\n<li>Select a network cluster <strong>Europe 1<\/strong>.<\/li>\n<\/ol>\n<h3><span style=\"color: #800000;\"><strong>Add application<\/strong><\/span><\/h3>\n<ol>\n<li><strong>Go to applications<\/strong>.<\/li>\n<li>Click on button\u00a0<strong>+ Add application<\/strong>.<\/li>\n<li>Write something into\u00a0<strong>Application ID<\/strong>.<\/li>\n<li>Click on button\u00a0<strong>Create application<\/strong>.<\/li>\n<\/ol>\n<h3><span style=\"color: #800000;\"><strong>Add end device<\/strong><\/span><\/h3>\n<ol>\n<li>In your application click on button\u00a0<strong>+ Register end device<\/strong>.<\/li>\n<li>Input Method \u2013 Choose\u00a0<strong>Enter end device specifics manually<\/strong>.<\/li>\n<li>Frequency plan \u2013\u00a0<strong>Europe 433 MHz (ITU region 1)<\/strong><\/li>\n<li>LoRaWAN version \u2013\u00a0<strong>LoRaWAN Specification 1.0.3<\/strong><\/li>\n<li>Click on\u00a0<strong>Show advanced activation, LoRaWAN class and cluster settings<\/strong><\/li>\n<li>Activation mode \u2013 <strong>Over the air activation (OTAA)<\/strong><\/li>\n<li>Additional LoRaWAN class capabilities \u2013\u00a0<strong>None (class A only)<\/strong><\/li>\n<li><strong>Select<\/strong>\u00a0\u2013 Use network\u2019s default MAC settings<\/li>\n<li>JoinEUI \u2013\u00a0<strong>0000000000000000<\/strong><\/li>\n<li>Click on\u00a0<strong>Confirm<\/strong>.<\/li>\n<li>DevEUI \u2013\u00a0<strong>Generate<\/strong><\/li>\n<li>AppSKey \u2013\u00a0<strong>Generate<\/strong><\/li>\n<li>End device ID \u2013 here you can name your device<\/li>\n<li>After registration \u2013\u00a0<strong>View registered end device<\/strong><\/li>\n<li>Click on button\u00a0<strong>Register end device<\/strong><\/li>\n<\/ol>\n<h2><span style=\"color: #800000;\">Uploading firmware to the board<\/span><\/h2>\n<ol>\n<li><strong><a href=\"https:\/\/github.com\/Arming107\/LilyGo_TBeam_node_config\/blob\/main\/LilyGo_TBeam_node.ino\" target=\"_blank\" rel=\"noopener\">Copy and paste this program<\/a><\/strong>\u00a0to your Arduino IDE.<\/li>\n<li>In program find \/\/ 2. LORAWAN KEYS FOR OTAA CONNECTION and replace <strong>DEVEUI<\/strong>\u00a0and\u00a0<strong>APPKEY <\/strong>with your keys in TTSS<\/li>\n<li>Connect the <span data-path-to-node=\"2,3\"><span class=\"citation-79\">LilyGO T-Beam<\/span><\/span> using micro USB cable to your computer.<\/li>\n<li>In Arduino IDE <strong>Tools \u2192 Board \u2192 esp32 \u2192 ESP32 Dev Module<\/strong> and select the correct <strong>COM port<\/strong>.<\/li>\n<li>In Arduino IDE click on\u00a0<strong>Upload<\/strong> button to upload program to your <span data-path-to-node=\"2,3\"><span class=\"citation-79\">LilyGO T-Beam<\/span><\/span>.<\/li>\n<li>In Arduino IDE click on <strong>Serial Monitor<\/strong> with speed <strong>115200 baud<\/strong>.<\/li>\n<li>Now in Serial Monitor you can see information from the board. (The board should print information about the wake-up reason, the network join process, and the sleep process.)<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9121\" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/output_from_serial_monitor.jpg\" alt=\"\" width=\"547\" height=\"357\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/output_from_serial_monitor.jpg 796w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/output_from_serial_monitor-300x196.jpg 300w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/output_from_serial_monitor-768x501.jpg 768w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/><\/p>\n<p>In your TTSS console in <strong>Live data<\/strong> you should see incoming messages\u00a0in real time:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9120\" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/incoming_-messages_from_TTSS.jpg\" alt=\"\" width=\"709\" height=\"393\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/incoming_-messages_from_TTSS.jpg 987w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/incoming_-messages_from_TTSS-300x166.jpg 300w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/incoming_-messages_from_TTSS-768x426.jpg 768w\" sizes=\"auto, (max-width: 709px) 100vw, 709px\" \/><\/p>\n<h2><span style=\"color: #189bd6;\">Telegram integration via Google Apps Script<\/span><\/h2>\n<p>For the device to be truly useful as an alarm, it needs to send notifications to the user. To achieve this, we use a combination of the\u00a0<strong>Telegram Bot API<\/strong>,\u00a0<strong>GAS<\/strong>\u00a0(Google Apps Script), and the\u00a0<strong>Webhook<\/strong>\u00a0feature in TTSS.<\/p>\n<h2><span style=\"color: #800000;\">Create Telegram bot<\/span><\/h2>\n<ol>\n<li>Download the Telegram app on your mobile device.<\/li>\n<li>After logging in, search for the user\u00a0<strong>@BotFather<\/strong>\u00a0and open a chat with them.<\/li>\n<li>Send the command\u00a0<strong>\/start<\/strong>\u00a0to begin communication with BotFather.<\/li>\n<li>Send the command\u00a0<strong>\/newbot<\/strong>.<\/li>\n<li>Enter a display name for your bot (any text).<\/li>\n<li>Enter a username for your bot (must be unique and end with the word &#8222;bot&#8220;).<\/li>\n<li>After successful creation, BotFather will send you the generated\u00a0<strong>TELEGRAM_TOKEN<\/strong>. Save this token \u2014 it serves as the password for accessing your bot&#8217;s API.<\/li>\n<li>Open a chat with the newly created bot and send the message\u00a0<strong>\/start<\/strong>\u00a0to activate the chat.<\/li>\n<li>In a web browser, open the URL\u00a0<a href=\"https:\/\/api.telegram.org\/bot00000000000\/getUpdates\">https:\/\/api.telegram.org\/bot00000000000\/getUpdates<\/a> (replace the zeros with your\u00a0<strong>TELEGRAM_TOKEN<\/strong>).<\/li>\n<li>In the displayed JSON output, find the <strong>&#8222;chat&#8220;<\/strong> and save the value of <strong>&#8222;id&#8220; <\/strong>(this is your <strong>CHAT_ID<\/strong>).<\/li>\n<\/ol>\n<h2><span style=\"color: #800000;\">Create GAS<\/span><\/h2>\n<ol>\n<li>Log in at <a href=\"https:\/\/script.google.com\/\">script.google.com<\/a> using your Google account.<\/li>\n<li>Click on\u00a0<strong>New project<\/strong>.<\/li>\n<li><strong><a href=\"https:\/\/github.com\/Arming107\/LilyGo_TBeam_node_config\/blob\/main\/GAS_script.js\" target=\"_blank\" rel=\"noopener\">Copy and paste this program<\/a><\/strong> to your GAS.<\/li>\n<li>In the code, update the<strong> TELEGRAM_TOKEN<\/strong> and <strong>CHAT_ID<\/strong> variables with your Telegram configuration.<\/li>\n<li>Click\u00a0<strong>Save project to Drive<\/strong>.<\/li>\n<li>Then click\u00a0<strong>Deploy<\/strong>\u00a0\u2192\u00a0<strong>New deployment<\/strong>\u00a0\u2192 select type\u00a0<strong>Web app<\/strong>\u00a0\u2192 set Who has access to\u00a0<strong>Anyone<\/strong>\u00a0\u2192 click\u00a0<strong>Deploy<\/strong>.<\/li>\n<li>After deployment save displayed <strong>Web app<\/strong> <strong>URL<\/strong>.<\/li>\n<\/ol>\n<h2><span style=\"color: #800000;\">Webhook configuration in TTSS<\/span><\/h2>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>In your TTSS console, go to the\u00a0<strong>Webhooks<\/strong>\u00a0tab.<\/li>\n<li>Click\u00a0<strong>Add webhook<\/strong>\u00a0and select the type\u00a0<strong>Custom webhook<\/strong>.<\/li>\n<li>Enter any name in the\u00a0<strong>Webhook ID<\/strong>\u00a0field.<\/li>\n<li>Select\u00a0<strong>JSON<\/strong>\u00a0as the\u00a0<strong>Webhook format<\/strong>.<\/li>\n<li>Paste the URL of your GAS web app into the\u00a0<strong>Base URL<\/strong>\u00a0field.<\/li>\n<li>Enable\u00a0<strong>Uplink message<\/strong>.<\/li>\n<li>Click\u00a0<strong>Add webhook<\/strong>\u00a0to save.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h2><span style=\"color: #189bd6;\">Telegram output<\/span><\/h2>\n<p>After successfully setting up the entire pipeline, triggering any sensor should cause a notification to appear in your Telegram chat with your bot.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9124\" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/telegram_output.jpg\" alt=\"\" width=\"275\" height=\"565\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/telegram_output.jpg 1080w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/telegram_output-146x300.jpg 146w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/telegram_output-499x1024.jpg 499w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/telegram_output-768x1577.jpg 768w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/telegram_output-748x1536.jpg 748w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2026\/04\/telegram_output-997x2048.jpg 997w\" sizes=\"auto, (max-width: 275px) 100vw, 275px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>TTN version: TTNv3 \/ TTSS Board: LilyGO T-Beam v1.2 Activation: OTAA Device Class: Class A Last updated: April 29, 2026 This page was created as part of a bachelor&#8217;s thesis by Armin Gembal at VSB \u2013 Technical University of Ostrava, with the topic Design and Assembling of the Communication Node of the LoraWAN technology Operating [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-9069","page","type-page","status-publish","hentry","post"],"_links":{"self":[{"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/pages\/9069","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/comments?post=9069"}],"version-history":[{"count":7,"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/pages\/9069\/revisions"}],"predecessor-version":[{"id":9181,"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/pages\/9069\/revisions\/9181"}],"wp:attachment":[{"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/media?parent=9069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}