Objetivo: Desenvolvimento de uma aplicação de rede de sensores sem fio (IoT) com base no projeto OpenThread (equipe APP) e portabilidade do projeto para a plataforma SAM R21 Xplorer Pro (equipe HAL).
• Duas equipes de projeto (APP ou HAL, 8 integrantes cada). • Cada equipe deve montar um cronograma de desenvolvimento com divisão de tarefas (contribuições individuais ou em duplas – pair programming). • Repositórios de cada equipe no github.com O projeto deverá ser:
- Mantido em repositório no GitHub.
- Organizado e implementado como um sistema multitarefas (OpenThread RTOS).
- Realizar a portabilidade do projeto OpenThread RTOS (OTRTOS) que utiliza FreeRTOS, LwIP para o HW do laboratório (SAM R21 e SAM D21 Xplorer Pro).
- Realizar os testes necessitados pela equipe de APP para rodar a aplicação na plataforma de HW e no OT-RTOS.
- Realizar a demonstração do projeto e documentar os passos necessários para portar a aplicação: como compilar, usar, testar e executar a demonstração.
O sistema deve permitir o monitoramento:
- Do estado da rede. (conectado/desconectado)
- Da conexão dos dispositivos.
- Da taxa de entrega das mensagens.
- Placas de desenvolvimento:
- Disponíveis no Laboratório:
- ARM SAM D21 ou SAM R21 Xplorer Pro
- Opcionalmente, Arduinos
- Ou outras quaisquer, como:
- ESP32, Raspberry Pi, etc
Para auxiliar no desenvolvimento extra-classe sugere-se o uso de simulador.
- Simulador IAR EW ARM, MPLAB, etc.
- Simulador OpenThread (em Linux, MAC OS, Windows/Docker). OpenThread Network Simulator (OTNS): https://openthread.io/platforms/simulation?hl=pt-br
- Relatório final em pdf – 20%
- Projeto com código-fonte (link do repositório do GitHub.com). Licença: código-aberto/open-source MIT - 30% (contribuições individuais ou em duplas, conforme relatório do github)
- Documentação pdf do código-fonte (gerado com Doxygen) – 10%
- Apresentação em ppt ou vídeo – 40% (haverá perguntas individuais)
• Até a última semana do semestre (antes da semana de exames finais). • Acompanhamento semanal (terças-feiras). • Execução no laboratório (quintas-feiras). • Anotações compartilhadas em: https://docs.google.com/document/d/1wH1syYwm5gm5lCkSNSCq9IpZZ0ZUaTe_Ln4mlxfcBb4/edit?usp=sharing
The OpenThread RTOS project provides an integration of:
- OpenThread, an open-source implementation of the Thread networking protocol.
- LwIP, a small independent implementation of the TCP/IP protocol suite.
- FreeRTOS, a real time operating system for microcontrollers.
OpenThread RTOS includes a number of application-layer demonstrations, including:
- MQTT, a machine-to-machine (M2M)/"Internet of Things" connectivity protocol.
- HTTP, the underlying protocol used by the World Wide Web.
- TCP, one of the main transport protocols in the Internet protocol suite.
git submodule update --init
mkdir build && cd build
cmake .. -DPLATFORM_NAME=linux
make -j12This will build the CLI test application in build/ot_cli_linux.
git submodule update --init
mkdir build && cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/arm-none-eabi.cmake -DPLATFORM_NAME=nrf52
make -j12This will build the CLI test application in build/ot_cli_nrf52840.hex. You can flash the binary with nrfjprog(Download) and connecting to the nRF52840 DK serial port. This will also build the demo application in build/ot_demo_101. See the Demo 101 README for a description of the demo application.
We would love for you to contribute to OpenThread RTOS and help make it even better than it is today! See our Contributing Guidelines for more information.
Contributors are required to abide by our Code of Conduct and Coding Conventions and Style Guide.
We follow the philosophy of Scripts to Rule Them All.
OpenThread RTOS is released under the BSD 3-Clause license. See the LICENSE file for more information.
Please only use the OpenThread name and marks when accurately referencing this software distribution. Do not use the marks in a way that suggests you are endorsed by or otherwise affiliated with Nest, Google, or The Thread Group.
OpenThread support is available on GitHub:
- OpenThread RTOS bugs and feature requests — submit to the openthread/ot-rtos Issue Tracker
- OpenThread bugs and feature requests — submit to the OpenThread Issue Tracker
- Community Discussion - ask questions, share ideas, and engage with other community members
To learn more about OpenThread, see the OpenThread repository.