Simulando aplicações simples com TinyOS e Cooja
Este artigo é um tutorial que mostra como simular aplicações voltadas para Redes de Sensores sem Fio (RSSF), utilizando o TinyOS e o simulador Cooja. As aplicações que serão abordadas são: app Blink e um mini sistema distribuído simulando a mensagem de "eco" na arquitetura cliente-servidor.
Introdução e contextualização
Ultimamente, os sistemas distribuídos usando redes de sensores sem fio (RSSF), estão sendo bastante estudados. Apesar de poucas pessoas conhecerem o trabalho, que é desenvolvido com esse tipo de rede, existem várias aplicações que fazem seu uso - aplicações de sensoreamento em geral (exército, medicina, escritórios, plantações).
Venho, portanto, por meio deste tutorial, mostrar como simular algo no TinyOS, uma espécie de sistema operacional voltado para o desenvolvimento de aplicações de RSSF, juntamente com o software Cooja, que simula um ambiente de rede, permitindo analisar tudo o que acontece durante a execução da aplicação.
A linguagem de programação utilizada no desenvolvimento é bem parecida com a linguagem C, ela se chama nesC (network embedded systems C).
De uma maneira geral, um programa em nesC é composto por dois arquivos, são eles o componente de configuração e o componente de implementação:
Obs.: a compreensão do código fica por conta do aprendiz. Eu utilizo o livro "TinyOS Programming eBook".
Esta é a máquina virtual, já configurada com os softwares que serão utilizados (a senha é user):
Venho, portanto, por meio deste tutorial, mostrar como simular algo no TinyOS, uma espécie de sistema operacional voltado para o desenvolvimento de aplicações de RSSF, juntamente com o software Cooja, que simula um ambiente de rede, permitindo analisar tudo o que acontece durante a execução da aplicação.
A linguagem de programação utilizada no desenvolvimento é bem parecida com a linguagem C, ela se chama nesC (network embedded systems C).
De uma maneira geral, um programa em nesC é composto por dois arquivos, são eles o componente de configuração e o componente de implementação:
- O primeiro é voltado para definir e criar uma interface para componentes reais, que vão prover as funcionalidades que estamos interessados.
- O segundo, visa implementar os eventos das interfaces do módulo, que contém as interfaces que serão usadas na aplicação.
Obs.: a compreensão do código fica por conta do aprendiz. Eu utilizo o livro "TinyOS Programming eBook".
Esta é a máquina virtual, já configurada com os softwares que serão utilizados (a senha é user):
Eu queria saber quais são as diferenças entre o Contiki e o TinyOS?
Para um projeto de Automação Residencial, qual você usaria?
Eu pretendo ter uma Aplicação(Provavelmente em Django) rodado em um Raspberry Pi e comunicando com os Sensores e os Atuadores através CoAP, você vê algum problema nesta arquitetura?
Para eu ligar o Raspberry Pi aos Sensores, eu necessito de um radio do mesmo dos Sensores ligado no Raspberry Pi, correto? Tem como ligar esse radio por USB? Ou Somente pelo GPIO?
Se eu usar a MSP430 Launchpad + CC2500 para desenvolver, eu vou ter alguma limitação, e muito difícil fazer essa ligação?
Essa Telosb é fácil de encontrar?
Desculpa ai pela quantidade de perguntas e por que eu estou começando agora nesse mundo então tenho um monte de duvidas.