{"id":4040,"date":"2022-12-08T09:24:56","date_gmt":"2022-12-08T14:24:56","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/girni\/?p=4040"},"modified":"2022-12-08T11:15:41","modified_gmt":"2022-12-08T16:15:41","slug":"lora-multipunto-heltec-cubecell-semiduplex-ino","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/girni\/lora-multipunto-heltec-cubecell-semiduplex-ino\/","title":{"rendered":"3. LoRa Multipunto - HELTEC CubeCell SemiDuplex.ino"},"content":{"rendered":"<p>Como cada dispositivo contiene solo un radio, la comunicaci\u00f3n en dos sentidos puede habilitarse en modo SemiDuplex. Las funciones de transmisi\u00f3n y recepci\u00f3n se alternan.<\/p>\n<h2>Resultados<\/h2>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex_Direccion04.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4054\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex_Direccion04.png\" alt=\"\" width=\"814\" height=\"65\" srcset=\"https:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex_Direccion04.png 814w, https:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex_Direccion04-300x24.png 300w, https:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex_Direccion04-768x61.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<pre>TX Paquete \"213110\" , tamano 6 bytes , proximo en 8118 ms \r\n    RX Paquete \"312139\" , tamanio 6, Rssi -22 \r\nTX Paquete \"213111\" , tamano 6 bytes , proximo en 8429 ms \r\n    RX Paquete \"312140\" , tamanio 6, Rssi -23 \r\nTX Paquete \"213112\" , tamano 6 bytes , proximo en 9397 ms \r\n<\/pre>\n<h2>Instrucciones<\/h2>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex01.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4041\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex01.png\" alt=\"\" width=\"665\" height=\"121\" srcset=\"https:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex01.png 665w, https:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex01-300x55.png 300w\" sizes=\"auto, (max-width: 665px) 100vw, 665px\" \/><\/a><\/p>\n<pre><span style=\"color: #95a5a6\">\/* LoRa TRANSMITE\/RECIBE Semi Duplex \/ Half-Duplex<\/span>\r\n<span style=\"color: #95a5a6\"> * Referencia: <\/span><u><span style=\"color: #95a5a6\">https:\/\/github.com\/HelTecAutomation\/ASR650x-Arduino<\/span><\/u>\r\n<span style=\"color: #95a5a6\">*\/<\/span>\r\n<span style=\"color: #5e6d03\">#include<\/span> <span style=\"color: #005c5f\">\"LoRaWan_APP.h\"<\/span>\r\n<span style=\"color: #5e6d03\">#include<\/span> <span style=\"color: #005c5f\">\"Arduino.h\"<\/span>\r\n\r\n<span style=\"color: #5e6d03\">#ifndef<\/span> <span style=\"color: #000000\">LoraWan_RGB<\/span> \u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/ LED placa<\/span>\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">LoraWan_RGB<\/span> <span style=\"color: #000000\">0<\/span>\r\n<span style=\"color: #5e6d03\">#endif<\/span>\r\n\r\n<span style=\"color: #434f54\">\/\/ LoRa Parametros <\/span>\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">RF_FREQUENCY<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">915E6<\/span> \u00a0\u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/ Hz<\/span>\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">TX_OUTPUT_POWER<\/span> \u00a0\u00a0\u00a0<span style=\"color: #000000\">14<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/ dBm<\/span>\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">LORA_BANDWIDTH<\/span> \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">0<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/ [0: 125 kHz, 1: 250 kHz,<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/ \u00a02: 500 kHz, 3: Reserved]<\/span>\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">LORA_SPREADING_FACTOR<\/span> \u00a0\u00a0<span style=\"color: #000000\">7<\/span> \u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/ [SF7..SF12]<\/span>\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">LORA_CODINGRATE<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">1<\/span> \u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/ [1: 4\/5, \u00a02: 4\/6,<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/ \u00a03: 4\/7, \u00a04: 4\/8]<\/span>\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">LORA_PREAMBLE_LENGTH<\/span> \u00a0\u00a0\u00a0<span style=\"color: #000000\">8<\/span> \u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/ Same for Tx and Rx<\/span>\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">LORA_SYMBOL_TIMEOUT<\/span> \u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">0<\/span> \u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/ Symbols<\/span>\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">LORA_FIX_LENGTH_PAYLOAD_ON<\/span> \u00a0<span style=\"color: #00979c\">false<\/span>\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">LORA_IQ_INVERSION_ON<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #00979c\">false<\/span>\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">RX_TIMEOUT_VALUE<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">1000<\/span>\r\n<span style=\"color: #5e6d03\">#define<\/span> <span style=\"color: #000000\">BUFFER_SIZE<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">30<\/span> <span style=\"color: #434f54\">\/\/ Define the payload size here<\/span>\r\n<span style=\"color: #00979c\">char<\/span> <span style=\"color: #000000\">txpacket<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">BUFFER_SIZE<\/span><span style=\"color: #000000\">]<\/span><span style=\"color: #000000\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/ cadena de caracteres<\/span>\r\n<span style=\"color: #00979c\">char<\/span> <span style=\"color: #000000\">rxpacket<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">BUFFER_SIZE<\/span><span style=\"color: #000000\">]<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">static<\/span> <span style=\"color: #000000\">RadioEvents_t<\/span> <span style=\"color: #000000\">RadioEvents<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n<span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">OnTxDone<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span> \u00a0\u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/ Tx completada<\/span>\r\n<span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">OnTxTimeout<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span> \u00a0<span style=\"color: #434f54\">\/\/ Tx fuera de tiempo<\/span>\r\n<span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">OnRxDone<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #434f54\">*<\/span><span style=\"color: #000000\">payload<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">uint16_t<\/span> <span style=\"color: #d35400\">size<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">int16_t<\/span> <span style=\"color: #000000\">rssi<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">int8_t<\/span> <span style=\"color: #000000\">snr<\/span> <span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n<span style=\"color: #00979c\">byte<\/span> <span style=\"color: #000000\">modoOperacion<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/ 0:RX 1:TX<\/span>\r\n<span style=\"color: #00979c\">bool<\/span> <span style=\"color: #000000\">sleepMode<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">false<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">int16_t<\/span> <span style=\"color: #000000\">txNumero<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">int16_t<\/span> <span style=\"color: #000000\">Rssi<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">rxSize<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n<span style=\"color: #434f54\">\/\/ Direcciones por dispositivo<\/span>\r\n<span style=\"color: #00979c\">byte<\/span> <span style=\"color: #000000\">dir_local<\/span> \u00a0\u00a0<span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">21<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/ Dispositivo envia<\/span>\r\n<span style=\"color: #00979c\">byte<\/span> <span style=\"color: #000000\">dir_destino<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">31<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/ Dispositivo recibe<\/span>\r\n\r\n<span style=\"color: #434f54\">\/\/ tiempo entre Tx de datos o lecturas de sensor<\/span>\r\n<span style=\"color: #00979c\">long<\/span> <span style=\"color: #000000\">tiempo_antes<\/span> \u00a0\u00a0\u00a0\u00a0<span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">long<\/span> <span style=\"color: #000000\">tiempo_intervalo<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">7000<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">long<\/span> <span style=\"color: #000000\">tiempo_espera<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">tiempo_intervalo<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #d35400\">random<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">3000<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n<span style=\"color: #00979c\">void<\/span> <span style=\"color: #5e6d03\">setup<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span> <span style=\"color: #000000\">{<\/span>\r\n \u00a0<b><span style=\"color: #d35400\">Serial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">begin<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">115200<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">txNumero<\/span><span style=\"color: #434f54\">=<\/span><span style=\"color: #000000\">10<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #000000\">Rssi<\/span><span style=\"color: #434f54\">=<\/span><span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #000000\">RadioEvents<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">TxDone<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">OnTxDone<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">RadioEvents<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">TxTimeout<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">OnTxTimeout<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">RadioEvents<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">RxDone<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">OnRxDone<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">Radio<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">Init<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #434f54\">&amp;<\/span><span style=\"color: #000000\">RadioEvents<\/span> <span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #000000\">Radio<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">SetChannel<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #000000\">RF_FREQUENCY<\/span> <span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">Radio<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">SetTxConfig<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #000000\">MODEM_LORA<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">TX_OUTPUT_POWER<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">LORA_BANDWIDTH<\/span><span style=\"color: #434f54\">,<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">LORA_SPREADING_FACTOR<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">LORA_CODINGRATE<\/span><span style=\"color: #434f54\">,<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">LORA_PREAMBLE_LENGTH<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">LORA_FIX_LENGTH_PAYLOAD_ON<\/span><span style=\"color: #434f54\">,<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #00979c\">true<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">LORA_IQ_INVERSION_ON<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">3000<\/span> <span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">Radio<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">SetRxConfig<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #000000\">MODEM_LORA<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">LORA_BANDWIDTH<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">LORA_SPREADING_FACTOR<\/span><span style=\"color: #434f54\">,<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">LORA_CODINGRATE<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">LORA_PREAMBLE_LENGTH<\/span><span style=\"color: #434f54\">,<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">LORA_SYMBOL_TIMEOUT<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">LORA_FIX_LENGTH_PAYLOAD_ON<\/span><span style=\"color: #434f54\">,<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">0<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">true<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">LORA_IQ_INVERSION_ON<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">true<\/span> <span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">modoOperacion<\/span><span style=\"color: #434f54\">=<\/span><span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span> \u00a0<span style=\"color: #434f54\">\/\/ 0:RX 1:TX 2:LOWPOWER<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<span style=\"color: #00979c\">void<\/span> <span style=\"color: #5e6d03\">loop<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #434f54\">\/\/ Intervalos entre mensajes<\/span>\r\n \u00a0<span style=\"color: #00979c\">long<\/span> <span style=\"color: #000000\">tiempo_ahora<\/span> \u00a0\u00a0<span style=\"color: #434f54\">=<\/span> <span style=\"color: #d35400\">millis<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #00979c\">long<\/span> <span style=\"color: #000000\">t_transcurrido<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">tiempo_ahora<\/span> <span style=\"color: #434f54\">-<\/span> <span style=\"color: #000000\">tiempo_antes<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">if<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">t_transcurrido<\/span> <span style=\"color: #434f54\">&gt;=<\/span> <span style=\"color: #000000\">tiempo_espera<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">tiempo_antes<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #d35400\">millis<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">tiempo_espera<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">tiempo_intervalo<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #d35400\">random<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">3000<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">modoOperacion<\/span><span style=\"color: #434f54\">=<\/span><span style=\"color: #000000\">1<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/ 0:RX 1:TX<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span><span style=\"color: #5e6d03\">else<\/span><span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">modoOperacion<\/span><span style=\"color: #434f54\">=<\/span><span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/ 0:RX 1:TX<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n \u00a0\r\n \u00a0<span style=\"color: #5e6d03\">switch<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">modoOperacion<\/span><span style=\"color: #000000\">)<\/span> <span style=\"color: #000000\">{<\/span> <span style=\"color: #434f54\">\/\/ 0:RX 1:TX 2:LOWPOWER<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03\">case<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #434f54\">:<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">Radio<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">Rx<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #000000\">0<\/span> <span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span> \u00a0\u00a0\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">modoOperacion<\/span><span style=\"color: #434f54\">=<\/span><span style=\"color: #000000\">2<\/span><span style=\"color: #000000\">;<\/span> \u00a0<span style=\"color: #434f54\">\/\/LOWPOWER;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03\">break<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03\">case<\/span> <span style=\"color: #000000\">1<\/span><span style=\"color: #434f54\">:<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #d35400\">delay<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">500<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">transmiteMsg<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">modoOperacion<\/span><span style=\"color: #434f54\">=<\/span><span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03\">break<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03\">case<\/span> <span style=\"color: #000000\">2<\/span><span style=\"color: #434f54\">:<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">lowPowerHandler<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">modoOperacion<\/span><span style=\"color: #434f54\">=<\/span><span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03\">break<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #5e6d03\">default<\/span><span style=\"color: #434f54\">:<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5e6d03\">break<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n \u00a0<span style=\"color: #000000\">turnOnRGB<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">0<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/ LED apaga<\/span>\r\n \u00a0<span style=\"color: #d35400\">delay<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">100<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">Radio<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">IrqProcess<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n<\/pre>\n<h3>Procedimiento de transmisi\u00f3n de paquete LoRa<\/h3>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex02.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4042\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex02.png\" alt=\"\" width=\"665\" height=\"115\" srcset=\"https:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex02.png 665w, https:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex02-300x52.png 300w\" sizes=\"auto, (max-width: 665px) 100vw, 665px\" \/><\/a><\/p>\n<pre><span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">transmiteMsg<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">)<\/span> <span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #000000\">turnOnRGB<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">COLOR_SEND<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/ LED de placa<\/span>\r\n \u00a0<span style=\"color: #434f54\">\/\/ Paquete a transmitir<\/span>\r\n \u00a0<span style=\"color: #d35400\">sprintf<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">txpacket<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #005c5f\">\"%d\"<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">dir_local<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #d35400\">sprintf<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">txpacket<\/span><span style=\"color: #434f54\">+<\/span><span style=\"color: #d35400\">strlen<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">txpacket<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #005c5f\">\"%d\"<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">dir_destino<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #d35400\">sprintf<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">txpacket<\/span><span style=\"color: #434f54\">+<\/span><span style=\"color: #d35400\">strlen<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">txpacket<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #005c5f\">\"%d\"<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">txNumero<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/a\u00f1ade n\u00famero paquete a txpacket<\/span>\r\n\r\n \u00a0<span style=\"color: #434f54\">\/\/ Mensaje a pantalla<\/span>\r\n \u00a0<b><span style=\"color: #d35400\">Serial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">printf<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #005c5f\">\"\\rTX Paquete \\\"%s\\\" , tamano %d bytes\\r\"<\/span><span style=\"color: #434f54\">,<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">txpacket<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #d35400\">strlen<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">txpacket<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<b><span style=\"color: #d35400\">Serial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">printf<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #005c5f\">\"\\r , proximo en %d ms \\r\\n\"<\/span><span style=\"color: #434f54\">,<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">tiempo_espera<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\r\n \u00a0<span style=\"color: #434f54\">\/\/ Transmite paquete LoRa<\/span>\r\n \u00a0<span style=\"color: #000000\">Radio<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">Send<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #434f54\">*<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">txpacket<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #d35400\">strlen<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">txpacket<\/span><span style=\"color: #000000\">)<\/span> <span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #000000\">txNumero<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">txNumero<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #000000\">1<\/span><span style=\"color: #000000\">;<\/span> \u00a0<span style=\"color: #434f54\">\/\/ cuenta paquete<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">if<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">txNumero<\/span><span style=\"color: #434f54\">&gt;=<\/span><span style=\"color: #000000\">99<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">txNumero<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/ reinicia contador<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n \u00a0<span style=\"color: #000000\">modoOperacion<\/span><span style=\"color: #434f54\">=<\/span><span style=\"color: #000000\">2<\/span><span style=\"color: #000000\">;<\/span><span style=\"color: #434f54\">\/\/LOWPOWER;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">OnTxDone<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">)<\/span> <span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #000000\">turnOnRGB<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">0<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">modoOperacion<\/span><span style=\"color: #434f54\">=<\/span><span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">OnTxTimeout<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">)<\/span> <span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #000000\">Radio<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">Sleep<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<b><span style=\"color: #d35400\">Serial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">println<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #005c5f\">\"TX Timeout......\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">modoOperacion<\/span><span style=\"color: #434f54\">=<\/span><span style=\"color: #000000\">1<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<\/pre>\n<h3>Procedimiento de recepci\u00f3n de paquete LoRa<\/h3>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex03.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4043\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex03.png\" alt=\"\" width=\"662\" height=\"112\" srcset=\"https:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex03.png 662w, https:\/\/blog.espol.edu.ec\/girni\/files\/2022\/12\/TallerLoRa_SemiDuplex03-300x51.png 300w\" sizes=\"auto, (max-width: 662px) 100vw, 662px\" \/><\/a><\/p>\n<pre><span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">OnRxDone<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #434f54\">*<\/span><span style=\"color: #000000\">payload<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">uint16_t<\/span> <span style=\"color: #d35400\">size<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">int16_t<\/span> <span style=\"color: #000000\">rssi<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">int8_t<\/span> <span style=\"color: #000000\">snr<\/span> <span style=\"color: #000000\">)<\/span> <span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #000000\">turnOnRGB<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">COLOR_RECEIVED<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">Rssi<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">rssi<\/span><span style=\"color: #000000\">;<\/span> \u00a0\u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/ nivel de recepcion<\/span>\r\n \u00a0<span style=\"color: #000000\">rxSize<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #d35400\">size<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #d35400\">memcpy<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">rxpacket<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">payload<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #d35400\">size<\/span> <span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">rxpacket<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #d35400\">size<\/span><span style=\"color: #000000\">]<\/span><span style=\"color: #434f54\">=<\/span><span style=\"color: #00979c\">'\\0'<\/span><span style=\"color: #000000\">;<\/span> \u00a0<span style=\"color: #434f54\">\/\/a\u00f1ade fin de cadena<\/span>\r\n\r\n \u00a0<span style=\"color: #000000\">Radio<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">Sleep<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<b><span style=\"color: #d35400\">Serial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">printf<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #005c5f\">\"\\r \u00a0\u00a0\u00a0RX Paquete \\\"%s\\\" , tamanio %d, Rssi %d \\r\\n\"<\/span><span style=\"color: #434f54\">,<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">rxpacket<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">rxSize<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">Rssi<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Como cada dispositivo contiene solo un radio, la comunicaci\u00f3n en dos sentidos puede habilitarse en modo SemiDuplex. Las funciones de transmisi\u00f3n y recepci\u00f3n se alternan. Resultados TX Paquete \"213110\" , tamano 6 bytes , proximo en 8118 ms RX Paquete \"312139\" , tamanio 6, Rssi -22 TX Paquete \"213111\" , tamano 6 bytes , proximo &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/blog.espol.edu.ec\/girni\/lora-multipunto-heltec-cubecell-semiduplex-ino\/\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \"3. LoRa Multipunto - HELTEC CubeCell SemiDuplex.ino\"<\/span><\/a><\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1481155],"tags":[],"class_list":["post-4040","post","type-post","status-publish","format-standard","hentry","category-taller-lora-multipunto"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/4040","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/comments?post=4040"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/4040\/revisions"}],"predecessor-version":[{"id":4057,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/4040\/revisions\/4057"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/media?parent=4040"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/categories?post=4040"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/tags?post=4040"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}