### Install Motion Daemon on Debian Systems Source: https://docs.autopi.io/developer_guides/installing-a-camera-on-your-autopi Installs the 'motion' daemon service, responsible for communicating with the camera and managing device setup (/dev/video*). Uses the apt package manager. ```bash sudo apt install motion ``` -------------------------------- ### Set Up and Enable motionEye Systemd Service Source: https://docs.autopi.io/developer_guides/installing-a-camera-on-your-autopi Copies the systemd service file for motionEye, reloads the systemd daemon, enables the service to start on boot, and restarts the motioneye service to apply changes. ```bash sudo cp /usr/local/share/motioneye/extra/motioneye.systemd-unit-local /etc/systemd/system/motioneye.service sudo systemctl daemon-reload sudo systemctl enable motioneye sudo systemctl restart motioneye ``` -------------------------------- ### Run EG25-G Firmware Installation Script Source: https://docs.autopi.io/hardware/legacy_devices/autopi_dongle/update-firmware-of-eg25-g-module This command executes the firmware installation script located within the unpacked directory. It applies the new firmware to the EG25-G module. The script will typically guide the user through the process and may prompt for a reboot. Ensure the path to the script and its arguments are correct. ```shell sudo /opt/EG25GGBR07A07M2G_01/install.sh /opt/EG25GGBR07A07M2G_01/ ``` -------------------------------- ### Install motionEye Web Frontend Source: https://docs.autopi.io/developer_guides/installing-a-camera-on-your-autopi Installs the 'motionEye' web-based frontend using pip, which provides a user interface for configuring and monitoring cameras managed by the 'motion' daemon. Ensure 'pillow' is installed if facing issues, potentially via `apt install python-pillow`. ```bash sudo pip install motioneye ``` -------------------------------- ### Webhook Payload Examples Source: https://docs.autopi.io/cloud/device_management/triggers/a-guide-to-triggers Provides examples of constructing webhook payloads for different services, demonstrating how to use trigger and event data, including nested fields. ```APIDOC ## Webhook Payload Examples ### Generic Payload Example This example shows a basic payload structure using trigger and event data. #### Request Body Example ```json { "payload": "{{ trigger['description'] }}", "device_uid": "{{ event['@uid'] }}" } ``` #### Translated Payload Example ```json { "payload": "Description that you've specified when creating the trigger", "device_uid": "c3cce723-79ed-4897-80cf-4cd48b62b235" } ``` ### Slack Webhook Example This example demonstrates sending a notification to Slack. #### Address Your unique Slack webhook address #### Payload Example ```json {"text": "{{ trigger['description'] }} was executed, by device {{ trigger['device']['callName'] }}"} ``` #### Translated Payload Example ```json { "text": "your_trigger_description_here was executed by device your_device_callName" } ``` ### MQTT Message via Webhook Example (Home Assistant) This example shows how to send an MQTT message using a webhook, referencing a tutorial for setup. #### Address Heroku app address #### Payload Example ```json {"topic":"","message":"","key":""} ``` ### IFTTT Applet Trigger Example This example outlines triggering an IFTTT applet via webhook. #### Address Find on https://ifttt.com/services/maker_webhooks/settings #### Payload Optional and custom based on the IFTTT applet. ``` -------------------------------- ### Install motionEye Dependencies on Debian Source: https://docs.autopi.io/developer_guides/installing-a-camera-on-your-autopi Installs necessary development libraries and dependencies required for the 'motionEye' web frontend. These include Python development headers, SSL, cURL, JPEG, and zlib. ```bash sudo apt install python-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libz-dev ``` -------------------------------- ### Install Express.js Framework Source: https://docs.autopi.io/getting_started/api/send-device-data-to-own-server Installs the Express.js framework as a project dependency. This package provides a robust set of features for web and mobile applications. ```bash npm install --save express ``` -------------------------------- ### PID JSON File Format Example Source: https://docs.autopi.io/cloud/obd_library/car-explorer-library-manual Provides an example of the custom JSON-based format required for working with PIDs, as there is no industry-standard file format. This example defines fields for a 'TractorLighting' PID. ```json [ { "fields": { "type": "PTY", "header": "700", "mode": "220", "code": "0103", "bytes": null, "frames": null, "strict": false, "formula": "bytes_to_int(messages[0].data[-3:])", "unit": "km", "min": null, "max": null, "datatype": null, "parent": null, "name": "TractorLighting", "description": "Tractor's light emission", "hash": "", "initial_hash": null, "can_extended_address": null, "can_flow_control": { "filter": { "pattern": "708", "mask": "7FF" }, "id_pair": { "receiver_id": "700", "transmitter_id": "708" } }, "can_messages": [] } }, { "fields": { "type": "PTY", ... } } ] ``` -------------------------------- ### Enable and Start Tailscale Service Source: https://docs.autopi.io/getting_started/autopi_canfd_pro/how_to_connect_to_tailscale Commands to enable and start the Tailscale service (tailscaled), allowing it to automatically start on boot. This is the standard procedure to run Tailscale after it has been disabled. ```bash cmd.run 'systemctl enable tailscaled' cmd.run 'systemctl start tailscaled' ``` -------------------------------- ### Check PDP Context Setup with modem.connection Source: https://docs.autopi.io/getting_started/autopi_tmu_cm4/4g-internet-setup-troubleshooting Verifies the Packet Data Protocol (PDP) context setup for the modem. This is crucial for establishing a data connection. The command output indicates APN and connection details. For older software versions, 'modem.connection execute AT+CGDCONT?' can be used. ```bash modem.connection pdp_context ``` ```bash modem.connection execute AT+CGDCONT? ``` -------------------------------- ### Example: Raw Position Data Source: https://docs.autopi.io/getting_started/api/export-data-from-api This example shows how to fetch raw 'track.pos' data for a specific device within a defined time window using the GET /logbook/storage/raw/ endpoint. It specifies the device ID, data type, and the start and end UTC timestamps. ```HTTP GET logbook/storage/raw/ ?device_id=6a6c53b5-e18e-4301-9c95-2516006bf7c6 &data_type=track.pos &start_utc=2020-11-24T10:13:21.276594Z &end_utc=2020-11-24T11:07:07.177850Z ``` -------------------------------- ### Build, Login, and Push Docker Image Source: https://docs.autopi.io/developer_guides/setting-up-docker Commands to build a Docker image locally, log in to your Docker registry, and push the image to the registry. Ensure you have Docker installed and are logged into your registry. ```bash docker build -t my-registry/my-image:latest \ docker login my-registry \ docker push my-registry/my-image:latest ``` -------------------------------- ### Setup API Source: https://docs.autopi.io/core/services/core-services-obd-manager Configures advanced runtime settings for the Autopi.io device, including adaptive timing, response timeouts, and CAN/J1939 specific options. ```APIDOC ## POST /websites/autopi_io/setup ### Description Sets up advanced runtime settings for the Autopi.io device. This includes configuring adaptive timing, response timeouts, and device-specific parameters for CAN and J1939 protocols. ### Method POST ### Endpoint /websites/autopi_io/setup ### Parameters #### Query Parameters - **adaptive_timing** (int) - Optional - Set adaptive timing mode. Default value is `1` (on, normal mode). - **response_timeout** (int) - Optional - When adaptive timing is on, this sets the maximum time that is to be allowed. Default value is `50` (approx. 200ms). - **can_extended_address** (str) - Optional - Use CAN extended address. - **can_priority** (str) - Optional - Set CAN priority bits of a 29-bit CAN ID. - **can_flow_control_clear** (bool) - Optional - Clear all CAN flow control filters and ID pairs before adding any new ones. - **can_flow_control_filter** (str) - Optional - Ensure CAN flow control filter is added. Value must consist of `,`. - **can_flow_control_id_pair** (str) - Optional - Ensure CAN flow control ID pair is added. Value must consist of `,`. - **allow_sending_can_frames** (bool) - Optional - Allow the connection to send CAN frames on the CAN bus. - **j1939_pgn_filter** (str) - Optional - Ensure J1939 PGN filter is added. Value must consist of `[,]`. ### Request Example ```json { "adaptive_timing": 1, "response_timeout": 100, "allow_sending_can_frames": true } ``` ### Response #### Success Response (200) - **status** (str) - Confirmation message of the setup operation. #### Response Example ```json { "status": "Setup complete." } ``` ``` -------------------------------- ### Manually Obtain JWT Token Example Response Source: https://docs.autopi.io/getting_started/api An example of a JWT token received after a successful authentication request to the /auth/login/ endpoint. This token is then used in the Authorization header. ```text Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.4pXwtyQKCwSrYfcj9O7MGVv5ustPbx0GmYY7jHZL8es ``` -------------------------------- ### Initialize npm Environment Source: https://docs.autopi.io/getting_started/api/send-device-data-to-own-server Initializes a new npm project by creating a package.json file. This sets up the project's metadata and dependency management. ```bash npm init ``` -------------------------------- ### Reconfigure Modem PDP Context Source: https://docs.autopi.io/getting_started/autopi_canfd_pro/pro-4g-internet-setup-troubleshooting Applies a specific PDP context configuration (AT+CGDCONT=2) after stopping and restarting the qmi-manager service. This is used when the initial PDP context check reveals an incorrect setup, typically for Telit modems. ```bash cmd.run "systemctl stop qmi-manager" modem.connection execute AT+CGDCONT=2 cmd.run "systemctl restart qmi-manager" ``` -------------------------------- ### Example: Get Latest Value (No Aggregation) Source: https://docs.autopi.io/getting_started/api/export-data-from-api This example shows how to retrieve the most recent data point for a specific field without any aggregation. It involves setting the 'aggregation' parameter to 'none' and omitting the 'to_utc' parameter, as only the latest value is required. ```HTTP GET /logbook/storage/read/ ?device_id=6a6c53b5-e18e-4301-9c95-2516006bf7c6 &field=track.pos.alt &field_type=float &aggregation=none &from_utc=2020-07-06T10:03:36.352Z ``` -------------------------------- ### GET /logbook/storage/read/ - Device Positions Source: https://docs.autopi.io/getting_started/api Retrieves geographical position data for a specified device within a given time range. ```APIDOC ## GET /logbook/storage/read/ ### Description Retrieves geographical position data for a specified device within a given time range. This endpoint is useful for tracking device movement. ### Method GET ### Endpoint `/logbook/storage/read/` ### Parameters #### Query Parameters - **device_id** (string) - Required - ID of the device you want to retrieve data from. - **field** (string) - Required - Name of the field to retrieve, specifically `track.pos.loc` for positions. - **field_type** (string) - Required - Type of the field, specifically `geo_point` for positions. - **from_utc** (string) - Required - ISO Datetime string representing the start of the time range. - **to_utc** (string) - Required - ISO Datetime string representing the end of the time range. ### Request Example ``` GET /logbook/storage/read/?device_id=DEVICE_ID&field=track.pos.loc&field_type=geo_point&from_utc=2020-01-01T00:00:00.000Z&to_utc=2020-01-01T01:00:00.000Z ``` ### Response #### Success Response (200) - **ts** (string) - Timestamp of the recorded position. - **location** (object) - Object containing latitude and longitude. - **lat** (number) - Latitude. - **lon** (number) - Longitude. #### Response Example ```json [ { "ts": "2020-07-09T10:11:53.811839Z", "location": { "lat": 57.04699, "lon": 9.93909 } }, { "ts": "2020-07-09T10:11:59.248421Z", "location": { "lat": 57.04697, "lon": 9.93808 } } ] ``` ``` -------------------------------- ### Install Mosquitto Clients on AutoPi (if missing) Source: https://docs.autopi.io/developer_guides/configuring-mqtt Installs the 'mosquitto-clients' package on the AutoPi device if it's not already present. This is a prerequisite for using 'mosquitto_pub' on the device for testing. ```bash $ cmd.run "apt install -y mosquitto-clients" ``` -------------------------------- ### file_sync.help Source: https://docs.autopi.io/core/commands/core-commands-file-sync Displays help information for the file synchronization module. ```APIDOC ## file_sync.help ### Description Shows help information for the file synchronization module. ### Method GET ### Endpoint /websites/autopi_io/file_sync/help ### Parameters #### Query Parameters None ### Request Example ```json {} ``` ### Response #### Success Response (200) - **help_text** (string) - The help information for the file sync module. ``` -------------------------------- ### Example: Aggregated Altitude Data (1-minute Average) Source: https://docs.autopi.io/getting_started/api/export-data-from-api This example demonstrates how to query for altitude data, aggregated into 1-minute averages for a specific device and time range. It utilizes the GET /logbook/storage/read/ endpoint with appropriate parameters for device ID, field, aggregation, time, and interval. ```HTTP GET /logbook/storage/read/ ?device_id=6a6c53b5-e18e-4301-9c95-2516006bf7c6 &field=track.pos.alt &field_type=float &aggregation=avg &from_utc=2020-07-06T10:03:36.352Z &to_utc=2020-07-06T12:18:14.050Z &interval=1m ``` -------------------------------- ### Log Hello World Every 5 Seconds (Python) Source: https://docs.autopi.io/cloud/device_management/services/create-custom-services A Python example of a custom AutoPi service that logs 'HELLO WORLD' to the device's log every 5 seconds. It includes basic error handling and cleanup. ```python import logging import time log = logging.getLogger(__name__) def start(**settings): try: log.info("Starting SERVICE with settings: {:} ".format(settings)) while True: log.info('HELLO WORLD, anything new in the last 5 seconds?') time.sleep(5) except Exception: log.exception("Failed to start SERVICE") raise finally: log.info("Stopping SERVICE") # Stop everything, close connections etc. ``` -------------------------------- ### GET /logbook/storage/read/ - Battery Voltage Readings Source: https://docs.autopi.io/getting_started/api Retrieves aggregated battery voltage readings for a specified device within a given time range. ```APIDOC ## GET /logbook/storage/read/ ### Description Retrieves aggregated battery voltage readings for a specified device within a given time range. This endpoint allows for analyzing battery performance over time. ### Method GET ### Endpoint `/logbook/storage/read/` ### Parameters #### Query Parameters - **device_id** (string) - Required - ID of the device you want to retrieve data from. - **field** (string) - Required - Name of the field to retrieve, specifically `obd.bat.voltage` for battery voltage. - **field_type** (string) - Required - Type of the field, specifically `float` for battery voltage. - **aggregation** (string) - Optional - Aggregation method (e.g., `avg`, `min`, `max`, `sum`). Defaults to `avg` if not specified. - **from_utc** (string) - Required - ISO Datetime string representing the start of the time range. - **to_utc** (string) - Required - ISO Datetime string representing the end of the time range. - **interval** (string) - Optional - Data aggregation interval (e.g., `1h`, `10m`). Specifies how many groups the data is aggregated into. ### Request Example ``` GET /logbook/storage/read/?device_id=DEVICE_ID&field=obd.bat.voltage&field_type=float&aggregation=avg&from_utc=2020-01-01T00:00:00.000Z&to_utc=2020-01-01T01:00:00.000Z&interval=10m ``` ### Response #### Success Response (200) - **max_ts** (integer) - Timestamp of the latest data point within the aggregated interval. - **ts** (string) - Timestamp of the aggregated data point. - **value** (number) - The aggregated battery voltage value. #### Response Example ```json [ { "max_ts": 1594289021415, "ts": "2020-07-09T10:03:37.566Z", "value": 13.5 }, { "max_ts": 1594289026525, "ts": "2020-07-09T10:13:45.378Z", "value": 13.600000381469727 } ] ``` ``` -------------------------------- ### qmi.help Source: https://docs.autopi.io/core/commands/core-commands-qmi Displays help information for the QMI API. ```APIDOC ## GET /qmi/help ### Description Shows this help information. ### Method GET ### Endpoint /qmi/help ### Parameters None ### Request Example ```json {} ``` ### Response #### Success Response (200) - **help_text** (string) - The help text describing the available QMI commands. #### Response Example ```json { "help_text": "Available commands: qmi.cell_info, qmi.connection_stats, ..." } ``` ``` -------------------------------- ### Check Device Connectivity with test.ping Source: https://docs.autopi.io/getting_started/heavy_duty_vehicles/j1939-getting-started-guide Verifies if the AutoPi device is online and connected to the AutoPi Cloud. This is a basic connectivity check before proceeding with data retrieval. ```shell test.ping ``` -------------------------------- ### Install Mosquitto MQTT Broker and Clients (Debian) Source: https://docs.autopi.io/developer_guides/configuring-mqtt Installs the Mosquitto MQTT broker and client tools on a Debian-based Linux system. This is the first step in setting up a local MQTT broker. ```bash $ sudo apt install mosquitto mosquitto-clients ``` -------------------------------- ### Check qmi-manager Status Source: https://docs.autopi.io/getting_started/autopi_canfd_pro/pro-4g-internet-setup-troubleshooting Checks the operational status of the qmi-manager service, which is responsible for maintaining a stable internet connection. The expected output indicates whether the service is running or not. ```bash qmicli -e "cdc-wdm" ``` -------------------------------- ### Start Tailscale using CLI Source: https://docs.autopi.io/getting_started/autopi_canfd_pro/how_to_connect_to_tailscale Command to initiate the Tailscale connection via the command-line interface. This is a fundamental step for connecting your device to the Tailscale network. ```bash tailscale up ``` -------------------------------- ### Configure motionEye Directories and Configuration Source: https://docs.autopi.io/developer_guides/installing-a-camera-on-your-autopi Creates the necessary directory for motionEye's configuration and copies the default configuration file. This prepares the application to store its settings. ```bash sudo mkdir -p /etc/motioneye sudo cp /usr/local/share/motioneye/extra/motioneye.conf.sample /etc/motioneye/motioneye.conf ``` -------------------------------- ### Control qmi-manager Service Source: https://docs.autopi.io/getting_started/autopi_canfd_pro/pro-4g-internet-setup-troubleshooting Provides commands to bring down and then up the qmi-manager service. This can help to reset the network connection and resolve connectivity issues. Errors during the 'up' command might indicate SIM card detection problems. ```bash cmd.run "qmi-manager down" cmd.run "qmi-manager up" ``` -------------------------------- ### Reconfigure Firmware Switch Source: https://docs.autopi.io/getting_started/autopi_canfd_pro/pro-4g-internet-setup-troubleshooting Manually sets the firmware switch configuration to '40,1' using an AT command. This is typically done when the firmware switch status check indicates an incorrect setting that prevents proper network operation. ```bash modem.connection execute AT#FWSWITCH=40,1 ``` -------------------------------- ### obd.setup - Setup Advanced Runtime Settings Source: https://docs.autopi.io/core/commands/core-commands-obd Configures advanced runtime settings for the OBD interface, including timing, filtering, and specific protocol options. ```APIDOC ## obd.setup ### Description Setup advanced runtime settings for the OBD interface. ### Method (Not specified, assumed to be a configuration function) ### Endpoint (Not specified) ### Parameters #### Optional Arguments, General - **`print_spaces`** (bool) - Optional - Turn printing of spaces in OBD responses on or off. To get better performance, turn spaces off. - **`adaptive_timing`** (int) - Optional - Set adaptive timing mode. Default value is `1` (on, normal mode). - **`response_timeout`** (int) - Optional - When adaptive timing is on, this sets the maximum time that is to be allowed. Default value is `50` x 4ms giving a time of approximately 200ms. - **`auto_filter`** (bool) - Optional - Ensure automatic response filtering is enabled. #### Optional Arguments, CAN Specific - **`can_extended_address`** (str) - Optional - Use CAN extended address. - **`can_priority`** (str) - Optional - Set CAN priority bits of a 29-bit CAN ID. - **`can_flow_control_clear`** (bool) - Optional - Clear all CAN flow control filters and ID pairs before adding any new ones. - **`can_flow_control_filter`** (str) - Optional - Ensure CAN flow control filter is added. Value must consist of `,`. - **`can_flow_control_id_pair`** (str) - Optional - Ensure CAN flow control ID pair is added. Value must consist of `,`. #### Optional Arguments, J1939 Specific - **`j1939_pgn_filter`** (str) - Optional - Ensure J1939 PGN filter is added. Value must consist of `[,]`. ### Request Example (Not applicable for this function as it's likely a configuration call) ### Response (Not specified) ``` -------------------------------- ### hostapd.help API Source: https://docs.autopi.io/core/commands/core-commands-hostapd Displays help information for the hostapd module, listing all available commands and their brief descriptions. ```APIDOC ## hostapd.help ### Description Shows help information for the hostapd module, listing available commands. ### Method GET ### Endpoint /websites/autopi_io/hostapd/help ### Response #### Success Response (200) - **help_text** (string) - A multi-line string containing the help information for the hostapd module. #### Response Example ```json { "help_text": "Available hostapd commands:\n * hostapd.clients\n * hostapd.clients_changed_trigger\n * hostapd.expect_allow_list_handler\n * hostapd.help" } ``` ``` -------------------------------- ### Check Modem Recognition with lsusb Source: https://docs.autopi.io/getting_started/autopi_canfd_pro/pro-4g-internet-setup-troubleshooting Verifies if the modem hardware is recognized by the system. It lists connected USB devices, and the output should contain a line indicating the modem manufacturer and its ID. This is crucial for establishing a 4G connection. ```bash cmd.run "lsusb" ``` -------------------------------- ### modem.help Source: https://docs.autopi.io/core/commands/core-commands-modem Shows the help information for the modem module. ```APIDOC ## GET /modem/help ### Description Displays the help information for the modem module, listing available commands and their usage. ### Method GET ### Endpoint /modem/help ### Response #### Success Response (200) - **help_text** (str): The help information text. #### Response Example ```json { "help_text": "Usage: modem.command [arguments...]\nAvailable commands: connection, help, manage, read_sms, reset" } ``` ``` -------------------------------- ### Monitor CAN Bus Traffic with obd.monitor Source: https://docs.autopi.io/getting_started/heavy_duty_vehicles/j1939-getting-started-guide Listens to passive CAN traffic on the vehicle's bus to identify the correct protocol and baudrate. It requires specifying duration, verification status, protocol, and baudrate. Output is raw data. ```shell obd.monitor duration=5 verify=False protocol=32 baudrate=500000 ``` ```shell obd.monitor duration=5 verify=False protocol=32 baudrate=250000 ``` ```shell obd.monitor duration=5 verify=False protocol=32 baudrate=125000 ``` ```shell obd.monitor duration=5 verify=False protocol=31 baudrate=500000 ``` ```shell obd.monitor duration=5 verify=False protocol=31 baudrate=250000 ``` ```shell obd.monitor duration=5 verify=False protocol=31 baudrate=125000 ``` ```shell obd.monitor duration=5 verify=False protocol=52 baudrate=500000 ``` ```shell obd.monitor duration=5 verify=False protocol=52 baudrate=250000 ``` ```shell obd.monitor duration=5 verify=False protocol=52 baudrate=125000 ``` ```shell obd.monitor duration=5 verify=False protocol=51 baudrate=500000 ``` ```shell obd.monitor duration=5 verify=False protocol=51 baudrate=250000 ``` ```shell obd.monitor duration=5 verify=False protocol=51 baudrate=125000 ``` -------------------------------- ### Read Auxiliary Battery Voltage with obd.battery Source: https://docs.autopi.io/getting_started/heavy_duty_vehicles/j1939-getting-started-guide Retrieves the voltage of the vehicle's auxiliary battery. This helps determine if the vehicle's engine is running and ECUs are powered on. Expected voltage varies for 12V and 24V systems. ```shell obd.battery ``` -------------------------------- ### Check Firmware Switch Status (Older Software) Source: https://docs.autopi.io/getting_started/autopi_canfd_pro/pro-4g-internet-setup-troubleshooting Retrieves the firmware switch status using an AT command for software versions older than 1.22.7. The output format (e.g., FWSWITCH:40:1) indicates the configuration. If it's not '40:1', manual reconfiguration is possible. ```bash modem.connection execute AT#FWSWITCH? ``` -------------------------------- ### View AutoPi Logs Using minionutil Commands Source: https://docs.autopi.io/developer_guides/autopi-logs Execute these commands in the web terminal (Cloud or local admin) to retrieve primary logs, errors, or startup information from your AutoPi device. Use 'minionutil.help' for command documentation. ```bash $ minionutil.last_logs $ minionutil.last_errors $ minionutil.last_startup $ minionutil.help ``` -------------------------------- ### qmi.system_info Source: https://docs.autopi.io/core/commands/core-commands-qmi Retrieves comprehensive system information, including details from other QMI endpoints. ```APIDOC ## GET /qmi/system_info ### Description Get system info. This endpoint aggregates information from various other QMI endpoints. ### Method GET ### Endpoint /qmi/system_info ### Parameters None ### Request Example ```json {} ``` ### Response #### Success Response (200) - **system_info** (object) - Comprehensive system information, potentially including: - **cell_info**: Object - Details about the current cell connection. - **connection_stats**: Object - Data transmission statistics. - **connection_status**: String - The current status of the packet data service. - **home_network**: Object - Details about the home network. - **operator_name**: String - The name of the current network operator. - **serving_system**: Object - Details about the serving system. - **signal_strength**: Object - Signal strength metrics. #### Response Example ```json { "system_info": { "cell_info": { "cid": 12345, "lac": 6789, "mcc": 123, "mnc": 45 }, "connection_stats": { "tx_bytes": 1024000, "rx_bytes": 5120000 }, "connection_status": "connected", "home_network": { "mcc": 123, "mnc": 45 }, "operator_name": "Example Mobile", "serving_system": { "network_type": "LTE", "registration_status": "registered" }, "signal_strength": { "rssi": -75, "rsrp": -95, "rsrq": -10, "snr": 15 } } } ``` ```