Objetivo prático – fazer um servidor de microserviços
Acho legal cada pessoa escolher o seu tema, mas como sugestão vou escolher fazer um microserviço que checa se um sistema qualquer está no ar ou não.
Aula 0 – Alicerce de conhecimentos
Para “aquecer os motores” vamos estabelecer dois objetivos menores e estudar uma listinha de materiais que nos dará um norte para o resto do curso. Os objetivos são:
1 – Entender o que é o Ruby e o Rails através de material online.
Abaixo tem uma listinha de links para os materiais que devemos ler.
2 – Definir o que vamos fazer até a aula seguinte, cada um vai definir o tema de criação de um microserviço da sua escolha.
Como comentei acima, o primeiro objetivo nosso com o rails será instalar o ambiente e depois desenvolver alguma coisa. O exemplo que escolhi será um microserviço que terá as seguintes caracteristicas:
Acessa um sistema que será monitorado de tempos em tempos para coletar o seu estado de funcionamento
Registra as consultas de estado em um banco de dados
Caso o estado do sistema monitorado seja ruim, o microserviço emite um SMS ou EMAIL
Pode receber uma chamada GET para consultar o estado de funcionamento de um determinado sistema e devolve esse estado através de um objeto JSON
Você pode optar por seguir esse exercício proposto ou bolar o seu próprio microserviço. Caso alguem queira fazer algo diferente podemos comentar na próxima aula. Os seguintes tópicos serão abordados, mas se alguém aparecer com uma idéia diferente vamos discutir:
Comunicação através de API RESTful
Armazenamento em banco de dados
Tarefas com excução automática via Timer, famoso “pooling”
Configuração via variáveis de ambiente e banco de dados
A pândemia mundial que nos assolou (e ainda não terminou) foi um evento transformador para a maioria das pessoas. No meu caso preferi ficar recluso com a família e após alguns meses de reclusão, muita energia criativa se acumulou e comecei a revisitar o projeto da horta urbana vertical.
A primeira versão, que você pode ver um pouco neste nosso post antigo aqui possuia um grave problema de estética ;-p
Horta Vertical – primeira versão
Com o tempo também percebi que o método de encadeamento era vulnerável à radiação ultra violeta, e as tampas de garrafa começaram a “quebrar” e os vasos começaram a cair causando uma tremenda bagunça.
Ao ficar sentado na varanda de casa e pensando sobre esses problemas de estética e funcionais, comecei a desenvolver uma nova versão da horta vertical urbana.
Neste artigo comento um pouco como tentamos solucionar o problema de estética e durabilidade, bem como comento também um pouco a respeito do hardware de controle desenvolvido.
O problema do encadeamento
Detalhe do conector
A idéia da horta vertical é ocupar pouco espaço, e os vasos são pendurados em alguma estrutura de forma que a distribuição de espaço seja otimizada. O problema principal é que ao encadear vasos desta forma o peso do conjunto, que é soma de toda terra e toda água da coluna fica concentrado no primeiro conector (veja a figura acima da primeira versão)
Na primeira versão isso foi um problema e mesmo colocando poucos elementos encadeados, somou-se o fato do sol estragar o plastico das tampas através da radiação ultra violeta.
Na versão revisitada, foi feito uma tentativa inicial de resolver o problema, criando suporte na borda das garrafas e encadeando as outras pelo gargalo. Veja:
Abaixo o diagrama dessa proposta
Esse modelo ainda possui o problema onde o primeiro vaso da coluna tem que suportar o peso da coluna toda. Estimadamente temos cerca de 30 Kg de peso numa coluna com 6 garrafas PET de 3 litros, cheias de terra e água.
Peça de sustentação impressa em PLA entortada pelo calor
Como disse anteriormente, a pandemia foi transformadora, ao ficar confinado, olhando sempre para o mesmo lugar, a mente começa a tentar escapar das condições impostas. O problema do peso e do uso da estrutura de garrafas PET incomodou bastante, pois não permitia escalar a horta vertical, com o risco de falhas e bastante sujeira.
A solução veio de repente. Estava manipulando as garrafas e tentando pensar como escapar dessa limitação de uso. A resposta veio em sonho.
Ficção científica e as inversões
Como fã inveterado de ficção científica, sou muito fã de Christopher Nolan, e o seu filme Inception, que trata de sonhos como construtores de uma realidade alternativa. Eu estudo algumas técnicas de sonho lúcido, e mesmo sem ser muito bom no assunto, gosto de sonhar e as vezes as soluções aparecem lá na fronteira da conciência e o inconciente.
Neste caso fiquei pensando durante dias sobre como solucionar o problema da resistência do material plastico no uso como estrutura da coluna. Sonhei com as garrafas flutuando e sendo apoiadas em algum dispositivo mágico onde o ponto de apoio não mais era na parte de cima, mas na parte de baixo do sistema. É complicado escrever o sonho, mas a pista apareceu na forma de uma inversão que considerei interessante. Faltava só o “ponto de apoio mágico” que tinha visto no sonho e depois de desenhar alguns esboços, acredito que cheguei na soluçao. Veja que simples:
Depois de algumas horas de experimentação, estava pronto o sistema. O ponto de carga de cada vaso é no cabo de tração e no ponto mais forte de uma garrafa PET, o gargalo. O cabo de tração é um simples varal de aço revestido. O ponto de alinhamento serve para deixar o cabo de tração centralizado no lado oposto da garrafa.
Pronto. Problema resolvido!! Horta vertical urbana pode ser escalada, construi várias colunas sem medo que elas quebrem com o tempo.
Outra vantagem desse tipo de abordagem é que o furo de passagem do cabo de tração serve de escoadouro para a agua!!
Finalizando a horta
Depois de resolver o principal problema mecânico e a horta poder escalar, foi uma questão de tempo colocar para funcionar. Adicionei um controlador com ESP8266 e montei o seguinte sistema:
O circuito de controle foi baseado em ESP8266 e o seu código está disponível no github do projeto. Vou escrever sobre esse sistema de controle no futuro. Por hora saiba que esse controle aciona uma bomba de “limpador de parabrisa” que leva a água para a parte de cima com uma tubulação feita de tubo de ar para aquários.
Composto de uma placa de desenvolvimento ESP8266, placa com dois relês, fonte de alimentação e um sensor BME280 (pressão, umidate, temperatura) o sistema de controle aciona a bomba automaticamente, envia dados para a nuvem, além de permitir o controle manual da bomba e de uma lâmpada.
Criei uma interface em HTML que fica hospédado em um servidor web DENTRO do ESP8266
Um detalhe para a parte de baixo do sistema, onde ficam os coletores de água. Foram mais ou menos 10 tentativas de peças 3D desenhadas, e o resultado mais interessante foi esse:
Essa peça demonstrada acima está também no repósitório do projeto e pode ser modificada e impressa por todos que desejarem montar a sua horta vertical urbana.
Para finalizar, fique com um vídeo que demonstra a horta crescendo e varias fotos para inspirar você a fazer a sua versão.
Compartilhe conosco seus resultados!! Até o próximo artigo.
Vasos cheios de vida
Manjericão filhote
A noite a iluminação deixa um charme especial com as libélulas fosforescentes
Os riscos de um Wi-Fi público A maior ameaça à segurança do Wi-Fi gratuito é a capacidade de um hacker posicionar-se entre você e o ponto de conexão. Então, em vez de falar diretamente com o ponto de acesso, você está enviando suas informações para o hacker, que pode retransmiti-las.
Mantenha a sua solução de segurança e sistema operacional atualizados
Esteja atento às suas ações realizadas nestas conexões
Acesse a sites que utilizem o protocolo HTTPS
Configure o seu dispositivo para que pergunte antes de se conectar
tilize a autenticação de dois fatores
Dicas de configurações para deixar o seu trabalho mais seguro
Ativar o bloqueio instantâneo com a tecla liga/desliga;
Desligar os periféricos que ficam ativados o tempo todo
Atualizar os aplicativos automaticamente
Não baixar programas de fontes desconhecidas
Desativar preenchimento automatico de códigos recebidos via SMS
Ótima série do nic.br sobre o funcionamento da internet (em português). Assistam as outras partes para se aprofundar no assunto, são 6 partes no total
Criptografia assimétrica explicada (em português)
Criptografia assimétrica explicada (em inglês)
SSH explicado (em português)
Guia rápido de comandos da aula
# gerar par de chaves de segurança (aws ou outros provedores)
ssh-keygen -t rsa -b 4096 -f chave.pem
# acessar a instância
ssh usuario@host -i chave.pem
#verificar o sistema de arquivos da instância
df -h
#verificar processos e memória
top
htop #(ver instalação do aplicativo htop a seguir)
#atualizar pacotes de programas
#ubuntu
sudo apt-get update
#centOS
sudo yum update
#instalação de aplicativos na instância
#ubuntu
sudo apt-get install nano htop net-tools
#centOS
sudo yum install nano htop net-tools
Nada me deixa mais feliz do que conseguir fazer “mais” com menos ou quase nada. Toda economia em recursos tanto de hardware quanto software traz ganhos que valem a pena serem avaliados.
Eu costumo fazer exercícios de otimização em tudo que projeto, porque no final você tem um hardware mais eficiente e robusto ou um software mais rápido e que consome menos recursos.
Este artigo é sobre um dos exercícios de otimização que executei.
Neste artigo vou ensiná-los a construir um robô completo, usando um roteador sucateado, e que pode ser operado pelo smartphone ou qualquer dispositivo sem precisar baixar nenhum aplicativo de loja online.
Olá pessoal! Este ano o Fórum Goiano de Software Livre está demais! Em 2016 preparamos uma lembrancinha do evento, no formato de um cartão que vira um lindo robozinho que irá lhe auxiliar a segurar o teu lápis 🙂
Se você compareceu e conseguiu o “badge” do evento, esta página ensinará você a montar o seu brinquedinho.
“Badge” do evento
1 – Separando as peças
Você precisará de uma ferramenta cortante para separar as peças do robozinho da cartela.
Corte os pontos de união, conforme mostramos abaixo:
Na imagem abaixo podemos ver todos os pontos de união, salientados pelos círculos vermelhos:
Após cortar todos os pontos de união,temos as peças separadas.
2 – Preparando as juntas
Antes de efetuar a montagem final, precisamos preparas as juntas dos braços do robozinho. Devido ao processo de impressão 3D utilizado, as pinças acabam fundidas e precisam ser cortadas para ficarem separadas.
Essa separação faz com que a pinça se ajuste às irregularidades dos pinos. Veja abaixo as três peças que precisam sofrer esses ajustes.
Aplicamos o estilete no ponto central, cortando a frágil estrutura que une as pinças. Veja abaixo, a peça da direita já foi ajustada, a peça da esquerda não.
Abaixo as três peças ajustadas.
3 – Montagem
Iniciamos a montagem encaixando um dos 3 braços na base. Encaixe com cuidado o pino na pinça da base. Se você forçar rápido demais, poderá quebrar a pinça. Se ocorrer, um pouco de cola irá resolver.
Após isso, vamos encaixando peça por peça, deixando a peça menor no final do braço.
Intercale o lado das peças, preservando a simetria. Veja abaixo:
Pronto! Seu robô está pronto!
Agora você pode treinar o ajuste do centro de gravidade do seu “segurador” de lápis à vontade.
Voltamos aqui para atualizar a documentação do desenvolvimento do nosso bico extrusor.
Durante a semana eu realizei algumas modificações que já havia planejado fazer e aproveitei esse bico recém construído para poder aplicar os “upgrades”.
Mas antes dos upgrades, vamos à dois vídeos que produzimos para este POST: O primeiro são algumas dicas sobre como fazer o furo na barra roscada de 6mm aço inox:
O segundo vídeo é o resultado de uma impressão com o nosso bico recém atualizado.
Agora vamos aos upgrades:
UPGRADES
1 – Mais desbaste no estrangulamento de calor
Usei a lima e aprofundei o desbaste do estrangulamento de calor.
2 – Desbaste na ponta do bico
Se você quiser ter um bico que não “borre” a peça, ele precisa ter o orifício de saída bem ao centro e com pouco material ao redor.
Veja na foto abaixo o bico depois de uma aparada com a lima.
3 – Criar um rebaixo na ponta para chave de boca.
Novamente peguei a lima e fiz dois desbastes para encaixar uma chave de boca. Isso facilita muito na hora de prender o bico no bloco aquecedor. Veja como ficou este upgrade:
4 – Otimização térmica
Ao desmontar o bico para realizar os ajustes, notei que o tubo extrusor que fica dentro do furo principal do bloco aquecedor poderia ser melhor acoplado termicamente usando pasta térmica.
Depois dos testes notamos uma curva de aquecimento mais linear, o que indica o melhor espalhamento do calor pela peça. Veja as fotos deste upgrade:
5 – Mumificação do bico
O termo é muito engraçado, mas é real! A mumificação de toda parte quente do bico extrusor serve para impedir ou minimizar a perda de calor por irradiação.
Com o bloco aquecedor exposto, uma parte do calor é perdido por irradiação e convecção do ar quente que circunda o bico. Ao aplicar teflon, isolamos o bloco aquecedor de contato com o ar e evitamos a irradiação de infra vermelho.
Isso feito, o bico fica com a curva de temperatura muito mais estável, e gasta menos energia de todo sistema. Veja as fotos deste upgrade:
]
Veja nesta foto abaixo como o orifício de saída está bem no centro da peça.