|
Página 1 de 1
|
[ 8 Mensagens ] |
|
Comunic. Socket entre Android e Arduino(bib. Ethernetshield)
| Autor |
Mensagem |
|
fab.ramalho90
What is Android?
Data de registro: 18 Jun 2012, 10:58 Mensagens: 1
|
 Comunic. Socket entre Android e Arduino(bib. Ethernetshield)
Olá a todos. Estou fazendo meu TCC sobre Automação Residencial, Eu tenho um Arduino com um Wishield(Shield Wireless) que utiliza a mesma biblioteca do Ethernetshield que será o servidor do projeto, e do outro lado um aplicativo Android que será o cliente do projeto, quem fará as requisiçoes. Quem fará o meio do caminho será um roteador wireless. A comunicação dos dois será feita atraves de Socket. O objetivo é que pelo aplicativo em um celular seje possivel ligar uma lampada, um eletrodomestico,etc na residencia. O cliente será o android e o arduino o servidor. Ja estou conseguindo ligar um led no arduino atraves de uma requisição do aplicativo android. POREM QNDO TENTO RECEBER UMA MSG DO ARDUINO PARA O ANDROID NAO DA CERTO. ESTOU UTILIZANDO UM TUTORIAL NO TURIN_THIAGO. GOSTARIA DE ALGUMA AJUDA OU IDEIA. ANDROID - CLIENTE package com. clienteandroid; import java. io. DataOutputStream; import java. io. DataInputStream; import java. io. IOException; //import com.clienteandroid.MensagemAndroid;import android. os. Handler; import android. os. Message; /** * Classe resposável por enviar mensagens ao Servidor * * @author turim_thiago@hotmail.com * */class Sender implements Runnable { private DataOutputStream out; private DataInputStream in; private boolean running = true; private Handler handler; private Message msg; private String sendMessage; private String rec1; public Sender (DataOutputStream out, DataInputStream in, Handler handler ) { this. out = out; this. in = in; this. handler = handler; } @Override public void run () { while (running ) {// Enquanto estiver executando try { if (sendMessage != null) { // Se existir uma mensagem para // enviar msg = new Message (); msg. arg1 = ConnectionSocket. SENDING_MESSAGE; handler. sendMessage(msg ); // Notifica Handler out. flush(); **** rec1. getBytes(); // recebe informações do arduino //Recebe msg do Arduino (NAO ESTA FUNCIONANDO) ****rec1 = in. WriteInt; // recebe informações do arduino //Recebe msg do Arduino (NAO ESTA FUNCIONANDO) //JA TENTEI USAR ESSES 2 JEITOS ACIMA PARA RECEBER E NADA *** out. writeUTF(sendMessage ); // Escreve mensagem e envia para o arduino( FUNCIONANDO) out. flush(); sendMessage = null; // Seta nulo na mensagem } } catch (IOException e ) { e. printStackTrace(); msg = new Message (); msg. arg1 = ConnectionSocket. ERROR; msg. obj = e. getMessage(); handler. sendMessage(msg ); running = false; } } try { out. close(); in. close(); } catch (IOException e ) { e. printStackTrace(); } } public boolean isRunning () { return running; } public void setRunning (boolean running ) { this. running = running; } public void stop () { running = false; } public void setMessage (String message ) { this. sendMessage = message; } public void disconnect () throws Exception { msg = new Message (); msg. arg1 = ConnectionSocket. DISCONNECTED; handler. sendMessage(msg ); // Notifica Handler running = false; out. close(); in. close(); }} _______________________________________________________ ARDUINO - SERVIDOR #include <WiShield.h> // MESMA BIBLIOTECA DO EHERNETSHIELD.H
#define WIRELESS_MODE_INFRA 1 #define WIRELESS_MODE_ADHOC 2
// Wireless configuration parameters ---------------------------------------- byte local_ip[] = {192,168,1,22}; // IP address of WiShield byte gateway_ip[] = {192,168,1,1}; // router or gateway IP address byte subnet_mask[] = {255,255,255,0}; // subnet mask for the local network prog_char ssid[] PROGMEM = {"ramalho"}; // max 32 bytes unsigned char security_type = 2; // 0 - open; 1 - WEP; 2 - WPA; 3 - WPA2
// WPA/WPA2 passphrase const prog_char security_passphrase[] PROGMEM = {"v0str03300"}; // max 64 characters
// WEP 128-bit keys // sample HEX keys prog_uchar wep_keys[] PROGMEM = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, // Key 0 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Key 1 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Key 2 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Key 3 };
// setup the wireless mode // infrastructure - connect to AP // adhoc - connect to another WiFi device unsigned char wireless_mode = WIRELESS_MODE_INFRA;
unsigned char ssid_len; unsigned char security_passphrase_len; //---------------------------------------------------------------------------
Server server(9000); Client client_a;
char i;
void setup() { pinMode(7,OUTPUT); digitalWrite(7,LOW); Serial.begin(9600);
Serial.println("Starting Wifi ..."); WiFi.begin(local_ip, gateway_ip, subnet_mask); Serial.println("Wifi started.");
server.begin(); Serial.println("server ready."); }
void loop() { if(!client_a.connected()) { server.available(&client_a); Serial.println("Connected to a client."); client_a.println("Hello from Arduino client A!"); i = '7'; client_a.println(i); // ***ENVIA MSG PARA O ANDROID (NAO ESTA FUNCIONANDO) Serial.println(i); } else { while(client_a.available()) { char c = (char) client_a.read(); // ***RECEBE MSG DO ANDROID (ESTA FUNCIONANDO) Serial.println(c); // Serial.println(d); // if(c == '1') // { // digitalWrite(7, HIGH); // } // if(c == '0') //{ //digitalWrite(7, LOW); // } }
}
}
Você não tem permissões suficientes para ver os arquivos anexados nesta mensagem.
|
| 01 Jul 2012, 16:00 |
|
 |
|
thiprogramador
Android application
Data de registro: 01 Nov 2010, 17:29 Mensagens: 93
|
 Re: Comunic. Socket entre Android e Arduino(bib. Ethernetshi
Cara, não sei se tem muita gente aqui para te ajudar nesse quesito, não. Acho que a galera daqui sabe apenas Android. Coloca no setor de Android com Arduino pra ver se tem alguém que te ajude. Do contrário, tentar achar no http://stackoverflow.com/
_________________ Não existem problemas e sim soluções!
|
| 02 Jul 2012, 20:25 |
|
 |
|
turim
Application Life Cycle
Data de registro: 31 Mai 2009, 11:37 Mensagens: 259
|
 Re: Comunic. Socket entre Android e Arduino(bib. Ethernetshi
Fabiano, blz ?
Você alterou a forma do Android "ler" os dados. Substituindo o método readUTF para read ?
|
| 04 Jul 2012, 11:11 |
|
 |
|
Sergio Camara
What is Android?
Data de registro: 23 Jul 2012, 12:18 Mensagens: 1
|
 Re: Comunic. Socket entre Android e Arduino(bib. Ethernetshi
Então Fabio bom dia , esse progama qual esta no portal, testou e funcionou , pois estou fazendo a mesma ideia de TCC , para a faculdade e prescizo pouco de ajuda sobre esses temas Shield , pois queria que Shield Ethernet se conecte com roteador wi-fi , isso seria possivel. Abrços 
|
| 23 Jul 2012, 12:24 |
|
 |
|
edneycgr
What is Android?
Data de registro: 26 Jul 2012, 10:35 Mensagens: 1
|
 Re: Comunic. Socket entre Android e Arduino(bib. Ethernetshi
Tente DataInputStream in para receber os dados ao inves do String rec1 que vc esta usando.
|
| 26 Jul 2012, 10:42 |
|
 |
|
lmc275
Anatomy of an App
Data de registro: 25 Nov 2011, 15:17 Mensagens: 158 Localização: Florianópolis
|
 Re: Comunic. Socket entre Android e Arduino(bib. Ethernetshi
Meu futuro TCC!
Automação residencial Android + Arduino
Sucesso ai para vocês
_________________ -- Att, Leandro
|
| 21 Set 2012, 11:30 |
|
 |
|
jefferson palheta
What is Android?
Data de registro: 05 Dez 2012, 22:46 Mensagens: 1
|
 Re: Comunic. Socket entre Android e Arduino(bib. Ethernetshi
você conseguiu solucionar o problema? gostaria da sua ajuda tbm. eu estudo engenharia da computação (UFPA) e desenvolvo projetos arduino por conta própria e eu tenho uma imensa curiosidade pelo desenvolvimento deste projeto. Gostaria de aprender a comunicação android/arduino.
abraços.
|
| 05 Dez 2012, 22:50 |
|
 |
|
deniscontini
What is Android?
Data de registro: 09 Set 2011, 19:46 Mensagens: 1
|
 Re: Comunic. Socket entre Android e Arduino(bib. Ethernetshi
Boa tarde... utilizando comunicação e interação via socket não torna sua aplicação um pouco mais lenta (com um certo delay)? Eu fiz meu TCC todo com solicitações via URL do "cliente" Android. A comunicação se fez de forma simples e sem delay algum. Muito mais prático e funcional além, é claro, de poder controlar dispositivos de qualquer lugar do mundo que possua acesso à internet.
|
| 19 Dez 2012, 14:23 |
|
|
|
Página 1 de 1
|
[ 8 Mensagens ] |
|
Quem está online |
Usuários vendo este fórum: ac0502, ademir.carvalhojr, alex, alexandrefett, alexsander.miranda, alexvbh, alylson, Anderson MarkZ, andre.hebeler, Aniquiler, austonrd, Bass, bbourbon, Biggs Darklighter, blurkness, BornSlip, C0GuM3I0, camilodev, Captain Typho, careisjr, Carlos Almeida, carlos.macleod, Carmizini, Clauber, cleiton_maciel, dallari, Damiani Oliveira, danielbfranco, danilosv, darllan.marinho, DAVINCE, deborazb, dkclan, Dookan, Douglas Siviotti, dramos, dreyer, e-azuos, edson dias de gusmao, eduardo.ali, eloilton, epsilva, erikopa, EvertonLB, ferrodecaju, flashking, flaviolemos, Flávio Robertgo, francismarconcini, gapler, geco, gedoor, genildof, gfgodoy, Gnomo, guilhermepilotti, HAMSES, HanNiBaLSeTDf, jackdaniel, jacquesbica, JairoCN, jcorreajr, JMurray, jonasminas, jorgeFernandes, Josinhaz, João Miguel Aguiar, Julio Assis, Juliobcosta, JuniorE, jzaires, Ki-Adi-Mundi, konos, kusanaguy, lalaine, leo, lfalcao, lfirpo, LForce, lhdiassilva, Lincoln, lisbao, Liviosousa, lucasB, Lucious, luizneto79, Luke Skywalker, Luna, m4v0, Mace Windu, mapis, marcelochiquinho, MarceloLuz, marcelosv, marinho5, masf_33, MauNunes, mauriciobreide, mirelli, nandopierre, nfaria, nglaubervasc, nocivus, onaiggac, otpor, paint-horse, pamonteiro, paulokiller, peixe, pemam.com.br, phobos, phpower1, PicsearchDroid, Qui-Gon Jinn, Rainha Amidala/Padmé, ramonrabello, reginaldofdias, renan.fernandes, renata, retardad0, Ricardo Chikasawa, ricardo_listadelphi, Roberto, rocha, rodrigosalfer, romuloff, scattonevi, sergio, SERGIO RODRIGUES, Silvio Vaz, sjta, slackware, Snappy [Bot], srmoreira, talves, teamamus, thiagotomais, tiago, Tiago Sousa Roch, tiasousa, Toks, ubiratan, vieira, weber, wesley.messias, wingdoido, Wookiees, wylken, zeantonio e 1 visitante |
|
Você não pode criar novos tópicos neste fórum Você não pode responder tópicos neste fórum Você não pode editar suas mensagens neste fórum Você não pode excluir suas mensagens neste fórum Você não pode enviar anexos neste fórum
|
|