Abdusami.rs
The Bayavan Remote Service (BRS) is an innovative microservice-based project that integrates with Internet of Things (IoT) technology to enable remote control and scheduling of connected devices. This project combines a robust front-end interface, a business logic server powered by Rust and Actix Web, a registration center, and a specialized Message Agent middle server for relaying requests and responses between the business server and various communication protocols such as MQTT and SMS. The system utilizes the latest microservices architecture and containerized deployment to ensure high availability and scalability. Additionally, it leverages STM32 microcontrollers as the main control chip to manage target appliances, thereby achieving seamless remote control of IoT devices.
The front-end of NRSS provides a user-friendly interface for interacting with the service. Built using modern web technologies, it allows users to schedule tasks, monitor device statuses, and receive notifications.
The core of NRSS is the business logic server, implemented using Rust and the Actix Web framework. This server handles all application logic, including task scheduling, data processing, and interfacing with external services like Redis for caching and MongoDB for persistent storage.
A dedicated registration center, also built with Rust and Actix, manages service discovery within the microservices architecture. It facilitates the dynamic registration and lookup of services, ensuring smooth operation across distributed components.
The Message Agent acts as a middle server responsible for relaying requests from the business logic server to different communication protocols used by IoT devices. It supports multiple channels, including:
The Message Agent collects responses from these devices and forwards them back to the business logic server, which then delivers the results to end-users.
NRSS adopts a microservices architecture to enhance modularity and maintainability. Each component operates independently yet collaborates seamlessly through well-defined APIs, allowing for easier scaling and updates.
All services are containerized using Podman or Docker, enabling consistent environments across development, testing, and production stages. Containers ensure that each service runs in isolation, improving security and resource allocation.
To achieve high availability, NRSS employs load balancers and redundant instances of critical services. This setup ensures continuous operation even if individual nodes fail.
The Bayavan Remote Service represents a comprehensive solution for remotely controlling and scheduling IoT devices. By leveraging cutting-edge technologies and adhering to best practices in software engineering, NRSS delivers a robust, scalable, and highly available platform for managing smart home and industrial automation applications. For further details or support, please refer to the official documentation or contact the development team.