Você está na página 1de 53

INSTITUTO DE ENSINO SUPERIOR COC

Csar Masaharu Yokoyama

Comunicao da Tecnologia Python Mobile com Microcontrolador atravs do Bluetooth.

ARAATUBA

2011

INSTITUTO DE ENSINO SUPERIOR COC

Csar Masaharu Yokoyama

Comunicao da Tecnologia Python Mobile com Microcontrolador atravs do Bluetooth

Monografia realizada para apresentao do Trabalho de concluso de Curso de Cincia da Computao, Orientado pelo professor Msc. Silas Sallaume

ARAATUBA

2011

"se eu vi mais longe, foi por estar de p sobre ombros de gigantes." (Isaac Newton). "No meio de qualquer dificuldade encontra-se a oportunidade." (Albert Einstein).

Dedicatria

Aos meus pais por toda a dedicao e pacincia que tiveram comigo durante toda a minha vida. Obrigado!

AGRADECIMENTOS
Aos meus pais, Osvaldo Massanori Yokoyama e Emilia Hatsue Murai Yokoyama, que me ensinaram o valor de conscincia, dignidade, apoio nos estudos. Sempre estiveram presentes nos momentos de maior dificuldade. Aos meus tios Maristela Kanda e Roberto Kanda pelos conselhos e apoio. Ao Google que foi minha fonte principal onde pude encontrar vrios livros e sites para poder desenvolver o trabalho de concluso de curso. Ao MSc. David Cuartielles Telecommunications Engineering and PhD. Candidate in Interaction Design, desenvolvedor e cofundador do Arduino. Agradecimento especial, por esclarecer duvidas em relao a programao e o uso do equipamento arduino. Ao professor Diogo Sobral por esclarecer as duvidas de Java. A professora Doutora Clia Regina Nugoli Estevam por esclarecer as duvidas de Matemtica. Ao professor Msc. Carlos Roberto Garcia Cottas por dar dicas de monografia. Ao professor Doutor Giuliano Pierre Estevam por dar dicas de monografia. Ao professor Msc. Silas Sallaume por corrigir a monografia. A prefeitura de Takaoka do Japo por dar o apoio financeiro para poder conhecer um pouco do Japo atravs do intercambio de 5 dias realizado pela parceria da escola japonesa de Mirandpolis-SP-Brasil. Ao segundo Tenente do corpo de bombeiros de Andradina-SP: Odair Tortoza, Soltado: Vinicius Navarro Do Corpo De Bombeiros de Andradina-SP, Francisco Carlos Medec, Beatriz Alves, Fernando Fresqui, Neuza Rosa de Lima que ajudaram no Programa da Escola da Famlia. Programa Escola da famlia ao apoio financeiro!

Sumrio
"No meio de qualquer dificuldade encontra-se a oportunidade."...........................4 (Albert Einstein)..................................................................................................... 4 Ao Google que foi minha fonte principal onde pude encontrar vrios livros e sites para poder desenvolver o trabalho de concluso de curso....................................6 Ao MSc. David Cuartielles Telecommunications Engineering and PhD. Candidate in Interaction Design, desenvolvedor e cofundador do Arduino. Agradecimento especial, por esclarecer duvidas em relao a programao e o uso do equipamento arduino............................................................................................. 6 Lista de Tabelas...................................................................................................... 8 Lista de Figuras.................................................................................................... 10 ABSTRACT............................................................................................................. 11 2- Tecnologias utilizadas....................................................................................... 15 De acordo com as pesquisas do Tiobe Programming Community, indicador de popularidade das linguagens de programao, na Tabela 2 Python foi classificada com a stima posio do ranking entre as 50 linguagens de programaes mais populares do mundo. As empresas que fornecem os dados para a pesquisa utilizam um mecanismo de busca popular, como por exemplo: Google, Bing, Yahoo, Wikipedia, YouTube e Baidu, so utilizados para calcular o ranking de popularidade. Onde o Tiobe Programming Community classifica o ndice pela popularidade e no pelo desempenho, qualidade, etc.........................................22 (Adaptado de Arduino, 2011)............................................................................... 28 3 Configurao e Instalao ...............................................................................33 5 Concluso.......................................................................................................... 50 Referncias Bibliogrficas..................................................................................... 51 WIRED MAG DALLA CARTA AL WEB (Itlia). Privitera Mario. Hai unidea geniale? Fai come Mr Arduino, regalala. E diventa ricco. Disponvel em: <http://mag.wired.it/rivista/storie/hai-un-idea-geniale-fai-come-mr-arduinoregalala-e-diventa-ricco.html>. Acesso em: 21 jan. 2011....................................53

Lista de Tabelas
Tabela 1-Limite de Distancia Hardware Bluetooth................................................17 Tabela 2-Ranking das linguagens de programao mais populares do mundo.....23 Tabela 3-Ranking da linguagens de programao mais popular campe do ano. 24 Tabela 4-As maiores empresas do mundo utilizam Python...................................25 Tabela 5-Empresas do Brasil que Utilizam Python................................................25 Tabela 6-Descrio Tcnica do microcontrolador ArduinoBT.................................28 Tabela 7-Caractersticas da Configurao - Modulo WT11....................................29 Tabela 8- Informaes dos fios.............................................................................31 Tabela 9- Especificaes....................................................................................... 32 Tabela 10-Modelo smartphone Nokia e63.............................................................41 Tabela 11-Algortmo 1 ArduinoBT.......................................................................44 Tabela 12- Algortmo 2 Python mobile...............................................................46

10

Lista de Figuras
Figura 1-Empresas que investem no Symbian OS................................................18 Figura 2- Diviso de aes da Symbian(Junho de 2004).......................................19 Figura 3- Camada Symbian................................................................................... 20 Figura 4- Microcontrolador ArduinoBT...................................................................28 Figura 5- Aplicativo Bluetooth padro do Ubuntu 10.04 64 bits...........................35 Figura 6- Opo para localizar um novo dispositivo Bluetooth.............................35 Figura 7-Caractersticas do dispositivo encontrado..............................................37 Figura 8- Dispositivo ARDUINOBT localizado.........................................................37 Figura 9- Informao do Pin(senha) ARDUINOBT..................................................37 Figura 10- Aviso de Configurao completa..........................................................38 Figura 11- Comando de ativar a porta de comunicao Bluetooth.......................39 Figura 12- Comando de desativar a porta de comunicao Bluetooth.................39 Figura 13- Equipamento selecionado....................................................................40 Figura 14- Porta de comunicao Bluetooth ativado............................................40 Figura 15- Smartphone Nokia E63........................................................................41 Figura 16- Porta fechada....................................................................................... 48 Figura 17-Porta aberta.......................................................................................... 48 Figura 18- Porta fechada....................................................................................... 49 Figura 19- Interface do software...........................................................................49

11

ABSTRACT

The system consists of a combination of technologies that can be easily found in the market to solve a problem the daily. The fact of using multiple remotes separate physically to open several electronic gates, generates an extra cost, discomfort and the lack of security. The solution was to develop a project to reduce the cost through a system, will demonstrated that it is possible gather multiple remote controls into a single software for mobile device. Using a combination of technologies, software and hardware, Open source on the market at low cost.

12

RESUMO

O sistema consiste em uma combinao de tecnologias que pode ser encontrado facilmente no mercado, para solucionar um problema do cotidiano. fato de usar mltiplos controles remotos separados fisicamente para abrir vrios portes eletrnicos, gera um custo extra, desconforto e falta de segurana. A soluo foi desenvolver um projeto para reduzir o custo, atravs de um sistema. Ser demonstrado que possvel reunir mltiplos controles remotos em um nico software para dispositivo mvel, utilizando uma combinao de tecnologias de software e hardware open source existentes no mercado de baixo custo.

13

1. Introduo
Este trabalho tem por finalidade desenvolver um mecanismo de comunicao da tecnologia Linguagem Python mobile com Microcontrolador ArduinoBT atravs do protocolo de radio frequncia Bluetooth. Como demonstrao ser apresentado um prottipo que realizar as seguintes aes: ligar e desligar um mecanismo eletromecnico, neste caso uma verso em escala de um porto eletrnico. O propsito da escolha deste projeto foi resoluo de um problema encontrado no dia a dia, o uso de mltiplos controles remotos para controlar portes eletrnicos, o que tem um custo mais elevado e desconfortvel do que o necessrio. A soluo foi reduzir o custo, agregando em um nico software de dispositivo mvel, uma espcie de controle universal, utilizando no desenvolvimento, apenas ferramentas open source de software e hardware. Como consequncia, para esse problema cotidiano, ser produzida uma soluo com um preo mais acessvel, comodidade e mais segurana porque com um smartphone o usurio ter mais cuidado do que um simples controle remoto. Foi utilizada no projeto uma comunicao entre as linguagens de programao C++ com Python S60 mobile atravs do Bluetooth. Essa tecnologias sero explicadas no captulo 2. No notebook com a configurao sistema operacional Linux Ubuntu 64bits foi utilizado o interpretador IDE 21 Arduino, desenvolvido o cdigo na linguagem C++.Em seguida, foi feito um upload para gravao do cdigo fonte no equipamento ArduinoBT programado para ser o receptor de comandos. O equipamento smartphone Nokia E63 possui configurao sistema operacional Symbian S60, foi instalado o interpretador Python mbile, dentro do prprio equipamento foi desenvolvido o cdigo fonte e gerado um modulo no qual o emissor possui comandos pr-determinado para ser disparado. A vantagem de utilizar ferramentas Open Source, que o desenvolvedor comea estudando antes de comear a ter custos com licenas. Dessa forma, se investe no que

14

realmente for necessrio, pois a filosofia do software livre lhe oferece oportunidade tanto no mundo acadmico como no mercado. O motivo que levou a usar os equipamentos ArduinoBT e Smartphone E63 foi fato deles serem encontrados no mercado com o valor acessvel, teram documentao disponvel, serem largamente utilizados de forma a possurem fruns sobre eles na Internet, e utilizarem ferramentas open source. Este trabalho est organizado da seguinte forma: No Captulo 2 so explicadas as tecnologias que foram utilizadas no decorrer do desenvolvimento do projeto. No Captulo 3 ser abordado um tutorial ensinando como configurar os equipamentos, preparando ambiente para upload do cdigo desenvolvido. J no capitulo 4, explicado o cdigo fonte que foi desenvolvido para ser gravado nos equipamentos. Por fim, o Capitulo 5 aborda concluso do trabalho, explica o resultado final do desenvolvimento do prottipo e apresenta algumas sugestes para trabalhos futuros.

15

2- Tecnologias utilizadas.
Neste captulo sero apresentadas as tecnologias utilizadas no decorrer do desenvolvimento do projeto.

2.1 Aparelhos celulares e Bluetooth


Nos ltimos anos uns dos dispositivos mveis que vem crescendo fortemente o telefone celular. Apesar da crise financeira mundial ocorrida entre 2008 e 2009, suas vendas vem se superando em alguns pases e recentemente alcanou o patamar de dois aparelhos de celular por habitantes. Dentre as principais razes, para este crescimento esto os preos mais acessveis e a vantagem da portabilidade.(Terra,2010, Globo,2010,Uol,2010). O dispositivo mvel d a oportunidade de acessar e interagir - a qualquer hora do dia, noite, regio como por exemplo acessando jogos, redes sociais, e-mails, mensagens sms(Short Message Service) , Bluetooth, Internet, localizando o mapa Gps(Global Positioning System) desde que tenha cobertura de comunicao sem fio, redes telefnica, etc. O fato se ser porttil trar como consequncia retornara comodidade e fcil acesso. (Johnson, 2007), (Scheible; Tuulos, 2007).

2.2 Bluetooth
No ano de 1994 a empresa Ericsson[referenciar o site da Ericsson] iniciou o desenvolvimento do projeto voltado tecnologia Bluetooth. O objetivo do projeto da foi obter a comunicao, atravs da rede sem fio de baixo custo entre os dispositivos mveis. A Ericsson se juntou-se com um grupo de empresas (Nokia, Intel, Toshiba e IBM(International Business Machines)), formando o Special Interest Group (SIG) do Bluetooth no ano de 1998, cujo objetivo foi desenvolver um padro aberto de comunicao sem fios. Com o padro aberto do Bluetooth, em menos de dois anos obteve muito sucesso, mais de 2000 novos membros (empresas) se juntaram ao grupo SIG. A tecnologia Bluetooth possui caractersticas fortes o fato de ser open source lhe da novas oportunidades de desenvolvimento, por no precisar pagar altas taxas de licenas ou at mesmo direitos autorais. O foco principal do grupo SIG sempre foi criar um dispositivo com as seguintes caractersticas, de baixo custo, consumo baixo de energia, criao de um dispositivo de rdio em um nico chip, possuir comunicao compatvel com outros dispositivos mveis, uma vez que poder ser implementado em diversos hardwares, especialmente os dispositivos portteis das empresas associadas ao grupo. (Dornan, 2001), (Miller, 2001), (Montebeller, 2006).

16

De acordo com Vincius,(2008) e Alecrim,(2008), o Bluetooth possui comunicao full duplex (envia e recebe o sinal ao mesmo tempo na transferncia de dados por radio frequncia). O protocolo padro aberto possui uma camada na qual da liberdade de qualquer alterao realizada de acordo com suas necessidades por desenvolvedores independentes e empresas lhe proporcionando novas oportunidades. Compatvel com qualquer dispositivo no importa a verso desde que tenha o Bluetooth respeitando o seu limite de distancia de cada hardware como descrito na Tabela 1.

17

Tabela 1-Limite de Distancia Hardware Bluetooth. Verses Potencia mxima permitida Velocidade da taxa de transferncia de dados
1 Mbit/s 3 Mbit/s 24 Mbit/s

Limite Maximo de distancia.

Bluetooth 1.0 Bluetooth 2.0 Bluetooth 3.0

1 mW (0 dBm) 2.5 mW (4 dBm) 100 mW (20 dBm)

1 metro 10 metros 100 metros

Em um nico chip acoplado por uma combinao de software e hardware. Foi Utilizada para que ocorra esse tipo de comunicao e a facilidade na deteco de diferentes aparelhos, o limite de velocidade 1Mbps de transmisso de dados, trabalha com a largura de banda reduzida.(Vincius,2008), (Alecrim,2008). Atualmente no mercado existe outra tecnologia chamada Wi-Fi tambm concorrente do Bluetooth. A diferena entre as duas tecnologias seria que o Bluetooth utiliza hardware de baixo custo, cujo objetivo ser independente onde qualquer dispositivo poder realizar a transferncia de dados sem auxilio de um outro equipamento de terceiro e utiliza baixo consumo de energia. Com isso acaba limitando a velocidade do trafego de dados. J a tecnologia Wi-Fi tem como objetivo de apenas na substituio de cabos, sua vantagem que oferece o dobro de velocidade no trafego de dados, j a desvantagens so exigidas hardware mais caro, funciona apenas em uma rede local, depende de um alto consumo de energia, exige um equipamento auxiliar de terceiro no trafego de dados. (Wikipdia,2011). De acordo com PC World,(2009), em 2014, o Bluetooth ser encontrado em 70% de todos os celulares e em 83% de todos os netbooks.

2.3 Symbian S60


Symbian um sistema operacional de 32 bits multitarefa robusto, projetado especialmente para redes sem fio e voltado para dispositivos mveis. A plataforma desse sistema foi projetada com o objetivo de focar em dispositivos portteis, atender as necessidades dos consumidores no mercado, utilizar plataforma aberta pra reduzir custos, e como consequncia dar oportunidade ao desenvolvimento de terceiros. (Delalande,2011)Para (Coulton et al., 2007) o Symbian foi fundada no ano 1998, atravs de um grupo de grandes empresas acionistas como a Psion, a Nokia, Ericsson e Motorola, deram inicio ao investimento no Sistema Operacional Symbian Mobile. O fato de ser open source chamou ateno de varias empresas e com isso o symbian no parava de evoluir, no decorrer no tempo varias empresas comearam a aderir o sistema symbian e tambm se juntando ao grupo de investidores Symbian, como mostra na figura1. Devido seu acesso a portabilidade e preos acessveis gerou-se como consequncia grande sucesso de telefones celulares atraindo o grande nmero de

18

consumidores em massa. Empresas de grande porte, fabricantes de dispositivos moveis como a Nokia, Ericsson e Motorola, como mostra na Figura 1, todas empresas que fazem parte do grupo Symbian, acabaram vendo este impacto de consumo e o potencial de crescimento. Pois a partir desse momento o grupo Symbian iniciou-se a corrida contra o tempo do desenvolvimento do sistema para telefones celulares e smatphones. (SymbianBrasil,2011)

Figura 1-Empresas que investem no Symbian OS (adaptado por Monteiro,2006,Symbianbrasil,2011) Acredita Renata Mesquitam,(2011), que em setembro do ano de 2003, a Motorola vender sua participao do consrcio para as empresas Psion e Nokia, tornando a empresa Nokia acionista majoritria do consrcio. Em julho de 2004 a empresa Psion vendeu sua participao das aes proprata para as empresas Nokia, Panasonic, Siemens AG e a Sony Ericsson. (Coulton et al., 2007).

19

A Figura 2 demonstra a diviso de aes da Symbian em junho de 2004. (Monteiro,2006)

Figura 2- Diviso de aes da Symbian(Junho de 2004). (adaptado por Monteiro,2006,Symbianbrasil,2011) A empresa cobra a taxa de licena por unidade com preo acessvel,dando oportunidade para pequenas empresas produzirem seu prprio equipamento com o sistema operacional Symbian, o que aumenta a competitividade com relao s empresas de grande porte.(IIDA,2006) O sistema operacional suporta varias Linguagens de programao para dispositivos mveis: Symbian C++ o derivado da linguagem C++, Java Micro Edition, Python, Perl, Ruby e FlashLite (Nokia,2011). A linguagem C++ considerada linguagem nativa do sistema operacional Symbian, obtm o melhor desempenho para aplicativos que exigem melhores desempenhos interagindo com APIs (Application Programming Interfaces) no desenvolvimento. J linguagens interpretadas como, por exemplo, Python e Java so mais fceis de programar e aprender, porm ficam a desejar aos aplicativos que exigem altos poderes de processamento, conforme mostrado na Figura 3 (Nokia,2011).

20

Baseado na Figura 3 foi realizado a comparao em relao s outras linguagens de Figura 3- Camada Symbian Adaptado por (Nokia, 2011) programao de dispositivos mveis: Symbian C++ Prs: -Acesso completo ao sistema de arquivos. -Inicializao rpida. -Aplicaes funcionam em todos os dispositivos sem necessidades de porta-los. -Aplicaes funcionam em background, foreground, invisveis. -Conta com controles j definidos e padronizados(Grids, Listbox, Forms, etc). -IDE gratuta. Contras: - Requer um conhecimento aprofundado em C++. -Maior tempo de produo comparada com outras linguagens.

21

Java ME Prs: -Grande potencial de mercado. -Funcionam em qualquer dispositivos com suporte a Java (apesar da necessidade de portabilidade). -Facilidade na elaborao do cdigo. -IDE gratuita. Contras: -Aplicaes no podem rodar em background. -Demora na inicializao. -Fragmentao. -Acesso limitado ao recursos do sistema. Python Prs: -Extensibilidade. -Open Source. -Fcil programao. -Pode ser programado *on-device*. Contras: -Sem pr-instalao -FlashLite Prs: -Grande potencial de marketing -Boa IDE para desenvolvimento -Fcil de programar Contras: -IDE de alto custo ($700) -Limitaes do Flash Lite 1.1

22

Acredita Gartner que o sistema operacional Symbian vai liderar o mercado nos prximos quatro anos, detendo em 2014 cerca de 30,2% do sector.

Segundo as previses do final do ano de 2010 o Android, ocupando o segundo lugar com 17,7% da quota do mercado. O Symbian mantera o primeiro lugar fechando com a arrecadao de quota 40,1% no mercado. Os demais sistemas operacionais mobile concorrentes, BlackBerry ocupando o terceiro lugar com 17,5% e Ios da Apple com o quarto lugar arrecadando 15,4% da quota de mercado. Portanto aps 2014 a liderana do lder do mercado poder sofrer alteraes como o sistema operacional Apple subindo para terceiro lugar. (PCGuia,2011)

2.4 Linguagem Python


A Python uma linguagem de alto nvel voltada para smartphones que utilizam Sistema Operacional Symbian Srie S60. Foi desenvolvida pensando exatamente na otimizao do tempo de aprendizado, focado em usurios como fsicos e engenheiros. Hoje encontra-se a maior dificuldade para aprender Linguagem C++ e JavaME devido o grau de complexidade, exigese mais tempo para aprender (Caraciolo, 2011), (Scheible; Tuulos, 2007). De acordo com as pesquisas do Tiobe Programming Community, indicador de popularidade das linguagens de programao, na Tabela 2 Python foi classificada com a stima posio do ranking entre as 50 linguagens de programaes mais populares do mundo. As empresas que fornecem os dados para a pesquisa utilizam um mecanismo de busca popular, como por exemplo: Google, Bing, Yahoo, Wikipedia, YouTube e Baidu, so utilizados para calcular o ranking de popularidade. Onde o Tiobe Programming Community classifica o ndice pela popularidade e no pelo desempenho, qualidade, etc. Pesquisas realizadas e comparadas ao ms de maio do ano de 2010 e maio de 2011. (Tiobe,2011).

23

Tabela 2-Ranking das linguagens de programao mais populares do mundo. (adaptado por Tiobe - Programming Community, 2011) Posio Maio 2011 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Posio Maio 2010 2 1 3 6 4 10 7 5 8 11 12 20 9 16 23 15 21 25 Delta na Posio Java C C++ C# PHP Objective-C Python (Visual) Basic Perl Ruby JavaScript Lua Delphi Assembly Lisp Ada Pascal Transact-SQL Scheme RPG (OS/400) Linguagem de Programao Avalia es Maio 2011 18.160% 16.170% 9.146% 7.539% 6.508% 5.010% 4.583% 4.496% 2.231% 1.421% 1.394% 1.102% 1.073% 1.042% 0.953% 0.747% 0.709% 0.697% 0.580% 0.503% Delta Maio 2010 +0.20% -2.02% -1.23% +2.76% -2.57% +2.65% +0.49% -1.16% -1.05% -0.67% -0.69% +0.61% -1.49% +0.30% +0.32% -0.02% +0.21% +0.09% Statu s A A A A A A A A A A A A A A A A A B B B

24

Conforme mostra a Tabela 3 a linguagem Python foi eleita campe do ano de 2010, obtendo maior numero de audincia. (Tiobe,2011). Tabela 3-Ranking da linguagens de programao mais popular campe do ano. (adaptado por Tiobe- Programming Community, 2011) Ano 2010 2009 2008 2007 2006 2005 2004 2003 Vencedore s Python Go C Python Ruby Java PHP C++

2.5 Python mobile S60


A linguagem de programao Python foi criada por Guido Van Rossum no ano de 1990, no Instituto Nacional de Pesquisa para Matemtica e Cincia da Computao da Holanda (CWI). No final do ano de 2004 foi lanado Python para Symbian. (Nokia,2011), (Borges,2009) As principais caractersticas dessa linguagem so: linguagem de programao de script orientada a objetos, multiplataforma, sintaxe simples e legvel, possui uma biblioteca completa, pode ser estendido usando cdigo nativo. Geralmente os cdigos escritos em Python so menores a cdigos equivalentes em C++ ou Java, um dos motivos o fato do seu mecanismo de abstrao de tipos permitir expressar operaes complexas com apenas um comando. (Caraciolo,2010). Devido a sua facilidade possvel programar de uma forma mais divertida, j que a linguagem d uma ampla gama de funes para smartphone, incluindo cmera, som, vdeo, Bluetooth, Internet, mensagens SMS e muito mais. (Lutz et al., 2007), (Scheible et al., 2007). O ano de 2006 foi um ano importante e decisivo para a linguagem, porque se tornou um projeto open source da empresa Nokia, liberando os cdigos fontes da plataforma para estudos. Com isso, vrios bugs e novidades os desenvolvedores puderam analisar e corrigir bugs, alm de melhorar a linguagem. Assim, os dispositivos mveis vo ficando mais potentes, porm o software acompanha sua evoluo. Atualmente o software se encontra na quarta verso. (Caraciolo, 2010). Como pode ser visto na Tabela 4, as maiores empresas do mundo utilizam Python.

25

Tabela 4-As maiores empresas do mundo utilizam Python. Adaptado por Lutz et al. (2007), Python.org (2011), Borges (2009).

Google e Yahoo. Hewlett Packard e Seagate IBM Industrial Light ande Magic Disney Microsoft IronPython Nokia

servio de internet testes de hardware produo de animaes de filmes Animaes Python para .NET Desenvolvimento para as linhas recentes de celulares, smartphones e PDAs

Na Tabela 5 podem ser vistas as empresas brasileiras que investem no Python. Tabela 5-Empresas do Brasil que Utilizam Python. Adaptado por Lutz et al. (2007), Python.org (2011), Borges (2009). Embratel Sistema Operacional linux Conectiva servio de internet Gerenciamentos dos pacotes da distribuio Linux, verificao de gerao de snapshots e varias ferramentas de uso interno

Alm das empresas apresentadas nas Tabelas 4 e 5, muitas outras empresas espalhadas pelo mundo utilizam Python para diversas finalidades. (Lutz et al.,2007), (Python.org,2011), (Borges,2009).

2.6 Microcontroladores
O microcontrolador derivado do computador, possui hardware de baixo poder de processamento, baixo consumo de energia, baixo custo. Destinado a uma nica tarefa ordenada, pois muito til em lugares remotos e perigosos como, por exemplo, roubos, monitoramento de meio ambiente, desarmamento de bombas onde no tem como deixar o computador operando. Composto por um circuito integrado, digital, memria RAM, memria flash, timer, PWM, conversor analgico e digital, clock, bluetooth e outros, agregando a um nico chip. (Faria,2006)

2.7 Arduino
No Interaction Design Institute Ivrea, escola de ps-graduao Itlia, Massimo Banzi era um professor e seus alunos sempre reclamavam que no conseguiam encontrar um poderoso microcontrolador, de baixo custo para gerenciar seus projetos de arte robtica. Massimo Banzi estava discutindo o problema com David Cuartielles, engenheiro espanhol especializado em microchip, que naquela poca era pesquisador visitante na escola

26

no inverno do ano de 2005. Pois na poca j existia outro microcontrolador monoplataforma fechado chamada Basic Stamp na Itlia que estava custando, cerca de 76 euros, valor esse, considerado caro para os estudantes. Os dois pesquisadores chegaram a concluso de que para solucionar o problema, teriam que criar seu prprio microcontrolador o mais moderno e barato possvel. Mas para isso teriam que utilizar todas alternativas possveis tanto de hardware como de software de baixo custo para construo do mesmo. Logo aps criaram um projeto com o nome de Arduino, este nome foi escolhido pois a discusso se iniciara num bar chamado Arduino, nome este que inevitavelmente fez muito sucesso entre os alunos. Formaram uma equipe de desenvolvedores com David Mellis, um dos alunos Banzi para escrever a linguagem de programao, David Cuartielles, Massino Banzi, Tom Igoe e Gianluca Martino. Juntos aps muita conversa criaram um microcontrolador baseado circuito em fios capaz de fazer algo agradvel, como responder a sensores, fazer leds(luzes) piscando, ou motores de controle. Aps a criao do primeiro microcontrolador Arduino, o grupo Arduino criou um site Oficial, publicou o projeto completo on-line e foi aplicado um investimento em torno de 3000 euros para reproduzir sistemas eletrnicos do primeiro lote de Arduino. Foram produzidos 200 micro controladores Arduino, sendo que a escola onde o professor Banzi lecionou o curso de ps-graduao comprou 50. O grupo no tinha noo de como que iriam vender as 150 placas restantes. Porm, o Arduino fez tanto sucesso na sala de aula como pelo mundo a fora com o sistema on-line, no parava de crescer, ficava cada vez mais famoso entre designers e artistas que logo vieram centenas de pedidos encomendando o Arduino. Ocorreu, ento, uma descoberta inesperada que a placa tinha potencial para entrar no mercado e os criadores do projeto resolveram regularizar formando uma empresa e realizando novas melhorias da placa pois a grande preocupao seria manter como open source. (Wired Mag Dalla Carta Al Web, 2011), (Odendahl et al.,2009), (Saber Eletrnica, 2011), Wikipdia, 2011). O hardware no possui uma lei especifica para direitos autorais que regulariza para deix-lo como padro aberto, sendo que as leis existentes s se aplicam para software livre. Os fundadores e criadores do Arduino decidiram criar um rgo no qual possui uma licena chamada Creative Commons Attribution Share Alike. Trata-se de proteger o hardware de padro aberto, regularizando no qual protege a qualidade do Arduino deixando Open Source, reproduo das placas para fins acadmicos, hobby e comerciais. O estudante que deseja utilizar o Arduino no precisa pedir autorizao e nem pagar a licena para desenvolver seu projeto. J a empresa que deseja reproduzir os microcontroladores utilizando o nome Arduino devera mandar o projeto para a equipe Arduino para passar por uma aprovao e aps aprovado deve pagar uma taxa e poder utilizar o nome Arduino. Essa poltica deixa os criadores sempre atualizados da evoluo do Arduino, sempre vo ocorrer upgrades do Arduino que j esta no mercado ou at mesmo poder ser lanado novo modelo. Como consequncia ira conservar a qualidade do Arduino e o padro aberto de hardware e software. Portanto a empresa que no deseja passar por essa poltica no poder utilizar o nome Arduino. Essa poltica um mecanismo de proteo para que ningum feche o padro aberto do Arduino, ou acabe danificando o nome Arduino por copias de ma qualidade acredita Banzi e Cuartielles. (Wired Mag Dalla Carta Al Web, 2011). Com o fruns de discusso abertos para receber e compartilhar qualquer tipo opinio, critica, trocas de experincias, sugestes e dvidas, foram atrados milhares pessoas

27

que gostam de tecnologia, como por exemplo, estudantes, apoiadores do Linux. Esses usurios deixam suas opinies, sugestes de melhorias como, por exemplo, fiao e aperfeioaram a linguagem de programao com isso a equipe Arduino realizou melhorias corrigindo falhas e bugs do software. Atualmente se encontra varias verses de software e hardware devido s correes. (Saber Eletrnica, (2011), Wired Mag Dalla Carta Al Web, (2011), Odendahl Et Al. (2009), (Wikipdia, 2011)). Para Wired Mag Dalla Carta Al Web, (2011), um distribuidor ofereceu-se para colocar as placas no mercado. Em 2006, Arduino tinha vendido 5.000 unidades, 30 mil no ano seguinte. No ano de 2008 o sucesso no se estabilizou, pelo contrrio, s continuou a crescer, foi vendido dezenas de milhares de microcontroladores Arduino para estudantes, projetistas e geeks (pessoas apaixonadas por tecnologia) do mundo inteiro. Acredita David Mellis vm sendo utilizadas para construir desde luminrias inteligentes at avies que se autopilotam. (Infoexame,2010). o grande sucesso foram as vantagens o cdigo aberto traz ao hardware, possibilitando a adaptao ao modelo de negcios e o fornecimento a diferentes situaes, os produtos para trabalhar com componentes que so mais baratos e fceis de conseguir de acordo com a sua regio do seu pas. Portanto isso se acabou beneficiando estudantes programadores iniciantes, avanados e ate mesmo empresas de pequeno e grande porte. E tambm pode ser encontrado o Arduino pronto para comprar ambos so multiplataforma aceitando diversas plataformas de Sistemas Operacionais Linux, Mac, Unix e Windows. Um outro fato interessante que o Compilador Ide Arduino foi desenvolvido em Java e a biblioteca do cdigo fonte foi baseada na linguagem C/C++. Para desenvolver escreve-se C/C++ pela interface padro do Ide compilador e pode se escolher qualquer compilador e linguagem de Programao Java, Php, C/C++, Ruby ou outra linguagem com uma nica condio desde que a linguagem possua uma biblioteca compatvel com o Arduino. No site oficial[http://www.arduino.cc/] encontra-se a documentao de como utilizar e desenvolver os softwares e hardwares para montagem do Arduino. Portanto o Arduino tem suas vantagens das quais se destacam a utilizao baseado na filosofia do criador do Linux deixando os cdigos fontes e hardwares aberto. Pois o fato de dar liberdade de alterao do Arduino sempre ira sofrer evoluo e ter mais estabilidade. Porque prprios usurios, estudantes e geeks vo melhor-lo de acordo com suas necessidades. (Wired Mag Dalla Carta Al Web, 2011), (Odendahl et al, 2009), (Saber Eletrnica, 2011), (Wikipdia, 2011) e (Infoexame,2010).

28

2.8 ArduinoBT

Figura 4- Microcontrolador ArduinoBT (Adaptado de Arduino.cc,2011) Na Figura 4 pode ser visto o Microcontrolador ArduinoBT com base no Atmega168(datasheet) integrado com o mdulo Bluetooth modelo Bluegiga WT11. Esse microcontrolador possui comunicao serial sem fio Bluetooth, incompatvel com a comunicao Bluetooth heasets e dispositivo de udio. Conforme Arduino (2011), o equipamento possui 14 pinos de entrada digital / sada (das quais 6 podem ser usados como sadas PWM(Pulse Width Modulation) e pode ser usado para reset o mdulo WT11), 6 entradas analgicas, a 16 MHz cristal oscilador, um cabealho ICSP, e um boto de reset. Projetado para dar suporte ao microcontrolador e um cabealho ICSP, mais um boto reset. Pode ser realizado o upload do cdigo fonte sem o auxilio de fio atravs da conexo rdio frequncia de padro aberto Bluetooth (Arduino, 2011). Na Tabela 6, podem ser encontradas informaes adicionais a respeito do microcontrolador. Tabela 6-Descrio Tcnica do microcontrolador ArduinoBT. (Adaptado de Arduino, 2011) Microcontrolador Tenso de funcionamento Tenso de entrada ATmega168 5V 1,2-5,5 V

29

E / S Digital Pins Pinos de entrada analgica DC Corrente por pino de E / S Corrente DC 3.3V para Pin Memria Flash SRAM EEPROM Velocidade do Clock

14 (dos quais 6 oferecem sada PWM) 6 40 mA 50 mA 16 KB (dos quais 2 KB utilizado pelo gerenciador de boot) 1 KB 512 bytes 16 MHz

2.8.1 Comunicao via Bluetooth


Para a comunicao via Bluethooth, o microcontrolador possui um modulo Bluegiga WT11 acoplado no ArduinoBT para obter comunicao via Bluetooth com computadores, notebook telefones celulares, smartphones, entre outros. A Tabela 7 demonstra as caractersticas do modulo WT11 acoplado ao ArduinoBT e na coluna Segurana pode utilizar como padro ou caso deseje alterar a senha e o nome tambm pode ser trocado, ficando a critrio do desenvolvedor. Tabela 7-Caractersticas da Configurao - Modulo WT11. Adaptado por (Arduino,2010). Configurao Modulo WT11 Comunicao do Comunicao microcontrolador Upload ATmega168 Pinos Taxa de Sistema Segurana transmisso Operacional de dados 115,200 Linux, Mac e Windows Nome:ArduinoBT e senha:12345(padro)

Via TX e serial(ICSP) RX /Bluetooth(adaptado r USB) que fornece a porta COM(Virtual) para o sistema operacional.

Possui porta serial para obter a comunicao serial conhecida como UART(Universal Asynchronous Receiver Transmitter) ou USART(Universal Synchronous Asynchronous Receiver Transmitter)), utiliza-se para comunicar com o computador ou com outros dispositivos, podese ser localizado nos pinos 0 (RX) e 1(TX), ligado ao modulo WT11(equipamento interligado ao ArduinoBT). A biblioteca do Software Serial permite a

30

comunicao serial em diversos pinos digitais. O ATmega168(chip onde controla todas as portas de envios e recebimentos de dados do microcontrolador Arduino) tambm suporta I2C (TWI-(Two-Wire Interface)) e SPI(Serial Peripheral Interface) comunicao. O software compilador Arduino inclui uma biblioteca Wire para otimizar a utilizao o do barramento I2C(Two-Wire Interface) da comunicao SPI(Serial Peripheral Interface). ( Arduino, 2011) O ArduinoBT possui um software que pode ser utilizado para compilar, upload e at mesmo para realizao de testes interagindo com o Arduino atravs de um computador. A interface chama-se Monitor(Arduino serial), que nela pode ser enviada comandos de nmeros ou caracteres via Bluetooth para a placa.

2.8.2 Programao
No microcontrolador ArduinoBT o atmega168 vem pr-queimada(gravado o cdigo fonte) com um bootloader que da a liberdade de fazer upload de novos cdigos sem o auxilio do programador de hardware externo. Utiliza o protocolo STK500 original na comunicao. opcional de fazer upload, podem ser utilizados fios para se comunicar com o bootloader, para programar o ATmega168 atravs da ICSP (In-Circuit Serial Programming) ou tambm poder ser realizado Upload via Bluetooth, ficando a escolha do desenvolvedor. (Arduino, 2011)

31

2.9 Servo Motor


Servos motores, so motores de corrente contnua projetada para posies pr-determinadas do ngulo de 0 a 180 graus, possuem trs fios, sendo um positivo, um negativo e outro que envia e recebe sinais de comandos do microcontrolador. (Robots, 2011). As informaes sobre esses fios so detalhadas na Tabela 8.

Tabela 8- Informaes dos fios Adaptado de (Robots, 2011).


Preto ou marrom Vermelho positivo Amarelo, Laranja ou Branco o fio de sinal Negativo(Terra) (4,8-6V) (3-5V)

Figura 1- Servo Motor (adaptado de Digipartes,2011)

32

A Tabela 9 destaca as caractersticas e a Figura 8 mostra o servo motor que foi usado no desenvolvimento do prottipo.

Tabela 9- Especificaes (adaptado de Digipartes,2011)


Marca Modelo Tamanho Peso Voltagem: Torque Velocidad e Servo Hextronik HXT 900 - 9Grs 22 x 21 x 12 mm 9 grs 3a6V 1,6 kg 0,12 segundos (4,8V)

33

3 Configurao e Instalao

Neste captulo ser demonstrado o passo a passo realizado de modo a criar o sistema proposto.

3.1 Configurando Sistema Operacional Linux Ubuntu 10.04 64bits


Deve ser verificado se o sistema possui o pacote brltty (ele permite o uso do sistema operacional Linux de modo texto voltado para usurio cego que a comunicao feita de modo braile.( Mielke,2011)). Pacote orca (possui cdigo fonte aberto, aplicativo serve como leitor de tela, para que haja uma comunicao com o usurio cego e ampliao de tela(Gnome,2011)). Caso encontrar instalado, deve-se remover para que no ocorra problemas futuros como conflitos com ArduinoBT, esses dois pacotes so encontradas e pesquisadas no editor de pacote aptitude ou synaptic, pode deletar sem problema. Depois de concludo a remoo do pacote brltty, j pode ser capaz de conectar com uma placa Arduino USB com sucesso. Siga prossiga o as instrues abaixo para ArduinoBT. 3.2 Configurao Depois de realizado a instruo acima prosseguimos para o software, deve se fazer download da maquina virtual Java OpenJdk6 pode ser encontrado no gerenciador de pacote Synapitc. O compilador Ide 21 Arduino poder ser encontrado no site Oficial Arduino.

3.3 Configurao de dispositivo em ArduinoBT


Neste projeto esta sendo utilizado um adaptador bluetooth 2.0 no notebook para fazer a sincronizao com o arduinoBT, realizando upload do cdigo fonte. Para obter a sincronizao tem que criar um vnculo atravs do comando ir criar um novo / dev/rfcomm0 no diretrio /dev. A seguir deve-se alterar o arquivo de configurao Arduino com os comandos abaixo: $> Cd ~ /. Arduino $> Preferences.txt gedit Outra opo mais simples que chegar ao mesmo arquivo lembrando que extrai o compilador dentro da pasta /home/nomeDoUsuario /home/nomeDoUsuario/arduino-0021/lib/Preferences.txt Na configurao padro estar assim:

34

serial.port=COM1 serial.databits=8 serial.stopbits=1 serial.parity=N serial.debug_rate=9600 Para funcionar a porta do Bluetooth deve-se alterar as seguintes linhas serial.port= / dev/rfcomm0 serial.databits=8 serial.stopbits=1 serial.parity=N serial.debug_rate=115200 Ao trmino da alterao deve-se salvar e fechar, sendo agora o prximo passo emparelhamento.

35

3.4 Emparelhamento Bluetooth


Estamos utilizando um aplicativo padro do Ubuntu 10.04 64 bits. Conforme mostra na figura 5.

Figura 5- Aplicativo Bluetooth padro do Ubuntu 10.04 64 bits Aps abrir o aplicativo ir abrir uma caixa de mensagem como mostrada na Figura 6.

Figura 6- Opo para localizar um novo dispositivo Bluetooth Para iniciar a localizao e configurao selecione a opo Set up new device.

36

37

Figura 7-Caractersticas do dispositivo encontrado. A figura 7 mostra as informaes sobre o adaptador Bluetooth 2.0 que tem o limite de 10 metros de alcance, prossiga com Forward. Figura 8- Dispositivo ARDUINOBT localizado.
Na tela da Figura 8 deve-se selecionar o dispositivo encontrado ARDUINOBT em seguida necessrio Informar o Pin Options.

Figura 9- Informao do Pin(senha) ARDUINOBT.

38

Na Figura 9 o Custom PIN foi informado a senha padro para fazer o pareamento com o ArduinoBT.

Figura 10- Aviso de Configurao completa. De acordo com a Figura 10, depois de concludo pressione close, e o dispositivo j esta pareado, pronto para receber os comandos de configurao.

3.5 Comandos de configurao


Para ativar a porta do dispositivo comunicao do Bluetooth compilador Arduino ide 21 deve se digitar o comando: sudo rfcomm bind 0 00:07:80:91:31:67 1, na figura 11, este comando ativa a porta de comunicao bluetooth do adaptador.

39

Figura 11- Comando de ativar a porta de comunicao Bluetooth. Na figura12 demonstra o comando para desativar a comunicao Bluetooth digite o comando: sudo rfcomm release 00:07:80:91:31:67.

Figura 12- Comando de desativar a porta de comunicao Bluetooth. Lembrando que o 00:07:80:91:31:67 mostrado na figura 11 e12, o numero do meu MAC(Media Access Control, (endereo de identificao do hardware ), cada dispositivo possui um numero diferente no caso de um outro ArduinoBT vai mudar o Mac.

40

Figura 13- Equipamento selecionado.


A figura13 apresenta que antes de iniciar o upload necessrio que selecione o equipamento no caso desse projeto foi usado o ArduinoBT w/ ATmega168.

Figura 14- Porta de comunicao Bluetooth ativado.

41

Na figura 14 mostra que a porta /dev/rfcomm0 de comunicao Bluetooth tem que ser selecionada para que possa fazer upload do cdigo fonte no ArduinoBT.

3.6 No equipamento ArduinoBT


Pressione o boto resete do microcontrolador durante 10 segundos para que possa dar permisso de enviar o cdigo fonte a seguir solte e pressione a opo do compilador upload do computador. Pois o ArduinoBT vem agregado com o perifrico Bluetooth. Portanto o boto resete serve tambm para dar permisso de sincronismo de dados para que ocorra o Upload do cdigo fonte. Lembrando para que funcione necessrio siga todos os passos.

3.7 Instalando Pys60 no smartphone Nokia E63

Figura 15- Smartphone Nokia E63

De acordo com a Tabela 10 demonstra a Caracterstica bsica para desenvolvimento Python relacionado figura 15. Tabela 10-Modelo smartphone Nokia e63. Sistema operacional Bluetooth Symbian 9.2 Verso 2.0 Serie S60 3.1 Limite de alcance 10 metros

42

Antes de iniciar o download e a instalao importante verificar a verso do hardware. Este aparelho da serie S60 3.1 e a verso do sistema operacional, Symbian 9.2. Vai ser encontrado para download com o nome da verso 3rd Edition Feature Pack 1. Esta verso utiliza a verso 2.5 do python que se encontra disponvel n site da Maemo tambm conhecida como Meego (Parceria da empresa Intel com empresa Nokia voltada para tecnologia embarcada unindo Maemo com Moblin). (Matias, 2011)

3.8 Baixando a Verso do Python Para S60


Pode ser encontrado no site de pginas de Projetos souceforge. Para que o compilador python funcione no smartphone importante baixar os dois pacotes PythonScriptShell_1_4_5_3rdEd.SIS e PythonForS60_1_4_5_3rdEd.sis. Outra opo quem for baixar no site Maemo tem um arquivo nico, tomar cuidado, pois pode ser encontrado mltiplas verses anteriores. O arquivo vai ser encontrado no formato .tar.gz dentro desse pacote estar contem os pacotes de instalao, manual em arquivo pdf explicando as dependncias dos pacotes do desenvolvimento python mobile. Para que funcione o interpretador do python mobile necessrio que instale os dois pacotes mencionados no inicio deste capitulo. O desenvolvedor tem duas opes a primeira seria instalar no prprio smartphone, a segunda instalar no prprio emulador do symbian S60 no computador. Utilizando a primeira opo mais adequado, pois no vai ter limites de recursos como o uso do Bluetooth, cmera, etc.(Matias, 2011).

43

4 Comunicao da Tecnologia Python Mobile com Microcontrolador Open Source atravs do Bluetooth.

O desenvolvimento para o ArduinoBT foi feito em na linguagem de programao C++ onde cdigo foi projetado para ser o receptor que receber caracteres de comandos. Pois o comando se encontrara em valor de string da que ao converter na tabela Ascii (American Standard Code for Information Interchange) ir ter os seguintes valores 1 (abrir) e 0 (fechar).

44

Tabela 11-Algortmo 1 ArduinoBT 1 //ArduinoBT 2 #include <Servo.h> 3 Servo servo1; 4 int position1 = 0; 5 int input = 0; 6 void config_bt(){ 7 Serial.println("SET BT PAGEMODE 3 2000 1"); 8 Serial.println("SET BT NAME BT_Arduino"); 9 Serial.println("SET BT ROLE 0 f 7d00"); 10 Serial.println("SET CONTROL ECHO 0"); 11 Serial.println("SET BT AUTH * 12345");// senha definida 12 Serial.println("SET CONTROL ESCAPE - 00 1"); 13 } 14 void setup() 15 { 16 config_bt(); 17 Serial.begin(115200); 18 servo1.attach(8); //indica a porta 8 19 } 20 void loop() 21 { 22 if (Serial.available() > 0) 23 { 24 input=Serial.read(); 25 if(input!=-1) 26 { 27 if(input==49) 28 { 29 position1=179; 30 servo1.write(position1); 31 Serial.print(1); 32 delay(10); 33 }else if(input==48) 34 { 35 position1 = 89; 36 servo1.write(position1); 37 delay(10); 38 Serial.print(0); 39 } 40 } 41 } 42 }

45

O Algoritmo 1 foi desenvolvido para utilizao do prottipo,na Linha 2 includa a biblioteca pronta que possui clculos pr-determinado especialmente para servo motor, os valores dos ngulos informados como, por exemplo, 89 e 179 vo ser calculados matematicamente para achar esses valores. Nas linhas 3 a 5 so feitas as declaraes de variveis e criao de objetos que sero utilizadas para zerar as posies e realizar chamadas de funes da biblioteca do Arduino.Nas linhas 6 a 13 realizada a configurao de senha de comunicao Bluetooth, nome do equipamento e comandos pr-determinados recebidos do Python S60. Nas linhas 14 a 19 chama-se a funo, defini a velocidade da taxa de transferncia de dados e defini a porta de sada de sinal. Nas linhas 20 a 42 programado para entrar num ciclo de verificao recebendo comandos pr-determinados atravs de um caractere de comando do Python Mobile. O valor 49 esta em formato decimal, equivalente na tabela ASCII o valor 1, o valor 48 esta em formato decimal, equivalente na tabela ASCII o valor 0, caso for o valor 1 ira abrir o porto, se for zero fecha e diferente desses comandos nenhum procedimento realizado. Para o desenvolvimento do smatphone E63 foi utilizado linguagem de programao python da serie S60. No qual ele vai disparar os comandos pr-determinados para o ArduinoBT. A sincronizao do smartphone nokia e63 com o micro controlador ArduinoBT realizada pela porta serial da comunicao RFCOMM.

46

5 Python S60 foi testado no Smartphone Nokia e63 Tabela 12- Algortmo 2 Python mobile. 1 import socket, e32, appuifw 2 def choose_service(services): 3 names = [ ] 4 channels = [ ] 5 for name, channel in services.items(): 6 names.append(name) 7 channels.append(channel) 8 index = appuifw.popup_menu(names, u"Choose service") 9 return channels[index] 10 def connect(): 11 global sock 12 address, services = socket.bt_discover() 13 channel = choose_service(services) 14 sock = socket.socket(socket.AF_BT, socket.SOCK_STREAM) 15 sock.connect((address, channel)) 16 def receive(): 17 18 19 20 21 22 global sock data = sock.recv(1) if data == "1": appuifw.note(u" Port close ", "info") elif data == "0": appuifw.note(u" Port open ", "info")

23 def bt_send_data1(): 24 global sock 25 sock.send("1") 26 receive() 27 def bt_send_data2(): 28 global sock 29 sock.send("0") 30 receive() 31 def exit_key_handler():

47

32 33 34

print "socket closed" sock.close() app_lock.signal()

35 app_lock = e32.Ao_lock() 36 appuifw.app.menu = [(u"Port close", bt_send_data1), 37 (u"Port open", bt_send_data2), 38 (u"Connect", connect)] 39 appuifw.app.exit_key_handler = exit_key_handler 40 app_lock.wait()

linha 1- biblioteca integrado a interface API(Application Programming Interface) mobile ,Bluetooth, sockets. Linha 2 a 9- define o nome, porta de comunicao e O tipo de servio. Linha 10 a 15- define a configurao de comunicao como o vai ser utilizado a comunicao com o microcontrolador ArduinoBT. Linha 16 a 22- funo recebe os valores 1 ou 0 e verifica se for igual a 1 chama a funo appuifw. Note mandando o parmetro port close se for zero, manda o parmetro port open global sock. Linha 23 a 26- funo recebe o valor 1 e chama a linha16.Dispara um comando enviando um caractere ASCII1 para a Linguagem C++ para abrir o porto eletrnico para o ngulo 89graus. Linha 27 a 30- Funo recebe o valor 0 e chama a linha16. Dispara um comando enviando um caractere ASCII0 para a linguagem C++, e fecha o porto eletrnico acionando o servo motor para o ngulo de 89 graus. Linha 31 a 40- monta a interface para interagir, atravs de mensagens com comandos 0 (fecha) ou 1(abrir),chamando outras funes e finalizando o programa. Na figura 16 e 17 demonstra o prottipo realizando as seguintes aes fechado e aberto da porta eletrnica. J na figura 18 demonstra a interface do software em que o usurio poder interagir realizando as seguintes aes abrir, fechar e conectar com a porta eletrnica.

48

Figura 16- Porta fechada

Figura 17-Porta aberta

Figura 18- Porta fechada 49

Figura 19- Interface do software

50

5 Concluso
Este projeto teve sucesso podendo provar que foi possvel utilizar ferramentas de software e hardware Open Source, tornando-se mais econmico em ter um nico smartphone controlando atravs de um nico software mltiplos portes eletrnicos ao invs de utilizar mltiplos dispositivos individuais aumentando o custo. Como possveis trabalhos futuros, pode-se agregar a utilizao de sensores, adicionando mais perifricos tornando possvel sua utilizao em uma casa inteligente.

51

Referncias Bibliogrficas
ARDUINO. ArduinoBT. Disponvel <http://arduino.cc/it/Main/ArduinoBoardBluetooth>. Acesso em: 15 fev. 2011. em:

ARDUINO (Org.). Using Arduino BT (Bluetooth) in Ubuntu 9.04 and 9.10. Disponvel em: <http://www.arduino.cc/playground/Learning/ArduinoBT-Ubuntu>. Acesso em: 28 mar. 2011. Bluetooth e Wi-Fi tm aplicaes diferentes; entenda como funciona cada um .VINCIUS, SRGIO. UOL Tecnologia 26 de junho.2008 Disponvel em:< http://tecnologia.uol.com.br/produtos/ultnot/2008/06/26/ult2880u711.jhtm>. Acesso em: 11/03/2010 BORGES, Luis Eduardo (Ed.). Python para desenvolvedores. Rio De Janeiro: Luis Eduardo Borges, 2009. COULTON, Paul et al. S60 programming: A tutorial guide. The Atrium, Southern Gate, Chichester, West Sussex Po19 8sq, England: John Wiley & Sons, 2007. 328 p. CHRISTOPHE DELALANDE. SYMBIAN. Disponvel <http://www.wirelessbrasil.org/wirelessbr/colaboradores/christophe/symbian.html>. em: 13 jan. 2011. DIGIPARTES. Servo HXT900. Disponvel <http://digipartes.com/productos/servos/hxt900/>. Acesso em: 15 fev. 2011. em: Acesso em:

Faria, T. H. D. d. F.Introduo aos Microcontroladores- Aula 1 - Escola Politcnica da Universidade de So Paulo-Departamento de Sistemas Eletrnicos PSI/EPUSP, Disponvel em:<http://docs.google.com/viewer? a=v&q=cache:2sL53cEzuH4J:www.lps.usp.br/lps/arquivos/conteudo/grad/dwnld/mcu.pdf+mi crocontrolador&hl=ptBR&gl=br&pid=bl&srcid=ADGEESiIaz5wHvdTbdgIzKuAX6sAhsyNyxR1kZvJgLgPe0uwS nau9ry68Cm-3dK0GJOet3duahIaACZ7Y6MXyEttXvjq7zbVzhMRUFTPqg73PbVK07c__DPQWDBLKC1IymcIXINj81l&sig=AHIEtbSjA0GDjI 9HxBSKulFZ1uDm9mLz_w>.Acesso em:30 de abr.2010. GLOBO.Mercado de telefonia celular deve crescer acima de 10%, prev Claro. acesso em:http://oglobo.globo.com/economia/mat/2010/04/09/mercado-de-telefonia-celular-devecrescer-acima-de-10-preve-claro-916296328.asp. disponvel em: 7 de junho de 2010. GNOME. Orca. Disponvel em: <http://live.gnome.org/Orca>. Acesso em: 6 mar. 2011. Hardware livre leve e solto. INFOEXAME. Ed. 276. Abril. So Paulo: fevereiro de 2009. Hardware Tecnologia Bluetooth. Emerson Alecrim - Publicado em 30/01/2008 - Atualizado em 06/03/2010. Disponvel em: http://www.infowester.com/bluetooth.php Acesso em:11 de maro.2010. IIDA, Renato Faria. DESENVOLVIMENTO SYMBIAN NA PLATAFORMA SERIE 60. 2006. 116 f. Dissertao (Mestrado) - Departamento de Engenharia Eltrica, Universidade De Braslia Faculdade De Tecnologia, Braslia, 2006.

52

JOHNSON, Thienne M. Java para Dispositivos Mveis -Desenvolvendo Aplicaes com J2ME. 1. ed. So Paulo: Novatec, 2007. LUTZ, Mark et al. Aprendendo Python: Programao Orientada a Objetos. 2. ed. Porto Alegre: Bookman Companhia Editora Ltda, 2007. MARCEL PINHEIRO CARACIOLO (Brasil). Desenvolvendo Aplicativos Python para Symbian OS: Introduo programao Python para celulares Symbian S60. Disponvel em: <http://www.devmedia.com.br/articles/viewcomp.asp?comp=11644>. Acesso em: 7 jan. 2011. MATIAS, Rodrigo Pinheiro. Instalando PyS60 em um celular Nokia.Disponvel em: <http://rodrigomatias.goware.com.br/blog/archives/107>. Acesso em: 28 mar. 2011. MIELKE. Brltty. Disponvel em: <http://mielke.cc/brltty/>. Acesso em: 6 mar. 2011. Montebeller,S.J.Estudo sobre o emprego de dispositivos sem fios wireless na automao do ar condicionado e de outros sistemas prediais.Dissertao apresentada Escola Politcnica da Universidade de So Paulo para a obteno do ttulo de Mestre em Engenharia.So Paulo-SP:2006. MONTEIRO, Jane Dirce Alves. Desenvolvimento de aplicaes multi-plataformas para dispositivos mveis. Dissertao apresentada ao Instituto de Cincias Matemticas e de Computao - ICMC-USP como parte dos requisitos para obteno do ttulo de Mestre em Cincias de Computao e Matemtica Computacional. So Carlos-SP:2006. NOKIA. Forum.nokia. Desenvolvendo aplicaes para Symbian OS S60. Disponvel em: <http://wiki.forum.nokia.com/index.php/Desenvolvendo_aplica %C3%A7%C3%B5es_para_Symbian_OS_S60>. Acesso em: 13 jan. 2011. PC GUIA. Susana Esteves. Android e Symbian vo liderar sector em 2014. Disponvel em: <http://www.pcguia.xl.pt/sec-mercado/6-mercado/453-android-e-symbiam-vao-liderar-sectorem-2014.html>. Acesso em: 7 maio 2011. PCWORLD.Em quatro anos, Wi-Fi e Bluetooth sero itens de srie nos celulares. Acesso em:< http://pcworld.uol.com.br/noticias/2009/12/07/em-quatro-anos-wi-fi-e-bluetooth-seraoitens-de-serie-nos-celulares. disponvel em:16de jun.2010>. PYTHON.ORG (Brasil). EmpresasPython: Empresas que usam Python. Disponvel em: <http://www.python.org.br/wiki/EmpresasPython>. Acesso em: 17 jan. 2011. ODENDAHL, Manuel et al. Arduino: Physical Computing fr Bastler, Designer und Geeks. Colnia Alemanha:Oreilly, 2009. RENATA MESQUITA (Brasil). Motorola vende sua parte no consrcio Symbian. Disponvel em: <http://info.abril.com.br/aberto/infonews/092003/02092003-3.shl>. Acesso em: 1 abr. 2011. SYMBIANBRASIL.COM (Brasil). SYMBIAN OS. Disponvel em: <DELALANDE, Christophe. SYMBIAN. Disponvel em: . Acesso em: 13 jan. 2011.>. Acesso em: 13 jan. 2011. SCHEIBLE, Jrgen; TUULOS, Ville. Mobile python: Rapid Prototyping of Applications on the Mobile Platform. West Sussex Inglaterra: Wiley, 2007. SABER ELETRONICA (Ed.). A onda do Arduino: Esta placa de controle I/O open-source j muito divulgada no exterior e comea a ganhar cada vez mais adeptos aqui no Brasil.

53

Disponvel em: <http://www.sabereletronica.com.br/secoes/leitura/1307>. Acesso em: 26 jan. 2011. SOCIETY OF ROBOTS. ATUADORES: Servos. Disponvel <http://www.societyofrobots.com/actuators_servos.shtml>. Acesso em: 15 fev. 2011. em:

TERRA.Claro v mercado celular crescer mais de 10% em 2010. acesso em:<http://economia.terra.com.br/noticias/noticia.aspx? idNoticia=201004091911_RTR_1270840313nN09111319. disponvel em: 7 de junho de 2010>. TIOBE SOFTWARE BV (Org.). Python is the fastest growing programming language of 2010 according to the TIOBE index. Disponvel em: <http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html>. Acesso em: 17 maio 2011. UOL.Em fevereiro, Brasil supera marca de 176 milhes de celulares. acesso em:<http://idgnow.uol.com.br/telecom/2010/03/18/brasil-tem-176-milhoes-de-celulares/>. disponvel em: 7 de junho de 2010.

WIRED MAG DALLA CARTA AL WEB (Itlia). Privitera Mario. Hai unidea geniale? Fai come Mr Arduino, regalala. E diventa ricco. Disponvel em: <http://mag.wired.it/rivista/storie/hai-un-idea-geniale-fai-come-mr-arduino-regalala-ediventa-ricco.html>. Acesso em: 21 jan. 2011. WIKIPDIA. Arduino. Disponvel em: <http://pt.wikipedia.org/wiki/Arduino>. Acesso em: 28 jan. 2011. WIKIPEDIA (Brasil). Bluetooth. Disponvel em: <http://pt.wikipedia.org/wiki/Bluetooth>. Acesso em: 8 maio 2011.