Escola Superior de Tecnologia de Tomar Tiago Alexandre Martins Fernandes sistema integrado de segurança e gestão de energia (sisge)



Baixar 9.55 Mb.
Página21/26
Encontro30.10.2016
Tamanho9.55 Mb.
1   ...   18   19   20   21   22   23   24   25   26

  1. Shield Ethernet Arduino.

Esta placa contém um leitor de cartões de formato microSD que pode ser utilizado para a partilha de informação para a rede. Contudo, este leitor não será utilizado nesta fase do projeto.

A comunicação é feita por meio de protocolo de comunicação SPI através da porta ICSP do Arduino Mega. Este protocolo de comunicação série é usado em microcontroladores para comunicarem com periféricos a pequenas distâncias. Utiliza uma gestão mestre/escravo, geralmente o mestre é o microcontrolador e os escravos são os restantes elementos periféricos. A transmissão de informação é feita através de três linhas com sentidos únicos. A MISO (Master in Slave out) de envio de dados para o mestre, a MOSI (Master out Slave in) de envio de dados para o escravo e SCK que transmite um impulso de relógio que serve de meio de sincronização dos dados. A linha SS (Slave Select) ativa o escravo com o qual o mestre quer comunicar.

A comunicação é partilhada entre o circuito integrado W51000 e o leitor de cartões, sendo a escolha feita através da ativação das portas 10 e 4 respetivamente. Como partilham a mesma porta SPI, a comunicação apenas pode ser feita à vez.

A placa dispõe de uma série de LED que indicam vários estados, como descrito na Tabela 4.



  1. Resumo dos indicadores luminosos do Shield Ethernet.

Nome

Funcionamento

PWR

Indica que a placa está ligada

LINK

Indica a existência de ligação à rede, pisca quando existe transmissão de informação

FULLD

Indica se a ligação Ethernet está a ser feita com suporte full Duplex (comunicação bidirecional simultânea)

100M

Indica que a ligação Ethernet está a ser feita a 100 Mbits/s ao invés de 10 Mbits/s

RX

Pisca quando informação é recebida

TX

Pisca quando informação é enviada

COLL

Pisca quando são detetadas colisões na rede

Todas as portas da placa de desenvolvimento Arduino Mega estão acessíveis no Shield, com exceção das portas 4, 8 e SICSP. A atribuição de um endereço de IP ao Shiled Ethernet é configurada através da programação do microcontrolador. Para configurar o Shield Ethernet no Arduino foi utilizada a biblioteca Ethernet.h, disponível no IDE Arduino e de livre utilização. Esta biblioteca é responsável pelo controlo do circuito integrado W51000, em que foram utilizadas as seguintes funções:


Em que, “mac” representa o endereço físico que se deseja atribuir ao dispositivo a registar na rede Ethernet. A função “IPAddress” define o endereço de IP que mais tarde será atribuído ao dispositivo. Um novo cliente de Ethernet é criado através da função “EthernetClient”. Este cliente será chamado sempre que se queira enviar ou receber informação para a rede. O registo do dispositivo na rede é feito pela função “Ethernet”, que regista o endereço “mac” e o seu respetivo endereço de IP na rede.

A ligação de Wi-Fi integrada no microcontrolador ESP8266 permite a ligação direta do microcontrolador ao Router.

A biblioteca ESP8266WiFi.h foi utilizada para registar a placa NodeMCU na rede Wi-Fi. Foi utilizado o seguinte conjunto de funções presentes nesta biblioteca:



A função “WiFiClient” cria um novo cliente de Wi-Fi que será chamado sempre que se queira enviar ou receber informação para a rede. É utilizada a função “WiFi.begin()” para registar o dispositivo na rede identificada pelo seu SSID. Para verificar o estado da ligação é utilizada a função “WiFi.status()”.

A unidade central de controlo do sistema, o computador Raspberry Pi 2, liga-se à rede Ethernet através da porta RJ45 disponível no mesmo. A atribuição de um endereço de IP é automática e gerida pelo Router.

MQTT


O protocolo de mensagens escolhido para as comunicações entre as unidades periféricas e a unidade central foi o Message Queue Telemetry Transport (MQTT).

O broker escolhido para instalação na unidade central de controlo foi o Mosquitto. Este é um broker de livre utilização que implementa o protocolo MQTT.



Para instalar o servidor de MQTT Mosquitto no Raspberry Pi 2 foram executados através de uma ligação SSH os seguintes comandos:

Este conjunto de comandos adicionam a chave de verificação de veracidade e o reportório Mosquitto à lista de fontes de pacotes de instalação. De seguida é instalado o broker Mosquitto. Por padrão a porta do servidor é a 1883, esta manteve-se inalterada.



Para testar o correto funcionamento do broker foi efetuado um teste de subscrição e publicação para um tópico através da linha de comandos. Numa linha de comandos foi subscrito o tópico “sensors/temperature” com nível QoS igual a 1 ao utilizar o comando mosquitto_sub:

Numa segunda linha de comando foi enviada uma mensagem através do comando mosquitto_pub, com o valor “32” para o canal “sensors/temperature” e com nível QoS igual a 1:



Resultando na receção por parte do subscritor de uma mensagem com o valor “32”.

Devido ao Router Ethernet restringir o acesso à rede a partir de fontes externas, optou-se por não configurar nenhum método de segurança adicional no broker. No entanto, este dispõe do comando mosquitto_passwd que permite a gestão de utilizadores e palavras-passe para autentificação dos clientes do servidor. Mais informação sobre o broker Mosquitto encontra-se no DVD em anexo.

A biblioteca PubSubClient.h foi utilizada para registar as placas Arduino e NodeMCU no servidor Mosquitto. As funções de publicação/subscrição de tópicos funcionam em conjunto com as funções das bibliotecas de ligação às redes Ethernet e Wi-Fi, é através dos seus clientes que as mensagens MQTT são enviadas. As seguintes funções da biblioteca PubSubClient.h foram utilizadas:



Em que, a função “PubSubClient” cria um cliente MQTT através de uma ligação Ethernet ou Wi-Fi. A função “connect()” regista o cliente no broker. A informação sobre o endereço do broker é feita através da função “setServer()”. A verificação do estado da ligação ao broker é feita pela função connected(). A subscrição de tópicos é feita recorrendo à função “subscribe()”, enquanto a publicação de mensagens para tópicos é feita recorrendo à função “publish()”. Quando uma mensagem é enviada para um tópico subscrito por um destes clientes o método “callback” é chamado para que a mensagem possa ser recebida. Este método é definido no cliente local pela função “setCallback”.




Catálogo: bitstream -> 10400.26 -> 12643
12643 -> Escola Superior de Tecnologia de Tomar Tiago Alexandre Martins Fernandes sistema integrado de segurança e gestão de energia (sisge)
10400.26 -> Fatores determinantes na mudança de auditor: o caso português
10400.26 -> Instituto Politécnico de Portalegre Escola Superior de Tecnologia e Gestão de Portalegre
10400.26 -> Instituto Superior de Gestão a tributação Específica das Sociedades Desportivas em Portugal: o caso particular do Futebol Profissional Fernanda Duarte Marques Projeto apresentado no Instituto Superior de Gestão, para obtenção do Grau de Mestre em Gestão
10400.26 -> Instituto Politécnico de Coimbra Escola Superior Agrária de Coimbra
10400.26 -> BioEnergia Acrónimo: BioEnergia
10400.26 -> Introdução 1 Capítulo I prática de Ensino Supervisionada I e II
10400.26 -> Relatório final da prática de ensino supervisionada andreia Sofia Aguiar Silva
10400.26 -> Validade e Fiabilidade da escala de Mobilidade Funcional – Idosos e Muito Idosos (emf-imi)

Baixar 9.55 Mb.

Compartilhe com seus amigos:
1   ...   18   19   20   21   22   23   24   25   26




©bemvin.org 2020
enviar mensagem

    Página principal
Prefeitura municipal
santa catarina
Universidade federal
prefeitura municipal
pregão presencial
universidade federal
outras providências
processo seletivo
catarina prefeitura
minas gerais
secretaria municipal
CÂmara municipal
ensino fundamental
ensino médio
concurso público
catarina município
Dispõe sobre
reunião ordinária
Serviço público
câmara municipal
público federal
Processo seletivo
processo licitatório
educaçÃo universidade
seletivo simplificado
Secretaria municipal
sessão ordinária
ensino superior
Relatório técnico
Universidade estadual
Conselho municipal
técnico científico
direitos humanos
científico período
espírito santo
pregão eletrônico
Curriculum vitae
Sequência didática
Quarta feira
prefeito municipal
distrito federal
conselho municipal
língua portuguesa
nossa senhora
educaçÃo secretaria
segunda feira
Pregão presencial
recursos humanos
Terça feira
educaçÃO ciência
agricultura familiar