This chapter describes the existing plugins and applications that may be used “out of the box” as building blocks for embedded systems. One can find modules or subsystems, easing the construction of an embedded system.
1.1.4. Services Diagram¶
This diagram shows:
System Management services that handle core functionality (supervisor, powermanagement, rtctime, monitoring, scheduler)
User Interface services for administration (adminweb)
Connectivity services (bleadmin, wifi)
Display & Content services (specifically for e-tablone related features) (eink, gallery)
Data Management service (transfert)
The arrows indicate likely dependencies between services, though the actual dependencies might be more complex based on the specific implementation. I’ve made some assumptions about the relationships based on typical architectural patterns, but you may want to adjust these based on your actual system architecture.
graph TB
%% Admin Embedded
subgraph Core plateform
adminembedded[Admin Embedded 1.0]
end
%% System Management
subgraph System Management
supervisor[Supervisor 1.0]
powermgmt[Power Management 1.0]
rtctime[RTC Time Services 1.0]
monitoring[Monitoring 1.0]
scheduler[Scheduler 1.0]
end
subgraph User Interface
adminweb[Admin Web 1.0]
end
subgraph Display & Content
eink[EInk Service 1.0]
gallery[Gallery 1.0]
end
subgraph Connectivity
wifi[Wifi 1.0]
bleadmin[BLE Admin 1.0]
end
subgraph Data Management
transfert[Transfert Service 1.0]
end
%% Core dependencies
supervisor --> monitoring
supervisor --> powermgmt
supervisor --> rtctime
%% UI dependencies
adminweb --> adminembedded
%% Display dependencies
eink --> gallery
gallery --> transfert
%% monitoring dependencies
monitoring --> transfert
supervisor --> monitoring
adminembedded --> supervisor
supervisor --> powermgmt
supervisor --> wifi
1.1.5. Standard Services Blueprint and Responsibilities¶
In the world of IoT and Edge devices, a well-organized service architecture is crucial for reliable operation. RustiQ IOT’s service organization has been carefully designed and tested across multiple use cases, proving its effectiveness in real-world IoT applications. Each service plays a vital role in the system’s operation, working together to create a robust and maintainable solution.
1.1.5.1. Supervisor¶
At the core of every RustiQ IOT device, the Supervisor service takes charge of the device’s main logic. Think of it as the conductor of an orchestra, ensuring that all other services work together in harmony. It’s responsible for making high-level decisions about the device’s operation and coordinating the activities of other services, defining the overall behavior and flow of the device’s operations.
1.1.5.2. Wifi¶
Keeping the device connected to the world is the responsibility of the WiFi service. This service goes beyond simple connection management - it handles both the establishment of wireless connections and the ongoing configuration of the network settings. Whether it’s connecting to a new network or maintaining a stable connection, the WiFi service ensures that the device stays reliably connected to the internet, adapting to changing network conditions and maintaining optimal connectivity.
1.1.5.3. Monitoring¶
The Monitoring service acts as the device’s eyes and ears to the cloud. It’s a two-way communication channel that not only receives configuration updates and commands from the cloud but also keeps the cloud informed about the device’s status. This service is crucial for remote management, allowing operators to both monitor the device’s health and send new instructions when needed. It continuously collects status information, generates comprehensive reports, and ensures that all critical information reaches the cloud for analysis and action.
1.1.5.4. Power Management¶
Power efficiency is critical for IoT devices, and that’s where the Power Management service comes in. This service takes a comprehensive approach to power management, handling everything from monitoring power consumption to managing battery levels and charging processes. It ensures that the device operates efficiently while maintaining reliable power availability, carefully balancing performance needs with power conservation to maximize device uptime and reliability.
1.1.5.5. RTC Time¶
Time is of the essence in IoT applications, and the RTC Time service ensures that the device maintains accurate timing. This service manages both the real-time clock operation and its configuration, providing a reliable time reference for all other services that need precise timing information. It maintains synchronization across the device, ensuring that all time-dependent operations are executed with precision and reliability.
1.1.5.6. Scheduler¶
Task scheduling is handled by the Scheduler service, which provides a flexible framework for managing both system and application-level tasks. This service not only manages the scheduling of operations but also handles the configuration of these schedules, allowing for dynamic adjustment of device behavior based on changing requirements. It ensures that all time-sensitive operations are executed at the right moment, maintaining the device’s operational rhythm and efficiency.
1.1.5.7. Transfert¶
Last but not least, the Transfer service serves as the secure communication backbone of the system. It provides a unified and secure way to exchange data with the cloud, handling everything from status updates to command reception. This service is responsible for managing the transfer of data in both directions - from the device to the cloud and vice versa - while ensuring that all communications are properly secured. It integrates robust security measures for exchanging bundles, data, status updates, and commands, making it the trusted channel for all cloud communications.
Together, these services form a comprehensive framework that has been proven effective in various IoT applications. Each service has a clear responsibility and well-defined scope, making the system both maintainable and reliable. This architecture allows for easy extension and modification while maintaining the stability needed for IoT applications.
1.1.5.8. Network Manager¶
The Network Manager service is responsible for handling the global network setup and configuration of the device. While the WiFi service focuses on wireless connectivity, the Network Manager takes a broader view of the device’s network infrastructure. It works in conjunction with other services to ensure reliable and secure network operation.
Key responsibilities include:
Managing firewall rules and network security policies
Configuring and monitoring network routes
Verifying internet connectivity and network health
Coordinating with the WiFi service for network interface management
Supporting the Transfer service by ensuring proper network conditions
Providing network status information to the Monitoring service
The Network Manager acts as a bridge between the device’s network hardware and the application services. It ensures that all network-dependent services (like Transfer, Monitoring, and WiFi) have the proper network environment to operate effectively. This service is particularly important for maintaining secure and reliable communication in IoT applications, where network stability is crucial for device operation.
1.1.6. Available services¶
The table below shows the existing modules used in some systems.
File |
Title |
Core Service |
Application |
|---|---|---|---|
Admin Web 1.0 |
X |
||
Ble Admin 1.0 |
X |
||
EInk service - 1.0 (e-tablone related) |
|||
Gallery 1.0 (e-tablone related) |
X |
||
Monitoring service - 1.0 |
X |
||
Powermanagement 1.0 service |
X (battery) |
||
RtcTimeService 1.0 service |
|||
Scheduler service-1.0 |
X |
||
Supervisor 1.0 service implementation |
X (main logic) |
||
Transfert service 1.0 service implementation |
X |
||
Wifi connexion manager |
X (WPA) |
||
Network manager |
X (iptable, checks) |