Wolfram Donat. Novatec

Documentos relacionados
Indira Knight. Novatec

Sumário. Parte I Elementos essenciais Sobre o autor Sobre o revisor técnico Prefácio... 14

Novatec Editora Ltda

Raspberry Pi Manual do Usuário

Arduino Básico Michael McRoberts

Arduino Básico. 2ª edição. Michael McRoberts. Novatec

Aaron Newcomb. Novatec

Introdução ao GitHub Peter Bell e Brent Beer

Primeiros Passos com Sensores Kimmo Karvinen Tero Karvinen

Jody Culkin e Eric Hagan

Miguel Grinberg. Novatec

Benjamin Bengfort Jenny Kim

Novatec Editora Ltda

Primeiros Passos com o Netduino

Ryan Mitchell. Novatec

Sérgio de Oliveira. Novatec

Sumário. Prefácio Capítulo 1 Orientação e primeiras etapas Capítulo 2 Dados: trabalhando com texto e números... 40

Primeiros Passos com o Arduino

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Shyam Seshadri & Brad Green

Matheus Marabesi Michael Douglas

Ademir C. Gabardo. Novatec

William Pereira Alves

Introdução às. Expressões Regulares. Michael Fitzgerald. Novatec

Jessey Bullock Jeff T. Parker

Shelley Powers. Novatec

Editor: Rubens Prates Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata Assistente editorial: Priscila A.

Osvaldo Santana Thiago Galesi

Allan Liska e Timothy Gallo. Novatec

Aprenda a Programar com Minecraft

Objective-C Fundamental Christopher K. Fairbairn Johannes Fahrenkrug Collin Ruffenach

Aditya Y. Bhargava. Novatec

Ademir Cristiano Gabardo. Novatec

3ª Edição Nilo Ney Coutinho Menezes

Criando Relatórios com PHP Pablo Dall Oglio

Desenvolvendo Websites com PHP

Allen B. Downey. Novatec

Jonathan Weber e a equipe da LunaMetrics

Aravind Shenoy Anirudh Prabhu

Métricas. Como melhorar os principais resultados de sua empresa. Martin Klubeck. Novatec

Adrian Pruteanu. Novatec

Web Interativa com Ajax e PHP

Kenneth Reitz Tanya Schlusser

Novatec Editora Ltda

Luiz Eduardo Borges. Novatec

Chris Binnie. Novatec

PHP. Programando com Orientação a Objetos. Pablo Dall Oglio. Novatec

Simon Holmes. Novatec

Programando para. iphone e ipad. Aprenda a construir aplicativos para o ios. André Milani. Novatec

Ben Vinegar Anton Kovalyov

André Gugliotti. Novatec

Karl Matthias Sean P. Kane

Adriano Pataro. Novatec

Primeiros Passos com o Raspberry Pi

4ª Edição Pablo Dall Oglio

Análise de Regressão

Blender 3D jogos e animações interativas Allan Brito

Hélio Engholm Jr. Novatec

Semmy Purewal. Novatec

2ª Edição Cláudio Torres

Edécio Fernando Iepsen

Christopher Duffy. Novatec

Ademir Ribeiro dos Passos

Uma introdução visual à programação com jogos, arte, ciência e matemática

JavaScript. de Alto Desempenho. Nicholas C. Zakas. Novatec

Pedro Monteiro da Silva Eleutério Marcio Pereira Machado. Novatec

Primeiros Passos com o Arduino Massimo Banzi

Adrian Mouat. Novatec

Rodrigo de Barros Paes

Editor: Rubens Prates PY Editoração eletrônica: Carolina Kuwabata Revisão gramatical: Patrizia Zagni Capa: Edinei Gonçalves/Carolina Kuwabata

Defenda sua base com circuitos simples, Arduino e Raspberry Pi

Guia Prático Richard E. Silverman

Expressões Regulares Cookbook Jan Goyvaerts Steven Levithan

Guia Mangá. Álgebra Linear. Shin Takahashi, Iroha Inoue e Trend-Pro Co., Ltd. novatec

Guia Mangá. Microprocessadores. Michio Shibuya, Takashi Tonagi e Office Sawa. Novatec

WordPress 3 Básico Stephanie Leary

AngularJS. Uma abordagem prática e objetiva. Michael Henrique R. Pereira. Novatec

Robson Santos da Silva

4ª Edição Revisada e Ampliada Aurelio Marinho Jargas

jquery Mobile Desenvolva aplicações web para dispositivos móveis com HTML5, CSS3, AJAX, jquery e jquery UI Maurício Samy Silva Novatec

Guia Mangá Circuitos Eletrônicos

Guia Mangá Motores elétricos

Harrison Kinsley Will McGugan

jquery Mobile Desenvolva aplicações web para dispositivos móveis com HTML5, CSS3, AJAX, jquery e jquery UI 2a Edição Maurício Samy Silva Novatec

Allan Liska Geoffrey Stowe

David Hows Peter Membrey Eelco Plugge

A Linguagem de Programação Go

Maurício Samy Silva. Novatec

Guia Mangá FISIOLOGIA. Etsuro Tanaka, Keiko Koyama, e Becom Co., Ltd. Novatec

Copyright 2015 da Novatec Editora Ltda.

Jarrod Overson e Jason Strimpel

Brandon Rhodes John Goerzen

Vinícius Manhães Teles prefácio de Kent Beck colaborações especiais de Kent Beck e Robert Mee

Roni Antônio Mendes. Novatec

Roberto Cohen. Novatec

A Arte de Escrever Programas Legíveis

Novatec Editora Ltda

Ademir Cristiano Gabardo. Novatec

Chris Goward. Novatec

John Paul Mueller. Novatec

Transcrição:

Wolfram Donat Novatec

Original English language edition published by Apress, Copyright 2018 by Apress, Inc.. Portuguese-language edition for Brazil copyright 2018 by Novatec Editora. All rights reserved. Edição original em Inglês publicada pela Apress, Copyright 2018 by Apress, Inc. Edição em Português para o Brasil copyright 2018 pela Novatec Editora. Todos os direitos reservados. Copyright 2018 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates MP20181206 Tradução: Lúcia A. Kinoshita Revisão gramatical: Tássia Carvalho Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-720-6 Histórico de impressões: Janeiro/2019 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 Email: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec

Sumário Sobre o autor...13 Sobre o revisor técnico...14 Agradecimentos...15 Prefácio...16 Introdução...18 Capítulo 1 Introdução ao Raspberry Pi...20 História do Raspberry Pi... 21 Explorando o Pi...25 Pinos GPIO...26 USB & Ethernet...27 Conector de áudio...27 Conector de câmera...27 HDMI...28 Alimentação...28 Display...28 System on a Chip...29 Cartão SD...29 Não visível...29 Pi Zero/Zero W...30 GPIO...30 Conector de câmera...30 Alimentação... 31 USB... 31 HDMI... 31 Cartão SD... 31 System on a Chip... 31 Não visível...32 Comparação entre o Raspberry Pi e dispositivos semelhantes...32 Começando a trabalhar com o Pi...32 7

8 Programação do Raspberry Pi com Python Requisitos de hardware para o Pi...33 Alimentando a placa...33 Acrescentando um monitor...33 Acrescentando um hub USB...33 Sistema operacional do Pi...34 Formatando o cartão...35 Instalando o sistema operacional...36 Conectando os periféricos...36 Configurando o Pi...37 Desligando o Pi...40 Resumo...40 Capítulo 2 Básico do Linux...41 Introdução ao Linux no Pi...43 Arquivos do Linux e o sistema de arquivos...44 Usuário root versus sudo...45 Comandos...45 Exercício: navegando pelo sistema de arquivos do Linux...50 Shells no Linux... 51 Gerenciadores de pacotes...53 Editores de texto...54 Vim versus emacs versus nano...55 Usando o Vim...56 Usando o emacs...57 Usando o nano...58 Editor de texto default...59 Resumo...60 Capítulo 3 Introdução a Python...61 Linguagem de scripting versus linguagem de programação... 61 A filosofia de Python...64 Introdução a Python...65 Executando Python no IDLE...65 Executando Python no terminal...69 Executando Python com scripts...69 Explorando os tipos de dados de Python... 71 Números... 71 Strings...72 Listas... 74 Dicionários...75 Tuplas e arquivos...76 Programando com Python...78 Testes IF...79

Sumário 9 Laços... 81 Funções...83 Objetos e programação orientada a objetos...85 Resumo...86 Capítulo 4 Eletrônica a todo vapor...87 Conceitos básicos de eletricidade...88 Ferramentas necessárias para robótica...90 Chaves de fenda... 91 Alicates e alicates de corte... 91 Alicates de corte...93 Limas...94 Lupa com luminária...94 Pistola de cola quente...95 Colas de tipos variados...95 Multímetro...95 Fontes de alimentação...97 Protoboard...97 Extensão com várias tomadas...99 Ferro de solda...99 Regras gerais de segurança...101 Trabalhando com calor...101 Trabalhando com objetos pontiagudos... 102 Use óculos de proteção... 102 Extintor de incêndio à mão... 103 Tenha um kit de primeiros socorros à mão... 103 Trabalhe em uma área ventilada... 104 Organizando a sua área de trabalho... 104 Bônus: técnicas de soldagem... 106 Resumo... 108 Capítulo 5 Web Bot...109 Etiqueta dos bots...110 Conexões da web...112 Protocolos para comunicação na web...112 Formatos das páginas web...113 Um exemplo de requisição...114 Nosso conceito de web bot...115 Parsing de páginas web...115 Escrevendo código com módulos Python...117 Usando o módulo mechanize...118 Parsing com o Beautiful Soup...119 Download com a biblioteca urllib...119

10 Programação do Raspberry Pi com Python Decidindo sobre o download... 120 Escolhendo um ponto de partida... 120 Armazenando seus arquivos...121 Escrevendo o bot Python... 122 Lendo uma string e extraindo todos os links... 122 Procurando arquivos e fazendo o download... 123 Testando o bot... 124 Criando diretórios e instanciando uma lista... 126 Código final... 128 Resumo... 130 Capítulo 6 Estação meteorológica... 131 Lista de compras dos componentes... 132 Usando o protocolo I2C... 133 Usando um anemômetro... 134 Construindo o anemômetro... 135 Conectando o anemômetro ao Pi... 139 Correlação entre rotações por segundo e a velocidade do vento... 140 Conectando a bússola digital... 142 Conectando o sensor de temperatura/umidade... 144 Conectando o barômetro... 146 Conectando as partes... 148 Código final... 149 Resumo... 153 Capítulo 7 Servidor de mídias... 154 Lista de compras dos componentes... 155 Usando um drive NTFS... 155 Instalando o Samba... 158 Configurando o Samba... 160 Configurando permissões Linux...161 Reiniciando o serviço Samba... 163 Conectando-se com Linux/OS X... 164 Kodi e Plex... 165 Onde está o Python?...168 Resumo...168 Capítulo 8 Sistema de segurança doméstico... 169 Cães para garantir a segurança... 170 Raspberry Pi para garantir a segurança... 170 Utilizando uma rede de sensores...171 Entendendo um resistor pulldown... 172

Sumário 11 Lista de compras dos componentes... 173 Conectando-se em modo wireless à sua rede...174 Acessando os pinos GPIO... 176 Configurando o sensor de movimento... 178 Configurando o reed switch... 180 Configurando o sensor de força resistivo... 183 Conectando o sensor magnético... 183 Configurando a câmera do Pi... 185 Enviando uma mensagem de texto a partir do Pi... 186 Implementando a callback... 187 Juntando todas as partes... 188 Código final... 189 Resumo...191 Capítulo 9 Brinquedo para gatos... 192 Lista de compras dos componentes... 192 Conceito por trás do brinquedo... 193 Criando e usando números aleatórios... 194 Usando a biblioteca GPIO... 196 Controlando o servo... 198 Construindo o mecanismo do servo...201 Construindo o mecanismo do laser...203 Conectando o apontador laser ao servo...204 Conectando o sensor de movimento...206 Juntando todas as partes...209 Código final...212 Resumo...213 Capítulo 10 Avião de controle remoto... 214 Lista de compras dos componentes... 215 Conectando o receptor GPS ao Pi... 216 Configurando um arquivo de log...219 Formatando um arquivo KML...220 Usando threading e objetos... 222 Configurando uma inicialização automática... 224 Conectando as partes...226 Código final... 230 Programa do avião... 230 Programa de conversão para KML...231 Resumo... 232

12 Programação do Raspberry Pi com Python Capítulo 11 Balão meteorológico...233 Lista de compras dos componentes... 234 Configurando o receptor GPS... 235 Armazenando os dados do GPS... 237 Instalando o PiFM...238 Instalando o Festival...238 Instalando o FFMPEG... 239 Substituindo pelo avconv... 240 Preparando o Pi...241 Usando threading e objetos...241 Conectando as partes... 243 Vendo as fotos resultantes...246 Código final... 249 Resumo...250 Capítulo 12 Submersível...251 Lista de compras dos componentes... 252 Acessando os pinos GPIO do Raspberry Pi... 253 Instalando a placa de câmera do Pi...256 Controlando o submersível... 258 Conectando o adaptador Wiichuck... 259 Ativando o I2C no Pi...260 Lendo dados do nunchuk... 261 Nunchuk e o projeto secundário de teste com LEDs...263 Controlando os motores do submersível e a câmera com o nunchuk... 267 Iniciando o programa remotamente...269 Código final... 270 Construindo o submersível... 273 Construindo a armação... 274 Criando um recipiente para o Pi... 274 Deixando os recipientes para os motores à prova d água... 275 Conectando o nunchuk...277 Montando o produto final... 278 Resumo...283 Capítulo 13 Raspberry Pi e o Arduino...284 Explorando o Arduino...285 Instalando o IDE do Arduino no Pi...287 Executando um servo...293 Resumo...294