Cree una aplicación de Android para controlar mediante Bluetooth y Arduino Controle su casa mediante RF, todo con AppInventor: 6 pasos

Cree una aplicación de Android para controlar mediante Bluetooth y Arduino Controle su casa mediante RF, todo con AppInventor: 6 pasos

Tabla de contenido:

Anonim

Sé que el título es un bocado, pero es exactamente lo que es.

Hace algún tiempo, hice un instructivo que describía un circuito alrededor de un atmega328 (o un 'Arduino') que era para disuadir a los ladrones simulando que estaba en casa.

Poco a poco, ese sistema se extendió a un sistema de "domótica", ya que incluía cuidar mi jardín también.

Aunque podía funcionar solo, agregué una interfaz Bluetooth para obtener información del sistema, o para configurar algunos parámetros, o para intervenir encendiendo o apagando una lámpara por mi cuenta.

La 'interfaz' que utilicé para la comunicación por bluetooth con mi teléfono fue 'terminal Bluetooth'. No es realmente fácil de usar y perdería la conexión cada vez que inclino el teléfono lo suficiente para que el programa pase al modo horizontal.

Entonces, realmente necesitaba una 'aplicación', después de todo, ningún sistema de control decente en la actualidad puede prescindir. Ya no estamos viviendo en la edad de piedra:-)

Aunque no soy un principiante en HTML y Java, no tenía experiencia en hacer aplicaciones. Básicamente no tenía idea de por dónde empezar. Descargué algunos sistemas de desarrollo de aplicaciones como Android studio, pero creo que necesitaba un montón de magabytes de discos en el espacio y, sinceramente, lo encontré un poco hostil.

Entonces, después de algunas búsquedas, vine a 'App inventor'. Lo bueno de App Inventor es que funciona en línea. Todo lo que necesitas es una cuenta de google. El inventor de la aplicación no necesita ninguna experiencia previa en el programa, todo se hace adjuntando 'bloques' gráficos entre sí

Al principio, el inventor de la aplicación puede parecer un poco intimidante, hablar de "emuladores" y tener que descargar la aplicación 'compagnon' en su teléfono, pero eso no es todo.

Lo que hace es ir al inventor de aplicaciones y, si tiene una cuenta de Google, puede comenzar de inmediato.

Luego te aconsejo que tomes su tutorial básico, Hello Purr, para que te des cuenta de cómo funciona.

Una vez que haya hecho el ejemplo de 'Hello Purr', puede que sepa cómo funciona, pero es probable que aún tenga preguntas como: 'sí, pero ¿cómo me conecto a través de Bluetooth?'

Bueno, eso es lo que explicaré en el siguiente paso.

Suministros:

Paso 1: La aplicación: presionando un botón, leyendo entrada y salida

Mi circuito Arduino, como se mencionó, tiene un módulo bluetooth regular conectado al puerto serie. Funciona de forma autónoma, pero puede recibir comandos del puerto serie. Desde allí, toma comandos para hacer que haga las cosas. Encienda una luz, encienda una bomba. Estos comandos eran todos caracteres ASCII imprimibles, ya que tenía que poder elegirlos desde mi teclado cuando todavía estaba usando el Terminal Bluetooth. En una aplicación no es tan importante si es imprimible ascii o no, pero en las dos imágenes de arriba puede ver los diversos valores de entrada que el arduino está escaneando a través de 'Serial.read ()'

Entonces, todo lo que debemos hacer en la aplicación es definir los botones que envían esos valores al bluetooth del teléfono, que lo pasará al módulo bluetooth del Arduino y al puerto serie.

No describiré la aplicación en todos los detalles porque eso sería tedioso y estoy convencido de que la mejor manera de aprender es simplemente jugar con ella, así que le proporcionaré la fuente de la aplicación para que la cargue y juegue. Sin embargo, discutiré algunos principios básicos para que entiendas lo que está haciendo la aplicación.

Si pasó por el ejemplo de 'Hello Purr' de App Inventor, sabrá que hay dos pantallas: la pantalla de diseño y la pantalla de bloqueo.

En la pantalla de diseño, determinamos el diseño de nuestra aplicación. Es básicamente 'arrastrar y soltar' elementos en la 'pantalla del teléfono'. Todo tipo de propiedades como el color, la ubicación, el tamaño de fuente, etc., se realizan en la pantalla de diseño y pronto lo entenderás.

Luego, en la pantalla de bloqueo, definimos la función de los diversos elementos: Al hacer clic en un elemento en la columna de la izquierda, podemos elegir varias acciones posibles para ese elemento.

En la tercera imagen verás cómo funciona para dos botones:

Si se hace clic en el botón uno, llama al cliente Bluetooth para enviar un byte y, en este caso, es el número 72 (o 'H'). En la estructura Serial.read () en el programa Arduino puede ver que esto significa encender las luces de la vida.

Similar al botón 2: que llama al cliente Bluetooth para enviar el número 104 ('h'). Que en el Arduinoprograma significa "Interruptor de la luz en la sala de estar".

El programa Arduino también envía datos (hora, temperatura) al puerto serie y necesitamos capturar esos datos e imprimirlos en el teléfono. La foto de fourt muestra cómo se hace eso. No solo hemos definido un botón, sino también un cuadro de texto para imprimir los resultados. Nuevamente, el botón llama al cliente Bluetooth para enviar un byte, 116, (a 't'), que, como podemos ver en nuestro Arduinoprogram, resulta en el momento en que se imprime en el puerto serie.

Por lo tanto, definimos otra acción debajo de ese botón y es hacer que el cuadro de texto llame al cliente Bluetooth para leer los bytes de ingreso. Ahora esto es más bien burdo, porque si hay algo que ya se estaba imprimiendo en el puerto serie (por ejemplo, un mensaje de estado automático), entonces eso también se imprimirá, por lo que todavía es necesario realizar algunos ajustes.

Paso 2: La aplicación: Activar un botón

anteriormente mostré cómo podía enviar un comando con un botón: un botón para "ON" y un botón para "OFF".

¡¡¡Aburrido!!! Tomaría menos espacio si solo tuviéramos un botón que pudiéramos alternar y también se vea más llamativo.

Bueno, eso no es tan difícil. Si observa la imagen de la pantalla de diseño, verá una gran cantidad de "abadejos extravagantes" (perdón por eso), pero en la parte inferior izquierda verá un botón con una regadera verde. Obviamente, esto tiene algo que ver con irrigar el jardín.

En las siguientes dos fotos, se muestra la apariencia de la aplicación en funcionamiento: presiona el botón verde y envía un comando al cliente Bluetooth y luego se vuelve rojo. Presiona el botón rojo y envía un comando diferente y se vuelve verde nuevamente

Inicialmente encontré un método como se ilustra en la cuarta imagen. Debajo del botón definimos una estructura 'Si entonces hay otra cosa', en la cual la condición que verificamos es el nombre de la imagen que adjuntamos al botón. Dependiendo de ese nombre, pasamos a uno de los dos procedimientos en los que emitimos el comando deseado (en este caso enviando una 'I' o una 'i') y alternamos la imagen en el botón.

Sin embargo, eso parecía innecesariamente complicado y la quinta imagen muestra una forma más fácil, sin tener que llamar a los procedimientos.

Paso 3: La aplicación: la conexión Bluetooth

La aplicación no tendría ningún valor si no pudiera conectarse a bluetooth. No estoy seguro de si la forma en que lo hice es la mejor, pero me funciona. Empiezo con llamar a la lista de dispositivos emparejados y cuando selecciono el mío y se conecta, cambio el color y el texto del botón de conexión.

Ahora, por supuesto, si tiene una aplicación que solo está diseñada para un dispositivo específico, puede eliminar el selector de lista y simplemente conectarse al UUID del dispositivo requerido.

La segunda imagen muestra dos formas básicas de conectarse a Bluetooth:

a través del selector de lista y a través del UUID de su dispositivo deseado. El UUID es el nombre con el que aparece su dispositivo cuando lo agrega, lo vincula o se conecta. Por lo general es una serie de números con un nombre como

XX: XX: XX: XX: XX: XX HC-05

Hay muchas otras formas de conectarse a Bluetooth y puede encontrar algunas lecturas interesantes aquí.

Paso 4: La aplicación: Comandos de voz

He añadido comandos de voz básicos a la aplicación. Descubrí que las palabras algo más largas funcionan mejor que las palabras más cortas. "ON" nunca funcionó para mí, "OFF" funcionó mejor, pero "Dormitorio" generalmente era acertado. Tal vez sea porque el inglés no es mi lengua materna. Además, no estoy seguro de qué tan bien está el reconocimiento de voz para entender otros idiomas

Paso 5: La aplicación: probando y subiendo

El inventor de aplicaciones ofrece varias formas de probar tu aplicación. Lo hice descargando la aplicación del inventor compañero en mi teléfono. Siempre que su computadora y su teléfono estén usando la misma red, eso funciona.

Sin embargo, con toda honestidad, después de unas cuantas veces renuncié a usar el App Inventor companion, pero acabo de cargar el código de apk en mi teléfono.

Entonces, ¿cómo subir un archivo apk?

Bueno primero tienes que conseguir uno. Para hacerlo, haga clic en el botón 'construir' en la barra de herramientas superior: Eso le brinda dos opciones: escanear un código QR o descargar el archivo apk en su computadora.

Normalmente voy por lo último. La forma más fácil de instalar ese código en su teléfono Android es enviándolo como un archivo adjunto a su propia cuenta de gmail que tiene en su teléfono. Abrir el archivo adjunto le da la opción de instalarlo.

Paso 6: La aplicación: sólo algunos pequeños detalles y el código

Solo unas pocas cosas más y luego te dejo tener el código para jugar.

El diseño que di no es muy llamativo, estoy seguro de que puedes adaptarlo a tus propias necesidades con muchos más íconos, pero solo está pensado como un ejemplo para jugar.

El archivo apk se instalará con un icono aburrido estándar. Puede especificar su propio ícono de aplicación llamativo en las propiedades 'Pantalla1'. Aquí también es donde puede especificar el nombre de su aplicación.

recuerde, en el momento en que escribo esto, es posible que solo tenga un día por delante de usted para trabajar con App Inventor. Es muy fácil, ve a usarlo.

Aquí está el archivo, solo vaya a 'importar' en App Inventor y comience a usarlo y modificarlo según sus necesidades