Skip to content

Latest commit

 

History

History
28 lines (26 loc) · 2.01 KB

architecture.md

File metadata and controls

28 lines (26 loc) · 2.01 KB
  • /
    • Root directory for your project.
    • iot_hub_module/
      • Module for handling interactions with Azure IoT Hub.
      • __init__.py: Makes this directory a Python module.
      • authentication.py: Contains logic for authenticating with Azure IoT Hub.
      • connection_management.py: This module encapsulates the logic for establishing and managing a connection to the Azure IoT Hub, abstracting the connection details and providing a simplified interface for other modules to interact with the IoT Hub.
      • error_handling.py: Defines custom exception classes and a function to handle exceptions, ensuring that errors are logged appropriately and aiding in diagnosing issues.
      • logging_setup.py: Configures the logging settings for the application, ensuring that on Windows systems, logs are directed to the Windows Event Log, and on other systems, logs are outputted to the console.
      • message_handling.py: Handles the processing of messages received from the Azure IoT Hub, interpreting commands within the messages and executing them, thereby facilitating the communication between the IoT Hub and the application.
    • config_module
      • Module for handling configuration of the application
      • __ init__.py: Makes this directory a python module
      • config_io.py: load and save configuration files
      • fetch_config.py: fetch configuration data from Rewst or Saved Locations
      • host_info.py: Collects information about the host to sync with IoT Hub
    • rewst_agent_config.py:
      • Script for initial setup.
      • Downloads the main application and service manager executables.
      • Writes the configuration file based on provided --config-url and --config-secret.
    • rewst_remote_agent.py:
      • Main application script.
      • Handles messages from IoT Hub during normal operations.
    • rewst_service_manager.py:
      • Script for managing the service.
      • Ensures the main application is always running via operating system services.