QUINTA EDIÇÃO
REVISTA THT REVISTA DA COMUNIDADE THINGS HARCKER TEAM
Sumário Hardware O que é Raspberry PI ........................................................................................................ 4 Arduino Start ....................................................................................................................... 8 Depoimento 3ª Conferência das Comunidades Python do Sudeste — #PythonSudeste 2018 .............................................................................................................................................. 16 Programação Utilizando MQTT com Node Red ............................................................................. 20 Agenda ....................................................................................................................................... 25
3
Hardware
O que é um Raspberry Pi???
Artigo do Medium
Apesar de amplamente utilizado no meio acadêmico na área de robótica, poucas pessoas sabem o que é um Raspberry Pi. Segundo [1]: O Raspberry PI é um pequeno e acessível micro computador.
Ele é um hardware de baixo consumo que tem o tamanho aproximado de um cartão de crédito que abriga um processador, processador gráfico, slot para cartões de memória, interface USB, HDMI, seus respectivos controladores, memória RAM, entrada de energia e barramentos de expansão. Para usa-lo basta conectar um mouse, teclado e monitor!( Falarei mais disso em um outro post!)
4
Hardware
A história A ideia por trás de um computador pequeno e acessível para as crianças veio em 2006, por Eben Upton, Rob Mullins, Jack Lang e Alan Mycroft, membros do laboratório de computação da Universidade de Cambridge, devido ao declínio ano-a-ano no número e nível dos alunos de Ciência da Computação. Entre 2006 e 2008, eles desenvolveram diversos protótipos, baseados no microcontrolador Atmel ATmega644, que serviria de base para o Raspberry Pi que conhecemos hoje.
A fundação Raspberry Pi A Fundação Raspberry Pi, uma organização sem fins lucrativos, tem com base o Reino Unido. Ela é quem tem a autorização de comercialização do Raspberry. A fundação tem a intenção de fornecer computadores de baixo custo e software livre para os estudantes do mundo inteiro.
Os modelos de Raspberry Pi Existe 6 modelos descritos no site oficial do Raspberry [1]. * Raspberry Pi 3 Model B — Revision 1.2 * Raspberry Pi 2 Model B — Revision 1.2 * Raspberry Pi Model B + — Revision 1.2 * Raspberry Pi Model A + — Revision 1.2 * Raspberry Pi Zero — Revision 1.3 * Raspberry Pi Zero W — Revision 1.1 Agora, você pode estar se perguntando: “Pra que tantos modelos? Quais as diferenças entre eles?”
5
Hardware A diferença entre eles, são basicamente, o tamanho, o processador, quantidade de portas USB (pois é, eles tem!) entre outros… Mas isso é tema para um outro post!!!
Os sistemas operacionais compatíveis É possível usar vários sistemas operacionais nesse pequeno computador portátil! Entre eles estão: 1) Raspbian (Que é uma versão de Debian) — Ideal para os iniciantes com o Raspberry, sendo considerado por muitos como um sistema operacional padrão. 2) Ubuntu — Ideal para quem usar o Raspberry como um PC. 3) OSMC — Ideal para quem quer usar o Raspberry como um media center 4) Recalbox — Pra quem quer usar o Raspberry como um emulador de jogo 5) Windows — Basicamente para quem não gosta do Linux! rsrsrs.
E ai, gostou da matéria?? Quer saber mais sobre o Raspberry Pi!?? Basta ficar ligado aqui para acompanhar tudo!!!
6
Hardware Referências [1] Raspberrypi.org Imagens retiradas do sites da empresas SparkFUn, Ubuntu Next, Raspberrypi.org, Recalbox, Osmc, Windows
Andressa Siqueira Eng. pela UERJ e mestre em Sistema e Computação pelo IME. Contato https://www.facebook.com/AndressaSiqueiraBr/
7
Hardware
Arduino Start
Artigo do Medium
Começo uma série de posts/artigos sobre o tema. Escrevo como um iniciante entusiasmado, logo abaixo irei contar com detalhes como comecei e o que aprendi até o momento. Resolvi utilizar a expressão “Arduino Start”, iniciarei uma jornada de aprendizado mútuo (pois sou iniciante e adoro trocar conhecimento), será uma série de conteúdo de um tema relacionado ao outro. Onde iremos aprender-ensinar, trocar e colaborar com projetos e soluções “abertas” (desde um LED piscando até quem sabe um incrível robô). A intenção é utilizar uma linguagem/escrita de fácil entendimento e compreensão, incentivando a interação de todos.
“Arduino é uma plataforma open-source de prototipagem eletrônica com hardware e software flexíveis e fáceis de usar, destinado a artistas, designers, hobbistas e qualquer pessoa interessada em criar objetos ou ambientes interativos.” (www.arduino.cc)
8
Hardware O Arduino consiste em 2 partes: o Hardware (a placa, aliás existem vários tipos com tamanhos funções diferentes), a outra é a IDE Arduino — O software onde através de código especificamos o que desejamos que a placa faça. Falo de uma enormidade de funcionalidades e projetos (desde dos mais simples ao mais incríveis e revolucionários). Uma das principais vantagens é facilidade no aprendizado e na criação de soluções, eu comecei a me interessar há 7 meses e já atuo com certa facilidade com alguns sensores e LEDs. Não há a necessidade de possuir um “super conhecimento técnico” para iniciar, basta vontade!
Iremos aprender e visualizar as partes do Arduino, e suas características/funções.
9
Hardware 1. Microcontrolador - Um chip bem pequeno que resume ao cérebro do Arduino, nesse dispositivo que é executado o código que enviamos para a Placa. Sobre o assunto do código, como começar e a instalação/uso da IDE será abordado em outro artigo. 2. Conector de Alimentação - Responsável por alimentar a Placa com energia, com uma tensão mínima de 7volts e no máximo 20volts. Em alguns momentos usaremos a alimentação via cabo USB. 3. Conector USB - É através dele que o comutador se comunica com a Placa, por onde a codificação realizada é enviada. Além de ser uma opção de alimentação de energia. 4. Botão de Reset - Sim, ele tem a mesa função daquele botão famoso do seu 1º desktop/notebook risos. Reinicia a Placa Arduino. 5. Pinos de Entrada e Saída(Digital) - São através dessas 14 portas digitais (I/O) que o Arduino interage com o meio externo (sensores, LEDs e outros), os mesmos são programados. 6. Pinos de Entrada e Saída (Analógico) - Muitos semelhantes aos pinos citados anteriormente, porém o Arduino possuí 6 pinos de entrada analógica e 6 saídas analógicas (PWM). Através dos mesmos é possível uma interação através de programação. 7. Conversor Serial-USB - Para o computador e o Microcontrolador conversarem é preciso que haja “algo” que traduza as informações. Os LEDs TX e RX acendem quando a Placa está transmitido e recebendo informações pela porta serial.
10
Hardware 8. LED Interno - LED conectado ao pino digital 13, um dos mais usados no Arduino. 9. LED de Alimentação - Indica se a Placa está energizada. 10. Pinos de Alimentação - Pinos utilizados para fornecer diversos valores de tensão que serão usados para energizar os componentes. Atente-se para usar sempre os valores suportado pela Placa. Apresento os tipos de Placas de Arduino mais usados em projetos, comento sobre a Lilypad muito utilizada para projetos envolvendo roupas e acessórios. Isso mesmo que você leu/ouviu, é possível criar soluções das variadas possíveis com Arduino. Pretendo aborda-los em outro artigo! Serão vários logo preparem-se rs.
11
Hardware Se você chegou até consegui te cativar um pouco sobre o assunto, você se perguntar quanto custa para se iniciar comprando uma Placa Arduino! No site oficial o kit básico sai por volta de US$80,00, por se tratar de uma plataforma open-source há diversas opções abertas/paralelas no mercado. O meu mesmo é “xing-ling” (risos), paguei R$38 e funciona perfeitamente. Listo alguns temas que serão abordados nos próximos posts por aqui: - IDE Arduino - Placas Arduino - Shield - Protoboard - Resistores - Sensores - Raspberry PI - Circuitos Agora vou contar para vocês como foi meu primeiro contato com Arduino ou aliás o que me despertou a buscar conhecimento, projetos, cursos e conhecer pessoas que atuam com a Placa.
12
Hardware
Há tempos que buscava conhecimento em IoT — Internet das Coisas (você já deve ter lido algo sobre, atualmente não tenho “skill” para escrever sobre, quem sabe no futuro). Foi quando tomei conhecimento de um evento chamado TDC, realizado no campus Anhembi Morumbi (universidade em SP). Nos dias 21 e 22/07 participei de uma trilha chamada “Solution Jam” que teve como responsável a Cíntia Citton (Facilitadora e mentora de Design Thinking — Globalcode ) com a parceria da Horizon Four (Abraão Sena e Rodrigo Terron — normalmente citamos só o nome da empresa, porém gosto de mencionar nomes pois sem o
13
Hardware mesmo a empresa não teria tanto destaque e crescimento), além do apoio da Secretaria de Transporte da cidade São Paulo e do Vereador Police Neto. Recentemente havia participado de 3 hackathons e o formato desse foi inovador e proposta diferente com foco em novas propostas e soluções. Nesses dois dias praticamos/exercitamos (2 grupos) Design Thinking (algo tão incrível e essencial nos dias atuais) para “sentirmos as dores” vividas pelos pedestres de uma grande cidade. Pois o foco era a criação de uma solução para os pedestres, incentivando o uso do “caminhar” como meio de transporte. O desafio foi algo diferente, por que apesar de andar muito (para cima e para baixo) nunca havia pensado em algo assim. Fizemos entrevistas pessoais e online para poder entender as dificuldades enfrentadas. Após dinâmicas e muita conversa optamos por criar um dispositivo que usaria conceitos de IoT, algo simples que “diminuiria a dor” de quem anda a noite pelas grandes cidades. Tivemos contato tanto com Arduino como Raspberry PI, Fernando Veiga demonstrou diferenças e qualidades/abrangência de ambos. Além de tudo isso tive acesso pela 1ª vez com Node-RED, Diego Teles ministrou uma oficina para os participantes. #FikaDika (em todos os artigos irei indicar um meio de conhecimento de tecnologia) Super indico a tecnologia e aproveito para divulgar o canal do Diego no Youtube .
14
Hardware Ambos fazem parte do “THT — THINGS HACKER TEAM”, comunidade incrível que além de fomentar e incentivar a troca de conhecimento e aprendizado organizam Meetup’s incríveis. No final do 2º dia houve uma apresentação dos grupos, ótimas soluções criadas. Depois em 15/08 apresentamos os projetos em um auditório no centro de SP, experiência incrível! Desde então tenho participado de diversos cursos e oficinas e conhecido ótimas pessoas também dispostas a contribuir. Isso foi há 7 meses atrás, não sei muito sobre Arduino & Afins, a “chama” do aprender/ensinar foi acesa naqueles 2 dias. Se interessou por Arduino & afins? Leia, participe e opine!
Lucas Barros Dev WEB, Scrum Master, Maker, curioso e estudioso de Arduino, raspberry PI e Python.
15
Depoimentos
3
ª
Conferência das Comunidades
Python do Sudeste - #PythonSudeste 2018
Artigo do Medium
Um evento feito pelas comunidades, para as comunidades. Durante 3 dias São Paulo sediou um dos maiores encontros de Python do país. A 3ª #PySE2018 foi realizada nos dias 30, 31 de março e 1º de abril na BandTec com apoio da IDWall . Reuniu profissionais, estudantes, comunidades e entusiastas da linguagem que vieram de diversas partes do Brasil. A organização foi encabeçada pelo Grupy-SP com a colaboração de outras comunidades Python e apoio da Associação Python Brasil. O engajamento foi grande e as inscrições foram disputadas. Os ingressos desta edição esgotaram com quase 15 dias de antecedência.
16
Depoimentos Toda concepção da Python Sudeste é colaborativa. As propostas de conteúdo são escolhidas por votação e todo dinheiro arrecadado volta em benefícios coletivos. O excedente é revertido para entidades de assistência social e/ou apoio em eventos futuros. As normas de conduta são levadas bem a sério sendo a política de inclusão e o repúdio ao assédio moral os pilares éticos exigidos no evento. As Keynotes desta edição foram Paula Granjeiro , Bernardo Fontes e Cassio Botaro. Todos eles membros ativos e colaboradores assíduos da comunidade. Além das Keynotes, nos três dias foram realizados diversos tutoriais, oficinas — introdutórias e avançadas, palestras técnicas, workshops e ligthning talks. Estas últimas são um show a parte, pois permite que os participantes divulguem seus projetos, suas especialidades e interesses em pequenas palestras de até cinco minutos. É divertido, instigante e ajuda a manter as comunidades coesas. Este ano as trilhas homenagearam algumas das mulheres pioneiras no mundo da programação: Ada Lovelace, Grace Hopper , Dorothy Vaughan , Mary Jackson e Katherine Johnson. O “PyBar” é tradição nos encontros da comunidade e ocorreu em todos os dias do evento após a programação oficial em diferentes bares, restaurantes e karaokês de São Paulo. É um dos momentos mais mágicos pois é nessa hora que tiramos nossas dúvidas com descontração, criamos novos laços de amizades, animamos com o networking e encontramos novas oportunidades de trabalho e negócios.
17
Depoimentos O apego dos usuários Python por esta linguagem se justificam de diversas formas. Python é como o canivete suíço das linguagens de programação pois abrange um grande ecossistema de soluções para web — do frontend ao backend — além de ser largamente utilizada na ciência de dados, no aprendizado de máquina e na inteligência artificial, na internet das coisas e muito mais. É uma linguagem com crescente hype já há alguns anos. Nos EUA o Python já ultrapassou o Java como linguagem número 1 no ensino acadêmico e no Brasil a tendência é forte também nesse sentido. Características como a acentuada curva de aprendizagem favorecem a rápida adoção por empresas e o alto engajamento de iniciantes. Na semana seguinte ao Python Sudeste ocorreu a Pytho Sul — de 6 a 8 de abril em Florianópolis. Este ano teremos muitos eventos ainda como os AfroPython, os DjangoGirls, a Python Nordeste, o Caipyra e o aguardado Python Brasil em outubro. Muitas palestras foram gravadas e logo mais estarão em um dos canais da comunidade * Site Python Sudeste * Facebook Python Sudeste * YouTube Python Sudeste Quero deixar aqui meus parabéns e um sincero agradecimento a todas as comunidades de desenvolvedores Python, as verdadeiras estrelas de todos os eventos. Conheça algumas delas:
18
Depoimentos * SciPy-SP * Grupy-SP * PyLadies-SP * Python-Rio * DjangoGirls Descubra as edições da Python Sudeste: * 1ª Python Sudeste — BH — 2016 * 2ª Python Sudeste — Rio — 2017(fotos) * 3ª Python Sudeste — Sampa — 2018
Magnator Social Scientist. Builder. Social Media.
19
Programação
Utilizando MQTT com Node Red. Artigo do Medium
Passo 1: Instalando MQTT no Linux Nesse artigo vamos aprender a instalar o protocolo MQTT no Linux ( Ubuntu / Debian ), e fazer suas configurações e comunicações via Node Red. Antes de qualquer coisa, precisamos fazer a instalação do MQTT para isso, abra o Terminal Linux e faça a atualização dos pacotes utilizando os comandos: sudo apt-get update sudo apt-get upgrade Em seguida vamos fazer a instalação do MQTT-Broker e Client com os comandos:
20
Programação sudo apt-get install mosquitto sudo apt-get install mosquitto-clients Para testar se o MQTT está funcionando, abra dois terminais, em um deles digite o comando: mosquitto_sub -h localhost -t /teste Esse terminal que ficará escutando tudo que chegar no MQTT da maquina no topic /teste, No segundo terminal, vamos enviar as messagens com o comando: mosquitto_pub -m "Mensagem" -t /teste
Passo 2: Instalando MQTT no Node Red Inicie seu Node Red na sua maquina local ou na sua nuvem e entre no ambiente de desenvolvimento.
21
Programação Para fazer a instalação dos nodes do MQTT entre em Ferramentas ao lado do “Deploy” e selecione a opção “Manage Palete”.
Na opção install pesquise por mqtt-broker e clique em install.
Com isso os nodes do MQTT serão instalados.
22
Programação
Passo 3: MQTT no Node Red. Para se fazer um Pub, ou enviar uma mensagem você precisará de um node de output.
Nele você fará as configurações de envio e definirá qual o topic. Para configurar o local que receberá a informação, clique no lapis para abrir a nova sessão de configuração. Nessa nova janela, iremos configurar qual local e porta você enviará a informação, no teste estou enviando para minha propria maquina em “Localhost” para enviar para outra maquina dentro da mesma rede indique o IP dessa maquina ou caso seja uma Cloud, o caminho para ela. Em security é possível configurar um Username e password dessa comunicação para garantir a segurança no dado que esta sendo enviado. Para receber o dado, utilize um Node In do MQTT
23
Programação
Para configurar o Node In do MQTT siga os mesmos passos no Node Out, apenas lendo a porta Localhost no mesmo Topic e Port, caso tenha configurado o Security no node out, não esqueça de colocar as informações de Username e Password. Quando fizer o Deploy, ambos os nodes apresentaram o texto de Connected, se isso ocorre significa que as informações de ambos os lados estão certas e pronto para o tráfego, caso não apareça, confira os dados e também cheque se em seu roteador não existem bloqueios para essa comunição ou se as portas não estão fechadas. Agradecimento especial ao Matheus Marabesi que me ensinou muito o conceito de utilização do MQTT configurando tanto em terminal quanto no proprio Node Red. Nos sigam nas redes sociais para ficar por dentro das novidades do Node Red. NodeRed-Brasi facebook.com/NodeREDBrasil/ instagram.com/noderedbrasil/ twitter.com/noderedbrasil
Fernando Veiga linkedin.com/in/pfveiga7 facebook.com/fernando.veiga.3950 instagram.com/pfveiga7
24
Agenda
25