guía de instalación y despliegue de la plataforma motam · 3 en esta guía se describen los pasos...

18
1 PROYECTO MOTAM GUÍA DE INSTALACIÓN Y DESPLIEGUE DE LA PLATAFORMA TABLA DE CONTENIDO Guía de instalación y despliegue de la plataforma .............................................................. 1 Control de versiones del documento .................................................................................. 2 Instalación de la pasarela – Raspberry Pi ............................................................................ 3 Conexión de los componentes hardware ............................................................................. 3 Instalación del sistema operativo (Raspbian) ....................................................................... 4 Configuración de la pantalla tactil ........................................................................................ 4 Instalación de Node.JS .......................................................................................................... 4 Instalación de las dependencias (paquetes software) .......................................................... 5 Copia de los ficheros/componentes de la plataforma motam.............................................. 5 Permisos necesarios para la ejecución.................................................................................. 6 Instalación de los módulos Node.JS ...................................................................................... 6 Instalación de los paquetes Python ...................................................................................... 6 Creación de acceso directo en escritorio .............................................................................. 6 Instalación de la plataforma hardware Arduino/Genuino 101 ............................................ 6 Conexión de los componentes hardware ............................................................................. 7 Instalación del entorno de desarrollo Arduino ..................................................................... 8 Programación del microcontrolador ..................................................................................... 8 Poner en funcionamiento los actuadores ............................................................................. 9 Instalación de los sensores RFduino ................................................................................... 9 Instalación y configuración del entorno de desarrollo para RFduino ................................... 9 Programación del microcontrolador de los sensores RFduino ........................................... 10 Sensor de climatología ........................................................................................................ 10 Sensor silla de bebés ........................................................................................................... 11 Sensor calidad del aire ........................................................................................................ 12 Sensor de luces de semáforo .............................................................................................. 12 Sensor de presencia de bicicleta ......................................................................................... 13 Modificación de sensores RFduino ..................................................................................... 14 Instalación del módulo NB-IoT ......................................................................................... 15 Programación de la placa Arduino con la shield NB-IoT ..................................................... 16

Upload: others

Post on 26-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

1

PROYECTOMOTAMGUÍADEINSTALACIÓNYDESPLIEGUEDELAPLATAFORMA

TABLADECONTENIDOGuíadeinstalaciónydesplieguedelaplataforma..............................................................1Controldeversionesdeldocumento..................................................................................2Instalacióndelapasarela–RaspberryPi............................................................................3Conexióndeloscomponenteshardware.............................................................................3Instalacióndelsistemaoperativo(Raspbian).......................................................................4Configuracióndelapantallatactil........................................................................................4InstalacióndeNode.JS..........................................................................................................4Instalacióndelasdependencias(paquetessoftware)..........................................................5Copiadelosficheros/componentesdelaplataformamotam..............................................5Permisosnecesariosparalaejecución..................................................................................6InstalacióndelosmódulosNode.JS......................................................................................6InstalacióndelospaquetesPython......................................................................................6Creacióndeaccesodirectoenescritorio..............................................................................6

InstalacióndelaplataformahardwareArduino/Genuino101............................................6Conexióndeloscomponenteshardware.............................................................................7InstalacióndelentornodedesarrolloArduino.....................................................................8Programacióndelmicrocontrolador.....................................................................................8Ponerenfuncionamientolosactuadores.............................................................................9

InstalacióndelossensoresRFduino...................................................................................9InstalaciónyconfiguracióndelentornodedesarrolloparaRFduino...................................9ProgramacióndelmicrocontroladordelossensoresRFduino...........................................10Sensordeclimatología........................................................................................................10Sensorsilladebebés...........................................................................................................11Sensorcalidaddelaire........................................................................................................12Sensordelucesdesemáforo..............................................................................................12Sensordepresenciadebicicleta.........................................................................................13ModificacióndesensoresRFduino.....................................................................................14

InstalacióndelmóduloNB-IoT.........................................................................................15ProgramacióndelaplacaArduinoconlashieldNB-IoT.....................................................16

Page 2: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

2

CONTROLDEVERSIONESDELDOCUMENTO30nov.2017 Añadidoapartado“ModificacióndesensoresRFduino”eíndice8ene.2018 AñadidasinstruccionesparaevitarconflictoconWifiDirectsurgidotras

actualizarlospaquetesen“InstalacióndelasDependencias”5feb.2018 Añadidoapartado“InstalacióndelmóduloNB-Iot”.

ActualizadaURLdelrepositoriodeSensoresMOTAM.15feb.2018 ActualizadainformaciónplacasArduinocompatiblesconelmóduloSODAQ

NB-IOTSHIELD.

Page 3: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

3

Enestaguíasedescribenlospasosaseguirparainstalarydesplegarlosdistintoscomponentes-softwareyhardware-queconformanlaplataformaMOTAM.

INSTALACIÓNDELAPASARELA–RASPBERRYPILapasarela,consistenteenlaplataformahardwareRaspberryPi,eslabasesobrelaquesedespliegantantolossensoresMOTAMcomolapasareladecomunicaciónentrepuertoserieyBLE.

Acontinuación,sepresentanlospasosnecesariosparallevaracabolaconfiguraciónyeldesplieguedelapasarelaydelrestodecomponentesMOTAMaejectuarsobrelamisma.

RASPBERRYPI3B

TOUCHSCREENLCD

GPSRECEIVER

INTERFAZOBDII

ILUSTRACIÓN2:ELEMENTOSDELAPASARELA:PLATAFORMAHARDWARERASPBERRYPI

CONEXIÓNDELOSCOMPONENTESHARDWARE

ILUSTRACIÓN1:PLATAFORMAHARDWARERASPBERRYPI(PASARELA)CONACTUADORESCONECTADOSPORPUERTOSERIE

Page 4: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

4

LaconexióndelreceptorGPSydel lectorOBD-II,dispositivosUSBenlosquesebasanlossensoresdeposiciónyvelocidaddelaplataformaMOTAM,estansimplecomoconectarlosalospuertosUSBlibresdelaRaspberryPi.Elordenenelqueseconectenesindiferente,ypuedenserconectadostantoconlaRaspberryPiapagadacomoencendida.

LatransmisiónmedianteBLEdesdelapasarelaserealizamedianteunchipintegradoenelactualmodelodelaRaspberryPi(Model3B),porloquenotenemosquepreocuparnosenconectarloniconfigurarlo.

INSTALACIÓNDELSISTEMAOPERATIVO(RASPBIAN)Sedeberánseguirlossiguientespasos:

1. Descargar la última versión del sistema operativo Raspbian desde la web(https://www.raspberrypi.org/downloads/raspbian/).Elegirlaopción“RaspbianwithDesktop”parapodertenerunescritorioennuestroentorno.Laversiónusadaennuestrocasohasidola“RaspbianStretchwithDesktop”.

2. Descargarelprograma“Win32DiskImager”:https://sourceforge.net/projects/win32diskimager/3. Extraerelfichero.zipunavezdescargadoelarchivo.4. Formatear la tarjeta SD. Se recomienda el uso de la herramienta SD Formatter 5.0

(https://www.sdcard.org/downloads/formatter_4/)5. Volcar la imagendeRaspbian en la tarjeta SD. Para ello introducimos la tarjeta SDenel PC,

abrimos Win32DiskImager, seleccionamos el fichero .img descomprimido, seleccionamos latarjetaSDen“Device”ypulsamosen“Write”.

6. Conectamosteclado,ratónymonitor.EnchufamoslaRaspberryPiy la instalaciónserealizaráautomáticamente, mostrándonos por pantalla el escritorio Raspbian. Ahora podemosconectarnos a la red mediante un cable de red o mediante Wifi haciendo clic en el iconocorrespondiente.

NOTA:Lascredencialesparaentrarson“pi:raspberry”.

CONFIGURACIÓNDELAPANTALLATACTILEsposiblequecuandoseinicieelsistemaoperativodeRaspberryPi,lapantallaseencuentrerotada180º.Parasolucionaresto,debemosejecutar:

$ sudo su -c 'echo lcd_rotate=2 >> /boot/config.txt'

INSTALACIÓNDENODE.JSParalainstalacióndeNode.JS,entornosobreelcualseapoyaelsoftwaredelapasarela,sedebenseguirlossiguientespasosenlaterminal:

1. ElprimerpasoesactualizarlosrepositoriosyelsoftwaredenuestraversióndeRaspbian.Paraelloejecutamos:$ sudo apt-get update && sudo apt-get upgrade

2. AñadimoselrepositorioDebiande“nodesource.com”enelsistema.Paraellohayquedescargarelscriptyejecutarloenelsistema:$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

3. InstalamosNode.JSversión6enelsistema:$ sudo apt-get install nodejs

Page 5: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

5

NOTA:Sehaelegidolaversión6deNode.JSyaqueestádestinadaaserlaversiónactualLTS.INSTALACIÓNDELASDEPENDENCIAS(PAQUETESSOFTWARE)ParainstalaryconfigurarcorrectamentecadaunadelasdependenciasnecesariasparalaejecucióndetodosloscomponentesdelaplataformaMOTAM,deberemosseguirlossiguientespasos:

1. EnprimerlugardeberemosinstalarlospaquetessoftwarequegestionanelreceptorGPS.$ sudo apt-get install gpsd gpsd-clients

2. Elpaqueteinstalaunservicioqueescuchacontinuamenteunsocketlocalyejecutagpsdcuandoalgúnclienteseconectaalsocket.Dichoserviciointerfiereconotrasejecucionesdegpsd(comolasdelsoftwareMOTAM),porloquesehacenecesariodesactivarlo.$ sudo systemctl stop gpsd.socket $ sudo systemctl disable gpsd.socket

3. InstalarelsimuladordeinterfazOBDII.Paraelloejecutamos:$ sudo apt-get install obdgpslogger

4. Instalar lautilidad“socat”,necesarioparausarpuertosserievirtualesparaelsimuladorde lainterfazOBDII.$ sudo apt-get install socat

5. Instalarudhcpd,necesarioparacrearlareddeWifiDirectconlaquecomunicaremospasarelayterminalmóvil.$ sudo apt-get install udhcpd

6. DeshabilitarelservicioclientedeDHCPparaelcorrectofuncionamientodeWifiDirect.Conlaactualización 6.11.5 del paquete DHCPCD5 se produce un conflicto entre la creación de unainterfazvirtualdeWifiDirectyelclienteDHCPCD.Portanto,esnecesariodeshabilitarlo.$ sudo systemctl disable dhcpcd.service

7. Reiniciarel sistema.Esnecesario reiniciarparaque loscambios surtanefecto–enespecial ladeshabilitacióndeDHCPCD.$ sudo reboot

NOTA: En las nuevas versiones de Raspbian, ya vienen instalados los paquetes software relativos aBluetooth,porloquenoesnecesarioinstalarlos.NOTA2:Sisenecesitaconexiónainternet,lamejoropciónesporEthernet,puestoqueelinterfazWiFiintegradoenlaRaspberryPiseusaráparacrearlaconexiónWifiDirect.SiserequiereasignarunaIPfijaalapasarelaparaesto,noseharáatravésdelclienteDHCP,puestoquehasidodeshabilitado.Serealizarámedianteelficherodeconfiguración/etc/network/interfaces.NOTA3:(soloparaprobarelfuncionamiento).SiqueremosejecutarunclienteGPS,deberemosintroducirlossiguientescomandos,donde“/dev/ttyUSB0”eselpuertoasignadoalreceptorGPS.$ sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock $ cgps -s

COPIADELOSFICHEROS/COMPONENTESDELAPLATAFORMAMOTAMTodoslosficheros/componentesdelaplataformaMOTAMaejecutarsobrelaplataformaRaspberryPiseencuentranenelsiguienterepositorioGit:

https://github.com/nicslabdev/MOTAM-Gateway

Page 6: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

6

Porlotanto,tansólohacefaltacopiarelcontenidodeesterepositorioaldirectorioquevamosacrear,yenelcualestarántodoslosficherosrelacionadosconelproyectoMOTAM“/home/pi/MOTAM”

$ git clone https://github.com/nicslabdev/MOTAM-Gateway /home/pi/MOTAM

PERMISOSNECESARIOSPARALAEJECUCIÓNAlgunosscriptsenlosqueseapoyaelcódigoprincipalnecesitanpermisosdeejecuciónparapoderserejecutados.Paraelloejecutamos:

$ sudo chmod +x /home/pi/MOTAM/util/usbDiscovery $ sudo chmod +x /home/pi/MOTAM/util/startGateway.sh $ sudo chmod +x /home/pi/MOTAM/util/zenity

INSTALACIÓNDELOSMÓDULOSNODE.JSLos módulos necesarios para el funcionamiento de nuestro código de Node.JS se encuentranespecificadosenelfichero“package.json”.Portanto,parainstalarlos,soloesnecesarioejecutar:

$ cd /home/pi/MOTAM $ npm install

INSTALACIÓNDELOSPAQUETESPYTHONSeránecesarioinstalarlospaquetesnecesariosparaelfuncionamientodelosscriptsauxiliaresdePython.Losinstalaremosparaelsuper-usuario(sudo),yaqueelcódigoNode.JSseejecutarácomosuper-usuario.

$ sudo pip install obd bluepy

CREACIÓNDEACCESODIRECTOENESCRITORIOSeprocedeacolocarunaccesodirectoenelescritorioconelobjetivodequenoseanecesarioelusoderatónytecladoparaejecutarelprogramaprincipal.Unavezcolocado,bastaráconpulsardosvecesdesdelapantallatáctildelaRaspberryPiparaejecutarlo.

$ mv /home/pi/MOTAM/MOTAM /home/pi/Desktop

INSTALACIÓNDELAPLATAFORMAHARDWAREARDUINO/GENUINO101La plataforma hardware Genuino 101 es la base sobre la que se despliegan los actuadores visual,luminosoysonorodelaplataformaMOTAM.LaconexiónentreestaplataformaylapasarelaserealizamediantepuertoserieatravésdeuncableUSB,aunquesehaproyectadoqueenfuturasversionesestaconexiónsearealizadamediantetecnologíasinalámbricas.

Loscomponentesempleadosenestaplataformasonlossiguientes:

Page 7: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

7

GENUINO101

INTERFAZGROOVE

LCDRGBBACKLIGHT

LED

BUZZER

ILUSTRACIÓN3:COMPONENTESDELAPLATAFORMAHARDWAREARDUINO/GENUINO101

A continuación, se presentan los pasos necesarios para llevar a cabo la instalación, configuración ydesplieguedeloscomponentesMOTAMaejecutarenestaplataformahardware.

CONEXIÓNDELOSCOMPONENTESHARDWARELa conexión de los distintos actuadores de la plataformaMOTAM acoplados a la placa de desarrolloArduino/Genuino101sehallevadoacaboatravésdelaplataformaGrove(deSeeed-Studio),queofreceunsistemadeconexiónmodular(ylistoparausar)conunagranvariedaddecomponenteselectrónicos.

LacitadainterfazGrovevainsertadaenlospinesdelaplacadedesarrolloArduino/Genuino101.

El esquema de conexión usado para conectar los distintos actuadores a la plataforma hardwareArduino/Genuino101

ILUSTRACIÓN4:PLATAFORMAHARDWAREARDUINO/GENUINO101

Page 8: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

8

ILUSTRACIÓN5:ESQUEMADECONEXIÓNENTRELOSCOMPONENTESGROVEYLAPLATAFORMAARDUINO/GENUINO101

INSTALACIÓNDELENTORNODEDESARROLLOARDUINOParalaprogramaciónenArduinodenuestraplataforma,seránecesarioinstalarelArduinoIDE

1. Descargar e instalar el IDE oficial de Arduino desde laweb de Arduino. En este caso hemosempleadolaversión1.8.4.https://www.arduino.cc/en/main/software

2. Descargamos los sketchs y las librerías necesarias desde el repositorio de MOTAM-Arduino_RFduino:https://github.com/nicslabdev/MOTAM-Arduino_RFduino

3. Instalamos las librerías descargadas en nuestro entorno de desarrollo Arduino. Para ello,copiamoselcontenidodelacarpeta“libreries”enlacarpetadelaslibreríasinstaladasdenuestroArduinoIDE,normalmentesituadaen“C:\Users\usuario\Documents\Arduino\libraries”

4. Instalamos losdriversparaArduino/Genuino101.Paraello,arrancamoselArduino IDEynosvamosa “Herramientas –Placa–Gestorde tarjetas…”. Enel buscadorponemos “Intel CurieBoards”yseleccionamoseinstalamoselpaquetequeincluyelastarjetasArduino/Genuino101.

PROGRAMACIÓNDELMICROCONTROLADOR

1. ConectamosporUSBelArduino/Genuino101alPC.2. AbrimoselIDEdeArduinohaciendodobleclickenelsketchquequeremosinstalar.Ennuestro

caso“Display_Light_Sound_Actuators_Genuino101.ino”3. ConfiguramoselIDE.Esposiblequeestotengamosquehacerlocadavezqueconectemoslaplaca

porUSBalPC:a. NosvamosaHerramientas/Placayseleccionamos“Arduino/Genuino101”.

Page 9: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

9

b. NosvamosaHerramientas/Puertoyseleccionamosaquelenelquesehayadetectado“Arduino/Genuino101”.

4. Pulsamos sobre el botón “Subir” para iniciar la compilación y subida del software almicrocontroladordelaplacadedesarrollo.

PONERENFUNCIONAMIENTOLOSACTUADORESParaponerenfuncionamientoestaplataformahardware,bastaconconectarlamedianteuncableUSBaunpuertoUSBlibredelapasarela.Cuandoseejecuteelprogramaprincipaldelapasarela,seestableceráautomáticamenteunaconexiónmediantepuertoserie.

INSTALACIÓNDELOSSENSORESRFDUINOLaplataformahardwareRFduinoeslabasesobrelaquesedesplieganelrestodesensoresybalizasdelaplataformaMOTAM.

Enestosmomentosseencuentrandesarrollados5tiposdesensoresdiferentes:sensordeclimatología,sensorparasilladebebés,sensordecalidaddelaire,sensordelucesdesemáforoysensordepresenciadebicicleta.

TodoslossensoresybalizasestánbasadosenlaplataformadedesarrolloRFduino.Estetipodeplacassebasan en “shields”, de forma que se pueden ir agregando unas shields encima de otras para añadirfuncionalidad.

ExistentresshieldsbásicasusadasenMOTAM:

MICROCONTROLADORRFDUINO

BATTERYSHIELD

USBSHIELD

ILUSTRACIÓN6:SHIELDSRFDUINOUSADASENMOTAM

INSTALACIÓNYCONFIGURACIÓNDELENTORNODEDESARROLLOPARARFDUINOPara poder llevar a cabo la programación del microcontrolador RFduino, es necesario configurarpreviamenteelequipomedianteestospasos:

1. DescargareinstalarloscontroladorescorrespondientesparaelsistemaoperativodelPCdesdeelquesevaarealizarlaprogramación:http://www.ftdichip.com/Drivers/VCP.htm

2. Abrirel IDEdeArduino.IraArchivo,Preferencias.Añadir lasiguientedirecciónen“GestordeURLsadicionalesdetarjetas”:http://rfduino.com/package_rfduino_index.json

Page 10: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

10

3. IraHerramientas,Placa,Gestordetarjetas…InstalarelpaqueteRFduinoBoardsbyRFduino.

PROGRAMACIÓNDELMICROCONTROLADORDELOSSENSORESRFDUINOPara realizar la programación de los RFDuino deberemos acoplar el USB Shield a el shield delmicrocontroladorRFduino.ElconectorUSBdelUSBShieldsedeberáconectaraunpuertoUSBdelequipodesdeelquesevayaarealizarlaprogramacióndelmicrocontrolador.

Deberemosseguirlossiguientespasospararealizarlaprogramacióndelmicrocontrolador:

1. ConectamosporUSBelRFduinoalPC.2. AbrimoselIDEdeArduinohaciendodobleclickenelsketchquequeremosinstalar.Hayunsketch

porcadatipodebaliza-sensor.3. ConfiguramoselIDE.Esposiblequeestotengamosquehacerlocadavezqueconectemoslaplaca

porUSBalPC:a. NosvamosaHerramientas/Placayseleccionamos“RFduino”.b. NosvamosaHerramientas/Puertoyseleccionamosaquelenelquesehayadetectado.

4. Pulsamos sobre el botón “Subir” para iniciar la compilación y subida del software almicrocontroladordelaplacadedesarrollo.

SENSORDECLIMATOLOGÍAElsensordeclimatologíaseencargadedetectarlatemperatura,humedadylapresenciadeagua.EstácompuestoporunaplacadedesarrolloRFduino,unsensordetemperaturayhumedad,unsensordeaguayunaplacadeconexiónelaboradaporlaUMA.

Elsensordeaguaseconectaalpin5deRFduino,elsensordetemperaturayhumedadseconectaalpin6deRFduino.

ILUSTRACIÓN7:SHIELDUSBCONECTADAALMICROCONTROLADORRFDUINOPARAPROGRAMAR

Page 11: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

11

ILUSTRACIÓN8:COMPONENTESDELSENSORDECLIMATOLOGÍA

ILUSTRACIÓN9:SENSORDECLIMATOLOGÍAMONTADOENCAJADEPROTECCIÓN

SENSORSILLADEBEBÉSEl sensorde silladebebéses capazdedetectar si unniñoestá sentadoen la silla y si el cinturón seencuentraabrochado.EstácompuestoporunaplacadedesarrolloRFduino,uninterruptormagnético,unsensordepresiónyunaplacadeconexiónelaboradaporlaUMA.Lacitadaplacadeconexiónconstadeunpotenciómetroquesirveparaajustarlasensibilidaddelsensordepresión.

MICROCONTROLADOR

RFDUINO

SHIELDDEBATERÍA

INTERRUPTORMAGNÉTICO

SENSORDEPRESIÓN

PLACADECONEXIÓN

ILUSTRACIÓN10:COMPONENTESDELSENSORSILLADEBEBÉS

Elsensordepresiónseconectaalpin5deRFduino,elsensormagnéticoseconectaalpin6deRFduino.Las conexiones tantoel sensordepresióncomoelmagnéticocon la cajadeproteccióndel sensor serealizamedianteunconectorRJ11conelfindefacilitarlainstalación.

SENSOR DE TEMPERATURAYHUMEDAD

SENSORDEAGUA MICROCONTROLADORRFDUINO

SHIELDDEBATERÍA PLACACONEXIÓN

Page 12: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

12

MONTAJEPLACADESARROLLO

RFDUINO

COLOCACIÓNENLACAJADE

PROTECCIÓN

MONTAJEFINALEXTERNO

ILUSTRACIÓN11:SENSORDESILLADEBEBÉSMONTADOENCAJADEPROTECCIÓN

SENSORCALIDADDELAIREElsensordeclimatologíadetectalacalidaddelaireylapresenciadegases.EstácompuestoporunaplacadedesarrolloRFduino,unsensordecalidaddelaire,unsensordegasesyunaplacadeconexiónelaboradaporlaUMA.

MICROCONTROLADORRFDUINO

SHIELDDEBATERÍA

SENSORDECALIDADDEL

AIRE

SENSORDEGASES

PLACADECONEXIÓN

ILUSTRACIÓN12:COMPONENTESDELSENSORDECALIDADDELAIRE

El sensordecalidaddelaire seconectaalpin5deRFduinoyel sensordegas seconectaalpin6deRFduino.

ILUSTRACIÓN13:SENSORDECALIDADDELAIREMONTADOENSUCAJADEPROTECCIÓN

SENSORDELUCESDESEMÁFORO

Page 13: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

13

ElsensordelucesdesemáforodetectaelestadoactualdeunsemáforoyestácompuestoporunaplacadedesarrolloRFduino,tresfotorresistenciasyunaplacadeconexiónelaboradaporlaUMA.Laplacadeconexióncuentaasuvezcontrespotenciómetrosparaajustarlasensibilidaddelasfotorresistencias.

MICROCONTROLADOR

RFDUINO

SHIELDDEBATERÍA

FOTORRESISTENCIA

PLACADECONEXIÓN

ILUSTRACIÓN14:COMPONENTESDELSENSORDELUCESDESEMÁFORO

Cadaunadelasfotorresistenciasseencuentraconectadaalospines4,5y6deRFduino.

ILUSTRACIÓN15:SENSORDELUCESDESEMÁFOROMONTADOENSUCAJADEPROTECCIÓN

SENSORDEPRESENCIADEBICICLETAElsensordepresenciadebicicletaescapazdedetectarlapresenciadeunabicicletaysuestado:bicicletaenmarchaobicicletaaccidentada.EstácompuestoporunaplacadedesarrolloRFduino,unaplacadeconexiónelaboradaporlaUMA,dossensoresdeinclinaciónyunsensormagnético.Elsensormagnéticoirácolocadoenlahorquilla,deformaqueseaactivadomedianteelpasoderuedaconunimánsituadoenunradio.

MICROCONTROLADOR

RFDUINO

SHIELDDEBATERÍA

SENSORDEINCLINACIÓN

INTERRUPTORMAGNÉTICO

PLACADECONEXIÓN

ILUSTRACIÓN16:COMPONENTESDELSENSORDEPRESENCIADEBICICLETA

Lossensoresdeinclinaciónseconectanalospines4y5.Elsensormagnéticoseconectaalpin6.

Page 14: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

14

La conexióndel sensordepasode ruedacon la cajadeproteccióndel sensor se realizamedianteunconectorRJ11conelfindefacilitarlainstalación.Lossensoresdeinclinaciónseencuentranembutidosdentrodelacajadeprotección.

ILUSTRACIÓN17:SENSORDEPRESENCIADEBICICLETAMONTADOENSUCAJADEPROTECCIÓN

MODIFICACIÓNDESENSORESRFDUINOEsposiblemodificar el comportamientode los sensores y la informaciónque transmiten. Estopuederesultarútilpara,porejemplo,definirlaubicaciónGPSexactay/oelsentidodecirculaciónparaelquedebefuncionarelsensorquesevaadesplegar.

UnavezconfiguradoelPCparapodercompilarysubirlossketchesalosRFduino,soloquedamodificarelcódigodeestossketchesparaponerlaubicaciónyelrumboquesequiera.

Paraello,modificamoselsketchdelasiguienteforma:

ILUSTRACIÓN18:ARRAYDONDESESITÚALAINFORMACIÓNQUETRANSMITEELSENSORDESEÑALSTOP

EnelarrayadvDatasesitúalatramadelpaqueteadvertisingquetransmitenperiódicamentelosRFduino.

Page 15: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

15

Enprimerlugartenemosqueobtenerlascoordenadasdellugardondevamosasituarelsensor.Paraello,serecomiendaelusodeGoogleMaps.Haciendoclicksobreellugardelmapaenelquesevaadesplegarelsensor,semostraránlascoordenadas.

EnBluetoothLowEnergy,losbytesdeinformaciónsetransmitenenformatoLittle-endian.Además,enlatramaBLEdeMOTAM,lascoordenadassetransmitenpasandoabinariodosnúmerosenformatofloat(latitudylongitud).Parahacermásfácilelmanejodeestosvalores,enelsketchseencuentranexpresadosenformatohexadecimal.Parafacilitarlatareadeincluirenlatramaestosdosvalores(latitudylongitud),seemplealasiguienteherramientaonline.

https://gregstoll.dyndns.org/~gregstoll/floattohex/

Enella,hayquehacerclicksobre“SwapEndiannes”paraactivarlarespresentacióndelosvaloresenLittle-endian.Comopodemosverenlailustración18,laprecisióndelosvaloresvienedeterminadaporquelatramareserva4bytesparalalatitudy4bytesparalalongitud.

Paraponerelrumboosentidodelamarchaparalaqueestádesplegadoelsensor(campo“fromdirectionthatapplies”enelsketch)noesválidoelusodelaherramientaanterior,puesestenuevovalorseexpresacomounentero.Ensulugar,serecomiendaelusodelasiguienteherramienta:

http://www.binaryhexconverter.com/decimal-to-hex-converter

NoolvidarqueestenúmerotambiénseexpresaenLittleEndian,porloquelosbytesmássignificativosvandespués.

Ejemplo: 35(decimal)=0x0023(hexadecimal)=0x2300(hexadecimallittleendian)

280(decimal)=0x0118(hexadecimal)=0x1801(hexadecimallittleendian)

INSTALACIÓNDELMÓDULONB-IOTElproyectoMOTAMincluyesoporteparadotaralaplataformadeconectividadNarrowBandInternetofThings (NB-IoT). Esta conectividad se realizamediante una shield compatible con el factor de formahabitualenArduino.

Hastaelmomento,laredNB-IoTdeEspañasolohasidodesplegadaporeloperadorVodafone.ParaelaccesoaestaredesnecesariotenerunatarjetaSIMcompatibleconNB-IoTdeesteoperador.

LashieldutilizadaenelproyectoMOTAMeslaSODAQNB-IoTShield, lacual incorporadosmódulosyvariossensores,loscualessedescribenacontinuación:

• MóduloNB-IoT:Setratadeunmódulodelfabricanteublox,modeloSARA-N211.ProporcionaconectividadNB-IoTenlasbandas8y20.CabedestacarquelaredNB-IoTdeVodafoneEspañautilizalabanda20.

• MóduloGPS:Tambiénfabricadoporublox,modeloSAM-M8Q.SetratadeunreceptorGPS.• Sensordetemperaturayhumedad:LashieldincorporaelsensorHTS221.• Sensordepresiónatmosférica:ModeloLPS22HB.

Page 16: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

16

• Sensordeaceleraciónymagnetómetro:ModeloLSM303AGR.

PROGRAMACIÓNDELAPLACAARDUINOCONLASHIELDNB-IOTEs conveniente conocer un aspecto de esta shield. Es frecuente que la comunicación entremicrocontroladoressehagaatravésdelpuertoserie.YesasícomoocurreentreelmóduloNB-IoTdeestashieldyArduino.Esporestoque,dependiendodelArduinoutilizado,puedeexistirunconflictoentreelpuertoUSButilizadoparaconectarelPCalArduino(yqueusaestepuertoserie)yelpuertoserieconelquesecomunicanArduinoyNB-IoT.Portanto:

Unavezconocidoesto,lospasosaseguirparacargarunsketcheselsiguiente:

1. ConectamosporUSBlaplacaArduinoalPC.2. AbrimoselIDEdeArduinohaciendodobleclickenelsketchquequeremosinstalar.3. ConfiguramoselIDE.Esposiblequeestotengamosquehacerlocadavezqueconectemoslaplaca

porUSBalPC:

ConmodelosdeArduinocuyomicrocontroladortengamásdeunUARTypuedaelegirseusarcadaUARTen un puerto serie distinto no existe problema. Simplemente a nivel de software (sketch Arduino)deberádefinirseunpuertoserieparalaconexiónconelmóduloNB-IoTyotroparalaconexiónUSBconelPC.EstaconfiguraciónhacequeseaposibleeldebugmedianteunmonitordepuertoserieenelPC,comonormalmentesehaceconArduino.AlgunosmodelosArduinoquecumplenestosson:ArduinoLeonardo,Arduino101,ArduinoZero,ArduinoM0,SODAQExpLoRer.

ConmodelosdeArduinocuyomicrocontroladorsolotengaunUARTosolounpuertoSerienoesposiblela conexiónmediante USB al PCmientras se encuentremontada la shield NB-IoT. Los sketches deArduino deberán ser cargados en la placa con la shield desconectada, pues de lo contrario lacomunicaciónentrePCyArduinonoserácorrectayelIDEdeArduinonolocargará,notificándonosdeun error de conexión. Tras cargar el sketch ya podremos conectar la shield. El debugmediante unmonitordepuertoserieenelPCnoesposibledeformanativa.AlgunosmodelosdeplacaArduinoconestalimitaciónson:ArduinoUNO,ArduinoMEGAoIntelGalileo.

ILUSTRACIÓN19:SHIELDNB-IOTMONTADASOBREPLACAARDUINOLEONARDOCONUNATARJETASIMVODAFONENB-IOT

Page 17: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

17

a. Nos vamos a Herramientas/Placa y seleccionamos elmodelo de placa que estemosusando.

b. NosvamosaHerramientas/Puertoyseleccionamosaquelenelquesehayadetectadolaplaca.

4. Pulsamos sobre el botón “Subir” para iniciar la compilación y subida del software almicrocontroladordelaplacadedesarrollo.

En el repositorio de GitHub de los sensores y balizas del proyectoMOTAM se pueden encontrar lossketchesparaelusodelashieldNB-IoT:https://github.com/nicslabdev/MOTAM-Arduino_RFduino

ATCOMMANDS:

Estesketchessolocompatibleconlasplacasconmásdeunpuertoserie/UART(ArduinoLeonardo).EstableceunbypassentreelpuertoseriealqueseconectaelPC–atravésdelpuertoUSB-yelpuertoseriealqueseconectaelNB-IoT.EstopermitecomunicarnosdirectamenteconelmódemNB-IoTmediantecomandosAT.

PararealizarestaconexiónesnecesarioabrirelmonitorseriedelIDEdeArduinoyseleccionarunbaudratede9600yconfigurarlafinalizacióndecadalíneaenviadacon“Retornodecarro”.

ComoejemplotenemoslasiguientesecuenciadecomandosAT:

AT+NRB à Reinicia el módulo AT+CEREG=2 à Se habilita el registro a la red AT+CSCON=1 à Se habilita el CSCON URC AT+CFUN=1 à Se establece el modo de máxima funcionalidad AT+CIMI à Devuelve el IMSI de la tarjeta SIM AT+CGDCONT=0,"IP","" à Se definen los parámetros de conexión AT+COPS=1,2,"21401" à Se selecciona el operador Vodafone. Devuelve

una serie de parámetros que indican es estado actual de la conexión. Tras un periodo de espera debe devolver algo similar a “+CEREG:5,102F,46CEA3D,7”. Si aparece 5 como la primera cifra indica que el registro en la red se ha realizado correctamente. Puede devolver otros parámetros ante de que el registro se complete.

AT+CGDCONT? à Devuelve los parámetros de la conexión una vez que se ha realizado el registro.

ILUSTRACIÓN 20: CONFIGURACIÓN DEL MONITOR SERIE PARA LA CONEXIÓNMEDIANTECOMANDOSAT

Page 18: Guía de instalación y despliegue de la plataforma MOTAM · 3 En esta guía se describen los pasos a seguir para instalar y desplegar los distintos componentes -software y hardware-

18

AT+CSQ à Devuelve la calidad de la señal. 99,99 si la conexión no se ha realizado correctamente.

AT+CGATT? à Devuelve 1 si el dispositivo se encuentra registrado en la red.

AT+CGPADDR à Devuelve la IP asignada por la red al dispositivo.

AT+NUESTATS à Devuelve información variada sobre la red y la conexión.