Dev (Back & Front)ARTIGO

Conheça o Mongoose OS

Neste artigo, o autor apresenta o sistema operacional Mongoose e fala sobre suas principais características e vantagens.

O Sistema Operacional open sourceOpen source71 conteúdosComo o Open Source Está Liberando o Poder da Automação para TodosDev (Back & Front) · out 2025Código aberto: programadores criam software da NASA sem saberDev (Back & Front) · abr 2021N8N: O que é a ferramenta open source que está revolucionando a automação em TI?Dev (Back & Front) · dez 2025Ver tudo em Dev (Back & Front) , Mongoose OS é voltado para sistemas embarcados, suportando as arquiteturas ESP32, ESP8266, CC3220, CC3200, entre outras. Com a promessa de um desenvolvimento IoT (Internet das coisas) facilitado, ele nos permite programar tanto em JavaScript quanto em C.

O bacana é que com ele não precisamos perder tempo implementando protocolos, como: MQTT, HTTP, WebSocket, SNTP, entre outros. Já está tudo pronto. Além da atualização Over-The-Air (OTA) da biblioteca ARM mbedTLS e do microChip (ATECC508A).

O sistema também traz uma integração com a AWSAWS20 conteúdosE-mails de verificação com AWS SES + Lambda (Node.js) e Terraform: do zero ao envioDevSecOps · out 2025Codex na AWS: chegada do agente da OpenAI à nuvem da AmazonDevSecOps · abr 2026Salesforce e AWS ampliam colaboração em IA, CRM e marketplaceDevSecOps · nov 2023Ver tudo em DevSecOps IoT, Google IoT Core, Microsoft Azure, Samsung Artik, Adafruit IO, além do próprio dashboard, onde podemos registrar dois dispositivos na versão gratuita.

Primeiros passos

Download

Para começar, faça o download e instalação do mos tool.

Ambientes

O Mongoose OS permite desenvolver em vários ambientes, inclusive em seu próprio ambiente web. Caso não queria usar o Web UI fornecido é possível criar uma pasta com os arquivos necessários para a criação de seu firmware.

Estrutura

Para a criação do projeto, você pode seguir alguns apps de exemplos já fornecidos. Em um projeto simples só será necessário a criação de dois arquivos, o arquivo contendo a lógica de seu firmware e o arquivo com as configurações de build (mos.yml).

Uma recomendação dos desenvolvedores é de nunca colocar o arquivo de configuração final em seu firmware, caso deseje utilizar a atualização OTA.

Build

Existem duas maneiras de realizar o build. Na forma remota, é feito o upload de seu código para a build machine do Mongoose OS ou caso o Docker esteja instalado em sua máquina, é possível realizar o build local passando a flag –local.

Flash

Para realizar o flash de seu firmware, basta ter realizado o build ou direcionar o flash para o zip de seu firmware, passando a arquitetura usada.

Debug

Para as informações de log no Mongoose OS basta habilitar o debug.level no seu arquivo de configuração com as informações que melhor se encaixam em seu ambiente. Por padrão, o debug.level vem com o nível 2, exibindo informações de erros, avisos e informações. É possível enviar estas informações de debug em um tópico MQTT caso este esteja configurado.

Configuração

O Mongoose OS usa o sistema de configuração multicamada, havendo duas partes, o tempo de compilação que define as configurações e o tempo de execução que faz uso das configurações definidas. Os arquivos de configurações são usados para executar a lógica interna do próprio Mongoose OS, estando entre elas: configuração de rede, dos protocolos, entre outras.

As camadas de configuração são: conf0.json configurações padrão do sistema, conf1.json ao conf8.json camadas seguidas executando as configurações setadas, e por último o conf9.json contendo as configurações de execução do firmware. Se você precisa definir seus próprios parâmetros de configuração, adicione uma seção chamada config_schema no arquivo mos.yml. Para mais informações sobre configurações, acesse o link.

Vantagens

  • Código já implementado: Existe muita coisa já pronta, é bem provável que não haja necessidade de codificação.
  • Ajuda da comunidade: A comunidade é extremamente ativa, podendo tirar dúvidas pelo chat, pelo fórum ou abrindo issues no Github.
  • JavaScript: Para você que está acostumado com JavaScript, não terá uma curva de aprendizagem muito grande.
  • Chamada de métodos remotamente: É possível fazer uso da biblioteca RPC Remote Procedure Calls, com chamadas remotas de métodos em seu firmware.

Desvantagens

  • Documentação em Inglês: Caso tenha problemas com documentação em inglês, já vai se acostumando.
  • Algumas Limitações: Apesar de ser nomeado como um sistema operacional, vá com calma, pois não tem a mesma liberdade que um SO normal teria, lembrando que é um sistema para microcontroladores.

Observações

  • JavaScript: Para você que está acostumado a programar em nodejs, talvez sinta uma diferença programando em JS no Mongoose, por isso dê uma olhada na documentação do mjs.
  • Encriptação do flash: Tome cuidado ao realizar esta encriptação. Você corre o risco de não conseguir mais flashar em seu dispositivo, por isso, esteja atento às especificações dessa funcionalidade.

Conclusão

É um sistema bem construído, possui ótimas integrações e uma implementação facilitada. Em minha experiência com o Mongoose OS pude perceber que ele realmente faz o que promete, facilita o desenvolvimento.

Referências

Técnico em Sistema da Informação pela Fundação Indaiatubana de Educação e Cultura (FIEC) cursando o ensino superior no curso de Análise e Desenvolvimento de Sistema pela Faculdade de Tecnologia de Indaiatuba (FATEC) e trabalhando na Lumminy Ltda. com o desenvolvimento de ambientes web e sistemas embarcados.

Ver perfil