quinta-feira, 26 de março de 2020

Criação de uma maquina virtual E2C, configuração do XAMPPs e configuração da nossa página WEB


Criação de um serviço E2C, instalação de servidor apache e hospedagem da página web.
Partindo do console de gerenciamento da AWS, localize o serviço EC2
Acesse a guia Instances
E acesse o botão Launch Instance
Selecione o sistema operacional e clique em select
Selecione o tipo de instancia e clique em Review and Launch

Será solicitada que seja criada uma chave de acesso. Crie uma chave ou utilize a mesma utilizada anteriormente. Você precisará dela para acessar a sessão da maquina posteriormente.
Aguarde até que a instancia seja preparada e apresente o status conforme a imagem
A conexão a instancia é realizada seguindo as instruções abaixo
Clique em Conect
Utilize o aplicativo PuTTygen para converter a chave .pem em .ppk. Importe a chave .pem e clique em Save private key.

Na guia session adicione o seu endereço de dns personalizado conforme apresentado nas instruções de sua sessão.
Após acesse a guia de Configurações SSH e selecione o certificado criado anteriormente.
Clique em Open.
Agora estamos conectados a sessão remota de nossa estação Linux de cloud computing AWS.

Instalação do Xampp na estação remota.
Uname –m para descobrir a versão do Linux (32 ou 64)
Verifique o link com a versão atualizada do endereço https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/

baixe a última versão do XAMPP para o seu sistema e salve-o com o nome xampp-installer.run:
o comando fica assim
Torne o arquivo executável com o comando abaixo;
chmod +x xampp-installer.run

 Inicie a instalação do XAMPP, com o seguinte comando;
sudo ./xampp-installer.run

Quando aparecer, siga os passos do assistente de instalação e configuração:
Responda Y para tudo.

Para iniciar todos os serviços do xampp, use o seguinte comando no terminal.
sudo /opt/lampp/xampp start
Para iniciar apenas o Apache, use:
sudo /opt/lampp/xampp startapache
Para iniciar apenas o servidor FTP Proftpd, use:
sudo /opt/lampp/xampp startftp
Para iniciar apenas o servidor de banco de dados MySQL:
sudo /opt/lampp/xampp startmysql
Parando
Para parar todos os serviços do xampp, use o seguinte comando no terminal.
sudo /opt/lampp/xampp stop
Para parar apenas o Apache, use:
sudo /opt/lampp/xampp stopapache
Para parar apenas o servidor FTP Proftpd, use:
sudo /opt/lampp/xampp stopftp
Para parar apenas o servidor de banco de dados MySQL:
sudo /opt/lampp/xampp stopmysql
Reiniciando
Para reiniciar todos os serviços do xampp, use o seguinte comando no terminal.
sudo /opt/lampp/xampp restart
E para outros comandos, é possível verificar a seção de ajuda do xampp executando o seguinte.
sudo /opt/lampp/xampp –help


Precisamos ainda liberar o acesso para serviços de http na maquina criada. Para isso voltamos em instancias e selecionamos O grupo de segurança.

Selecionamos o grupo e editamos as regras de entrada

Adicionamos uma regra para acesso http para todos os ips.
Agora podemos acessar nosso servidor apache usando o dns publico da estação. Estamos com a pagina padrão do XAMPP.

Vamos utilizar o winscp para transferir nossa própria pagina da web para o servidor.
Antes de continuar precisamos colocar uma senha de root em nosso servidor.
Para isso use os comandos su para acessar a super user
E então use o comando passwd para definir um password
Execute a instalação do WINSCP e importe as configurações do putty
Agora temos acesso ao sistema de arquivos do nosso servidor.
Os arquivos do servidor apache ficam localizados na pasta /opt/lampp/htdocs.
Mas não podemos editar diretamente pelo WINSCP pois nosso login não é de root..
Vamos copiar nossos arquivos de projeto para uma pasta temporária no home/ubuntu/htdocs/
E após a conclusão iremos utilizar o putty para mover essa pasta para /opt/lampp/htdocs utilizando o superusuario.
Primeiramente iremos renomear a pasta atual do XAMPPs para BKP. E então substituir a nova pasta.
De dentro da pasta
Usando cd /opt/lampp/htdocs
Excutamos o comando para fazer backup do conteúdo da pasta.
mv htdocs/ bkp/
e então movemos o conteúdo com o comando
mv /home/ubuntu/htdocs/ htdocs/
Agora ja temos o nosso servidor funcionando corretamente e disponivel na web.
 



quarta-feira, 25 de março de 2020

TCC - Sessão 4 - Metodologia - Inacabado

O sistema proposto é composto por diversos componentes que trabalham interconectados na realização das tarefas. Inicialmente os diversos módulos e componentes serão apresentados individualmente, e então será exposto o modelo de funcionamento conjunto.
A internet das coisas e o protocolo MQTT
O protocolo MQTT, sigla de MQ Telemetry Transport, é um protocolo de mensagens leve para sensores e pequenos dispositivos móveis otimizado para redes TCP/IP que implementa um esquema de troca de mensagens fundamentado no modelo Publicator-Subscritor. Este modelo é muito utilizado em internet das coisas e tem seu fundamento apresentado abaixo:
São criados canais de comunicação virtuais chamados tópicos. Um tópico pode ser assinado por um dispositivo, ou pode-se fazer uma publicação em um tópico. Algo similar a uma tag, onde podemos escrever usando a tag, e outros podem fazer  a leitura de todo o conteúdo publicado com a tag. Neste caso o tópico não faz parte da mensagem, é apenas um meio de encontra-la. Um dispositivo chamado ‘thing’ publica em um tópico, e o broker MQTT realiza o envio da mensagem recebida à todos os assinantes daquele tópico especifico. A comunicação entre o dispositivo e o broker depende do serviço utilizado,  a AWS IoT Core utilizada neste projeto se baseia em TCP/IP trabalhando sobre a internet utilizando protocolo  de transporte HTTP e possui autenticação por meio do uso de certificados de segurança.
Amazon Web Services
Conforme descrição da própria empresa, A Amazon Web Services (AWS) é a plataforma de nuvem mais adotada e mais abrangente do mundo, oferecendo mais de 175 serviços completos de datacenters em todo o mundo. Milhões de clientes, incluindo os startups de crescimento mais rápido, grandes empresas e os maiores órgãos governamentais, estão usando a AWS para reduzirem seus custos, ficarem mais ágeis e inovarem mais rapidamente. Dentre todos estes serviços oferecidos, faremos uso de quatro serviços da Amazon neste trabalho. São eles:
·        AWS IOT Core – É uma plataforma de módulos da AWS que fornece serviços de IOT para soluções industriais, comerciais e de consumo. O módulo AWS IOT Core permite que dispositivos conectados interajam de maneira fácil e segura com aplicativos de nuvem e outros dispositivos.
·        Amazon DynamoDB - É um serviço de banco de dados de valor-chave que oferece ótimo desempenho e confiabilidade dos dados armazenados. Permite acesso aos dados por meio de diversas tecnologias que incluem as mais utilizadas como Python, PHP e JavaScript.
·        AWS AppSync - É um serviço gerenciado que usa GraphQL para permitir que aplicativos obtenham exatamente os dados de que precisam com mais facilidade, permite de maneira simples a adição, consulta e edição de dados nos bancos de dados da AWS.
·        Amazon EC2 -  É um web service que disponibiliza capacidade computacional segura e redimensionável na nuvem. Permite que seja configurado um sistema operacional em uma maquina virtual e que esta instancia seja acessada remotamente de qualquer local.


ESBOÇO GERAL DO SISTEMA
O sistema projetado neste trabalho tem sua premissa no uso de cloud computing, ou seja, no uso de serviços de nuvem que executem as tarefas de armazenamento e processamento de dados, sem a necessidade de um servidor hospedado localmente. Desta maneira se eliminam as manutenções regulares, a equipe de suporte pós desenvolvimento e despesas não previstas com reparos. As despesas são fixas e definidas pelas cotas de uso dos serviços da nuvem. O diagrama abaixo ilustra o relacionamento entre o conjunto dos serviços de computação em nuvem e dos dispositivos de aquisicão de dados e de interface com o usuário.
Descrição dos elementos do sistema

Things’ – As ‘coisas’ são os dispositivos utilizados para coleta de dados, podem ser por exemplo microcontroladores conectados a sensores, botões, interfaces ou qualquer outro tipo de coletores de dados. Tais dispositivos são responsáveis por criar um array no formato JSON com os dados coletados e executar o envio desta informação para o broker utilizando o canal criado por um Tópico previamente definido. Neste projeto utilizaremos uma ESP8266 para recolhimento, processamento e publicação dos dados de sensoriamento para o broker.
AWS IoT Core – É o broker MQTT do projeto que se responsabiliza por criar o canal de comunicação entre as ‘things’ e a nuvem. Executa tarefas como receber as mensagens publicadas e retransmiti-las a todos os ‘subscribers’. Trabalha com o payload no formato de Array JSON e cada mensagem recebida tem seu formato conforme apresentado na figura a seguir.
AWS AppSync – É uma “Application Programming Interface", ou seja, um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software ou plataforma baseado na Web. Neste caso esta API fornece uma maneira pratica de relacionamento entre os diversos serviços da AWS. Utilizaremos a AppSync para fazer a assinatura do tópico utilizado por nossos dispositivos para envio dos dados e para processar a mensagem (payload) recebida. Esta API realizará adicionalmente o encaminhamento deste conjunto de informações para o serviço de armazenamento DynamoDB.
DynamoDB – É o banco de dados utilizado para armazenamento de todas as informações coletadas pelos dispositivos (things). Possui uma tabela organizada conforme apresentado na figura a seguir.
Cada dispositivo possui um id único que permite sua posterior identificação por ocasião da requisição dos dados, no DynamoDB esta chave é chamada de chave de partição. A chave timecode, é uma chave de classificação e torna cada registro de dados único, por isso não pode haver repetições de valor de timecode em um mesmo device. Isso é garantido pelo fato de que o valor de timecode é gerado no momento do envio do payload por um código UTS (UnixTimeStamp) que corresponde a quantidade de segundos desde o início do primeiro dia de janeiro 1970. (UTC)
Cada registro do banco de dados inclui um valor de cada parâmetro coletado.

Funcionamento

TCC - Sessão 3 - Objetivos


OBJETIVOS
OBJETIVO PRINCIPAL
Definindo o objetivo principal deste trabalho está o desenvolvimento de um sistema que permita monitorar a qualidade de fornecimento e o consumo de energia elétrica de uma residência ou outro ambiente de maneira simples e prática. O sistema permitirá a visualização dos dados em uma interface com gráficos de consumo em retrospecção, além de análises e previsões baseadas nos hábitos de consumo registrados.
Os principais requisitos de projeto são:
·        O hardware de aquisição dos dados deve ser leve e compacto.
·        A precisão dos dados coletados deve ser maior do que 5%.
·        O produto deve oferecer segurança ao usuário e fácil instalação.
·        O custo do produto final deve ser reduzido.
·        O acesso do usuário a interface de consulta dos dados e resultados deve ser feita de maneira simples e prática por meio de uma interface de aplicativo ou página da web na internet.
·        O dispositivo de medição deve ser capaz de enviar os dados para o banco de dados por meio de internet sem fio.
·        O projeto proposto deve ser flexível, permitindo que sejam monitorados múltiplos pontos de consideração.
·        O acesso aos dados deve estar protegido de acessos indevidos por meio de usuário e senha ou outra tecnologia similar.
OBJETIVOS ESPECIFICOS
Para facilitar a organização deste trabalho e tentar garantir que todos os requisitos citados no objetivo principal sejam atingidos com sucesso, foram elaborados objetivos específicos que servirão como metas sequenciais a serem alcançadas durante o desenvolvimento. Como itens de uma lista inicial de objetivos específicos podem ser alistados:
·        Descrição em esboço de funcionamento do sistema.
·        Análise dos fluxos de dados e de viabilidade.
·        Pesquisa e definição das tecnologias e componentes a serem utilizadas.
·        Estudo e descrição de todas as tecnologias e componentes envolvidos no projeto.
·        Elaboração dos diagramas elétricos e eletrônicos.
·        Execução da programação dos dispositivos e plataformas de backend.
·        Testes e correções.
·        Execução da programação das plataformas de frontend.
·        Testes, correções e aprimoramentos finais.


TCC Sessão 2 - Justificativa


JUSTIFICATIVA
A utilização racional de energia fica cada vez mais em pauta à medida que o mundo procura pensar e agir de modo sustentável. Conforme relatório divulgado pela Associação Brasileira das Empresas de Serviços de Conservação de Energia (Abesco) e noticiado pelo jornal O Estadão, o desperdício de energia custou mais de R$60 bilhões para a economia brasileira nos anos de 2015 a 2017. Além do prejuízo econômico, o mau uso da energia afeta a geração de gases nocivos para a atmosfera, sendo responsável por uma parcela considerável no efeito estufa e demandando a utilização de grandes áreas territoriais e recursos ambientais.
No Brasil, a maior parte da geração de energia elétrica provém de usinas hidrelétricas, ficando, portanto suscetíveis a mudanças climáticas e a períodos de estiagens. Diante da ocorrência de longos períodos sem chuvas, outras formas de geração de energia acabam sendo utilizadas, gerando maior poluição e também variação no valor das tarifas.
Para tentar analisar e corrigir nosso modo de consumir energia, precisamos primeiramente possuir maneiras de mensurar o consumo de modo adequado. Neste aspecto o medidor de energia elétrica da concessionária de energia não se mostra eficiente, pois não permite a visualização remota nem a criação de um banco de dados retrospectivo de consumo, além de executar a leitura de modo muito genérico e indefinido em questões relacionadas à quais ambientes estão exercendo uma contribuição maior no consumo e em quais horários.
A proposta deste trabalho é desenvolver um sistema capaz de facilitar a mensura da energia elétrica em residências ou outros ambientes, permitindo que sejam coletados dados zoneados do consumo.  Este sistema será capaz de informar quanto cada equipamento está consumindo, e em quais horários.
Com um mapa de consumo completo do ambiente podem ser tomadas medidas assertivas com o objetivo de substituir equipamentos de baixa eficiência energética e identificar gargalos de consumo. Ampliando-se a utilização de um sistema como esse a nível nacional, certamente poderiam ser minimizados o desperdício de energia e a necessidade de constantes investimentos em infraestrutura de geração e distribuição de energia, além de colaborar para um melhor uso dos recursos naturais nacionais.

TCC - Sessão 1 - Resumo e Introdução


RESUMO

               Neste trabalho propõe-se o desenvolvimento de um sistema para medição de energia monofásica de baixa tensão baseado em rede sem fio que realizará o monitoramento de diversos parâmetros elétricos da rede e seu registro em um serviço de banco de dados. O sistema será implementado em um micro controlador que enviará os dados para um serviço de Iot. Uma interface web permitirá a filtragem e consulta dos dados de qualquer lugar do mundo. O banco de informações adquirido poderá ser usado para inúmeros fins, que incluem: traçar um padrão de consumo do local, definir estatisticamente a previsibilidade do consumo, verificar informações relacionadas à conformidade do fornecimento de energia elétrica e possíveis problemas na instalação elétrica, como desperdício de energia ou problemas no coeficiente de fator de potência. Além disso, este sistema pode colaborar na realização de mudanças nos hábitos de consumo que permitam aprimorar a eficiência energética do ambiente monitorado.



INTRODUÇÃO
Concorrentemente à popularização da internet e sua disponibilização sobre diversas formas de propagação, muitas delas sem a necessidade de fios, houve também a ampliação da gama de dispositivos com dimensões reduzidas e baixo consumo que podem acessar tais redes e compartilhar dados de sensoriamento e até mesmo de controle para sistemas nas mais diversas áreas com uma ótima relação de custo benefício. Isso tem incentivado uma cada vez mais evidente tendência de interconexão e monitoração de dispositivos e ambientes, não somente industriais, mas também domésticos.
Diante da necessidade de coleta e análise de grandes quantidades de dados, surgiram diversas empresas que oferecem serviços de tratamento e armazenamento de dados em servidores remotos. Tais serviços dispensam a necessidade de quaisquer servidores ou infraestrutura hospedada localmente para manter um serviço disponível online.
Dispondo do recente amadurecimento das tecnologias citadas acima, conforme explicado no resumo, propõe-se neste trabalho o desenvolvimento de um sistema para medição de energia monofásica de baixa tensão baseado em rede sem fio que realizará o monitoramento de diversos parâmetros elétricos da rede e registro em um serviço de banco de dados.
 A mensura dos parâmetros elétricos será feita com o circuito integrado ADE7753 da empresa Analog Devices. Utilizar-se-á um controlador do tipo ESP8266 com plataforma NODEMCU V3 para leitura e tratamento dos dados. Os dados devidamente organizados serão enviados para um serviço de armazenamento online na plataforma da Amazon AWS IoT.  As análises e os resultados obtidos poderão ser consultados diretamente pela internet em uma plataforma web desenvolvida em HTML e PHP.
Os dados recolhidos poderão ser utilizados para diversos fins, como por exemplo, definir estatisticamente a previsibilidade do consumo, verificar informações relacionadas à conformidade do fornecimento de energia elétrica e possíveis mudanças nos hábitos de consumo que permitam aprimorar a eficiência energética do ambiente monitorado.


Minha Jornada com a ConectaPages: Construindo Visibilidade Digital para Pequenos Negócios

  O Começo: Uma Necessidade Pessoal que se Tornou uma Missão Coletiva Tudo começou com uma frustração pessoal que muitos pequenos empreende...