Entradas

Tiempo real (estilo Intel)

  Vean lo que dice la industria acerca del tiempo real: What Is a Real-Time System? The term “real-time system” refers to any information processing system with hardware and software components that perform real-time application functions and can respond to events within predictable and specific time constraints. Common examples of real-time systems include air traffic control systems, process control systems, and autonomous driving systems. (Tomado de:  https://www.intel.com/content/www/us/en/robotics/real-time-systems.html ) En cuanto a lo académico, aceptamos como tiempo real funciones de complejidad polinómica (y pragmáticamente, de índole a lo más O(n**a), donde a es un número pequeño: 1, 2, 3 a lo más), pero aunque haya "specific time constraints"  para funciones en órdenes exponenciales, ésto sería catastrófico en la  práctica (exceden por mucho tiempos humanos).

Topología de estrella (AP y varios STAs).

Dada la posible conexión de estrella basada en wi-fi, 0 (AP) Clientes: 1 2 3 4 5 6 7 varias posibilidades emergen como posibles ilustraciones de problemas. Problema de simultaneidad: Los clientes intentan ser los primeros en encender un led.  Problema de restricciones: Un cliente tendrá que estar activo para que los demás puedan activarse. Problema de causalidad: similar al anterior, con al menos dos clientes sujetos a causalidad. Problema de calendarización: Mientras un cliente esté activo, otro no puede activarse; pasando un periodo,  éste otro si podría activarse. Problema de colaboración: un cliente puede proceder con independencia en su conexión, pero entonces no puede participar en la conformación de grupos colaborativos, y viceversa (si participa en grupos colaborativos, no puede ser independiente). Problemas específicos, como el de los filósofos comelones, semáforos binarios, adaptaciones del problema de consumidor-productor.

Tres nodos: 1 punto de acceso y dos clientes que se conectan entre sí vía el punto de acceso

Hola. Escribí éste prompt a Bard y parece que interpretó mis intenciones  cabalmente. La idea es tener 3 esp32s, y uno de ellos dar el "soporte" de conexión  para que los otros dos se comuniquen entre sí. De momento no tengo esp32s disponibles pare realizar éste experimento de red local, pero al menos da la información práctica necesaria para las discusiones teóricas acerca de las topologías de conexión, el paso de mensajes y los posibles algoritmos que se basen en  este tipo de tecnologías...   Inicio del prompt en Bard y respuesta, a continuación. Escriba programas en Arduino que, dados tres microcontroladores esp32 (nombrados A, B y C), A sea un punto de acceso wifi, y B y C se conecten al punto de acceso de A, y B y C pueden comunicarse entre sí mediante la técnica de sockets. Claro que sí, aquí tienes tres programas en Arduino que, dados tres microcontroladores ESP32 (nombrados A, B y C), A sea un punto de acceso WiFi, y B y C se conecten al punto de acceso de A, y B y C

Origami, solo por compartir el interés

El siguiente video me pareció interesante mostrárselos para  constatar la importancia de las técnicas de origami aplicadas  a algunas ramas de la ciencia y la tecnología.   https://www.youtube.com/watch?v=uFyJykl1O0k En el minuto 36 se menciona algo de las aplicaciones a robótica, por si quieren cortar trecho.

Ejemplo de prompt para obtener programas desde Bard (sockets y esp32)

Prompt (y claro, lo mejor es que experimenten con diversos tipos de lenguaje; i.e. Arduino, digamos: Por favor, escribe un programa en Arduino para que dos microcontroladores esp32 se comuniquen entre sí vía wifi y utilizando la técnica de sockets. ):   Por favor, escribe un programa en MicroPython para que dos microcontroladores esp32 se comuniquen entre sí vía wifi y utilizando la técnica de sockets.   De acuerdo, aquí tienes un programa en MicroPython para que dos microcontroladores ESP32 se comuniquen entre sí vía WiFi y utilizando la técnica de sockets: Ejemplo 1: Servidor Python import usocket as socket def main (): # Crea un socket TCP/IP sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Se conecta al puerto 8080 sock.connect(( "192.168.1.100" , 8080 )) # Recibe un mensaje del cliente data = sock.recv( 1024 ) # Imprime el mensaje recibido print(data) # Cierra el socket sock.close() if __name__ == "__

Sockets en MicroPython, genérico, según Bard

Tomado directamente de Bard: Por favor, escribe un programa en MicroPython para que dos microcontroladores se comuniquen entre sí vía wifi y utilizando la técnica de sockets. De acuerdo, aquí tienes un programa en MicroPython para que dos microcontroladores se comuniquen entre sí vía wifi y utilizando la técnica de sockets:   Python import network import socket # Configuración del servidor server = network.WLAN(network.STA_IF) server.active( True ) server.connect( "ssid" , "password" ) # Creación del socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(( '' , 8080 )) sock.listen( 1 ) # Espera de una conexión conn, addr = sock.accept() print( "Conexión aceptada de" , addr) # Envío de un mensaje msg = "Hola, mundo!" conn.sendall(msg.encode()) # Cierre de la conexión conn.close() # Configuración del cliente client = network.WLAN(network.STA_IF) client.active( True ) client.connect( "ssid" ,

Sockets en Python

 De algún lugar tomé unos archivos para experimentar (localmente, en una  sola máquina) con esto de los sockets en Python. He colocado los archivos tales en Drive, socketsPython.zip .  Se trata de un socket de Python ligado a una dirección IP el cual hace el papel de servidor, y otro socket también de Python  que hace el papel de cliente. Ya he verificado su funcionamiento, por si quieren replicar la práctica. Más adelante tal vez los veamos funcionando en clase.