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



Baixar 0.94 Mb.
Página4/4
Encontro29.10.2016
Tamanho0.94 Mb.
1   2   3   4

  1. Diagrama geral descritivo dos dispositivos utilizados.
  1. Unidade Central – Raspberry Pi 2




1.1.Sistema Operativo


O sistema operativo é instalado diretamente no cartão microSD, a instalação é feita ligando o cartão microSD a um computador, sendo necessário efetuar os seguintes passo:


  1. https://www.raspberrypi.org/downloads/raspbian/

    Descarregar uma imagem com o sistema operativo, disponível em:

  2. Descompactar a imagem de dentro do ficheiro Zip.


  3. https://www.sdcard.org/downloads/formatter_4/eula_windows/index.html

    Descarregar o software SD Formater em:



  4. Descompactar e executar o software SD Formater.

  5. Formatar o cartão microSD com o SD Formater.


  6. http://sourceforge.net/projects/win32diskimager/

    Descarregar o software Win32 Disk Imager rem:



  7. Instalar e executar o programa Win32 Disk Imager.

  8. Abrir o Win32 Disk Imager, selecionar o ficheiro de imagem anteriormente descompactado e selecionar a unidade correspondente ao cartão microSD. Clicar no botão Write para dar início ao processo de escrita no disco. Quando este processo terminar basta inserir o catão no Raspberry Pi e ligar o mesmo.

A ligação SSH ao Raspberry Pi pode ser efetuada com o software Putty, efetuando uma ligação SSH ao endereço raspberrypi na porta 22.



1.2.MQTT


Para instalar o servidor de MQTT Mosquitto no Raspberry Pi 2 devem ser 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.

1.3.Instalação node RED


Para instalar o Node-Red no Raspberry Pi devem ser executados os seguintes comandos através de uma ligação SSH:

Este conjunto de comandos descarrega e instala a aplicação Node-Red, assim como as suas dependências. Para iniciar o Node-Red o seguinte comando foi executado:



O acesso à pagina web do Node-Red é feito através do endereço local http://raspberrypi:1880/.

Para instalar o nó que permite a ligação a bases de dados MySQL o seguinte código deve ser executado:

Depois disto o Node Red deve ser reiniciado através do comando:





1.3.1.Importação código Node RED


Para importar os fluxos desenvolvidos, depois de instalado o Node Red e o nó MySQL, deverão ser seguidos os seguintes passos:

  1. Aceder à página do Node Red e clicar no menu de opções existente no topo direito da página, e aceder à opção Import > Clipboard.

  2. Copiar o conteúdo do fluxo que se deseja importar e colar na janela que surgiu na página do Node Red. Confirmar clicando em Ok.

O código fornecido encontra-se comentado, e está disponível no DVD anexado a este documento.



1.4.Base de dados - MySQL


Para instalar a base de dados MySQL deve ser executado os seguintes passos:

Durante o processo de instalação da base de dados será requisistado uma palavra-pass para o utilizador root da base de dados.



Os seguintes passos devem ser seguidos para proceder à criação da base de dados:

Para executar a gestão da base de dados, ou seja, criação e manutenção das tabelas, vistas, triggers e eventos, aconselha-se o uso do software Dbeaver.

Após criar uma ligação à base de dados utilizando o endereço de IP do Raspberry Pi, utilizar dbuser e palavra-passe sisge, os scripts SQL disponíveis no DVD fornecido juntamente com este documento devem ser executados. Os scripts encontram-se comentados.

Os serviços e preços da energia devem são inseridos na tabela PRICES. As definição do serviço, ciclo horário e potência contratada é feita na tabela OPTIONS.



1.5.Interface gráfica - Dashing


A aplicação Dashing executa sobre um serviço Ruby (ruby-dev) que já se encontrava instalado no Raspberry Pi. A instalação do Dashing no Raspberry Pi foi feita ao ser executado o seguinte comando:

Para importar a aplicação desenvolvida, a pasta sisge fornecida juntamente com este documento deve ser copiada para a pasta de rede disponível em:



ou diretamente através de ftp para a pasta



A aplicação é iniciada ao ser executado o seguinte comando:



A programação da interface é feita em tês locais:



  • ficheiro home.erb que contem todo o código html que invoca os widgets de todas as páginas. É neste ficheiro que se decidem quais e como são dispostos os widgets (data-row/data-col), assim como a sua dimensão (data-sizex/data-sizey).

  • Scripts em linguagem Ruby. Estes scripts executam serviços ao iniciar da aplicação ou em rotinas programadas. Estão localizados dentro da página jobs.

  • Configurações dos widgtes que contém três ficheiros:

    • Script coffeescript que executa invocações REST e define valores dos widgets ,entre outras possibilidades;

    • Ficheiro html que contém a estrutura do widget;

    • Ficheiro scss que contém a programação javascript de configuração dos estilos do widget.

O envio de dados da interface para o Node-Red é feito através de um serviço REST local da aplicação, isto porque por razões de segurança da aplicação a chamada de serviços deste tipo não pode ser feita diretamente pelo WebBrowser do utilizador. Os serviços criados para este efeito são iniciados pelo script nred.rb contido na pasta jobs. O ficheiro com as funções executadas sempre que um serviço é chamado, encontram-se na pasta lib no ficheiro NRApp.rb.

O código desenvolvido encontra-se comentado e está no DVD entregue juntamente com este documento.


  1. Unidades periféricas – Arduino e NodeMCU




1.6.Preparação IDE desenvolvimento


Depois de efetuado o download do IDE Arduino da página e de modo a configurar o ambiente para poder compilar o código desenvolvido para o Arduino Mega e NodeMCU, os seguintes passos devem ser seguidos:


  1. http://arduino.esp8266.com/stable/package_esp8266com_index.json

    Abrir o IDE Arduino e ir a File > Preferences e adicionar ao campo Additional Board Manager URLs o seguinte URL:



  2. Carregar Ok e abrir o meno Tools > Board: > Board Manager.

  3. Procurar por “esp8266” e instalar a biblioteca. Aguardar que termine a instalação e de seguida reiniciar o IDE.

  4. Instalar a biblioteca PubSubClient para utilização com o MQTT indo a Sketch > Include Library > Manage Libraries

  5. Pesquisar a biblioteca PubSubClient selecionar e instalar a mesma.



1.7.Programação dos microcontroladores

Para programar os microcontroladores os seguintes passos devem ser efetuados:



  1. Abrir o IDE Arduino, no menu Tools > Board: Selecionar a placa de desenvolvimento que se deseja programar (Arduino ou ESP8266) e selecionar a porta de comunicação série correspondente ao mesmo em Tools > Port.

  2. Abrir o código correspondente à placa e carregar no botão Upload e esperar que a compilação e envio terminem.

O código utilizado está disponível no DVD anexado a este documento. O mesmo encontra-se comentado.



1.7.1.Meios de comunicação


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.

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”.




1.8.Definição das constantes



http://raspberrypi:1880/services/rest/sendOptions?_nome_da_opcao_=_valor_
A alteração das constantes ultilizadas para calculo dos valores da tensão, corrente, tempo de envido das leituras e estado dos atuadores pode ser feito através de um WebBrowser ao invocar o seguinte link:

em que _nome_da_opcao_ é o nome da constante que queremos alterar o valor e _valor_ é o valor para o qual se pretentede alterar.



Estas constantes podem ser definidas diretamente na base de dados.
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 0.94 Mb.

Compartilhe com seus amigos:
1   2   3   4




©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
reunião ordinária
Dispõe sobre
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
Universidade estadual
Relatório técnico
Conselho municipal
técnico científico
direitos humanos
científico período
pregão eletrônico
Curriculum vitae
espírito santo
Sequência didática
Quarta feira
conselho municipal
prefeito municipal
distrito federal
língua portuguesa
nossa senhora
educaçÃo secretaria
Pregão presencial
segunda feira
recursos humanos
educaçÃO ciência
Terça feira
agricultura familiar