Escolar Documentos
Profissional Documentos
Cultura Documentos
espaol
EnlaactualidadelnmerodedispositivosdisponiblesenInternethasuperadoal
nmerodepersonasconectadas.Lainfraestructuraquesoportalacomunicacin
entretodosestosdispositivosestambinconocidacomoelInternetdelas
Cosas(InternetofThings,IoT).
LanecesidaddecrearappsquepuedanmanejarelIoThacontribuidoal
desarrollodeunaextensindeMITAppInventorqueproporcioneunamanera
sencilladeconectarlosdispositivos.
EstetutorialosensearcomoutilizarlaplacaArduino/Genuino101paraleer
datosdesdeunsensordepulsacionesdecorazn(HeartRateMonitor)utilizando
elcomponenteBluetoothLowEnergy(BLE).Sinotieneselsensororiginalpodis
emularloutilizandounpotencimetro
uotrosensoranalgico.
Requerimientos
PlacaArduino/Genuino101
LED
Sensordepulsacionesdelcorazn,potencimetrouotrosensoranalgico
IDEdeArduinoconlibrerasinstaladasBLEyCurieBLE
El Circuito
Arduino/Genuino 101 Sketch
AntesderealizarlaappconAppInventorloprimerodetodoesimplementarel
serviciostandardBluetoothdebajoconsumodelSensordePulsacionesde
CoraznusandoparaelloelIDEdeArduinoycargandoelsketchdentrode
nuestraplaca.
Podiscopiarelcdigoypegarlodelapginasiguiente:
https://www.arduino.cc/en/Tutorial/Genuino101CurieBLEHeartRateMonitor
Elfuncionamientobsicodelsketchseresumeenlossiguientespuntos:
1.DeclarareldispositivoperifricoBLE(nuestraplacaArduino101)consu
servicioycaracterstica(sensordepulsaciones).
2.Esperarunaconexinentranteconundispositivocentral(nuestro
smartphoneotabletconBluetooth).
3.EncenderelLEDparaindicarquelaplacaestconectada.
4.Leerelsensoranalgicoactualizandoelvalorcuandocambie.
5.ApagarelLEDcuandolaconexintermine.
Diseo
Eldiseodelaaplicacinutilizarlasdisposicionesnecesariasparamostraruna
imagendeuncoraznqueircambiandocuandoseproduzcalaconexin,un
conjuntodebotonesyunaetiquetaquemostrarelestado.
Leeremosdatosdelsensoractualizandoeltextodelaetiquetacorrespondiente
unavezlosdispositivosestnenlazados.Parapoderrecibirlosvaloresdel
sensortendremosqueimportarlaextensinBluetoothLE.
Bloques
Alprincipioinicializaremostresvariablesglobalesparaalmacenarladireccin
denuestraplacaArduino/Genuino101ylosUUIDsestndaresdelservicioMonitor
dePulsacionesdelCoraznysucaractersticaparaelintercambiodedatos.Sino
sabeselsignificadodeestosconceptos,deberasrevisarlosenlareferencia
oficialdelIoTdeMITAppInventoroenlasclasescorrespondientesdelcurso.
Cuandolaappinicia,deshabilitaremoselbotndenombre"btnDisconnect"yel
temporizador...notienemuchosentidoutilizarlossinotenemoslaconexin
todavaestablecida.
Alprincipio,elusuarioharclicenelbotndeScanyobtendrunalistade
dispositivosBluetoothdisponibles.Paraseleccionarnuestraplacayconectarnos
aellautilizaremosunSelectordeLista(ListPicker)...tenencuentaquesitienes
msdispositivosBluetoothalrededorsaldrnms...podremosidentificarel
nuestroporelnombredelservicio.
Sitodovabienactualizaremoslaleyendamostradaporlaetiquetadeestado.
Habilitaremostambinelbotnquepermiteladesconexindeldispositivo
perifricoyeltemporizador.
Cadasegundo,eleventodelrelojsedispararynuestraappcomprobarla
conexin.SiestOK,entonceslaaplicacinreproducirelsonidodellatidodeun
coraznycambiarlaimagenmientrasintentaunanuevalecturadelosdatosdel
sensor.
Silaaplicacindetectacambiosenelsensorsedispararuneventodeltipo
ByteValueChanged.Elnuevovalorseasignaraltextodelaetiquetaconel
sufijo"BPM".Debidoalosdatosdevueltosporelsensortendremosqueutilizarla
funcinmatemticaroundparaconvertireldatoaunnmeroenteroyeliminarel
0menossignificativoconelquenosllegabaelbyte.
Paraterminar,losbotonesquepermitirnalusuariodesconectarseysalirdela
app...
Esoestodo!
Consejo"Problemasaldetectardispositivosbluetooth":
SitenisproblemasaldetectardispositivosBluetoothunavezgeneradoelAPK
esposiblequeanestvigenteunfallodeAppInventorconlospermisosdel
componenteBLE.Parasolucionarlolonicoquetenisquehaceresaadirenla
vistadediseodevuestroproyectouncomponenteClienteoServidorBluetooth
"delosdeantes"...conesto,aunquenoloutilicemosparanada,garantizamosque
laapptendrlospermisosnecesariosparaencontrarotrosdispositivos
Bluetoothcercanos;-)
Podisdescargaroselcdigofuentedelproyectoesteenlace:
https://goo.gl/1iB9vS
Referencias:
HeartRateMonitorwithArduino/Genuino101(originaleningls)
TutorialHeartRateMonitordelsitiowebdeArduino
ReferenciaIoTdeMITAppInventor
Happyinventing!
JoseLuisNez
@twajoseluis
Realizaunabsquedaenestaweb
Search