Use este identificador para citar ou linkar para este item:
http://repositorio.ufc.br/handle/riufc/79238
Tipo: | TCC |
Título: | Implementando uma atualização remota de firmware para sistema embarcado através do protocolo MQTTS |
Autor(es): | Bezerra, Arthur Pinto |
Orientador: | Coelho, Alexandre Augusto da Penha |
Palavras-chave em português: | MQTT;OTA;IoT;Atualização Remota;Modem;Microcontrolador |
Palavras-chave em inglês: | MQTT;OTA;IoT;Remote update;Modem;Microcontroller |
CNPq: | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
Data do documento: | 2024 |
Citação: | BEZERRA, Arthur Pinto. Implementando uma atualização remota de firmware para sistema embarcado através do protocolo MQTT. 2024. 49 f. Trabalho de Conclusão de Curso (Graduação em Engenharia da Computação) - Centro de Tecnologia, Universidade Federal do Ceará, Fortaleza, 2024. |
Resumo: | Atualmente, os dispositivos inteligentes desempenham um papel fundamental em ambientes de Internet das Coisas (IoT), estando presentes em diversos contextos, como residências, escritórios, lojas, e cidades inteligentes. Além desses espaços urbanos, sua aplicação se estende também a ambientes naturais, como florestas e oceanos, onde sensores e dispositivos conectados monitoram e coletam dados em tempo real. Esses dispositivos inteligentes dependem de protocolos de comunicação para interagir entre si, permitindo a troca de informações e o controle remoto. Esses protocolos viabilizam a manipulação e transmissão de dados coletados por sensores ou em resposta a eventos, facilitando a operação de aplicativos conectados. Entre as uncionalidades possibilitadas está o FOTA (Firmware Over the Air), que permite a atualização remota do firmware dos dispositivos, garantindo a manutenção, correção de falhas e inclusão de novos recursos, sem a necessidade de acesso físico aos dispositivos, otimizando sua performance e segurança. Neste contexto, o presente trabalho apresenta a implementação de um sistema de atualização remota de firmware (FOTA) para o microcontrolador CC1312, utilizando o protocolo de comunicação MQTT via comandos AT, os quais são instruções enviadas ao modem para controlar diversas operações de comunicação, para o modem Cinterion® EXS82. Este trabalho contempla o desenvolvimento do firmware do microcontrolador feito na linguagem de programação C, uma aplicação desenvolvida em Python para distribuir a imagem, a conexão entre eles e o fluxo de transferência da imagem. A solução demonstrou eficiência para blocos de até 256 bytes, porém apresentou falhas no cálculo de CRC para blocos superiores a 512 bytes, comprometendo a integridade da imagem. Soluções como a fragmentação mais robusta de pacotes, retransmissão de pacotes corrompidos e verificação incremental de CRC são sugeridas para melhorar o processo. |
Abstract: | Currently, smart devices play a fundamental role in Internet of Things (IoT) environments, being present in various contexts such as homes, offices, stores, and smart cities. In addition to these urban spaces, their application also extends to natural environments, such as forests and oceans, where connected sensors and devices monitor and collect data in real-time. These smart devices rely on communication protocols to interact with each other, allowing for the exchange of information and remote control. These protocols facilitate the manipulation and transmission of data collected by sensors or in response to events, enhancing the operation of connected applications. Among the functionalities enabled is FOTA (Firmware Over the Air), which allows for the remote update of device firmware, ensuring maintenance, bug fixes, and the addition of new features without the need for physical access to the devices, optimizing their performance and security. In this context, this work presents the implementation of a remote firmware update system (FOTA) for the CC1312 microcontroller, using the MQTT communication protocol via AT commands, which are instructions sent to the Cinterion® EXS82 modem to control various communication operations. This work encompasses the development of the microcontroller firmware in the C programming language, an application developed in Python for distributing the image, the connection between them, and the image transfer flow. The solution demonstrated efficiency for blocks of up to 256 bytes; however, it showed failures in CRC calculation for blocks larger than 512 bytes, compromising the integrity of the image. Solutions such as more robust packet fragmentation, retransmission of corrupted packets, and incremental CRC checks are suggested to improve the process. |
URI: | http://repositorio.ufc.br/handle/riufc/79238 |
Currículo Lattes do Orientador: | http://lattes.cnpq.br/1285670576587821 |
Tipo de Acesso: | Acesso Aberto |
Aparece nas coleções: | ENGENHARIA DE COMPUTAÇÃO - Monografias |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
2024_tcc_apbezerra.pdf | 3,14 MB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.