servidor de controle remoto
TRANSCRIPT
-
8/10/2019 Servidor de Controle Remoto
1/12
SERVIDOR DE CONTROLE REMOTO (Java)
Vamos criar um novo projeto Java no Eclipse com onome RemoteBluetoothServer. Acesse as propriedades do projeto atravs do
menu File - Properties, entre no menu Java Build Path. Acesse a
abaLibrariese adicione os arquivos JAR do Bluecove acessando a opo Add
External JAR, conforme o eemplo abaio.
-
8/10/2019 Servidor de Controle Remoto
2/12
-
8/10/2019 Servidor de Controle Remoto
3/12
Estrutura Inicial
Vamos adicionar uma nova classe c!amadaRemoteBluetoothServercomum nome de pacote qualquer. "este caso, o pacote utili#ado ser$ o endereooficial do autor.
package com.luugiathu.apps.remotebluetooth;
-
8/10/2019 Servidor de Controle Remoto
4/12
publicclassRemoteBluetoothServer{
publicstaticvoidmain(String[]args){
!hread "ait!hread =newThread(new
WaitThread());
"ait!hread.start();
O principal mtodo cria um segmento que esperar para a conexo
do cliente e lidar com o sinal.
package com.luugiathu.apps.remotebluetooth;
import #avax$bluetooth$%iscoverAgent;
import #avax$bluetooth$Local%evice;
import #avax$bluetooth$&&'%;
import #avax$microedition$io$(onnector;
import #avax$microedition$io$Stream(onnection;
import #avax$microedition$io$Stream(onnection)oti*ier;
publicclassWaitThreadimplementsRunnable{
/** Constructor */
publicWaitThread(){
Quando der erro informando que nao tem WaitThread clique em
create class
-
8/10/2019 Servidor de Controle Remoto
5/12
+,verride
publicvoidrun(){
"aitFor(onnection();
/** Waiting for connection from devices */
privatevoidwait!or"onnection(){
// retrieve the local Bluetooth device object
Local%evice local =null;
Stream(onnection)oti*ier noti*ier;
Stream(onnection connection =null;
// setup the server to listen for connection
tr#{
local =Local%evice.getLocal%evice();
local.set%iscoverable(%iscoverAgent.'A();
&&'% uuid =new$$%&(.//.0122);//
"04c609b!0000!000!#000!00#0$f9b4fb"
String url =3btspp455localhost43'
uuid.toString()'36name7RemoteBluetooth3;
noti*ier =
(Stream(onnection)oti*ier)(onnector.open(url);
catch(Exception e){
e.printStack!race();
return;
-
8/10/2019 Servidor de Controle Remoto
6/12
// %aiting for connection
while(true){
tr#{
Sstem.out.println(3"aiting *or
connection$$$3);
connection =
noti*ier.acceptAnd,pen();
!hread process!hread =new
Thread(newrocess"onnectionThread(connection));
process!hread.start();
catch(Exception e){
e.printStack!race();
return;
package com.luugiathu.apps.remotebluetooth;
import #ava$a"t$Robot;
import #ava$a"t$event$8eEvent;
import #ava$io$'nputStream;
import #avax$microedition$io$Stream(onnection;
Quando der erro informando que nao tem
rocess"onnectionThreadclique em create class
-
8/10/2019 Servidor de Controle Remoto
7/12
publicclassrocess"onnectionThreadimplementsRunnable{
privateStream(onnection m(onnection;
// Constant that indicate command from devices
privatestaticinalintE9'!:(;% =*
-
8/10/2019 Servidor de Controle Remoto
8/12
i(command ==E9'!:(;%)
{
Sstem.out.println(3*inish
process3);
brea+;
process(ommand(command);
catch(Exception e){
e.printStack!race();
/**
* &rocess the command from client
* 'param command the command code
*/
privatevoidprocess"ommand(intcommand){
tr#{
Robot robot =newRobot();
switch(command){
case8E=:R'>!4
robot.kePress(8eEvent.@8:R'>!);
Sstem.out.println(3Right3);
brea+;
case8E=:LEF!4
robot.kePress(8eEvent.@8:LEF!);
Sstem.out.println(3Le*t3);
-
8/10/2019 Servidor de Controle Remoto
9/12
brea+;
catch(Exception e){
e.printStack!race();
-
8/10/2019 Servidor de Controle Remoto
10/12
-
8/10/2019 Servidor de Controle Remoto
11/12
-
8/10/2019 Servidor de Controle Remoto
12/12
CLIENTE DE CONTROLE REMOTO (Android)