Arduino - Visão Geral
A plataforma Arduino é uma ferramenta simples e fácil de usar mesmo para leigos em programação e eletrônica. Essas características tornaram ela uma plataforma muito utilizada para o desenvolvimento de prototipos. Por se tratar de uma plataforma aberta de hardware e software (open-hard e open-soft), qualquer um pode montar uma plataforma Arduino e criar protótipos com kits Arduino.
O Arduino é composto, entre outros elementos por: um microcontrolador, portas de entrada e saída digitais, portas para comunicação serial, portas de entrada analógicas e de saída PWM (Pulse-Width Modulation), uma conexão USB, um conector de tensão contínua e um botão de reset.
Microcontrolador (tipo ATmega) - gerencia os sinais das portas de entrada e saída e de comunicação. As funções de gerenciamento do microcontrolador são programáveis, no Arduino o microcontrolador está preparado para rodar (executar) um programa em loop, verificando estados das portas e selecionando ações a serem executadas em função desses estados.
Porta Digital - permitem conectar periféricos a placa do Arduino, tais como LEDs, chaves, sensores de temperatura, luminosidade ... Essas portas possuem apenas dois estados elétricos. Estado alto, quando na porta tem uma tensão de 5 V ou estado baixa, quando a tensão é igual a 0 V.
Nos sistemas de telecomunicações atuais a informação passada entre um receptor e um transmissor (ex: da emissora de TV para o aparelho de TV, de um computador para outro, de um celular para outro) é enviada no formato digital. Isto é, o sinal transmitido só pode assumir uma quantidade finita de valores.
Nessas portas de entrada e saída é possível conectar botões, sensores, LEDs ou quaisquer outros dispositivos elétricos, tornando inúmeras as possibilidades de uso para essa plataforma.
Na topologia escolhida o Coordenador desempenha função fundamental na rede, ou seja, tem todo o controle da rede, assumindo um papel central e fazendo a comunicação direta com o APP e todos os dispositivos finais. Toda a informação transmitida tem que passar pelo Coordenador, por esse motivo seu código deve processar as mensagens das duas redes, Bluetooth e Zigbee.
A expansão das funcionalidades da plataforma Arduino é possível através da conexão de diversos shields e módulos de comunicação encontrados no mercado.
Para a conexão com o dispositivo Andróid, por exemplo, pode ser usado o shield bluetooth HC-06. Similar ao módulo da figura abaixo.
Para a comunicação entre o Servidor e os Controladores Finais foram escolhidos os módulos XBee.
XBee é a marca da Digi International para uma família de módulos de rádio comunicação. Esses rádios operam usando o protocolo ZigBee, utilizado para aplicações que exigem baixas taxas de transmissão de dados e baixo consumo de energia.
O programa para o Servidor é dividido em subsistemas. Cada um desses subsistemas e suas funcionalidades são mostrados na figura abaixo.