App Inventor
App Inventor
de septiembre 2023
App Inventor: Google se la compro
al MIT
1. Google no regala nada
Plataforma. On Line para hacer aplicaciones en
sistema Android.
Se requiere cuenta Gmail. unal.edu.co ..sirve!
E ingresar a: http://appinventor.mit.edu/
Las aplicaciones que nos interesas serán de conectividad
simple. (BLUETOOTH)
Para trabajar en la virtualidad toca configurar su
computadora para que virtualice el canal inalámbrico
bluetooth en un puerto com. Quiere decir que al Windows
reconoce el canal bluetooth vivo; le asigna un puerto com.
Ahora puede enrutar datos de proteus por ejemplo, o de
algún programa de consola. O una combinación de los
mismos. Pueden presentarse problemas de conectividad con
algunas actualizaciones para los Samsung y toca consultar la
solución.
En este curso vamos a conectar los procesadores a una
aplicación en App Inventor usando el canal Bluetooth. Hacer
esto requiere manejo de cadenas o manejo de caracteres
tanto enviando como recibiendo, sea el procesador o sea el
dispositivo Android.
• Introducción al uso de la plataforma.
• Como Probar la aplicación.
• Como generar código fuente (.AiA) y archivo
ejecutable .apk.
• Algunas recetas de cocina obligadas.
Ordenes de diagramación
Ordenes de inclusión de objetos virtuales
Modo bloques
Modo diagramación.
Ejemplos prácticos:
Lanzar caracteres desde APP Inventor y
capturarlos con el procesador para realizar un
accionamiento digital.
#include <string.h>
char valor;
void main()
{
set_tris_d(0b00000000);
output_low(led_verde);
output_low(led_Azul);
while(TRUE)
{
valor=getc();
switch(valor){
case 'A':
output_high(led_Verde);
break;
case 'B':
output_low(led_Verde);
break;
case 'C':
output_high(led_Azul);
break;
case 'D':
output_low(led_Azul);
break;
}
}
}
Ojo con las últimas actualizaciones
al sistema Android este exige que
usted otorgue permiso a las
aplicaciones instaladas sobre el
celular, si no lo hace nada va a
funcionar (esto es nuevo)
Cuando por ningún motivo se logra conectar a
la red bluetooth se debe desinstalar y volver a
instalar el dispositivo
Otra forma de ayudar a que se de una
conexión es borrar la memoria cache tanto de
la aplicación como las aplicaciones de Google.
Antes de probar con bluetooth. Se
puede probar con consola.
Segundo ejemplo de hoy.
#include <voltimetro7.h>
#include <stdlib.h>
#include <string.h>
void main()
{
int16 num ,j ,k;
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
while(TRUE)
{
delay_ms(500);
set_adc_channel(0);
delay_us(20);
num = read_adc(); //agrando el numero de cero a mil
if(num<256){ //debo generar dos casos a APP inventor solo me recibe hex asi: 0xhhhh (4
cifras)
putc(0); //si el numero es hasta 255 se le ponen dos ceros adelante a la secuencia de
bits
putc(num); //luego la cifra menos significativa
}
if(num>255){ //pero si es mayor a 255 las cifras deben ser convertidas a un hex de
dos bytes de la siguiente forma
j=num/256; //calculo la cifra mas significativa
k=num-j*256; //calculo la cifra menos significativa
putc(j); //las envio a la usart para que se las ponga al modulo bluetooth y la lleve al
android
putc(k); //mas significativa primero, menos despues si no no funciona!!! y con la orden
PUTC solo asi le envia binarios
}
}
}
Leer códigos QR
La conexión Bletooth
https://goqr.me/
Ver: clases de appinventor.doc
Usar random.org
https://www.random.org/strings/
EN APPINVENTOR
Ordenes13
En proteus
D:\clasevirtual\clase2021_2\procesadores\RECEPCION STRINGS PIC\RECEPCION STRINGS PIC\SIMULACIONES
READ STRING.pdsprj
Enlaces de Consulta
VER CORREOS DESDE UNA APLICACIÓN
http://www.youtube.com/watch?v=sRrALcchW7c
ORGANIZAR ELEMENTOS DE PANTALLA
http://www.youtube.com/watch?v=HKfhwH5nua4
ABRIENDO ENLCES WEBB
http://www.youtube.com/watch?v=g0LnmA6hdic
REALIZAR LLAMADAS TELEFONICAS
http://www.youtube.com/watch?v=is6jfhri_-w
DISTRIBUIR APLICACIONES
http://www.youtube.com/watch?v=iclsJzsY5hs
MENUS LATERALES
https://www.youtube.com/watch?v=wXsD-VgxMos
https://www.youtube.com/watch?v=GjlZ8JvgR3E
https://www.youtube.com/watch?v=a7eUrhNwtGs
PUBLICAR APLICACIONES EN GOOGLE PLAY
http://www.youtube.com/watch?v=WnKmyyJM7aM
PROMOCION DE APLICACIONES
http://www.youtube.com/watch?v=JQhij9I8aKw
PRIMEROS PASOS
http://www.youtube.com/watch?v=ILTktsIvq2w
CONEXIÓN BLUETHOO
http://www.youtube.com/watch?v=6JpJKTPzGWk
http://www.youtube.com/watch?v=H6STRDYPO6U
neoteo
http://www.neoteo.com/iluminacion-led-con-android-ii/
http://www.neoteo.com/iluminacion-led-controlada-con-android/
termómetro con android
http://www.neoteo.com/termometro-lm92-android/
oscilloscope
http://www.youtube.com/watch?v=DIDy3PAReXo
motodef studio for android, no baja de su webb..
http://www.youtube.com/watch?v=CofAYNK9RsA
http://www.youtube.com/watch?v=m_VYCGH3Sn8
encender led michel navarro
http://www.youtube.com/watch?v=mH2Q0KUMAI8
matriz leds
http://www.youtube.com/watch?v=i1cdvqvBBTc
Bases de datos en App Inventor
https://www.youtube.com/watch?v=
d28MlTrRVw8
https://www.youtube.com/watch?v=
9zfU7Hvvgjk&t=0s
Ver los dos videos muy bien
Consultar como hacer llamadas telefónicas en
App Inventor
TAREA # 1
Reto o tarea para completar la nota de
seguimiento
Basándose en bases de datos y llamadas telefónicas hacer la
siguiente aplicación en App Inventor.
En la aplicación se almacena:
1. Propietario del apartamento, Nombre y apellido.
2. Bloque del edificio.
3. Apartamento.
4. Numero de teléfono.
Cuando llegue algo o alguien a portería, el portero debe
llamar al apartamento solicitado.
cleanBuffer(buffer,100);
}
}
//*********************esta funcion inicializa el modem***************
int init()
{
if (0 != sendCmdAndWaitForResp("AT\r\n", "OK", 5)){
return -1;
}
if (0 != sendCmdAndWaitForResp("AT+CNMI=1,1\r\n", "OK", 5)){
return -1;
}
if (0 != sendCmdAndWaitForResp("AT+CMGF=0\r\n", "OK", 5)){
return -1;
}
if (0 != sendCmdAndWaitForResp("AT+CBST=0,0,1\r\n", "OK", 5)){
return -1;
}
return 0;
}
//*******************FUNCIONA BIEN si se demora o no regresa devuelve -1
//******************si la respuesta es la esperada en el tiempo prudencial devuelve 0
int waitForResp(char *resp, int timeout)
{
len = strlen(resp);
sum=0;
Time=0;
t=0;
int8 flag=0;
ini:
if(kbhit(PORT1)){
fgets(cadena, PORT1); // Lee la cadena de caracteres
flag=strncmp(resp, cadena, len);
return(flag);
}//no hay nada mide el cronometro.
t=Time/30;
if(t>timeout){
return (-1);
}
goto ini;
}
}
int sendCmdAndWaitForResp(char *cmd, char *resp, int timeout)
{
sendCmd(cmd);
waitForResp(resp, timeout);
return (flag);
}
/**********se envia la palabra Intrusos en rionegro a cuatro telefonos diferentes....
//******Gustavo
GSM.printf("AT+CMGS=50\n\r");
wait_ms(200);
GSM.printf("0011000A9113223717370000AA2A21970B19CE83926EBABC3E7FCF414537881
90699D3EE7118442E83A4E9B7BB7C96BF5DAE10");
wait_ms(200);
GSM.putc((char)0x1A);
}
}