Sei sulla pagina 1di 18

DEPARTAMENTO DE ELCTRICA Y ELECTRNICA

CARRERA DE INGENIERA EN ELECTRONICA, AUTOMATIZACIN Y


CONTROL

Tecnologa de Software
Docente: Ing. Cadena

Nombre:
Dennis Viteri

Nrc: 2565

Prcticas

SANGOLQUI - ECUADOR
2016
ndice
Practica N1 .................................................................................................................... 2
Tema: Comunicacin Inalmbrica (Arduino y Bluetooth) ....................................................... 2
Estructura Fsica (Hardware) ................................................................................................ 2
Estructura Interna (Software) ................................................................................................ 2
CONCLUSIONES ................................................................................................................ 4
Practica N2 .................................................................................................................... 5
Tema: Comunicacin almbrica (Sockets) ............................................................................... 5
Trabajo Grupal ...................................................................................................................... 8
CONCLUSIONES ................................................................................................................ 8
Bibliografa ................................................................................................................................ 8

Cliente Servidor
Practica N1
Tema: Comunicacin Inalmbrica (Arduino y Bluetooth)
Estructura Fsica (Hardware)

Estructura Interna (Software)


#include <LiquidCrystal.h>

LiquidCrystal lcd(7,6, 5, 4, 3, 2);

int ledPin = 13; //Asignamos la palabra ledPin como una variable tipo entera

String readString; //Asignamos la palabra readString a una variable tipo cadena

void setup() {

Serial.begin(9600); //inicializamos la comunicacion serial

pinMode(ledPin, OUTPUT); //Se determina que el pin 13 va a ser usado como salida

lcd.begin(16, 2);

lcd.clear();

lcd.noAutoscroll();

lcd.print("Esperando SMS");

delay( 200 );

void loop() {

while (Serial.available()) { //Se verifica la disponibilidad del puero serial

delay(3); // a traves de un loop

char c = Serial.read(); // Se leen los caracteres que ingresan por el puerto

readString += c; //se acumulan cada uno de los caracteres en readString

if (readString.length() >0) { //Se verifica que la variable contenga informacion

lcd.clear();

Serial.println(readString); //se envia lo que tenga la variable

lcd.print(readString);

if (readString == "On") //se compara si la palabra que llega es "on"

digitalWrite(ledPin, HIGH); //Si es "on" se enciende el led del pin 13

}
Trabajo inicial Trabajo Final

CONCLUSIONES
Se realiz con xito la prctica sobre encender el led mediante arduino
El cdigo introducido al arduino fue fundamental para poder acoplarlo con el LCD
Bibliografa

- Redes de computadoras. Cuarta edicin. Andrew S. Tanenbaum.

-http://www.electroingenio.com/arduino/texto-via-bluetooth-del-telefono-movil-a-un-lcd/
Practica N2
Tema: Comunicacin almbrica (Sockets)
Estructura Interna (Software)
package GUI;

import java.util.logging.Level;

import java.util.logging.Logger;

import panamahitek.Arduino.PanamaHitek_Arduino;

public class FORMULARIO extends javax.swing.JFrame {

PanamaHitek_Arduino arduino = new PanamaHitek_Arduino();

public FORMULARIO() {

initComponents()

try {

arduino.arduinoTX("COM3",9600);

} catch (Exception ex) {

Logger.getLogger(FORMULARIO.class.getName()).log(Level.SEVERE, null, ex);

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jButton1 = new javax.swing.JButton();

jButton2 = new javax.swing.JButton();

jLabel2 = new javax.swing.JLabel();

jLabel1 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

jLabel4 = new javax.swing.JLabel();

jLabel5 = new javax.swing.JLabel();

jLabel6 = new javax.swing.JLabel();

jLabel7 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("Grupo 3 Integrantes: Asimbaya Santiago Miranda Kevin Ponce Danilo Viteri


Trabajo Grupal
Trabajo inicial Trabajo Final

CONCLUSIONES
Mediante el uso del programa de Neatbeans se realiz la practica
El arduino posee la habilidad de interactuar con la pc para nuestro beneficio

Bibliografa
- Redes de computadoras. Cuarta edicin. Andrew S. Tanenbaum.
- http://aflrovvs.blogspot.com/2012/07/como-hacer-un-chat-con-sockets-en-java.html
Practica N3
Tema: Comunicacin Inalmbrica
Estructura Interna (Software)
package mensajesarduino;

import gnu.io.SerialPortEvent;

import gnu.io.SerialPortEventListener;

import java.util.logging.Level;

import java.util.logging.Logger;

import panamahitek.Arduino.PanamaHitek_Arduino;

SerialPortEventListener evt= new SerialPortEventListener() {

public void serialEvent(SerialPortEvent spe) {

if(Mega.isMessageAvailable()){

try { msgrcv.setText("");

msgrcv.setText(Mega.printMessage());

catch (Exception ex) { Logger.getLogger(Texto.class.getName()).log(Level.SEVERE,


null, ex); } } } };

int p;

public Texto() {

initComponents();

try { Mega.ArduinoRXTX("COM3", 2000, 9600, evt);

catch (Exception ex) { Logger.getLogger(Texto.class.getName()).log(Level.SEVERE, null,


ex);

@SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed"


desc="Generated Code"> private void initComponents() {

mssg = new javax.swing.JTextField(); send = new javax.swing.JButton(); jLabel1 =


new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); msgrcv = new
javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

send.setText("Enviar");

send.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {


sendActionPerformed(evt); } });

jLabel1.setText("Yo:");
jLabel2.setText("Arduino");

msgrcv.setEditable(false);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());


getContentPane().setLayout(layout);

layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()

.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN G)
.addGroup(layout.createSequentialGroup()

.addComponent(jLabel1)

.addGap(18, 18, 18)

.addComponent(mssg))

.addGroup(layout.createSequentialGroup()

.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(msgrcv, javax.swing.GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)))
.addGap(18, 18, 18)

.addComponent(send)

.addContainerGap()) );

layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()

.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI NE)
.addComponent(mssg, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(send)

.addComponent(jLabel1))

.addGap(18, 18, 18)


.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI NE)
.addComponent(jLabel2)

.addComponent(msgrcv, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) );

pack(); }// </editor-fold>

private void sendActionPerformed(java.awt.event.ActionEvent evt) {


String msn;

msn=mssg.getText(); try { Mega.sendData(msn);


} catch (Exception ex) { Logger.getLogger(Texto.class.getName()).log(Level.SEVERE, null,
ex);

try { for (javax.swing.UIManager.LookAndFeelInfo info :


javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

catch (ClassNotFoundException ex) {


java.util.logging.Logger.getLogger(Texto.class.getName()).log(java.util.logging.Lev el.SEVERE,
null, ex);

} catch (InstantiationException ex) {


java.util.logging.Logger.getLogger(Texto.class.getName()).log(java.util.logging.Lev el.SEVERE,
null, ex);

} catch (IllegalAccessException ex) {


java.util.logging.Logger.getLogger(Texto.class.getName()).log(java.util.logging.Lev el.SEVERE,
null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {


java.util.logging.Logger.getLogger(Texto.class.getName()).log(java.util.logging.Lev el.SEVERE,
null, ex);

/* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() {


public void run() { new Texto().setVisible(true);

});

String txt;

PanamaHitek_Arduino Mega=new PanamaHitek_Arduino();

// Variables declaration - do not modify

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JTextField msgrcv;


private javax.swing.JTextField mssg; private javax.swing.JButton send; // End of variables
declaration }

Trabajo Grupal
Trabajo inicial Trabajo Final

CONCLUSIONES
Mediante el uso del programa de Neatbeans se realiz la practica
El arduino posee la habilidad de interactuar con mdulos externos como el gsm para
permitirnos una comunicacin inalmbrica.

Bibliografa
- Redes de computadoras. Cuarta edicin. Andrew S. Tanenbaum.

- http://aflrovvs.blogspot.com/2012/07/como-hacer-un-chat-con-sockets-en-java.html
Practica N4
Tema: Comunicacin serial
Estructura Interna (Software)
Programa:

public void searchForPorts()

System.out.println("Puertos Disponibles:");

ports = CommPortIdentifier.getPortIdentifiers();

while (ports.hasMoreElements())

CommPortIdentifier curPort = (CommPortIdentifier)ports.nextElement();

if (curPort.getPortType() == CommPortIdentifier.PORT_SERIAL)

System.out.println(curPort.getName());

portMap.put(curPort.getName(), curPort);

System.out.println("----------------------");

public void connect()

String puerto = "COM4";

selectedPortIdentifier = (CommPortIdentifier)portMap.get(puerto);

CommPort commPort = null;

try

commPort = selectedPortIdentifier.open("Send Sms Java", TIMEOUT);

serialPort = (SerialPort)commPort;

setSerialPortParameters();

connected = true;

System.out.println("conectado exitosamente a puerto "+puerto);

catch (PortInUseException e)

System.out.println("Puerto en uso.");

catch (Exception e)
private void setSerialPortParameters() throws IOException {

int baudRate = 115200;

try {

serialPort.setSerialPortParams(baudRate,

SerialPort.DATABITS_8,

SerialPort.STOPBITS_1,

SerialPort.PARITY_NONE);

serialPort.setFlowControlMode(

SerialPort.FLOWCONTROL_NONE);

} catch (UnsupportedCommOperationException ex) {

throw new IOException("Unsupported serial port parameter");

catch (Exception e)

System.out.println("Error al abrir puerto.");

public boolean initIOStream()

boolean successful = false;

try {

//

input = serialPort.getInputStream();

output = serialPort.getOutputStream();

writeData("HELLO");

successful = true;

return successful;

}catch(IOException e) {

System.out.println("Error al abrir Stream.");

return successful;

Mas Informacin en: http://jonathanmelgoza.com/blog/comunicacion-serial-en-java/#ixzz4DeNf0S1K


public void initListener()

try

serialPort.addEventListener(this);

serialPort.notifyOnDataAvailable(true);

System.out.println("Listo..");

}catch(TooManyListenersException e)

System.out.println("Demasiados escuchas.");

public void serialEvent(SerialPortEvent spe) {

if (spe.getEventType() == SerialPortEvent.DATA_AVAILABLE)

byte[] readBuffer = new byte[20];

try {

while (input.available() > 0) {

int numBytes = input.read(readBuffer);

System.out.print(new String(readBuffer));

} catch (IOException e) {System.out.println(e);}

connect();

if (connected == true)

if (initIOStream() == true)

initListener();

writeData("comandos a puerto serial");


Trabajo inicial Trabajo Final

CONCLUSIONES
Los requerimientos para la realizacin del puerto serial no se cumplieron totalmente por
lo que se compilo el programa pero no se realiz la comunicacin serial completamente.
El cdigo en java funciona mejor con ubuntu
Bibliografa

- Redes de computadoras. Cuarta edicin. Andrew S. Tanenbaum.

-http://www.electroingenio.com/arduino/texto-via-bluetooth-del-telefono-movil-a-un-lcd/

Potrebbero piacerti anche