El Internet de las Cosas (IoT) Raspberry PI vs Arduino YUN J. Carlos Ferrer Hernández Universidad de Cádiz http://www.e-crealab.tk/ http://www.facebook.com/UCACrealab http://www.uca.es/grupos-inv/TEP150 Internet de las cosas Internet de las cosas (en inglés Internet of things)es un concepto que se refiere a la interconexión digital de objetos cotidianos con internet. Enlaces videos IoT ● Internet de las cosas ● BBT_IOT Raspberry PI Raspberry Pi: ¿Qué es? Se trata de un ordenador del tamaño de una tarjeta de crédito de bajo coste desarrollado en Reino Unido por la Fundación Raspberry Pi, con el objetivo de estimular la enseñanza de ciencias de la computación en las escuelas. Raspberry PI Raspberry Pi: ¿Qué es? Se trata de un ordenador de placa única ✗ No incluye carcasa ✗ No incluye fuente de alimentación ✗ No incluye dispositivo de almacenamiento ✗ Ni entrada de audio ✗ Ni S.O preinstalado Raspberry PI Ventajas ✔ Reducido tamaño ✔ Bajo coste ✔ Comunidad de usuarios ✔ Muchos perifericos conectables ✔ Silencioso Raspberry PI Raspberry Pi: ¿Para que sirve? ● Domótica ● Robótica ● Sistemas Cliente-Servidor: Streaming, Web, SQL ● Media Center ● Emulador de videojuegos antiguos…... Hardware Raspberry PI Raspberry Pi: ¿Qué tarjeta SD necesito? Velocidad del bus: A partir de la clase 10 podemos encontrar el Bus de Alta Velocidad y los Buses de Ultra Alta Velocidad (Ultra High Speed) UHS-I y UHS-II Raspberry PI Raspberry Pi: ¿Qué FA necesito? ● Suministre 5 vcc ● Mínimo 700mA ● Conector micro USB Raspberry PI Raspberry Pi vs Arduino UNO ● ● ● Arduino no tiene interfaz para pantalla,ratón y teclado ● Arduino solo tiene 32Kb de ram y 32Kb de memoria flash Procesador de arduino corre a 16 Mhz el de raspberry a 700Mh ● Arduino tiene 14 i/o pin Analógico digital que suministran 40mA los de rasberry solo 3mA Arduino dispone 6 entradas analógicas y 6 salidas PWM Raspberry PI ● Video raspberry Raspberry PI Raspberry Pi: instalacion del SO Se trata de una distribución Linux basada en Debian Wheezy especialmente pensada para la arquitectura ARM Raspberry PI Raspberry Pi:Tarjeta SD En Linux > ImageWriter > Comando dd En Windows > Win32DiskManager > Fedora-arm-installer En Mac > Apple Pi Baker > ImageWriter > viljoen-installer Raspberry PI Primer arranque, configurar Bios Raspberry PI Raspberry Pi: Bios 1. Info – Information about this tool 2. “expand_rootfs – Expand root partition to fill SD card” 3. “overscan – Change overscan” 4. “configure_keyboard – Set keyboard layout” 5. “change_pass – Change password for ‘pi’ user” Raspberry PI Raspberry Pi: Bios 6. “change_locale – Set locale” 7. “change timezone – Set timezone” 8. “memory_split – Change memory split” 9. “overclock – Configure overclocking” 10.“ssh – Enable or disable ssh server” 11.“boot_behaviour – Start desktop on boot?” 12.“update – Try to upgrade raspi-config” Arduino YUN Arduino YUN: ¿Qué es? Se trata de una placa compuesta por dos nucleos. Un Micro computador y un micro controlador conectados entre si Mediante dos pines,y por tanto con un bus de comunicación interno Arduino YUN Arduino YUN: ¿Qué es? Se trata de una placa compuesta por dos nucleos. Un Micro computador y un micro controlador conectados entre si Mediante dos pines,y por tanto con un bus de comunicación interno Arduino YUN Arduino YUN: ¿Qué es? Arduino YUN Arduino YUN: Ventajas ✔ El nucleo linux pue2de realizar procesos y scripts ✔ La librería “bridge” nos permite comunicarlos fácilmente ✔ Podemos descargar sketchs mediante conexión WIFI ✔ El núcleo arduino puede controlar al núcleo linux fácilmente Arduino YUN Instalar openWRT Arduino YUN Configurar Luci Arduino YUN Libreria Bridge Arduino YUN Ejemplo Mail Script de python: import smtplib import ssl fromaddr='alertayun@gmail.com' toaddr='ardufail@gmail.com' asunto='Alerta corral 1' mensaje='Mensaje automatico: la Temperatura en el CORRAL l uno ha superado el limite establecido ' login='alertayun@gmail.com' password='hi.gmail' server = smtplib.SMTP('smtp.gmail.com:587') server.starttls() server.login(login,password) header= 'To: ' +toaddr + '\n' header+= 'From: ' +fromaddr+'\n' header+= 'Subect: ' +asunto+ '\n' msg=header +'\n' +mensaje+'\n\n' server.sendmail(fromaddr, toaddr, msg) server.close() Arduino YUN Código arduino: #include <Process.h> void setup() { Bridge.begin();// Initialize the Bridge } void loop (){ Process d; d.begin("python"); d.addParameter("/mnt/sda1/automail.py"); d.run(); // blocking call to run python; ATMega execution halts until complete // do nothing until the process finishes, so you get the whole output: while (d.running()); }