INSTITUTO TECNOLOGICO SUPERIOR DE
CALKINI EN EL ESTADO DE CAMPECHE
CARRERA: ING. MECATRONICA
PARCIAL: SEGUNDO
INTEGRANTES:
CASTRO PINEDA JESUS MANUEL 7225
DZUL CANUL HUMBERTO ANTONIO 7200
MARTIN CANCHE JAVIER RAFAEAL 7202
MÉNDEZ ARANDA JESÚS ADRIÁN 7212
SALAZAR CANUL JORGE MIGUEL 7224
SEMESTRE: 6 GRUPO: A
DOCENTE: LUIS ALBERTO AKE MAY
MATERIA: PROGRAMACIÓN AVANZADA
ACTIVIDAD: FORMATIVA: REALIZAR UN PROGRAMA EN B4A
USANDO LA LIBRERÍA SERIAL PARA LA VINCULACIÓN CON EL
SMARTPHONE (CELULAR) Y REALIZAR UN TOOGLE LED
(RECIBIR Y ENVIAR DATO ENTRE EL MICROCONTROLADOR
ESP32 Y B4A) Y ENCENDER UN LED.
CICLO: 2023
1
INTRODUCCIÓN
ESP32
ESP32 es un dispositivo pequeño, portátil y barato que permite estar monitorizando
y actuando mientras estás conectado a internet (algo así como un teléfono, pero
más, mucho más barato).
Características
Diseño robusto
ESP32 funciona en entorno muy hostiles, con una temperatura de funcionamiento
que oscila entre –40 °C y +125 °C. Alimentado por circuitos de calibración
avanzados, ESP32 es capaz de evitar que imperfecciones en circuitos externos
dañen al ESP32.
Bajo Consumo de energía
Diseñado como un dispositivo móvil, portátil especialmente hecho para IoT, ESP32
tiene un consumo de energía bajo con una combinación de varios tipos de software
patentado.
Alto nivel de integración
ESP32 está altamente integrado con interruptores de antena incorporados, balun
de RF, amplificador de potencia, amplificador de recepción de bajo ruido, filtros y
módulos de administración de energía. ESP32 agrega funcionalidad y versatilidad
invaluables a sus aplicaciones con requisitos mínimos de placa de circuito impreso
(PCB).
Wi-Fi y Bluetooth híbrido
ESP32 puede funcionar como un sistema independiente completo o como un
dispositivo esclavo de una MCU anfitriona, lo que reduce la sobrecarga de la pila de
comunicación en el procesador de la aplicación principal. ESP32 puede interactuar
2
con otros sistemas para proporcionar funcionalidad Wi-Fi y Bluetooth a través de
sus interfaces SPI/SDIO o I2C/UART.
BASIC 4 ANDROID (B4A)
Es una herramienta de desarrollo rápido de aplicaciones nativas de Android,
desarrollada y comercializada por Anywhere Software Ltd.
B4A es una alternativa a la programación con Java. El lenguaje en sí es similar a
Visual Basic y Visual Basic .Net, aunque está adaptado al entorno nativo de Android.
B4A es un lenguaje basado en objetos y dirigido por eventos.
B4A incluye un diseñador visual que simplifica el proceso de creación de interfaces
de usuario para teléfonos y tabletas con diferentes tamaños de pantalla. Los
programas compilados se pueden probar en emuladores de AVD Manager o en
dispositivos Android reales usando Android Debug Bridge y B4A Bridge.
3
INDICE
Contenido
INTRODUCCIÓN .............................................................................................................................. 2
JUSTIFICACIÓN .............................................................................................................................. 5
MATERIALES ................................................................................................................................... 5
METODOLOGÍA............................................................................................................................... 6
CONCLUSIONES INDIVIDUALES ............................................................................................. 13
ANEXOS .......................................................................................................................................... 16
REFERENCIAS .............................................................................................................................. 17
4
JUSTIFICACIÓN
El ESP32 Sirve para poder conectar de manera inalámbrica con otros dispositivos
que permite la interacción mediante una aplicación como son las creadas mediante
el B4A, como poder encender o apagar motores, entre otros circuitos. Debido a que
cada vez es más común encontrar electrodomésticos conectados a internet o con
bluetooth es de suma importancia aprender como es la funcionalidad de estos
dispositivos y como poder hacerlos.
MATERIALES
• Computadora
• Programa B4A
• Arduino IDE
• ESP32
• LED
• Protoboard
• Cables jumpers
5
METODOLOGÍA
DESCRIPCIÓN DEL PROGRAMA EN B4A
Esta sección define los atributos del
proyecto, como la etiqueta de la
aplicación, el código de versión, el nombre
de la versión, las orientaciones admitidas y
la capacidad de instalación en
almacenamiento externo.
Esta sección define los atributos de la
actividad, como si se muestra en pantalla
completa y si se incluye el título.
Esta sección declara las variables y objetos
globales utilizados en el proyecto.
Esta sección declara las variables globales
asociadas a los componentes de la interfaz
de usuario. En este caso, se declara un
objeto ToggleButton llamado
ToggleButton1.
Esta subrutina se ejecuta cuando la
actividad es creada. Carga el diseño de la
interfaz de usuario desde el archivo
"mainPage", inicializa el objeto
bluetoothDevice y obtiene los dispositivos
emparejados. A continuación, se establece
el nombre del dispositivo objetivo como
"ESP32" y se obtiene la dirección MAC
asociada. Finalmente, se establece la
conexión con el dispositivo ESP32.
Esta subrutina se ejecuta cuando la
actividad se reanuda. Configura el
dispositivo Bluetooth para escuchar
eventos.
Esta subrutina se ejecuta cuando la
actividad se pausa. Desconecta el
dispositivo Bluetooth y cierra la
transmisión asíncrona.
6
Esta subrutina es un controlador de
eventos que se ejecuta cuando el
dispositivo Bluetooth se conecta
correctamente. Muestra un cuadro de
mensaje indicando la conexión exitosa y
luego inicializa la transmisión asíncrona.
Esta subrutina es un controlador de
eventos que se ejecuta cuando el
dispositivo Bluetooth se desconecta.
Muestra un cuadro
Esta subrutina es un controlador de
eventos que se ejecuta cuando ocurre un
error en la comunicación asíncrona.
Esta subrutina es un controlador de
eventos que se ejecuta cuando se reciben
nuevos datos a través de la transmisión
asíncrona. Sin embargo, en el código
proporcionado, esta subrutina no contiene
ninguna implementación específica.
Esta subrutina es un controlador de
eventos que se ejecuta cuando se termina
la transmisión asíncrona.
Esta subrutina se ejecuta cuando cambia el
estado del ToggleButton1. Si el botón está
marcado (checked), se asigna la cadena
"led_on" seguida de un carácter de salto de
línea ("\n") a la variable datos. Si el botón
no está marcado (unchecked), se asigna la
cadena "led_off" seguida de un carácter de
salto de línea a datos. A continuación, se
escribe la variable datos en la transmisión
asíncrona utilizando el objeto async.
Espero que esta descripción te sea útil. Si
tienes alguna otra pregunta, no dudes en
hacerla.
DESCRIPCIÓN DEL PROGRAMA EN ARDUINO
7
La línea #include "BluetoothSerial.h" incluye la
librería BluetoothSerial para el manejo de la
comunicación Bluetooth.
Las líneas #if !defined(CONFIG_BT_ENABLED)
|| !defined(CONFIG_BLUEDROID_ENABLED) y
#error ... verifican si la configuración de
Bluetooth está habilitada y muestra un error si
no lo está.
La línea BluetoothSerial SerialBT; declara un
objeto SerialBT de tipo BluetoothSerial para la
comunicación Bluetooth.
La línea const int ledPin = 25; define el pin GPIO
al que está conectado el LED.
Las variables message e incomingChar se
utilizan para almacenar los mensajes recibidos
a través de Bluetooth.
La función setup() se ejecuta una vez al inicio
del programa. Configura el pin del LED como
salida, inicia la comunicación serial a través del
puerto USB y comienza la comunicación
Bluetooth con el nombre del dispositivo
"ESP32".
La función loop() se ejecuta continuamente en
un ciclo. Lee los mensajes recibidos a través de
Bluetooth y los almacena en la variable
message. Luego verifica el contenido de
message y controla el encendido o apagado del
LED según el mensaje recibido. Los mensajes
"led_on" y "led_off" activan y desactivan el LED
respectivamente. También se agrega un
retraso de 20 milisegundos al final de cada ciclo
para evitar lecturas innecesarias.
DESCRIPCIÓN DE LA PRACTICA
IMAGENES DESCRIPCIÓN
Paso 1. Se procedió a abrir los
programas que nos brindo el maestro
para proceder con la práctica.
8
Paso 2. Se procedió a seguir el manual
de vinculación de ESP32 con la PC,
información brindada por el PDF
“Requisitos del lot”, para la instalación
de librerías del ESP32.
Paso 3. Se procedió a ir a Ajustes>>
Administrador de dispositivos>>
Puertos Com y Lpt y nos verificamos
que aparezca el modelo de nuestro
ESP32 para poder proseguir con la
practica.
Paso 4. Ya teniendo vinculado el
ESP32 a la PC, se procedió a vincular
el bluetooth del celular del usuario al
ESP32.
Paso 5. Ya teniendo vinculado el
ESP32, en un protoborad se procede a
realizar el circuito básico de un led
conectado al ESP32, para demostrar el
correcto funcionamiento del programa,
el led se conectó al pin 25 del ESP32.
9
Paso 6. Ya teniendo todo conectado el
circuito, se procede abrir el programa
en Arduino, lo cual procederemos a
irnos a herramientas para buscar la
placa del ESP32 en nuestro caso fue
en ESP31 wrover Module, también
buscamos el COM donde conectado el
ESP32 en este caso en el COM12 y se
procede compilar y subir el programa
que es encendido y apagado de un led
mediante bluetooth.
Paso 7. Ya subido el programa en
Arduino, se procede abrir el B4A,
Vinculamos el celular con el B4A,
procedemos abrir el programa de
BLUETOOTH1, ejecutaremos e
instalaremos, la app “B4A Example”.
10
Paso 8. Abrimos la app y nos sale un
aviso si queremos conectar la app o
vincularla al ESP32 mediante bluetooth
con nuestra aplicación que esta en el
celular.
Paso 9. Como se puede observar una
vez cargado el programa y
coenctadose al bluetooth del ESP32,
aparacera en la app un botón de
ON/OFF para endender y apagar el led
mediante bluetooth.
Paso 10. Como podemos observar el
botón esta en OFF y el led se mantiene
apagado.
11
Paso 11. Ahora el botón esta en ON y
ahora el led se enciende, ya
demostrado el encendido y apagado se
concluye con la practica y se termina
logrando los objetivos que pidió el
maestro.
12
CONCLUSIONES INDIVIDUALES
CASTRO PINEDA JESUS MANUEL 7225:
En conclusión, la práctica de crear una aplicación en B4A y utilizar el ESP32 para
encender un LED a través de Bluetooth ha sido una experiencia enriquecedora y
emocionante. Esta actividad nos ha permitido explorar y poner en práctica
conceptos de programación, comunicación inalámbrica y control de dispositivos
físicos.
A través de B4A, pudimos desarrollar una interfaz de usuario intuitiva que nos
permitió enviar comandos al ESP32 mediante la conexión Bluetooth. Esto nos
brindó la capacidad de encender y apagar el LED de manera remota, lo cual es un
ejemplo concreto de cómo la tecnología puede facilitar la automatización y el control
de dispositivos en nuestro entorno.
La utilización del ESP32 como microcontrolador nos proporcionó una plataforma
confiable y versátil para establecer la comunicación inalámbrica y controlar el LED.
El Bluetooth se convirtió en el canal de comunicación eficiente entre la aplicación y
el ESP32, permitiendo una interacción fluida y una respuesta rápida.
Esta práctica nos ha enseñado la importancia de la integración entre el hardware y
el software, y cómo podemos aprovechar la potencia de los microcontroladores y
las aplicaciones móviles para crear soluciones tecnológicas prácticas y funcionales.
En resumen, a través de esta práctica hemos adquirido conocimientos valiosos
sobre el desarrollo de aplicaciones móviles, la programación del ESP32 y la
comunicación inalámbrica. Además, hemos experimentado el poder de la
automatización y el control remoto en nuestra vida cotidiana. Esta experiencia nos
impulsa a seguir explorando nuevas tecnologías y desarrollando proyectos que
combinen la creatividad y la innovación para mejorar nuestro entorno.
DZUL CANUL HUMBERTO ANTONIO 7200:
En conclusión, la práctica de desarrollar una aplicación en B4A y utilizar el ESP32
para encender un LED mediante Bluetooth ha sido una experiencia emocionante.
Aprendimos sobre la integración de hardware y software, así como la importancia
de la comunicación inalámbrica. Esta actividad nos mostró el potencial de la
automatización y el control remoto en nuestras vidas. En general, fue una práctica
enriquecedora que nos motivó a seguir explorando nuevas tecnologías y
desarrollando proyectos innovadores.
13
MARTIN CANCHE JAVIER RAFAEL 7202:
En esta práctica se pudo apreciar la conexión que tiene el ESP32 y nuestro
dispositivo móvil mediante un programa creado por la aplicación de B4A. El ESP32
sirvió como un Arduino, pero con la particularidad de poder recibir indicaciones de
un dispositivo conectado por internet o bluetooth para tener una manera más fácil
de poder manejarlo desde larga distancia en comparación de manejarlo de manera
directa. En este caso se manejó la manera de poder encender y apagar un led
mediante la creación y uso de librerías necesarias para el B4A y lograr la vinculación
con el ESP32 para que reconozca el dispositivo para su ejecución de prender y
apagar el led mediante un botón en la aplicación del teléfono.
MÉNDEZ ARANDA JESÚS ADRIÁN 7212
En resumen, la experiencia de crear una aplicación en B4A y utilizar el ESP32 para
controlar un LED a través de Bluetooth ha sido fascinante. Durante esta práctica,
pudimos aprender sobre la sincronización entre el hardware y el software, así como
la importancia de la conectividad inalámbrica. Esta actividad nos permitió apreciar
el potencial de la automatización y el control remoto en nuestra vida diaria. En
general, ha sido una experiencia enriquecedora que nos ha inspirado a seguir
explorando nuevas tecnologías y desarrollando proyectos innovadores.
SALAZAR CANUL JORGE MIGUEL 7224:
A través de B4A, pudimos crear una interfaz de usuario intuitiva y amigable, lo que
nos permitió enviar comandos al ESP32 mediante la conexión Bluetooth. Esto nos
brindó la capacidad de encender y apagar el LED de forma remota, brindando una
demostración concreta de cómo la tecnología inalámbrica puede facilitar la
automatización y el control de dispositivos.
El uso del ESP32 como microcontrolador nos proporcionó una plataforma
confiable y versátil para establecer la comunicación inalámbrica y controlar el LED.
Este poderoso dispositivo nos ofreció una amplia gama de opciones y
funcionalidades, permitiéndonos explorar diferentes aspectos de la programación y
la configuración.
14
Además, esta práctica nos permitió comprender la importancia de la comunicación
eficiente y confiable en el desarrollo de soluciones tecnológicas. El Bluetooth se
convirtió en el canal de comunicación que nos permitió establecer una conexión
fluida y estable entre la aplicación y el ESP32, lo que resultó en una respuesta
rápida y precisa.
En última instancia, esta experiencia nos dejó una sensación de logro y
satisfacción al ver cómo nuestras habilidades y conocimientos se aplican de
manera práctica y tangible. Nos ha motivado a seguir explorando nuevas
tecnologías, adquiriendo más conocimientos y desarrollando proyectos
innovadores que puedan tener un impacto positivo en nuestra vida diaria y en el
mundo que nos rodea.
En resumen, la práctica de desarrollar una aplicación en B4A y utilizar el ESP32
para controlar un LED mediante Bluetooth nos ha brindado valiosos conocimientos
en programación, electrónica y comunicación inalámbrica. Nos ha mostrado el
potencial de la tecnología para facilitar la automatización y el control remoto, y nos
ha inspirado a seguir buscando nuevas oportunidades para utilizar nuestras
habilidades en proyectos futuros.
15
ANEXOS
.
[Link]
sp=sharing
16
REFERENCIAS
• Gomez Ramirez, M. (2019). Guia Basica de programacion y estructuras de
Datos. Editorial Academica Espanola.
• Seagrave, W. (2019). B4A en Espanol: Desarrollo Rapido de App utilizando
BASIC (J. Parraga Gonzalez, Trans.). Penny Press.
• Thomas, P. (2011). The B4A Baclofen Handbook. [Link].
17