{"id":26494970,"url":"https://github.com/acceleronix/simpli-kit-python-sample","last_synced_at":"2026-05-21T05:37:54.030Z","repository":{"id":282373067,"uuid":"922875928","full_name":"Acceleronix/simpli-kit-python-sample","owner":"Acceleronix","description":"Python sample code for Acceleronix SIMPLI-Kit hardware","archived":false,"fork":false,"pushed_at":"2025-09-16T10:06:56.000Z","size":40300,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-16T12:38:16.464Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Acceleronix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-27T08:45:35.000Z","updated_at":"2025-09-16T10:07:00.000Z","dependencies_parsed_at":"2025-04-18T10:02:02.445Z","dependency_job_id":"2616d96b-9421-4fd2-8f4c-8589ba10dce5","html_url":"https://github.com/Acceleronix/simpli-kit-python-sample","commit_stats":null,"previous_names":["acceleronix/simpli-kit-python-sample"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Acceleronix/simpli-kit-python-sample","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Acceleronix%2Fsimpli-kit-python-sample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Acceleronix%2Fsimpli-kit-python-sample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Acceleronix%2Fsimpli-kit-python-sample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Acceleronix%2Fsimpli-kit-python-sample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Acceleronix","download_url":"https://codeload.github.com/Acceleronix/simpli-kit-python-sample/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Acceleronix%2Fsimpli-kit-python-sample/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33289933,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T02:57:32.698Z","status":"ssl_error","status_checked_at":"2026-05-21T02:57:31.990Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-20T10:31:38.414Z","updated_at":"2026-05-21T05:37:54.022Z","avatar_url":"https://github.com/Acceleronix.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SIMPLI Kit Python Sample\r\n\r\nThis repository contains Python sample code for working with Acceleronix SIMPLI-Kit hardware, providing a complete solution for IoT sensor data collection and cloud connectivity.\r\n\r\n## Project Structure\r\n\r\nThe project is organized into the following components:\r\n\r\n- **Main Application:** Entry point that initializes all services with intelligent SIM management\r\n- **Drivers:** Hardware interfaces for various sensors (SHTC3, LPS22HB, TCS34725, ICM20948)\r\n- **Extensions:** Services for GNSS, LBS, sensors, buzzer control, fan control, SIM management, and Acceleronix cloud connectivity\r\n- **Libraries:** Utility modules for I2C communication, threading, logging, etc.\r\n\r\n## Configuration\r\nPlease update the `config.json` file with your product credentials created in [Acceleronix IoT Developer Center](https://core.acceleronix.io/).\r\n   ```json\r\n   {\r\n       \"QTH_PRODUCT_KEY\": \"your_product_key\",\r\n       \"QTH_PRODUCT_SECRET\": \"your_product_secret\",\r\n       \"QTH_SERVER\": \"mqtt://iot-south.acceleronix.io:1883\"\r\n   }\r\n   ```\r\n## Hardware Components\r\n\r\n### Supported Sensors\r\n| Sensor | Description | Capabilities |\r\n|--------|-------------|--------------|\r\n| SHTC3 | Temperature \u0026 humidity sensor | High-accuracy environmental monitoring |\r\n| LPS22HB | Barometric pressure sensor | Pressure and temperature readings |\r\n| TCS34725 | RGB color sensor | Color detection and light sensing |\r\n| ICM20948 | 9-axis motion sensor | Accelerometer, gyroscope, and magnetometer |\r\n\r\n\u003cimg  src=\"/images/sensor_board.png\"  alt=\"Sensor Board\"  width=\"400px\"  height=\"auto\"\u003e\r\n\r\n### Services\r\n\r\n#### Core Services\r\n- **GNSS Service:** GPS location tracking and position reporting\r\n- **LBS Service:** Location approximation using cellular tower information\r\n- **Sensor Service:** Collection and aggregation of sensor data\r\n- **Qth Client:** Cloud connectivity and data transmission\r\n\r\n#### Hardware Control Services\r\n- **Buzzer Service:** Buzzer control with GPIO management and hot-plug support\r\n  - ON/OFF control via cloud commands\r\n  - Hardware detection and fallback simulation\r\n  - Status reporting and monitoring\r\n  \r\n- **Fan Service:** PWM-based fan control with multiple speed modes\r\n  - Fan switch control (ON/OFF)\r\n  - Speed modes: Low (1), Medium (2), High (3)\r\n  - PWM hardware detection and simulation fallback\r\n\r\n#### System Services\r\n- **SIM Service:** Intelligent SIM card management\r\n  - Automatic detection of physical SIM and vSIM\r\n  - Priority-based selection (physical SIM first, vSIM fallback)\r\n  - Real-time SIM status monitoring\r\n  - Automatic switching capabilities\r\n\r\n## Enhanced Features\r\n\r\n### Intelligent SIM Management\r\nThe application now includes automatic SIM card detection and management:\r\n- **Priority-based Selection**: Automatically detects and uses physical SIM first, falls back to vSIM if needed\r\n- **Hot-plugging Support**: Monitors SIM status and handles SIM card changes dynamically\r\n- **Network Optimization**: Ensures optimal connectivity with automatic switching capabilities\r\n\r\n### Hardware Extension Support\r\nNew modular hardware services provide:\r\n- **Buzzer Control**: GPIO-based buzzer management with hardware detection\r\n- **Fan Control**: PWM-based fan speed control with multiple modes\r\n- **Hot-plug Detection**: Services gracefully handle hardware availability changes\r\n\r\n## Firmware Development\r\n\r\n### Base Firmware\r\nThe `base_firmware/` directory contains the QuecPython base firmware required for building custom firmware with this sample code:\r\n\r\n- **EG912UGLAAR05A01M08_TEST0220.zip**: QuecPython base firmware for EG912U-GLAA module\r\n- Developers can merge this base firmware with the Python code in this repository to generate custom firmware\r\n- This enables creating standalone firmware images that include both the base system and your application code\r\n\r\nTo build custom firmware, developers should:\r\n1. Use the base firmware from the `base_firmware/` directory\r\n2. Combine it with the Python application code from this repository\r\n3. Follow the official QuecPython documentation for combining firmware and scripts: [QPYcom Merge Tutorial](https://developer.quectel.com/doc/quecpython/Application_guide/en/dev-tools/QPYcom/qpycom-merge.html)\r\n\r\n## Getting Started\r\n\r\n### 1. Get to Know Your SIMPLI-Kit\r\n\r\nThe SIMPLI-Kit by Acceleronix lets you connect effortlessly to the Acceleronix Asset Management SaaS, enabling quick cloud service demos with zero setup hassle. This guide will walk you through using the SIMPLI-Kit to explore platform features seamlessly.\r\n\r\nYou can visit this [webpage](https://www.acceleronix.io/products/simpli-kit) to access more details about the product.\r\n\r\n#### 1.1 What is SIMPLI-Kit?\r\n\r\nThe SIMPLI-Kit is your gateway to exploring the Acceleronix Asset Management SaaS. Built on the QuecPython **EG912U-GLAA** evaluation board, it’s designed for fast, plug-and-play connectivity.\r\n\r\n##### 1.1.1 Compatible Modules\r\n| Product Line | Module |\r\n|--|--|\r\n|LTE Standard | EG912U-GL |\r\n\r\nThe SIMPLI-Kit supports the following module:  \r\n\r\n##### 1.1.2 Unboxing Your SIMPLI-Kit\r\n\r\nHere’s what your SIMPLI-Kit looks like out of the box:\r\n\r\n\u003cimg  src=\"/images/simpli_kit_top_view.jpg\"  alt=\"SIMPLI-Kit Top View\"  width=\"350px\"  height=\"auto\"\u003e\r\n\r\n##### 1.1.3 What’s Inside the Box?\r\n\r\nSee the components included in your SIMPLI-Kit package:\r\n\r\n\u003cimg  src=\"/images/simpli_kit_unboxing.png\"  alt=\"SIMPLI-Kit Unboxing\"  width=\"500px\"  height=\"auto\"\u003e\r\n\r\n##### 1.1.4 Boards at a Glance\r\n\r\nHere’s a look at the boards of the SIMPLI-Kit:\r\n\r\n- EG912U-GL QuecPython board:\r\n\r\n\u003cimg  src=\"/images/quecpython_board_overview.png\"  alt=\"QuecPython Board Overview\"  width=\"300px\"  height=\"auto\"\u003e\r\n\r\n##### 1.1.6 Included Accessories\r\n\r\nYour SIMPLI-Kit comes with the following accessories:\r\n\r\n\u003cimg  src=\"/images/simpli_kit_accessories.png\"  alt=\"SIMPLI-Kit Accessories\"  width=\"500px\"  height=\"auto\"\u003e\r\n\r\n**Accessories List**\r\n\r\n| Item  | Description |  | \r\n|--|--|-- | \r\n|USB-C Cable | For powering and connecting the SIMPLI-Kit | 1 |\r\n|USB Memory Stick | 32GB storage with preloaded resources | 1 |\r\n|Welcome Card | Includes quick start instructions | 1 |\r\n|Antenna | YF0028AA Cellular (4G/3G/2G) Antenna | 1 |\r\n|Acrylic Case | Protective case for the SIMPLI-Kit | 1 |\r\n  \r\n### 2. Set Up Your SIMPLI-Kit\r\n\r\nLet’s get started! Follow these steps to power up your SIMPLI-Kit:\r\n\r\n1. Connect the SIMPLI-Kit to your laptop or a power bank using the provided USB-C cable.\r\n\r\n2. The device will power on, automatically connect to the internet via vSIM, and link to the Acceleronix Asset Management SaaS.\r\n\r\n\u003cimg  src=\"/images/power_device_on.jpg\"  alt=\"Power the device on\"  width=\"350px\"  height=\"auto\"\u003e\r\n\r\n\u003e**Note**: The SIMPLI-Kit automatically enables vSIM and includes a 20MB/month data plan for 6 months for testing purposes.\r\n\r\n### 3. Connect to the Asset Management SaaS\r\n\r\nThe Asset Management SaaS platform, developed by Acceleronix, offers a comprehensive solution for specialized industries. It covers the entire business process from TSL model feature definition to SaaS platform management and mobile app device control.\r\n\r\nThis Asset Management SaaS platform enables device operation for users, allowing dynamic analysis of hardware data based on the TSL model. It integrates various sensors, such as water quality, temperature, humidity, light, and carbon dioxide, to suit different scenarios. Features include real-time data viewing, historical operating curves, data aggregation, and device mapping with track playback for location-based devices.\r\n\r\n#### 3.1 Log in with Demo Account\r\n\r\nAccess the Asset Management SaaS Application using the demo account below:\r\n\r\n-  **Website URL**: [https://eueam.acceleronix.io/login](https://eueam.acceleronix.io/login)\r\n\r\n-  **Account Name** and **Password**: Acceleronix will email you after your purchase. Please contact \u003cevk@acceleronix.io\u003e.\r\n\r\n\u003cimg  src=\"/images/saas_login.png\"  alt=\"Login SaaS\"  width=\"700px\"  height=\"auto\"\u003e\r\n\r\n#### 3.2 Find Your Device\r\n\r\n1. Navigate to **Device management \u003e Device List**.\r\n\r\n2. Locate the IMEI code on the white sticker of your SIMPLI-Kit.\r\n\r\n3. Search for the IMEI code in the platform. If the status shows **Online**, your device is successfully connected!\r\n\r\n\u003cimg  src=\"/images/search_device_imei.png\"  alt=\"Search device using IMEI\"  width=\"700px\"  height=\"auto\"\u003e\r\n\r\n#### 3.3 Check Device Location (LBS)\r\n\r\n1. Click **Details** in the Device List to open the device details.\r\n\r\n2. Go to the **Location** tab to see the LBS location data.\r\n\r\n\u003cimg  src=\"/images/saas_location.png\"  alt=\"Search device use IMEI\"  width=\"700px\"  height=\"auto\"\u003e\r\n\r\n\u003e **Note**: Location updates every 30 minutes. To refresh manually, click the refresh button in the App control panel, then reload the page to see the updated location.\r\n\r\n### 4. Control Your Device with the Wonderfree App\r\n\r\n#### 4.1 Obtain the Binding QR Code\r\n\r\n1. In the Acceleronix Asset Management SaaS, go to **Device management \u003e Device List \u003e Device Information**.\r\n\r\n2. Hover over the QR code icon in the Basic Information section to display the Device QR code.\r\n\r\n\u003cimg  src=\"/images/device_qr_code.png\"  alt=\"Device QR Code\"  width=\"700px\"  height=\"auto\"\u003e\r\n\r\n\u003e **Note**: You can also find the QR code on the bottom of the SIMPLI Kit device.\r\n\r\n#### 4.2 Download the App and Add Your Device\r\n\r\n1. Download the **Wonderfree** app from the app store:\r\n\r\n-  **iOS**: [App Store](https://apps.apple.com/gb/app/wonderfree/id6450249586)\r\n\r\n-  **Android**: [Google Play](https://play.google.com/store/search?q=wonderfree\u0026c=apps\u0026hl=en_CA\u0026gl=US) or Xiaomi, Vivo, OPPO app galleries.\r\n\r\n- More details, please check: [App | Acceleronix](https://core.acceleronix.io/app)\r\n\r\n2. Register a new account with your email and log in.\r\n\r\n3. Tap **Add Device** in the app, then scan the QR code from the Asset Management SaaS to add your SIMPLI-Kit. It will appear on the app’s home page.\r\n\r\n\u003cimg  src=\"/images/add_device.png\"  alt=\"Add Device\"  width=\"700px\"  height=\"auto\"\u003e\r\n\r\n#### 4.3 View and Manage Sensor Data\r\n\r\n1. When your device is online, tap it in the Wonderfree app to access the control panel.\r\n\r\n2. View real-time sensor and LBS location data from your SIMPLI-Kit.\r\n\r\n3. To update sensor data or LBS location, tap the refresh button in the top-right corner of the control panel.\r\n \r\n\u003cimg  src=\"/images/device_control_panel.jpg\"  alt=\"Device Control Panel\"  width=\"350px\"  height=\"auto\"\u003e\r\n\r\n### 5. Access Acceleronix Developer Center\r\n\r\nPlease visit \u003chttps://core.acceleronix.io\u003e to register an account and login to explore the Acceleronix Developer Center features.\r\n\r\nYou can follow this [tutorial](https://iot-docs.acceleronix.io/quickStart/register.html) to get started.\n\n### 6. OTA Update Steps\n\n#### 6.1 Update Version Configuration\n\nEdit `code/config.json` and set `APP_version` to the new version:\n\n```json\n{\n    \"APP_version\": \"V1.0.1\"\n}\n```\n\n#### 6.2 Package Upgrade Files\n\nFrom the `code/` directory, execute the **tar** command to package the script file and generate the upgrade package `ota.tar.gz.`. Here is the example:\n\n```bash\ntar -zcvf ota.tar.gz ./extensions/sensor_service.py config.json\n```\n\n**Requirements:**\n\n- Include `config.json` with updated `APP_version`\n- Preserve directory structure (run from `code/` directory)\n- Maintain relative file paths\n\n#### 6.3 Create OTA Task\n\nCreate a new OTA task in the [Acceleronix Developer Platform](https://core.acceleronix.io/).\n\n**Reference:** [QuecPython Script Upgrade](https://iot-docs.acceleronix.io/deviceDevelop/DeviceAccessPlan/cellular/QuecPython/example/ota/quecpython-example-02.html)\n\n#### 6.4 Component Configuration\n\nSet **Component Identifier** to `appota` in both:\n\n- Version Package Management → \"Verify Firmware\"\n- Upgrade Plan → \"Add a Component\"\r\n\r\n## Developer Resources\n\nFor additional technical details, documentation, and advanced usage examples, visit the [Acceleronix Developer Portal](https://core.acceleronix.io/).\n\n## Support\n\nIf you encounter any issues or have questions about this sample code, please contact [Acceleronix Support](mailto:support@acceleronix.io).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facceleronix%2Fsimpli-kit-python-sample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Facceleronix%2Fsimpli-kit-python-sample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facceleronix%2Fsimpli-kit-python-sample/lists"}