0% encontró este documento útil (0 votos)
22 vistas16 páginas

Entrega Fundamentos2Crte

El documento presenta un proyecto de autoestudio sobre telecomunicaciones, enfocado en el desarrollo de una aplicación en Android Studio que estima distancias entre dispositivos utilizando tecnologías Bluetooth y Wi-Fi. Se abordan conceptos teóricos como Bluetooth, Wi-Fi, y la ecuación de transmisión de Friis, así como la importancia de la seguridad en la sociedad. La solución propuesta incluye el uso de algoritmos y parámetros como RSSI para calcular distancias y notificar al usuario sobre la proximidad de otros dispositivos.

Cargado por

Mao Cubides
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
22 vistas16 páginas

Entrega Fundamentos2Crte

El documento presenta un proyecto de autoestudio sobre telecomunicaciones, enfocado en el desarrollo de una aplicación en Android Studio que estima distancias entre dispositivos utilizando tecnologías Bluetooth y Wi-Fi. Se abordan conceptos teóricos como Bluetooth, Wi-Fi, y la ecuación de transmisión de Friis, así como la importancia de la seguridad en la sociedad. La solución propuesta incluye el uso de algoritmos y parámetros como RSSI para calcular distancias y notificar al usuario sobre la proximidad de otros dispositivos.

Cargado por

Mao Cubides
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 16

Fundamentos en Telecomunicaciones

Facultad de Ingeniería, diseño e innovación.

Proyecto de Autoestudio

Jeison Andrés Peña Ramos


Brian Alexander Gavilán Peña

Politécnico Grancolombiano
2020-2
Bogotá D.C

1
Tabla de contenido

Introducción……….………………………………………………………………….........1
Objetivo……………………………………………………………………………………..2
Marco teórico……………………………………………………………………………....3
Planteamiento del problema…...………………………………………………………...4
Solución ..…………….……………………………………………………………………5
Cronograma………………………………………………………………………………..6
Conclusiones………………………………………………………………………………7
Desarrollo…….…………………………………………………………………….………8

2
Introducción
El ámbito de la seguridad en la sociedad es tan vasto que cabe afirmar que define
las características esenciales de una sociedad, ya que abarca casi todos los
aspectos que se tienen en cuenta para la protección y el amparo de los mas débiles
y satisfacer necesidades sociales de varios componentes como políticos,
económicos de la salud entre otros.
Los temas que se abarcan en este documento son se debaten en un extenso campo
y pueden ser de carácter laboral, ya que el trabajo es un elemento sobresaliente en
la sociedad y nos brinda un propósito principal de dar protección a todas las
personas, por lo general a los trabajadores, ya que son personas muy expuestas y
en muchos casos con ingresos mínimos.

3
Objetivo
Realizar un programa en Android Studio que permita definir una distancia
aproximada de dispositivos que tengan tecnologías de Bluetooth y WIFI por medio
de conocimientos de potencias en sistemas de radiocomunicaciones.

4
Marco Teórico
Bluetooth

La tecnología Bluetooth es una tecnología de comunicaciones inalámbricas de corto


alcance que reemplaza los cables que conectan los dispositivos electrónicos, lo que
permite a una persona tener una conversación telefónica a través de un auricular,
usar un mouse inalámbrico y sincronizar la información de un teléfono móvil a una
PC, todo usando el mismo núcleo sistema.

El transceptor de RF de Bluetooth (o capa física) funciona en la banda ISM (The


Industrial, Scientific, and Medical) sin licencia centrada en 2,4 gigahercios (el mismo
rango de frecuencias utilizado por microondas y Wi-Fi). El sistema central emplea
un transceptor de salto de frecuencia para combatir la interferencia y el
desvanecimiento.

Los dispositivos Bluetooth se administran mediante una topología de RF conocida


como "topología en estrella". Un grupo de dispositivos sincronizados de esta
manera forma una piconet, que puede contener un maestro y hasta siete esclavos
activos, con esclavos adicionales que no participan activamente en la red. (Un
dispositivo dado también puede ser parte de una o más piconets, ya sea como
maestro o como esclavo). En una piconet, el canal de radio físico es compartido por
un grupo de dispositivos que están sincronizados con un reloj común y saltos de
frecuencia. patrón, con el dispositivo maestro proporcionando las referencias de
sincronización.

WI-FI
Primero, cubramos algunos de los conceptos básicos. WiFi significa Wireless
Fidelity y es lo mismo que WLAN que significa "Wireless Local Area Network".

WiFi funciona con el mismo principio que otros dispositivos inalámbricos: utiliza
frecuencias de radio para enviar señales entre dispositivos. Las frecuencias de
radio son completamente diferentes, digamos, de los walky talkies, radios de
automóviles, teléfonos celulares y radios meteorológicas. Por ejemplo, el estéreo
de su automóvil recibe frecuencias en el rango de kilohercios y megahercios
(estaciones AM y FM), y WiFi transmite y recibe datos en el rango de gigahercios.

5
Para descomponerlo aún más, Hertz (Hz) es simplemente una unidad de
frecuencia. Digamos que estás de pie en un muelle viendo cómo llegan las olas.
Cuando miras las olas, puedes ver la cresta de cada ola pasar. Si contaras
cuántos segundos entre cada cresta de onda, esta sería la frecuencia de las
ondas. Entonces, si el tiempo entre cada cresta fue de 1 segundo, eso significaría
que la frecuencia de onda fue de 1 hercio o un ciclo por segundo.

Ecuación de transmission de Friis


La fórmula transmisión Friis se utiliza en ingeniería de telecomunicaciones ,
igualando la potencia en los terminales de un recibir antena como el producto de la
densidad de potencia de la onda incidente y la apertura efectiva de la antena
receptora en condiciones idealizadas dado otra antena a cierta distancia la
transmisión de una conocida cantidad de energía. La fórmula se presentó por
primera vez por ingeniero de radio danesa-American Harald T. Friis en 1946. La
fórmula a veces se hace referencia como la ecuación de transmisión de Friis.
𝑃𝑟 𝐴𝑟 𝐴𝑡
=
𝑃𝑡 𝑑 2 ʎ2
Radar

Podemos ver objetos en el mundo que nos rodea porque la luz (generalmente del
Sol) se refleja en nuestros ojos. Si quieres caminar de noche, puedes encender una
antorcha al frente para ver hacia dónde vas. El rayo de luz sale de la antorcha, se
refleja en los objetos que están frente a usted y rebota en sus ojos. Tu cerebro
calcula instantáneamente lo que esto significa: te dice qué tan lejos están los objetos
y hace que tu cuerpo se mueva para que no tropieces con las cosas.

El radar funciona de la misma manera. La palabra "radar"


significa ra dio d etección un nd r anging-y que da una bastante grande pista en
cuanto a lo que hace y cómo funciona. Imagínese un avión volando de noche a
través de una espesa niebla. Los pilotos no pueden ver a dónde van, por lo que
usan el radar para ayudarlos.

Como Funciona un Radar

1. Magnetron genera ondas de radio de alta frecuencia.


2. Duplexer conmuta el magnetrón a la antena.
3. La antena actúa como transmisor, enviando un haz estrecho de ondas de
radio a través del aire.
4. Las ondas de radio golpean el avión enemigo y se reflejan.
5. La antena capta las ondas reflejadas durante una pausa entre
transmisiones. Tenga en cuenta que la misma antena actúa como transmisor
y receptor, enviando y recibiendo ondas de radio alternativamente.
6. El duplexor cambia la antena a la unidad receptora.

6
7. La computadora en la unidad receptora procesa las ondas reflejadas y las
dibuja en una pantalla de TV.
8. El avión enemigo aparece en la pantalla del radar de TV con cualquier otro
objetivo cercano.

Zigbee:
Zigbee es el nombre de la especificación de un conjunto de protocolos de alto nivel
de comunicación inalámbrica para su utilización con radiodifusión digital de bajo
consumo, basada en el estándar IEEE 802.15.4 de redes inalámbricas de área
personal (wireless personal area network, WPAN).
Su objetivo son las aplicaciones que requieren comunicaciones seguras con baja
tasa de envío de datos y maximización de la vida útil de sus baterías.
Calculo distancia por medio de potencias:
Para calcular la distancia entre dos elementos conociendo la potencia recibida y la
potencia transmitida es importante tener en cuenta conceptos como la ecuación de
transmisión
Problema:
Realizar una aplicación que determine una distancia aproximada de cualquier
elemento que cuente con la tecnología de WIFI o Bluetooth siempre y cuando estas
se encuentren encendidas.
La COVID-19, la pandemia del siglo XXI, es un nuevo coronavirus que causa
infecciones respiratorias a los seres humanos la población más vulnerable son los
adultos mayores lo que pone en evidencia que para el sistema hay un segmento
social que es prescindible: las personas mayores, la clase trabajadora y las y los
más desprotegidos.
Solución del problema:

7
La solución del problema tiene base en los principios y fundamentos de
programación de computadoras ya que con estos conocimientos podemos realizar
diversos algoritmos que nos permiten materializar un proyecto.
Dentro de este proyecto se busca desarrollar una aplicación para móviles que use
el WIFI y el Bluetooth y por medio de su relación de potencias se pueda establecer
una distancia.
Para poder establecer esta distancia se debe tener en cuenta la el parámetro RSSI
que se maneja por medio del protocolo Zigbee y lo que hace es medir la potencia
de la antena del módulo receptor asociado al último paquete de información
recibido.
RSSI es un parámetro muy utilizado para WIFI y Bluetooth, y es sabido que la
potencia de una señal disminute con el cuadrado de la distancia según la ecuación
de Friis para transmisión en el espacio libre.
Existen varias investigaciones que establecen la perdida de propagacion de una
señal recibida por un nodo a una distancia d del nodo y con esta ecuacion se puede
realizar esa operación.
𝑅𝑆𝑆𝐼−𝐴
𝑑 = 10− 10𝑛

𝑛 = 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 𝑑𝑒 𝑝𝑒𝑟𝑑𝑖𝑑𝑎
𝑛 = 2 𝑒𝑛 𝑒𝑙 𝑒𝑠𝑝𝑎𝑐𝑖𝑜 𝑙𝑖𝑏𝑟𝑒
𝐴 = 𝑣𝑎𝑙𝑜𝑟 𝑅𝑆𝑆𝐼 𝑒𝑛 𝑙𝑎 𝑎𝑛𝑡𝑒𝑛𝑎 𝑟𝑒𝑐𝑒𝑝𝑡𝑜𝑟𝑎

Se diseñó un diagrama en el cual se espedifica como se tiene previsto que va


trabajar la aplicación que se va a desarrollar:
La aplicación trabajara en segundo plano si asi lo desea el usuario, primero debe
instalarse la aplicación posteriormente se debe abrir y conceder los permisos
necesarios para su funcionamiento, si ola aplicación no tiene los permisos debera
pedirlos nuevamente para poder funcionar, despues de tener los permisos, se
hara una verificacion de la conectividad del dispositivo (Bluetooth y Wifi),
posteriormente la informacion que comparten publicamente las redes es guardada
en la base de datos y hacen los calculos de distancia para cada red, si el valor de
la distancia calculada es manor a 2 metros, se realizara una botificacion al usuario
de que hay un dispositivo muy cerca a el, la aplicación se desarrollara en el
leguaje de programacion Android Studio.

8
Diagrama de Flujo

9
Diagrama de la solución

10
Desarrollo
Para comenzar a crear un proyecto en android studio nececitamos instalar
AndroidStudio en su version mas reciente, despues de esto en la ventana de
bienvenida seleccionamos en Start a new Android Studio project.

Aparecera una ventana que tiene de encabezado Select a Project Template: como
es un proyecto nuevo se selecciona Empty Activity lo que nos pasa a una ventana
con encabezado Configure your project donde se tienen que configurar los
siguientes campos.
- En Name :´´El nombre que se desea poner´´. En mi caso MyfirstApp
- En package name:´´com.example.El nombre que se puso en name´´. En mi
caso quedaria de la siguiente manera com.example.MyfirstApp.
- En save se coloca la ubicación de donde se quiere guardar el proyecto.
- En lenguaje se refiere al lenguaje de programacion que se quiere utilizar y es
según sea mas comodo, esta la opcion de Java o Kotlin.
- Dar click en Finish
public static final int REQUEST_ACCESS_COARSE_LOCATION = 1;
Antes de Android 10, solo se requería ACESS_COARSE_LOCATION, que se
incluia automaticamente en la biblioteca ya que esto conserva la compatibilidad de
versiones anteriores. Lo que hace que en nuevas aplicaciones se agreguen
permisos según corresponda. En nuestro caso Bluetooth y Wifi.
public static final int REQUEST_ENABLE_BLUETOOTH = 11;

11
Será el requestCode(primer parámetro) de on Activity Result cuándo regresa la
actividad. Puede poner cualquier número que desee siempre que sea coherente en
el método de devolución.
private ListView deviceslist;
private Button scanbutton;
private BluetoothAdapter bluetoothAdapter;
private ArrayAdapter<String> listAdapter;
Se definira la lista de dispositivos, un boton de escaneo un adaptador de Bluetooth
y un arreglo que me asignara los daros del listado de adaptador.
public static int rssi;
Dentro de la variable entera rssi se asignaran los datos del mismo en los dispositivos
encontrados y puestos en la lista.
public void onScanResult(int callbackType, ScanResult valor) {
rssi = valor.getRssi();
}
En el resultado del escaneo se invocaran los recultados, indicando el valor de rssi
obetino por la funcion valor.getRssi;.
scanbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (bluetoothAdapter != null &&
bluetoothAdapter.isEnabled()) {
if (checkCoarseLocationPermission()) {
listAdapter.clear();
bluetoothAdapter.startDiscovery();
}
} else {
checkBluetoothState();
}
}
});
checkCoarseLocationPermission();
}
Dentro del botón de escaneo se realiza el analisis de dispositivos, el cual pide
acceso a la lista de dispositivos. Entonces si la lista de dispositivos se encuentra
vacia, se realiza la busqueda si no chequee el estado de bluetooth. Y cierra con los
permisos.
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(devicesFoundReceiver);
}

@Override
protected void onResume() {
super.onResume();

12
registerReceiver(devicesFoundReceiver, new
IntentFilter(BluetoothDevice.ACTION_FOUND));
registerReceiver(devicesFoundReceiver, new
IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_STARTED));
registerReceiver(devicesFoundReceiver, new
IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED));
}

private boolean checkCoarseLocationPermission() {


if (ContextCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_COARSE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{
Manifest.permission.ACCESS_COARSE_LOCATION},
REQUEST_ACCESS_COARSE_LOCATION);
return false;
} else {
return true;
}
}

private void checkBluetoothState(){


if(bluetoothAdapter == null){
Toast.makeText(this, "Bluetooth no es soportado en su
dispositivo !", Toast.LENGTH_SHORT).show();
}else {
if(bluetoothAdapter.isEnabled()){
if(bluetoothAdapter.isDiscovering()){
Toast.makeText(this, "Buscando Dispositivos ...",
Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this,"El bluetooth esta activado",
Toast.LENGTH_SHORT ).show();
scanbutton.setEnabled(true);
}
}else{
Toast.makeText(this,"Necesita activar el Bluetooth !",
Toast.LENGTH_SHORT).show();
Intent enableIntent = new
Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableIntent,
REQUEST_ENABLE_BLUETOOTH);
}
}
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent
data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == REQUEST_ENABLE_BLUETOOTH){
checkBluetoothState();

13
}
}

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull
String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions,
grantResults);

switch (requestCode) {
case REQUEST_ACCESS_COARSE_LOCATION:
if (grantResults.length > 0 && grantResults[0] ==
PackageManager.PERMISSION_GRANTED) {
Toast.makeText(this, "Access coarse location alllowed,
You can scan Bluetooth devices", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Acess coarse location orbiden, You
can't scan Bluetooth devices", Toast.LENGTH_SHORT).show();
}
break;
}

}
private final BroadcastReceiver devicesFoundReceiver = new
BroadcastReceiver() {

@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();

if(BluetoothDevice.ACTION_FOUND.equals(action)){
BluetoothDevice
device=intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
listAdapter.add(device.getName() + "\n" +
device.getAddress() + "\n" + rssi);
}else if
(BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)){
scanbutton.setText("Scanning Bluetooth Devices");
}else if
(BluetoothAdapter.ACTION_DISCOVERY_STARTED.equals(action)){
scanbutton.setText("Scanning in process...");
}
}
};

14
En la figura 1. Se observa la pagina
inicial de la aplicación funcionando
directamente en un equipo con sistema
operatibo android.
En la parte superior de la pantalla
podemos obsercar el titulo, Bluetooth
Scan con letra blanca y bordeado de
color morado.
En la parte inferior de la imagen se
resalta el boton que nos permite iniciar la
busqueda de dispositivos y que al oprimir
se iniciara con el algoritmo que nos
permitira inicializar el listado de
dispositivos cercanos.
Figura 1. Pagina principal de aplicación.

En la figura 2. Se puede observar en la


parte superior de la pantalla el titulo,
Bluetooth Scan con letra blanca y
bordeado de color morado.
En la parte inferior de la imagen se
resalta el boton que cambio el nombre de
scan devices a scanning in process.
En la parce del medio nos comienza a
mostrar el listado con los dispositivos
cercanos.
En primer lugar nos muestra el nombre
del dispositivo seguido de la direccion
mac de cada uno de ellos y en tercer
lugar el valor rssi que logramos capturar
pero tenemos un problema para que lo
muestre en el listado, ya que esta
mostrando unicamente el valor inicial de
cada uno de los dispositivos que se
estavlecio como 0.

15
16

También podría gustarte