Implementação do LoRaWAN 1.0.4 e 1.1 em micropython

Detalhes bibliográficos
Autor(a) principal: Guerreiro, Miguel Mário Inácio
Data de Publicação: 2023
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10400.21/17023
Resumo: Dissertação para obtenção do Grau de Mestre em Engenharia Eletrónica e Telecomunicações
id RCAP_722311e390b9125ecc5c567c07c1634c
oai_identifier_str oai:repositorio.ipl.pt:10400.21/17023
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Implementação do LoRaWAN 1.0.4 e 1.1 em micropythonLoRaLoRaWANESP32. firmwarePycomMicroPythonLoRaLoRaWANESP32FirmwarePycomDissertação para obtenção do Grau de Mestre em Engenharia Eletrónica e TelecomunicaçõesA tecnologia tem vindo a evoluir e a tecnologia LoRa e o protocolo LoRaWAN não são exceção. Com esta evolução foram publicadas novas versões do protocolo LoRaWAN, porém nem todos os dispositivos que utilizam LoRaWAN evoluem ao mesmo ritmo quer seja por falta de necessidade ou por investimento noutros pontos relevantes do microcontrolador ou do kit de desenvolvimento em questão. Com a publicação das versões 1.1 e 1.0.4 do protocolo foram introduzidas novas funcionalidades e uma nova arquitetura. Ao atualizar o Stack LoRaWAN obtém-se uma ligação mais segura e mais funcionalidades introduzidas pelos novos comandos MAC. Tendo isto em conta, pretende-se atualizar o firmware dos dispositivos que utilizem o ESP32, no caso utilizar-se-ão dispositivos da Pycom. Os dispositivos escolhidos foram desenvolvidos pela Pycom e foram os selecionados para este projeto por utilizarem um microcontrolador ESP32, ter o firmware aberto e já utilizarem a modulação LoRa e que implementam o protocolo LoRaWAN. Inicialmente, utilizou-se uma versão beta do firmware da Pycom que implementa a versão 1.0.3 do protocolo LoRaWAN, porém as funcionalidades não estavam implementadas para o utilizador final. Para conseguir implementar estas funcionalidades foi necessário uma análise dos códigos das diferentes versões do firmware para perceber a interligação da Stack com o resto do código. Este processo consistiu observação detalhada do firmware utilizado e entender o contributo de cada "setor". Ao passar à atualização da Stack no firmware da Pycom, utilizou-se o conhecimento adquirido na análise do firmware de modo a efetuar as alterações necessárias no âmbito do projeto. Nesta fase apareceram as maiores dificuldades devido às diferenças da nova versão da Stack e como esta seria implementada no firmware. Após a resolução de todos os problemas, verificou-se o funcionamento das funções básicas referentes ao LoRa, sendo estas as funções de join e de envio de pacotes. Em seguida, implementaram-se as funções que permitiam a utilização dos comandos MAC e testaram-se as funções criadas. Por fim, utilizou-se um documento disponibilizado pela LoRa Alliance como guia para testes de conformidade dos comandos MAC. Este documentos especifica os testes que devem ser efetuados para averiguar o funcionamento das diferentes funcionalidades da versão 1.0.4 do protocolo LoRaWAN para certificar um dispositivo.Technology has been evolving, and LoRa technology and the LoRaWAN protocol are no exception. With this evolution, new versions of the protocol have been published, but not all devices that use LoRaWAN evolve at the same pace, either due to a lack of necessity or investment in other relevant aspects of the microcontroller or development kit in question. With the release of version 1.0.4 of the protocol, new features and a new architecture were introduced. Updating the LoRaWAN Stack provides a more secure connection and additional functionality due to the new MAC commands. In the release of versions 1.1 and 1.0.4 of the LoRaWAN protocol, new functionalities and a new architecture were introduced. Updating the LoRaWAN Stack ensures a more secure connection and additional features facilitated by the new MAC commands. Given this progression, the goal is to update the firmware of devices utilizing the ESP32, in this case, Pycom devices will be used. These Pycom devices were chosen for the project because they implent the ESP32 microcontroller, have an open-source firmware, and already feature devices using LoRa that implement the LoRaWAN protocol. Initially, a beta version of Pycom’s firmware, implementing LoRaWAN protocol version 1.0.3, was used. The funcionalities implemented by this new version wasn’t implementend in this firmware for the end-users. To implement these functionalities successfully, a thorough analysis of the firmware codes from different versions was conducted to understand the connection of the Stack with the rest of the code. Moving on to the Stack update in the Pycom firmware, the knowledge gained from the firmware analysis was applied to make the necessary changes within the project scope. This phase presented the greatest challenges due to the differences in the new Stack version and how it would be implemented in the firmware. After resolving all the problemas, the basic LoRa functions, such as join and packet sending functions, were confirmed to be operational. Subsequently, functions enabling the use of MAC commands were implemented and tested.Finally, a document provided by the LoRa Alliance was used as a guide for MAC command conformity tests. This document specifies the tests that should be performed to verify the functionality of different features of version 1.0.4 of the LoRaWAN protocol to certify a device.Duarte, RuiCasaleiro, JoãoRCIPLGuerreiro, Miguel Mário Inácio2024-01-26T15:00:15Z20232023-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.21/17023TID:203471474porGuerreiro, Miguel Mário Inácio - Implementação do LoRaWAN 1.0.4 e 1.1 em micropython. Lisboa: Instituto Superior de Engenharia de Lisboa, 2023. Dissertação de Mestradoinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2024-01-31T02:16:25Zoai:repositorio.ipl.pt:10400.21/17023Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-20T01:59:15.794069Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Implementação do LoRaWAN 1.0.4 e 1.1 em micropython
title Implementação do LoRaWAN 1.0.4 e 1.1 em micropython
spellingShingle Implementação do LoRaWAN 1.0.4 e 1.1 em micropython
Guerreiro, Miguel Mário Inácio
LoRa
LoRaWAN
ESP32. firmware
Pycom
MicroPython
LoRa
LoRaWAN
ESP32
Firmware
Pycom
title_short Implementação do LoRaWAN 1.0.4 e 1.1 em micropython
title_full Implementação do LoRaWAN 1.0.4 e 1.1 em micropython
title_fullStr Implementação do LoRaWAN 1.0.4 e 1.1 em micropython
title_full_unstemmed Implementação do LoRaWAN 1.0.4 e 1.1 em micropython
title_sort Implementação do LoRaWAN 1.0.4 e 1.1 em micropython
author Guerreiro, Miguel Mário Inácio
author_facet Guerreiro, Miguel Mário Inácio
author_role author
dc.contributor.none.fl_str_mv Duarte, Rui
Casaleiro, João
RCIPL
dc.contributor.author.fl_str_mv Guerreiro, Miguel Mário Inácio
dc.subject.por.fl_str_mv LoRa
LoRaWAN
ESP32. firmware
Pycom
MicroPython
LoRa
LoRaWAN
ESP32
Firmware
Pycom
topic LoRa
LoRaWAN
ESP32. firmware
Pycom
MicroPython
LoRa
LoRaWAN
ESP32
Firmware
Pycom
description Dissertação para obtenção do Grau de Mestre em Engenharia Eletrónica e Telecomunicações
publishDate 2023
dc.date.none.fl_str_mv 2023
2023-01-01T00:00:00Z
2024-01-26T15:00:15Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10400.21/17023
TID:203471474
url http://hdl.handle.net/10400.21/17023
identifier_str_mv TID:203471474
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv Guerreiro, Miguel Mário Inácio - Implementação do LoRaWAN 1.0.4 e 1.1 em micropython. Lisboa: Instituto Superior de Engenharia de Lisboa, 2023. Dissertação de Mestrado
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799137076227080192