{"id":4076,"date":"2023-06-24T17:26:43","date_gmt":"2023-06-24T22:26:43","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/girni\/?p=4076"},"modified":"2023-06-24T17:29:10","modified_gmt":"2023-06-24T22:29:10","slug":"lorawan-probador-con-oled-archivo-ino","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/girni\/lorawan-probador-con-oled-archivo-ino\/","title":{"rendered":"LoRaWan \u2013 Probador de campo con OLED Archivo.ino"},"content":{"rendered":"<h2>Pantalla OLED con parametros RSSI UP\/DOWN<\/h2>\n<p>Probador de Rssi de subida y bajada<\/p>\n<p>Hardware: Heltec cubecell AB02, con pantalla OLED incorporada.<\/p>\n<h3>OLED_pantalla.ino<\/h3>\n<pre><span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">displayconectando<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">{<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setFont<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">ArialMT_Plain_16<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setTextAlignment<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">TEXT_ALIGN_CENTER<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">clear<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">drawString<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">58<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">22<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #005c5f\">\"Joining...\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">display<\/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<span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">displayConectado<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">{<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">clear<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">drawString<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">64<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">22<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #005c5f\">\"Conectado_OK\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">display<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<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<span style=\"color: #000000\">}<\/span>\r\n<span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">displayTransmitiendo<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">{<\/span>\r\n\t<span style=\"color: #d35400\">digitalWrite<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">Vext<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #00979c\">LOW<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">init<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setFont<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">ArialMT_Plain_16<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setTextAlignment<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">TEXT_ALIGN_CENTER<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">clear<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">drawString<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">58<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">22<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #005c5f\">\"Tx...\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">display<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<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<span style=\"color: #000000\">}<\/span>\r\n<span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">displayPaqRecibido<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #00979c\">char<\/span> <span style=\"color: #000000\">temp<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">25<\/span><span style=\"color: #000000\">]<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">clear<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setFont<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">ArialMT_Plain_16<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setTextAlignment<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">TEXT_ALIGN_LEFT<\/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\">temp<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #005c5f\">\"Rx snr:%d,dr:%d\"<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">Down_snr<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">Down_datarate<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">drawString<\/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: #434f54\">,<\/span> <span style=\"color: #000000\">temp<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/22<\/span>\r\n\t<span style=\"color: #d35400\">sprintf<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">temp<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #005c5f\">\"rssiDw: -%d\"<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">Down_rssi<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setFont<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">ArialMT_Plain_24<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setTextAlignment<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">TEXT_ALIGN_RIGHT<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">drawString<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">128<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">16<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">temp<\/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\">temp<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #005c5f\">\"rssiUp: -%d\"<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">Up_rssi<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setFont<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">ArialMT_Plain_24<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setTextAlignment<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">TEXT_ALIGN_RIGHT<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">drawString<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">128<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">40<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">temp<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">drawString<\/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: #434f54\">,<\/span> <span style=\"color: #000000\">temp<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #5e6d03\">if<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">loraWanClass<\/span><span style=\"color: #434f54\">==<\/span><span style=\"color: #000000\">CLASS_A<\/span><span style=\"color: #000000\">)<\/span>\t<span style=\"color: #000000\">{<\/span>\r\n\t\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setFont<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">ArialMT_Plain_10<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setTextAlignment<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">TEXT_ALIGN_LEFT<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">drawString<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">28<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">50<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #005c5f\">\"Into deep sleep in 2S\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">}<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">display<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #d35400\">delay<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">10000<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">clear<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #5e6d03\">if<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">loraWanClass<\/span><span style=\"color: #434f54\">==<\/span><span style=\"color: #000000\">CLASS_A<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">{<\/span>\r\n\t\t<span style=\"color: #d35400\">digitalWrite<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">Vext<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #00979c\">HIGH<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">stop<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<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\">displayAckRecibido<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #00979c\">char<\/span> <span style=\"color: #000000\">temp<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">25<\/span><span style=\"color: #000000\">]<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">clear<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setFont<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">ArialMT_Plain_16<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setTextAlignment<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">TEXT_ALIGN_LEFT<\/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\">temp<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #005c5f\">\"ACK snr:%d,dr:%d\"<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">confirmaSnr<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">confirmaDatarate<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">drawString<\/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: #434f54\">,<\/span> <span style=\"color: #000000\">temp<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/22<\/span>\r\n\t<span style=\"color: #d35400\">sprintf<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">temp<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #005c5f\">\"rssiDw: -%d\"<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">confirmaRssi<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setFont<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">ArialMT_Plain_24<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setTextAlignment<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">TEXT_ALIGN_RIGHT<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">drawString<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">128<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">16<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">temp<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #5e6d03\">if<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">loraWanClass<\/span><span style=\"color: #434f54\">==<\/span><span style=\"color: #000000\">CLASS_A<\/span><span style=\"color: #000000\">)<\/span>\t<span style=\"color: #000000\">{<\/span>\r\n\t\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setFont<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">ArialMT_Plain_10<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setTextAlignment<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">TEXT_ALIGN_LEFT<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">drawString<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">28<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">50<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #005c5f\">\"Into deep sleep in 2S\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">}<\/span>\r\n\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">display<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #d35400\">delay<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">10000<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #5e6d03\">if<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">loraWanClass<\/span><span style=\"color: #434f54\">==<\/span><span style=\"color: #000000\">CLASS_A<\/span><span style=\"color: #000000\">)<\/span>\t<span style=\"color: #000000\">{<\/span>\r\n\t\t<span style=\"color: #d35400\">digitalWrite<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">Vext<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #00979c\">HIGH<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">stop<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #000000\">}<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n<\/pre>\n<h3>CubeCell_Practicas2023OLED.ino<\/h3>\n<pre><span style=\"color: #434f54\">\/\/ Lectura de Rssi Snr, datarate Up\/Downlink<\/span>\r\n<span style=\"color: #434f54\">\/\/ Datos Downlink de la trama de confirmaci\u00f3n anterior<\/span>\r\n<span style=\"color: #434f54\">\/\/ <\/span><u><span style=\"color: #434f54\">http:\/\/blog.espol.edu.ec\/girni\/lorawan-enlaces-up-down-archivo-ino\/<\/span><\/u>\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<span style=\"color: #5e6d03\">#include<\/span> <span style=\"color: #434f54\">&lt;<\/span><b><span style=\"color: #d35400\">Wire<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">h<\/span><span style=\"color: #434f54\">&gt;<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n<span style=\"color: #5e6d03\">#include<\/span> <span style=\"color: #005c5f\">\"HT_SH1107Wire.h\"<\/span>\r\n\r\n<span style=\"color: #000000\">SH1107Wire<\/span> \u00a0<span style=\"color: #000000\">display2<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">0x3c<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">500000<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">SDA<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">SCL<\/span> <span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">GEOMETRY_128_64<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">GPIO10<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/ addr, freq, sda, scl, resolution, rst<\/span>\r\n\r\n<span style=\"color: #95a5a6\">\/* set LoraWan_RGB to Active,the RGB active in loraWan<\/span>\r\n<span style=\"color: #95a5a6\"> * red \u00a0\u00a0|sending; \u00a0\u00a0purple | joined done;<\/span>\r\n<span style=\"color: #95a5a6\"> * blue \u00a0|RxWindow1; yellow | means RxWindow2;<\/span>\r\n<span style=\"color: #95a5a6\"> * green | received done;<\/span>\r\n<span style=\"color: #95a5a6\"> *\/<\/span>\r\n<span style=\"color: #95a5a6\">\/* Conexi\u00f3n LoRa: OTAA parametros*\/<\/span>\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">devEui<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">]<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">{<\/span> <span style=\"color: #000000\">0xa5<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x3e<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xc6<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x15<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xae<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xde<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x3f<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x50<\/span> <span style=\"color: #000000\">}<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">appEui<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">]<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">{<\/span> <span style=\"color: #000000\">0x00<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x00<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x00<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x00<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x00<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x00<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x00<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x00<\/span> <span style=\"color: #000000\">}<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">appKey<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">]<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">{<\/span> <span style=\"color: #000000\">0x88<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xbe<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x25<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xca<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x2c<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xcf<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x31<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x85<\/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\">0x51<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x2d<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xee<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xe2<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x80<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x31<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x8e<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x01<\/span> <span style=\"color: #000000\">}<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #95a5a6\">\/* ABP parametros*\/<\/span>\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">nwkSKey<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">]<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">{<\/span> <span style=\"color: #000000\">0x15<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xb1<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xd0<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xef<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xa4<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x63<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xdf<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xbe<\/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\u00a0<span style=\"color: #000000\">0x3d<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x11<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x18<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x1e<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x1e<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xc7<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xda<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">0x85<\/span> <span style=\"color: #000000\">}<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">appSKey<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">]<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">{<\/span> <span style=\"color: #000000\">0x47<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xdc<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xac<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x5f<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xc2<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x32<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x24<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x31<\/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\u00a0<span style=\"color: #000000\">0xdf<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xf1<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xff<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xf9<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x46<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0xe5<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x2e<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">0x17<\/span> <span style=\"color: #000000\">}<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">uint32_t<\/span> <span style=\"color: #000000\">devAddr<\/span> <span style=\"color: #434f54\">=<\/span> \u00a0<span style=\"color: #000000\">(<\/span> <span style=\"color: #00979c\">uint32_t<\/span> <span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">0x007bc4150<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #95a5a6\">\/*LoraWan channelsmask, default channels 0-7*\/<\/span> \r\n<span style=\"color: #00979c\">uint16_t<\/span> <span style=\"color: #000000\">userChannelsMask<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">6<\/span><span style=\"color: #000000\">]<\/span><span style=\"color: #434f54\">=<\/span><span style=\"color: #000000\">{<\/span> <span style=\"color: #000000\">0x00FF<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">0x0000<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">0x0000<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">0x0000<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">0x0000<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">0x0000<\/span> <span style=\"color: #000000\">}<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n<span style=\"color: #95a5a6\">\/*Select in arduino IDE tools*\/<\/span>\r\n<span style=\"color: #000000\">LoRaMacRegion_t<\/span> <span style=\"color: #000000\">loraWanRegion<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">ACTIVE_REGION<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">DeviceClass_t<\/span> \u00a0<span style=\"color: #000000\">loraWanClass<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">LORAWAN_CLASS<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">bool<\/span> <span style=\"color: #000000\">overTheAirActivation<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">LORAWAN_NETMODE<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">bool<\/span> <span style=\"color: #000000\">loraWanAdr<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">LORAWAN_ADR<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">bool<\/span> <span style=\"color: #000000\">keepNet<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">LORAWAN_NET_RESERVE<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">bool<\/span> <span style=\"color: #000000\">isTxConfirmed<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">LORAWAN_UPLINKMODE<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">duermemin<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/15<\/span>\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">duermeseg<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">300<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/0<\/span>\r\n\r\n<span style=\"color: #00979c\">uint32_t<\/span> <span style=\"color: #000000\">appTxDutyCycle<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">duermemin<\/span><span style=\"color: #434f54\">*<\/span><span style=\"color: #000000\">60<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #000000\">duermeseg<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #434f54\">*<\/span><span style=\"color: #000000\">1000<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/ min*seg*ms<\/span>\r\n\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">appPort<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">4<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #95a5a6\">\/* Application port *\/<\/span>\r\n<span style=\"color: #95a5a6\">\/* trials to transmit frame, if didn't receive ack.<\/span>\r\n<span style=\"color: #95a5a6\"> * The MAC performs a datarate adaptation,<\/span>\r\n<span style=\"color: #95a5a6\"> * Tx nb|Data Rate<\/span>\r\n<span style=\"color: #95a5a6\"> * -----|----------<\/span>\r\n<span style=\"color: #95a5a6\"> * 1 \u00a0\u00a0\u00a0|DR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0* 5 \u00a0\u00a0\u00a0| max(DR-2,0)<\/span>\r\n<span style=\"color: #95a5a6\"> * 2 \u00a0\u00a0\u00a0|DR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0* 6 \u00a0\u00a0\u00a0| max(DR-2,0)<\/span>\r\n<span style=\"color: #95a5a6\"> * 3 \u00a0\u00a0\u00a0|max(DR-1,0) \u00a0* 7 \u00a0\u00a0\u00a0| max(DR-3,0)<\/span>\r\n<span style=\"color: #95a5a6\"> * 4 \u00a0\u00a0\u00a0|max(DR-1,0) \u00a0* 8 \u00a0\u00a0\u00a0| max(DR-3,0)<\/span>\r\n<span style=\"color: #95a5a6\">*\/<\/span>\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">confirmedNbTrials<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">4<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n<span style=\"color: #434f54\">\/\/ Ack parametros de recepci\u00f3n<\/span>\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">confirmaRssi<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">confirmaSnr<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">confirmaDatarate<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n<span style=\"color: #434f54\">\/\/ Ack parametros de recepci\u00f3n<\/span>\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">Down_rssi<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">Down_snr<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">Down_datarate<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">Up_rssi<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">itera<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">estado<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/0x00, 0x01,\"OFF\",\"ON\"<\/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\t<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 \r\n<span style=\"color: #5e6d03\">#if<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">AT_SUPPORT<\/span><span style=\"color: #000000\">)<\/span>\r\n\t<span style=\"color: #000000\">enableAt<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #5e6d03\">#endif<\/span>\r\n\r\n \u00a0<span style=\"color: #434f54\">\/\/ OLED display status<\/span>\r\n \u00a0<span style=\"color: #434f54\">\/\/LoRaWAN.displayMcuInit();<\/span>\r\n \u00a0\r\n\t<span style=\"color: #000000\">deviceState<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">DEVICE_STATE_INIT<\/span><span style=\"color: #000000\">;<\/span>\r\n\t<span style=\"color: #434f54\">\/\/LoRaWAN.ifskipjoin(); \/\/if joinned,skip<\/span>\r\n\r\n \u00a0<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">init<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">display2<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">setFont<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">ArialMT_Plain_10<\/span><span style=\"color: #000000\">)<\/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: #5e6d03\">loop<\/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\">print<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #005c5f\">\".\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">itera<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">itera<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #000000\">1<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #5e6d03\">if<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">itera<\/span><span style=\"color: #434f54\">&gt;<\/span><span style=\"color: #000000\">6<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0<span style=\"color: #000000\">itera<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\u00a0\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\">\" \"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">}<\/span>\r\n\t<span style=\"color: #5e6d03\">switch<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #000000\">deviceState<\/span> <span style=\"color: #000000\">)<\/span> <span style=\"color: #000000\">{<\/span>\r\n\t\t<span style=\"color: #5e6d03\">case<\/span> <span style=\"color: #000000\">DEVICE_STATE_INIT<\/span><span style=\"color: #434f54\">:<\/span> <span style=\"color: #000000\">{<\/span>\r\n<span style=\"color: #5e6d03\">#if<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">LORAWAN_DEVEUI_AUTO<\/span><span style=\"color: #000000\">)<\/span>\r\n\t\t\t<span style=\"color: #000000\">LoRaWAN<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">generateDeveuiByChipID<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #5e6d03\">#endif<\/span>\r\n<span style=\"color: #5e6d03\">#if<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">AT_SUPPORT<\/span><span style=\"color: #000000\">)<\/span>\r\n\t\t\t<span style=\"color: #000000\">getDevParam<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #5e6d03\">#endif<\/span>\r\n\t\t\t<span style=\"color: #000000\">printDevParam<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t\t<span style=\"color: #000000\">LoRaWAN<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">init<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">loraWanClass<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">loraWanRegion<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t\t<span style=\"color: #000000\">deviceState<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">DEVICE_STATE_JOIN<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t\t<span style=\"color: #5e6d03\">break<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t<span style=\"color: #000000\">}<\/span>\r\n\t\t<span style=\"color: #5e6d03\">case<\/span> <span style=\"color: #000000\">DEVICE_STATE_JOIN<\/span><span style=\"color: #434f54\">:<\/span> <span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/LoRaWAN.displayJoining();<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">displayconectando<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t\t<span style=\"color: #000000\">LoRaWAN<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">join<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t\t<span style=\"color: #5e6d03\">break<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t<span style=\"color: #000000\">}<\/span>\r\n\t\t<span style=\"color: #5e6d03\">case<\/span> <span style=\"color: #000000\">DEVICE_STATE_SEND<\/span><span style=\"color: #434f54\">:<\/span>\t<span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/LoRaWAN.displaySending();<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #000000\">displayTransmitiendo<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t\t<span style=\"color: #000000\">prepareTxFrame<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #000000\">appPort<\/span> <span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t\t<span style=\"color: #000000\">LoRaWAN<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">send<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t\t<span style=\"color: #000000\">deviceState<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">DEVICE_STATE_CYCLE<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t\t<span style=\"color: #5e6d03\">break<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t<span style=\"color: #000000\">}<\/span>\r\n\t\t<span style=\"color: #5e6d03\">case<\/span> <span style=\"color: #000000\">DEVICE_STATE_CYCLE<\/span><span style=\"color: #434f54\">:<\/span> <span style=\"color: #000000\">{<\/span>\r\n\t\t\t<span style=\"color: #434f54\">\/\/ Schedule next packet transmission<\/span>\r\n\t\t\t<span style=\"color: #000000\">txDutyCycleTime<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">appTxDutyCycle<\/span> <span style=\"color: #434f54\">+<\/span> <span style=\"color: #000000\">randr<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #000000\">0<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #000000\">APP_TX_DUTYCYCLE_RND<\/span> <span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t\t<span style=\"color: #000000\">LoRaWAN<\/span><span style=\"color: #434f54\">.<\/span><span style=\"color: #000000\">cycle<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">txDutyCycleTime<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t\t<span style=\"color: #000000\">deviceState<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">DEVICE_STATE_SLEEP<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t\t<span style=\"color: #5e6d03\">break<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t<span style=\"color: #000000\">}<\/span>\r\n\t\t<span style=\"color: #5e6d03\">case<\/span> <span style=\"color: #000000\">DEVICE_STATE_SLEEP<\/span><span style=\"color: #434f54\">:<\/span> <span style=\"color: #000000\">{<\/span>\r\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #434f54\">\/\/LoRaWAN.displayAck();<\/span>\r\n\t\t\t<span style=\"color: #000000\">LoRaWAN<\/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\t\t\t<span style=\"color: #5e6d03\">break<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t<span style=\"color: #000000\">}<\/span>\r\n\t\t<span style=\"color: #5e6d03\">default<\/span><span style=\"color: #434f54\">:<\/span> <span style=\"color: #000000\">{<\/span>\r\n\t\t\t<span style=\"color: #000000\">deviceState<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">DEVICE_STATE_INIT<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t\t<span style=\"color: #5e6d03\">break<\/span><span style=\"color: #000000\">;<\/span>\r\n\t\t<span style=\"color: #000000\">}<\/span>\r\n\t<span style=\"color: #000000\">}<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<\/pre>\n<h3>LoRaWanEnvia.ino<\/h3>\n<pre><span style=\"color: #95a5a6\">\/* Prepares the payload of the frame *\/<\/span>\r\n<span style=\"color: #00979c\">static<\/span> <span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">prepareTxFrame<\/span><span style=\"color: #000000\">(<\/span> <span style=\"color: #00979c\">uint8_t<\/span> <span style=\"color: #000000\">port<\/span> <span style=\"color: #000000\">)<\/span> <span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #434f54\">\/\/ enciende sensor<\/span>\r\n \u00a0<span style=\"color: #d35400\">pinMode<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">Vext<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">OUTPUT<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #d35400\">digitalWrite<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">Vext<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">LOW<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #434f54\">\/\/Lectura de Sensor<\/span>\r\n\r\n \u00a0<span style=\"color: #434f54\">\/\/apaga sensor<\/span>\r\n \u00a0<span style=\"color: #d35400\">digitalWrite<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">Vext<\/span><span style=\"color: #434f54\">,<\/span> <span style=\"color: #00979c\">HIGH<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\r\n \u00a0<span style=\"color: #434f54\">\/\/ lectura de bateria \u00a0<\/span>\r\n \u00a0<span style=\"color: #00979c\">uint16_t<\/span> <span style=\"color: #000000\">batteryVoltage<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">getBatteryVoltage<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #00979c\">unsigned<\/span> <span style=\"color: #00979c\">char<\/span> <span style=\"color: #434f54\">*<\/span><span style=\"color: #000000\">puc<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #434f54\">\/\/ trama<\/span>\r\n \u00a0<span style=\"color: #000000\">appDataSize<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">5<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">appData<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">]<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">confirmaRssi<\/span><span style=\"color: #000000\">;<\/span> <span style=\"color: #434f54\">\/\/Ack leido en dispositivo<\/span>\r\n \u00a0<span style=\"color: #000000\">appData<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">1<\/span><span style=\"color: #000000\">]<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">confirmaSnr<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">appData<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">2<\/span><span style=\"color: #000000\">]<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">confirmaDatarate<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">appData<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">3<\/span><span style=\"color: #000000\">]<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">uint8_t<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">batteryVoltage<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">appData<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">4<\/span><span style=\"color: #000000\">]<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #000000\">(<\/span><span style=\"color: #00979c\">uint8_t<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">batteryVoltage<\/span><span style=\"color: #434f54\">&gt;&gt;<\/span><span style=\"color: #000000\">8<\/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\">print<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #005c5f\">\"%, Bateria = \"<\/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: #000000\">batteryVoltage<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n<span style=\"color: #000000\">}<\/span>\r\n\r\n<\/pre>\n<h3>LoRaWanRecibe.ino<\/h3>\n<pre><span style=\"color: #434f54\">\/\/downlink data handle function example<\/span>\r\n<span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">downLinkDataHandle<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">McpsIndication_t<\/span> <span style=\"color: #434f54\">*<\/span><span style=\"color: #000000\">mcpsIndication<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #434f54\">\/\/ parametros de recepcion<\/span>\r\n \u00a0<span style=\"color: #000000\">Down_rssi<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">uint8_t<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #d35400\">abs<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">mcpsIndication<\/span><span style=\"color: #434f54\">-<\/span><span style=\"color: #434f54\">&gt;<\/span><span style=\"color: #000000\">Rssi<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">Down_snr<\/span> \u00a0<span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">uint8_t<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">mcpsIndication<\/span><span style=\"color: #434f54\">-<\/span><span style=\"color: #434f54\">&gt;<\/span><span style=\"color: #000000\">Snr<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">Down_datarate<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">uint8_t<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">mcpsIndication<\/span><span style=\"color: #434f54\">-<\/span><span style=\"color: #434f54\">&gt;<\/span><span style=\"color: #000000\">RxDoneDatarate<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #434f54\">\/\/ recibido de trama<\/span>\r\n \u00a0<span style=\"color: #000000\">Up_rssi<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">uint8_t<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">mcpsIndication<\/span><span style=\"color: #434f54\">-<\/span><span style=\"color: #434f54\">&gt;<\/span><span style=\"color: #000000\">Buffer<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #000000\">0<\/span><span style=\"color: #000000\">]<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n\r\n \u00a0<span style=\"color: #434f54\">\/\/<\/span>\r\n \u00a0<b><span style=\"color: #d35400\">Serial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">print<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #005c5f\">\"Rx Down_rssi:-\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span> <b><span style=\"color: #d35400\">Serial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">print<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">Down_rssi<\/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\">print<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #005c5f\">\", Down_snr:\"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span><b><span style=\"color: #d35400\">Serial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">print<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">Down_snr<\/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\">print<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #005c5f\">\", Down_datarate: \"<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span><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: #000000\">Down_datarate<\/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\">print<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #005c5f\">\" UP_rssi:\"<\/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\">print<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #434f54\">-<\/span><span style=\"color: #000000\">1<\/span><span style=\"color: #434f54\">*<\/span><span style=\"color: #000000\">Up_rssi<\/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\">\" +REV DATA:%s,RXSIZE %d,PORT %d\\r\"<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">mcpsIndication<\/span><span style=\"color: #434f54\">-<\/span><span style=\"color: #434f54\">&gt;<\/span><span style=\"color: #000000\">RxSlot<\/span><span style=\"color: #434f54\">?<\/span><span style=\"color: #005c5f\">\"RXWIN2\"<\/span><span style=\"color: #434f54\">:<\/span><span style=\"color: #005c5f\">\"RXWIN1\"<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">mcpsIndication<\/span><span style=\"color: #434f54\">-<\/span><span style=\"color: #434f54\">&gt;<\/span><span style=\"color: #000000\">BufferSize<\/span><span style=\"color: #434f54\">,<\/span><span style=\"color: #000000\">mcpsIndication<\/span><span style=\"color: #434f54\">-<\/span><span style=\"color: #434f54\">&gt;<\/span><span style=\"color: #000000\">Port<\/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: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\r\n \u00a0<span style=\"color: #000000\">displayPaqRecibido<\/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>LoRaWanRecibeConfirma.ino<\/h3>\n<pre><span style=\"color: #00979c\">void<\/span> <span style=\"color: #000000\">downLinkAckHandle<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">McpsIndication_t<\/span> <span style=\"color: #434f54\">*<\/span><span style=\"color: #000000\">mcpsIndication<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">{<\/span>\r\n \u00a0<span style=\"color: #434f54\">\/\/ ACK parametros de recepcion<\/span>\r\n \u00a0<span style=\"color: #000000\">confirmaRssi<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">uint8_t<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #d35400\">abs<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">mcpsIndication<\/span><span style=\"color: #434f54\">-<\/span><span style=\"color: #434f54\">&gt;<\/span><span style=\"color: #000000\">Rssi<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">confirmaSnr<\/span> \u00a0<span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">uint8_t<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">mcpsIndication<\/span><span style=\"color: #434f54\">-<\/span><span style=\"color: #434f54\">&gt;<\/span><span style=\"color: #000000\">Snr<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0<span style=\"color: #000000\">confirmaDatarate<\/span> <span style=\"color: #434f54\">=<\/span> <span style=\"color: #00979c\">uint8_t<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">mcpsIndication<\/span><span style=\"color: #434f54\">-<\/span><span style=\"color: #434f54\">&gt;<\/span><span style=\"color: #000000\">RxDoneDatarate<\/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\">println<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #005c5f\">\"\"<\/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\">print<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #005c5f\">\" ack received(rssi,snd,datarate): -\"<\/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\">print<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">confirmaRssi<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span><b><span style=\"color: #d35400\">Serial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">print<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #005c5f\">\" ,\"<\/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\">print<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #000000\">confirmaSnr<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span><b><span style=\"color: #d35400\">Serial<\/span><\/b><span style=\"color: #434f54\">.<\/span><span style=\"color: #d35400\">print<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #005c5f\">\" ,\"<\/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: #000000\">confirmaDatarate<\/span><span style=\"color: #000000\">)<\/span><span style=\"color: #000000\">;<\/span>\r\n \u00a0\r\n \u00a0<span style=\"color: #000000\">displayAckRecibido<\/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\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Pantalla OLED con parametros RSSI UP\/DOWN Probador de Rssi de subida y bajada Hardware: Heltec cubecell AB02, con pantalla OLED incorporada. OLED_pantalla.ino void displayconectando(){ display2.setFont(ArialMT_Plain_16); display2.setTextAlignment(TEXT_ALIGN_CENTER); display2.clear(); display2.drawString(58, 22, \"Joining...\"); display2.display(); } void displayConectado(){ display2.clear(); display2.drawString(64, 22, \"Conectado_OK\"); display2.display(); delay(500); } void displayTransmitiendo(){ digitalWrite(Vext,LOW); display2.init(); display2.setFont(ArialMT_Plain_16); display2.setTextAlignment(TEXT_ALIGN_CENTER); display2.clear(); display2.drawString(58, 22, \"Tx...\"); display2.display(); delay(500); } void &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/blog.espol.edu.ec\/girni\/lorawan-probador-con-oled-archivo-ino\/\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \"LoRaWan \u2013 Probador de campo con OLED Archivo.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":[1481156],"tags":[],"class_list":["post-4076","post","type-post","status-publish","format-standard","hentry","category-lorawan-probador-con-oled-en-campo"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/4076","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=4076"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/4076\/revisions"}],"predecessor-version":[{"id":4080,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/4076\/revisions\/4080"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/media?parent=4076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/categories?post=4076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/tags?post=4076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}