{"id":4495,"date":"2020-09-19T18:13:48","date_gmt":"2020-09-19T17:13:48","guid":{"rendered":"http:\/\/bitacora.eniac2000.com\/?p=4495"},"modified":"2025-10-11T05:06:36","modified_gmt":"2025-10-11T03:06:36","slug":"los-nodos-lorawan-hardware-y-software","status":"publish","type":"post","link":"https:\/\/bitacora.eniac2000.com\/?p=4495","title":{"rendered":"Los nodos LoRaWAN. Hardware y software"},"content":{"rendered":"<div class=\"seriesmeta\">Esta entrada es la parte 4 de 7 de la serie <a href=\"https:\/\/bitacora.eniac2000.com\/?series=gateway-lorawan\" class=\"series-1836\" title=\"Gateway LoRaWAN\">Gateway LoRaWAN<\/a><\/div><p>Para este proyecto estoy utilizando como nodos LoRaWAN unos dispositivos <a href=\"http:\/\/heltec.org\/proudct_center\/lora\/cubecell\/\" target=\"_blank\">CubeCell de Heltec<\/a>. En concreto estoy haciendo uso de las Dev-Board (HTCC-AB01), que integran el patillaje necesario para conectar de manera sencilla los CubeCell a un ordenador para cargarles el c\u00f3digo necesario.<\/p>\n<figure class=\"wp-block-piwigo-gallery-single-image piwigo-single-image\"><a href=\"https:\/\/www.eniac2000.com\/piwigo\/picture.php?\/7551\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/www.eniac2000.com\/piwigo\/_data\/i\/galleries\/albums\/202009-LoRaWAN\/IMG_20200919_183904_1-me.jpg\" alt=\"IMG 20200919 183904 1\" \/><\/a><figcaption><strong>IMG 20200919 183904 1<\/strong><\/figcaption><\/figure>\n<p>Estos dispositivos hacen uso de un chiop ASR6501, que integra una MCU PSoC de la serie 4000 (ARM\u00ae Cortex\u00ae M0+ Core), y el chip LoRA SX1272. La principal ventaja es que son completamente compatibles con Arduino, tienen capacidad para ser alimentados directamente por bater\u00eda o un peque\u00f1o panel solar (desde 5.5 a 7v), y un consumo realmente bajo: 10 mA en modo recepci\u00f3n LoRa, 70 mA emitiendo a 10 dB, y apenas 3.5uA en modo Deep Sleep, lo que los hacen muy adecuados para entornos de muy bajo consumo energ\u00e9tico. Adem\u00e1s dispone de 8 puertos de E\/S, UART, SPI e I2C, adem\u00e1s de otras caracter\u00edsticas bastante interesantes.<\/p>\n<figure class=\"wp-block-piwigo-gallery-single-image piwigo-single-image\"><a href=\"https:\/\/www.eniac2000.com\/piwigo\/picture.php?\/7563\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/www.eniac2000.com\/piwigo\/_data\/i\/galleries\/albums\/202009-LoRaWAN\/ab01pinout-1024x531-me.png\" alt=\"ab01pinout-1024x531\" \/><\/a><figcaption><strong>ab01pinout-1024x531<\/strong><\/figcaption><\/figure>\n<p>Sin embargo, y a pesar de que los dispositivos est\u00e1n bastante bien, tienen ag\u00fan inconveniente con respecto a los Heltec LoRa 32. Los m\u00e1s importantes es que carecen de interfaz WiFi y de Bluetooth. No es demasiado grave, ya que no est\u00e1n pensados para ser dispositivos multiconexi\u00f3n -para eso est\u00e1n los LoRa 32 con su chip ESP32-, sino para priorizar el bajo consumo.<\/p>\n<p>En cuanto a la programaci\u00f3n, se puede realizar mediante el IDE de Arduino, como cualquier otro dispositivo. Hay que tener en cuenta, que su programaci\u00f3n difiere ligeramente con respecto a los Heltec LoRa 32. Esto tiene un par de implicaciones: la primera es que no se hace uso de la librer\u00eda Heltec, sino que se utiliza una librer\u00eda espec\u00edfica (LoRaWan_APP), que la declaraci\u00f3n del objeto LoRa es distinta, siendo necesario especificar manualmente determinados par\u00e1metros que en el caso de la librer\u00eda Heltec ya vienen dados muchas veces por defecto, y que s\u00f3lo es necesario declarar en caso de querer utilizar valores distintos. <\/p>\n<p>#define RF_FREQUENCY                                868000000 \/\/ Hz<br \/>\n#define TX_OUTPUT_POWER                             14        \/\/ dBm<br \/>\n#define LORA_BANDWIDTH                              0         \/\/ [0: 125 kHz,<br \/>\n                                                              \/\/  1: 250 kHz,<br \/>\n                                                              \/\/  2: 500 kHz,<br \/>\n                                                              \/\/  3: Reserved]<br \/>\n#define LORA_SPREADING_FACTOR                       8         \/\/ [SF7..SF12]<br \/>\n#define LORA_CODINGRATE                             4         \/\/ [1: 4\/5,<br \/>\n                                                              \/\/  2: 4\/6,<br \/>\n                                                              \/\/  3: 4\/7,<br \/>\n                                                              \/\/  4: 4\/8]<br \/>\n#define LORA_PREAMBLE_LENGTH                        8         \/\/ Same for Tx and Rx<br \/>\n#define LORA_SYMBOL_TIMEOUT                         0         \/\/ Symbols<br \/>\n#define LORA_FIX_LENGTH_PAYLOAD_ON                  false<br \/>\n#define LORA_IQ_INVERSION_ON                        false<br \/>\n#define RX_TIMEOUT_VALUE                            1000<br \/>\n#define BUFFER_SIZE                                 30 \/\/ Define the payload size here<\/p>\n<p>La segunda diferencia, como comentaba en el <a href=\"http:\/\/bitacora.eniac2000.com\/?p=4492\" title=\"El gateway LoRa*. Hardware y software\" target=\"_blank\">art\u00edculo anterior<\/a>, es que es necesario definir tambi\u00e9n ciertas configuraciones espec\u00edficas, precisamente relacionadas con estos par\u00e1metros, en la parte del gateway, para garantizar la compatibilidad de las comunicaciones entre ambos dispositivos. No es que haya sido un gran problema, pero me trajo un rato de cabeza hasta que encontr\u00e9 algo de documentaci\u00f3n que me hizo la luz a este respecto.<\/p>\n<p>Hay otros dos aspectos finales que quer\u00eda comentar, tambi\u00e9n relativos al hardware:<\/p>\n<ul>\n<li>El primero es la existencia de un led multicolor que se puede controlar por la librer\u00eda. Por lo general, se utiliza para distinguir cu\u00e1ndo el dispositivo est\u00e1 enviando o recibiendo paquetes LoRa. Por convenio se utiliza el color rojo para indicar env\u00edo, y el verde para recepci\u00f3n, pero esto es completamente configurable. Y muy pr\u00e1ctico en el caso de andar enviando datos entre dos CubeCell.<\/li>\n<li>El segundo es la antena: el dispositivo viene con una peque\u00f1a antena que se conecta mediante un pigtail, pero en mi caso voy a reemplazarla por antenas un poco m\u00e1s elaboradas, para asegurar un mejor enlace.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<div class=\"seriesmeta\">Esta entrada es la parte 4 de 7 de la serie <a href=\"https:\/\/bitacora.eniac2000.com\/?series=gateway-lorawan\" class=\"series-1836\" title=\"Gateway LoRaWAN\">Gateway LoRaWAN<\/a><\/div><p>Para este proyecto estoy utilizando como nodos LoRaWAN unos dispositivos<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[13],"tags":[111,133,489,619,789,996,998],"series":[1836],"class_list":["post-4495","post","type-post","status-publish","format-standard","hentry","category-informatica","tag-antena","tag-arduino","tag-cubecell","tag-esp32","tag-heltec","tag-lora","tag-lorawan","series-gateway-lorawan"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=\/wp\/v2\/posts\/4495","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4495"}],"version-history":[{"count":1,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=\/wp\/v2\/posts\/4495\/revisions"}],"predecessor-version":[{"id":11030,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=\/wp\/v2\/posts\/4495\/revisions\/11030"}],"wp:attachment":[{"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4495"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4495"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4495"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/bitacora.eniac2000.com\/index.php?rest_route=%2Fwp%2Fv2%2Fseries&post=4495"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}