8 repositorios
Creation of virtual hardware representations to validate device behavior and data models without physical components.
Distinct from Device State Simulation: Distinct from Device State Simulation: specifically targets the emulation of complete IoT device identities and data model endpoints.
Explore 8 awesome GitHub repositories matching operating systems & systems programming · IoT Device Simulation. Refine with filters or upvote what's useful.
This is a virtualization tool designed to run macOS guest operating systems, such as Catalina, Mojave, and High Sierra, inside VirtualBox on Windows, Linux, or Mac hardware. It provides a system for deploying these operating systems on x86 CPUs using official installation files. The project includes specialized utilities to manage EFI and NVRAM settings, enabling the emulation of device serial numbers and board identifiers to allow connectivity for cloud services and messaging. It also features a configurator for adjusting CPUID profiles and display resolutions to ensure hardware compatibilit
A feature in the virtualization tool to set device names, serial numbers, and board IDs in EFI and NVRAM for cloud and messaging access.
This project is an open-source software development kit and framework for implementing the Matter smart home standard. It provides a universal IPv6-based application layer and a cluster-based data model to ensure interoperability between diverse smart home devices and controllers. The system is distinguished by its multi-transport network abstraction, which maps Bluetooth LE, Thread, and Wi-Fi implementations to a common layer. It includes specialized tooling for secure device commissioning via QR codes and NFC, as well as a comprehensive over-the-air firmware update system for distributing s
Creates virtual Bluetooth LE central and peripheral interfaces on Linux to test device onboarding without physical hardware.
ControlRoom es una aplicación de escritorio para macOS diseñada para gestionar el estado, el entorno y la apariencia visual del Simulador de Xcode. Sirve como un toolkit para el control del simulador, depuración visual, captura de pantalla y pruebas de entorno. El proyecto proporciona utilidades especializadas para activar enlaces profundos y enviar notificaciones push para verificar las respuestas de la aplicación. Incluye un depurador visual para extraer colores de pantallas simuladas y una herramienta de captura para grabar videos y tomar capturas de pantalla con superposiciones opcionales de bisel de hardware. La aplicación cubre una amplia gama de capacidades de simulación, incluyendo la modificación de fechas del sistema, estados de red, ubicaciones GPS y ajustes de apariencia de accesibilidad. También gestiona el ciclo de vida del simulador, permitiendo la instalación y eliminación de software y el ajuste de modos claro y oscuro o idiomas del sistema.
Manages the lifecycle and visual configuration of Xcode Simulator instances and Apple device settings.
XcodeBuildMCP is a Model Context Protocol server and development tool bridge that provides AI agents with the ability to control xcodebuild, manage simulators, and automate the compilation and execution of Apple platform applications. It functions as a persistent daemon that proxies native IDE build and debug capabilities to external clients and agents. The project distinguishes itself by using the Model Context Protocol to expose build and device management tools through a standardized interface. It implements specialized skill priming and instruction configuration to ensure AI agents can in
Boots, installs, launches, logs, and records video on iOS simulators and physical Apple devices over USB or Wi-Fi.
WebDriverAgent is an iOS device automation driver and server that enables the programmatic control of applications on physical devices and simulators. It functions as a bridge that exposes Apple XCUITest capabilities via a network interface, translating WebDriver commands into native iOS actions for mobile UI testing. The system implements a WebDriver server that uses the JSON Wire Protocol to receive instructions and return results. It translates these network requests into local commands to manage application lifecycles, perform screen gestures, and verify the presence of specific user inte
Interfaces with the macOS simulator process to manage application lifecycles and device state transitions.
python-miio es una biblioteca de Python y una implementación de controlador de hardware del protocolo Miio, diseñada para controlar y gestionar electrodomésticos inteligentes de Xiaomi. Proporciona las interfaces de software necesarias para traducir comandos de alto nivel en paquetes de red para la comunicación con el dispositivo. El proyecto incluye un simulador de dispositivos de red especializado para emular respuestas de hardware y probar implementaciones de protocolos sin dispositivos físicos. También cuenta con una interfaz de línea de comandos para enviar comandos, consultar el estado del dispositivo y realizar la recuperación de tokens para una autenticación segura. Las áreas de capacidad cubren el descubrimiento de redes IoT para identificar modelos de dispositivos y direcciones IP, así como el análisis de protocolos mediante el análisis de capturas de paquetes de red. La biblioteca admite la introspección de características del dispositivo para recuperar metadatos sobre sensores disponibles y configuraciones ajustables.
Mocks device endpoints and hardware responses to test code logic and connectivity without physical hardware.
CodeceptJS es un framework de pruebas end-to-end en NodeJS diseñado para automatizar pruebas de aceptación en aplicaciones web, móviles y de escritorio. Sirve como un automatizador de pruebas multiplataforma y una herramienta de desarrollo guiado por comportamiento (BDD) que mapea archivos de características a definiciones de pasos para alinear las pruebas técnicas con los requisitos de negocio. El proyecto se distingue por sus capacidades de mantenimiento de pruebas impulsadas por IA, utilizando aprendizaje automático para identificar y reparar automáticamente selectores de elementos rotos cuando cambian las interfaces de usuario. También cuenta con una capa de abstracción agnóstica al controlador que permite ejecutar los mismos conjuntos de pruebas en diferentes motores de navegador, sistemas operativos y plataformas móviles a través de Appium. El framework cubre una amplia superficie de capacidades, incluyendo automatización de navegadores y móviles, simulación (mocking) y pruebas de API, y pruebas de regresión visual. Implementa patrones arquitectónicos como el Page Object Model y la inyección de dependencias, a la vez que proporciona herramientas de observabilidad como grabaciones de pantalla con subtítulos de acciones y análisis automatizado de fallos. El proyecto proporciona una interfaz de línea de comandos para la creación de estructuras de prueba (scaffolding) y depuración interactiva.
Simulates hardware-specific actions like shaking the device or triggering fingerprints during mobile tests.
Ryven es un framework de programación basado en flujo y editor de scripting visual para Python. Proporciona una interfaz gráfica basada en nodos para diseñar y ejecutar lógica conectando nodos funcionales discretos para construir pipelines de datos ejecutables. El sistema funciona como una herramienta de lógica visual extensible, permitiendo el desarrollo de nodos de Python personalizados y la integración de widgets GUI interactivos para expandir las capacidades de scripting. Incluye un motor de grafos de nodos que admite tanto la edición visual como la ejecución headless, permitiendo que los scripts se ejecuten sin una interfaz gráfica de usuario. La plataforma cubre el diseño de scripts visuales y la lógica basada en flujo, con herramientas para el renderizado de imágenes de flujo y anotaciones basadas en stylus. Sus capacidades se extienden a la manipulación del estado en tiempo real a través de una interfaz de línea de comandos y un mecanismo de observador para la sincronización automática de datos de variables.
Includes an integrated command-line interface for real-time manipulation of scripts and flow structures.