Cyberpi Conocer Cyberpi HARDWARE Cyberpi  ya es un robot , tipo placa electrónica, basado en ESP32 por lo tanto con Wifi y Bluetooh integrado y se le incorporan los suiguientes SENSORES Y ACTUADORES Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. HARDWARE - PUERTOS Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. Puerto para conexión de tarjetas de extensión : La tarjeta Cyberpi esta diseñada para conectarse al chasis del robot mBot2, así como otros shields comerciales para esta placa. por ejemplo el de la figura: Fuente:  Guia Cyberpi Robotix con permiso del autor Puerto USB tipo C para conectarnos con el PC e instalar los programas que deseemos, Se pueden añadir varios y seleccionar con el Joystick cual ejecuta. Puerto para Conexión módulos electrónicos :, con protocolos serie I2C, permite conexión de diferentes módulos, sin necesidad de tener más puertos, simplemente conectando todos en serie. Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. SOFTWARE Permite una programación en bloques con mBlock5 y con código con Python que también se puede hacer desde el mismo mBlock. Para actualizar el Firmware instalado en Cyberpi, se tiene que hacer desde el mismo mBlock, Aquí cómo se hace. Para ejecutar los programas que se graban en Cyberpi, se entra en  Cambiar programa y seleccionando los programas cargados. Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez.  Si se quiere ejecutar los programas predefinidos mover el joystick en el menú anterior a la derecha, y encontramos los típicos: Nivel de voz, sigue líneas, .... Mi primer programa "Hola mundo" Conectamos Cyberpi con el PC utilizando un cable USB tipo c Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. OJO, hay cables baratos que sólo sirven para "cargar", el cable que necesitamos tiene que permitir la comunicación bidireccional. Entramos en mBlock5 https://ide.mblock.cc/ y añadimos el dispositivo CyberPi Una vez cargado el dispositivo CyberPi recomendamos entrar en la conexión directa ( 3) y pulsamos Conectar (4) Al dar a  Conexión directa nos da dos opciones, Bluetooth y Serie, elegimos serie Nota: La conexión Bluetooth sólo es si tenemos el pincho asociado (se vende aparte) y permite una conexión en vivo inalámbrica. Se abren los puertos disponibles, elegimos el que esté conectado nuestro Cyberpi Ojo: Tiene que estar encendido , si está con mClon, dar al interruptor on Al dar a  Conexión directa desaparece el texto y aparece Conexión con mLink ¿Qué es eso? Es otra opción, que antes se hacía obligatoriamente si usabas mBlock online: Instalar el programa mLink (que se puede descargar en https://www.mblock.cc/en/download/mlink/ ) y antes de entrar a mBlock online, tienes que ejecutar este programa y dejarlo minimizado. Aunque es una opción que puedes utilizar (y te evita la ventana anterior) la conexión directa es también cómoda. Al conectar, nos aparecen instrucciones específicas de Cyberpi como instrucciones generales Podemos empezar con nuestro primer programa Le damos a  Cargar , (luego aclaramos el modo En vivo qué es) y se ejecuta el programa MODO VIVO ¿ESO QUÉ ES? El modo vivo, permite interactuar con el PC, por ejemplo: PC → Cyberpi : Al pulsar la tecla espacio que diga Hola PC← Cyberpi  El oso panda diga también Hola Mundo! https://www.youtube.com/shorts/tV1yhUV41lg?feature=share Si te fijas, Cyberpi está conectado con cable USB al PC pues estamos  En vivo dependemos del ordenador. Si se quiere una conexión En vivo e Inalámbrica, es necesario comprar el pincho bluetooth UN POCO MÁS COMPLICADO Podemos complicarlo un poco más para darle más colorido y sonido                MUY IMPORTANTE Para poder continuar con el curso, es necesario tener algunos conocimientos mínimos de programación en bloques, sobre todo el significado de los siguientes bloques EVENTOS CONTROL OPERADORES VARIABLES  MIS BLOQUES Recomendamos visitar l as páginas 30 al 42 Sonidos Grabadora sencilla La librería de Audio tenemos opciones interesantes Podemos poner un programa sencillo Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. Este programa empieza con el evento tecla espacio. Por lo tanto necesita el  Modo vivo P: ¿Qué haríamos para no depender del ordenador, es decir, utilizar el modo cargar? R: Podemos usar otro tipo de eventos que no dependa del PC Grabadora más sofisticado Si entramos en los programas de ejemplo, podemos elegir Magical Recorder Y funciona como una grabadora de bolsillo: Apretamos el joystick en la posición central, empieza la grabación Botón A termina la grabación Botón B reproduce la grabación Sirena Si entramos en programas de ejemplo- Buzzer: Toca una sirena: Podemos jugar a reproducir notas Teniendo en cuenta que sigue la notación inglesa. Equivalencia entre las notas anglosajonas, nota MIDI y frecuencias : Fuente: Acústica musical . ETS Univ Vallalodid Más sobre audio con Cyberpi en https://education.makeblock.com/help/mblock-block-based-device-cyberpi-audio/ Detección sonidos  Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. ¿Qué hace este programa? Va desplazando un led de izquierda a derecha hasta que recibe un sonido fuerte, (en ese momento enciende todas las luces, y emite un sonido) luego después de 3 segundos vuelve a empezar  Sirena Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. LED En el apartado de LED podemos realizar diferentes animaciones de la tira de Leds RGB que tiene Cyberpi, por ejemplo  Otro ejemplo más animado sería Lo siento.... no lo podía evitar, si lo entiendes es que tienes la edad perfecta para la robótica 😁 para cambiar los colores, de los leds hacer doble clic en la muestra     Pantalla con textos La pantalla OLED que incorpora Cyberpi nos permite muchas posibilidades. para ello entramos en Cómo puedes observar, si el texto no le cabe, automáticamente hace salto de línea. También puedes ver que no le gustan los acentos, ñ etc..  Puedes forzar el salto de línea con la instrucción : Y también podemos imprimir una etiqueta en la fila 1 a 8 pero ten en cuenta que si coincide, se sobrescribe. Por ejemplo este código: Los números no se borran, pero si hacemos este programa, se sobrescriben Si queremos que el texto se desplace como una marquesina, tenemos que usar un contador y fijar la etiqueta en coordenadas X e Y correspondientes: Las coordenadas X e Y : Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. Pantalla con gráficos La pantalla OLED integrada de Cyberpi esta muy bien conseguida, permite muchas posibilidades inalcanzables en otras placas como Microbit y Arduino R4 (me refiero a sus pantallas integradas). Mira el primer minuto de este vídeo y lo verás Gráficos de líneas Ahora realiza este ejercicio, como puedes ver va representando números aleatorios: Cambia el espaciado de 5 pixeles a 20 píxeles y notarás la diferencia. Aquí en este figura tienes un ejemplo Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. Podemos pues hacer que visualice la lectura de los sensores, por ejemplo el de luz. Como podemos ver en el vídeo es bastante preciso. Nota: Cambia 30 por 300 para que te de tiempo a jugar con la luz https://planet.mblock.cc/project/7548309 https://www.youtube.com/shorts/JDbkvJcwSvw Gráficos de barras Este ejemplo (que se muestra en vivo, pero también lo puedes poner en forma cargar)  Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. Produce un gráfico de barras de dos columnas de datos : Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. ¿Y qué harías para tener 4 barras de diferentes colores? Si queremos esto Tenemos que hacer Si quieres otro ejemplo más elaborado de gráficos de barras, en la página 15 del manual   Pere Manel Verdugo Zamora  podrás encontrar un ejemplo de simular un dado 100 veces. Escribir tablas en la pantalla La pantalla de Cyberpi permite tablas de 4x3 como máximo Este ejemplo Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. Produce la salida siguiente Fuente:  Guia Cyberpi Robotix  con permiso de la empresa. Y más... Podemos fijar los colores con estas dos instrucciones: Podemos rotar la pantalla  Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. Y también tenemos : Funciones trigonométricas Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. Movimientos Ahora vamos a ver los programas en Sensibilidad Este sencillo programa podemos controlar el sprite según los movimientos definidos en Cyberpi Ejecuta el anterior programa EN VIVO pues hay que mover el sprite En teoría estos son los movimientos : Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. O montado con el mBot2 : Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Pero no es fácil : El siguiente script muestra por la pantalla de Cybperpi si esta en movimiento ( Adaptado de  Guia Cyberpi Robotix con permiso de la empresa. José Manuel Ruiz Gutiérrez) Resultado Adaptado de Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. O este otro Detección de giros El criterio de ángulos es ; Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. Un programa muy visual para ver la precisión que lo realiza es el siguiente: Como podemos ver, los ángulos superiores a 360 están permitidos y al revés, en sentido negativo también: Esto nos permite contar el número de vueltas que gira y su sentido. Aceleraciones También puede medir la aceleración en cualquiera de los tres ejes, por ejemplo este programa Este es el resultado Un ejercicio interesante: Contador de pasos Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. Visualización en forma de tabla de las inclinaciones Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. Resultado : Detección Detección del Joystick y teclas A y B Podemos hacer este mensaje en el Cybperpi aunque parece largo, es corto si se hace duplicar el if principal En el objeto panda hacemos el programa: También es corto y fácil de hacer utilizando duplicar. Como te puedes imaginar, el resultado es el siguiente : . También puede contar el número de veces que se produce el evento. El siguiente programa nos puede servir como "contador de personas manual" Y el resultado es : ¿Por qué existe ese "espera" 0.1 segundos? Para quitar los rebotes. Prueba quitarlo y verás También puede detectar las teclas A y B, como ya vimos en SONIDOS Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. Sensor de sonido Podemos hacer este programa para ver la detección del sonido Sensor luz La detección de la luz, que ya lo vimos en gráficos . https://www.youtube.com/shorts/JDbkvJcwSvw Otro sensor que tiene incorporado es el nivel de batería Temporizador Con este programa tenemos un cronómetro sencillo Manual de Cyberpi https://www.robotix.es/ebook/cyberpi-guia.pdf contenidos e imágenes publicados con permiso de la empresa Robotix. Autor José Manuel Ruiz Gutiérrez. Otras detecciones Que sólo  tienen sentido si Cyyberpi esta montado en una extensión, por ejemplo el chasis mbot2 Un ejemplo de detección Puedes experimentar las diferentes fuerzas, velocidades con este script en vivo. Lo tienes en https://planet.mblock.cc/project/3576507 LAN Conectarse a la Wifi método por programación Podemos poner en la programación las órdenes necesarias para que el Cyberpi se conecte a la red Wifi, la instrucción básica la tienes en la pestaña IoT    Pero tiene la desventaja de que no nos informa el estado. Este script es más elaborado Conectarse a la Wifi método rápido Otra manera es utilizar el programa mismo mBlock Nombre del equipo Para identificar nuestro equipo, necesitamos saber su nombre para diferenciarlos de otros, tenemos en en bloque de detección El nombre del equipo se puede ajustar aquí : INSTRUCCIONES DE LAN Una vez que estamos conectados, los diferentes CYBERPI que están dentro de una LAN pueden enviarse mensajes con estas instrucciones Ojo, sólo si están dentro de la misma LAN es decir, fuera de la red local los Cyberpi no se ven con estas instrucciones. También el router puede separar diferentes LANs  para saber más Por defecto esta en el canal 6 pero puedes hacer subgrupos en distintos canales el 1 y el 11 con la instrucción "pon el canal de la LAN a .... y los miembros de un canal no pueden ver a los de otro canal distinto. PROGRAMA EJEMPLO enviar la bienvenida Vamos a poner este programa (en los dos el mismo) en dos cyberpis  conectados a la misma wifi (si no aparece en el código es por que se ha utilizado el método rápido)  : El resultado es  ... Y EN EL CASO DE QUE SÓLO TENGO UN CYBERPI ????                                                              En el cyberpi Instalamos la extensión BROADCAST El código es parecido Y lo subimos  y dejamos conectado el cyberpi con el PC En el Sprite (o sea el panda) Instalamos la extensión broadcast (que se llama difusión) para las imágenes anidadas Y creamos el siguiente programa para el sprite RESULTADO ¿Qué es IoT? El Internet de las cosas (Internet of Thing IoT) describe objetos físicos —o grupos de estos— con sensores, capacidad de procesamiento, software y otras tecnologías que se conectan e intercambian datos con otros dispositivos y sistemas a través de internet u otras redes de comunicación.​ El Internet de las cosas se ha considerado un término erróneo porque los dispositivos no necesitan estar conectados a la Internet pública. Sólo necesitan estar conectadas a una red y ser direccionables individualmente Fuente Wikipedia IoT Internet de las cosas CC-BY-SA De Drawed by Wilgengebroed on FlickrTranslated by Prades97 CC BY-SA 3.0 Estamos hablando de dispositivos que se conectan a internet de forma desatendida, por vía hardware (o mejor dicho firmware) a diferencia de un ordenador, tablet o móvil, donde tienes que configurar por software el dispositivo y hay un diálogo entre usuario y dispositivo sobre el uso de Internet (el software solicita tal página web, tales datos etc por voluntad del usuario o por diálogo con el usuario) Aquí los dispositivos están ya configurados de los datos que se comunican. Es decir "conectar y olvidar".  Piensa en la diferencia entre un enchufe inteligente y un ordenador, el primero es lo que se considera dentro de IoT Desventajas : El acceso a Internet de dispositivos caseros puede generar problemas a nivel mundial: - el caso Mirai - aspiradores que nos espían IoT en los cursos de Aularagón Blynk: lo que nos gusta de esta herramienta es que es casi "instantánea" o "síncrona". Esto es imprescindible con ciertos robots como el Rover Marciano con Arduino . Necesitamos que "gire" para evitar un obstáculo, no podemos esperar !!!. Veremos con BLYNK un protocolo que entre el dispositivo electrónico (nuestro robot) y nosotros (en ordenador, en una APP en el móvil) la comunicación es instantánea, gracias a un servidor que hará de intermedio, que puede ser local (BLYNK LEGACY) o en Internet (BLYNK IoT). Blynk legacy es la que se va a trabajar en Rover Marciano con Arduino Arduinoblocks en el aula ESP32 en el aula Blynk IoT es la que se va a trabajar con En ESP32 en el aula En Smart Home ESP32 ThinkSpeak y SmartioSpace Smart Agriculture Kit para Micro:bit MQTT   El emisor envía datos, se almacenan en un servidor, y cuando puede, lo vuelca al cliente. Cliente y emisor pueden ser el dispositivo electrónico y nosotros o viceversa. Veremos que esto es lo que hace el protocolo MQTT y está tremendamente extendido por lo barato y fácil que es. Hace que los servidores no estén tan ocupados, por lo tanto hay varios proveedores que ofrecen este servicio gratuitamente. Hay robots como los que tienen la placa TDR STEAM IMAGINA que envía datos de temperatura, humedad, .. y pueden recibir datos pero no precisan de esta exigencia instantánea como un rover. ESP32 EN EL AULA En Smart Home ESP32 TELEGRAM ESP32 EN EL AULA En Smart Home ESP32 Arduino cloud IoT Arduino Alvik Cyberpi y mBot2 Iot con Cyberpi IoT En esta pestaña tenemos elementos que nos permiten usar Internet para enviar mensajes o recoger información : Para utilizar muchos elementos de IoT es necesario utilizar los servidores de Makeblock por lo tanto  hace falta estar logueados PROGRAMA EJEMPLO enviar la bienvenida Vamos a poner este programa, QUE ES SUPER PARECIDO AL QUE HEMOS VISTO EN LAN   los dos cyberpis conectados a la wifi ( NO HACE FALTA QUE SEA LA MISMA )  : En este vídeo ESTAN CONECTADOS A DISTINTAS WIFIS (uno en una wifi del router, SSID catedu y otro en un móvil con datos SSID catedu2) por lo tanto NO PERTENECEN A LA MISMA LAN , podrían estar en cualquier parte del mundo con tal que estén conectados a Internet, y al loguearte, comparten los datos que hay en tu carpeta del servidor, " tu nube de usuario ". RETO : si te fijas, se repite el mensaje, es decir, en el cyberpi LUCIA vuelve a salir Tú te llamas LUCIA (también aparece en el Cyberpi de ISABEL) ¿Cómo evitarías esto? PROGRAMA RECOGIDA DE DATOS CLIMÁTICOS También permite recoger datos climáticos, que nos proporciona los servidores de Makeblock, por ejemplo: P: ¿Por qué se ha elegido ACTUR ZARAGOZA como localidad de Calidad de Aire? ¿No puedo poner Fuentes Claras? R : En todos sitios no hay estaciones de calidad de aire con datos públicos, uno está en Actur y es el que se ha elegido.