返回顶部
u

unihiker-k10-micropython

Use when programming Unihiker K10 board with MicroPython, uploading code, flashing firmware, or accessing K10 MicroPython APIs (screen, sensors, RGB, audio, AI)

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
98
下载量
0
收藏
概述
安装方式
版本历史

unihiker-k10-micropython

# Unihiker K10 - MicroPython ## Overview CLI toolkit for Unihiker K10 board MicroPython programming. **Core principle:** Follow reference docs exactly—no improvisation. ## When to Use - Uploading MicroPython code to K10 - Flashing MicroPython firmware - Looking up K10 MicroPython APIs (screen, sensors, RGB, audio, AI) - Port detection or connectivity issues ## Commands | Command | Description | |---------|-------------| | `k10-micropython upload-mp <file.py>` | Upload MicroPython | | `k10-micropython flash-mp` | Flash MicroPython firmware | | `k10-micropython ports` | List serial ports | | `k10-micropython doctor` | Environment diagnostic | ## Coding ### Basic Template ```python from unihiker_k10 import screen screen.init(dir=2) screen.draw_text(text="Hello", x=10, y=0, font_size=24, color=0xFF0000) screen.show_draw() ``` **Important:** - **Auto-execution**: Only `main.py` runs automatically on boot. Other filenames (e.g., `test.py`) must be imported or run via REPL - **Best practice**: Name your entry file as `main.py` for auto-start - **Reference**: [`references/micropython-api.md`](references/micropython-api.md) ## Common Issues | Issue | Solution | |-------|----------| | **MicroPython code doesn't run** | Only `main.py` runs automatically. Rename your file or use REPL to run it | | **Flash failed** | Make sure BOOT button is held when connecting USB to enter download mode | | **mpremote: could not enter raw repl** | K10 is running Arduino, flash MicroPython firmware first | | Port not found | `k10-micropython ports` or hold BOOT while connecting | | **AI + WiFi conflict** | Use only one in V0.9.2 | | **Windows PowerShell执行策略限制** | 运行 `Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser` | ## 开发经验教训 ### 2025-03-22 实践总结 **与Arduino模式的区别:** 1. **固件互斥**: K10不能同时运行Arduino和MicroPython固件,需要刷写对应固件 2. **入口文件**: MicroPython只有`main.py`会自动运行,其他文件需要手动import 3. **工具链不同**: Arduino使用arduino-cli,MicroPython使用mpremote **刷写MicroPython固件步骤:** 1. 按住BOOT按钮 2. 按RST按钮重置 3. 释放BOOT按钮 4. 运行刷写命令 5. 等待完成(30-60秒) 6. 按RST重启 **注意事项:** - V0.9.2固件中AI功能和WiFi不能同时使用,会导致内存溢出 - 首次刷写后建议先上传简单的main.py测试 ## Files ``` unihiker-k10-micropython/ ├── SKILL.md # This file └── references/ # MicroPython API docs └── micropython-api.md # MicroPython API reference ``` **Manual usage without CLI:** ```bash # Upload MicroPython bash path/to/unihiker-k10-micropython/scripts/upload-micropython.sh main.py /dev/cu.usbmodem2201 # Flash MicroPython firmware bash path/to/unihiker-k10-micropython/scripts/flash-micropython.sh /dev/cu.usbmodem2201 ``` ## MicroPython Code Execution - **Automatic execution**: Files named `main.py` run automatically after upload and reset - **Manual execution**: Other filenames require REPL interaction: ```bash # Connect to REPL mpremote connect /dev/cu.usbmodem2201 repl # Import and run your module >>> import test ``` **File naming best practice:** ``` your_project/ ├── main.py # Entry point - runs automatically on boot ├── test.py # Test file - must be imported via REPL └── heart.py # Other files - import with `import heart` ``` ## Flashing MicroPython Firmware **Method 1: Manual (Recommended)** 1. Hold BOOT button on K10 2. Press RST button on K10 3. Release BOOT button 4. Run: `k10-micropython flash-mp` or `k10-micropython flash-mp --port /dev/cu.usbmodem2201` 5. Wait for flash to complete (30-60 seconds) 6. Press RST button on K10 to restart 7. Upload Python code with `k10-micropython upload-mp file.py` **Method 2: Interactive** 1. Run: `k10-micropython flash-mp` 2. Follow on-screen prompts 3. Hold BOOT button, connect USB, release BOOT ## Quick Development Workflow ```bash # 1. Create MicroPython script echo "from unihiker_k10 import screen screen.init(dir=2) screen.draw_text(text='Hello K10', x=10, y=0, font_size=24, color=0xFFFFFF) screen.show_draw()" > main.py # 2. Upload as main.py for auto-run k10-micropython upload-mp main.py # 3. Or test as test.py and run via REPL k10-micropython upload-mp test.py mpremote connect /dev/cu.usbmodem2201 repl >>> import test ``` ## Key Features **Screen:** - Screen initialization and direction control - Text drawing with custom font size and color - Shape drawing: lines, circles, rectangles, points - Image display from TF card - QR code generation and display **Sensors:** - Buttons A/B (callback and status check) - Accelerometer (X, Y, Z axes) - Temperature & humidity (AHT20) - Light sensor (ALS) - Microphone (recording to TF card) **RGB LED Control:** - Individual LED control (0, 1, 2) - All LEDs control (-1) - Brightness control (0-9) **Audio:** - Buzzer control (playTone) - Microphone recording to TF card **AI Features (V0.9.2):** - **Face Detection**: Detect faces, show length, width, center coordinates - **Face Recognition**: Enroll faces, recognize faces, display ID - **Cat Recognition**: Detect and classify cats (with TF card images) - **Movement Detection**: Motion detection with customizable threshold - **QR Code Scanning**: Scan QR codes and display content - **Speech Recognition**: Wake-up command and voice commands **Note on AI:** - AI functionality is resource-intensive in V0.9.2 firmware - AI + WiFi conflict: Use only one at a time to avoid memory overflow ## Example: Face Recognition with LED Feedback ```python import ai from unihiker_k10 import screen, rgb, button import time def callback(data): if data == 1: screen.draw_text(text="录入中...", x=10, y=90, font_size=24, color=0xFFFF00) elif data >= 0: screen.draw_text(text=f"人脸ID: {data}", x=10, y=90, font_size=24, color=0x00FF00) screen.show_draw() screen.init(dir=2) screen.show_bg(color=0x000000) screen.draw_text(text="A: 录入", x=10, y=50, font_size=18, color=0xFFFF00) screen.draw_text(text="B: 删除全部", x=10, y=70, font_size=18, color=0xFF0000) screen.draw_text(text="LED: 红色=未知", x=10, y=110, font_size=18, color=0xFF0000) screen.draw_text(text=" 绿色=已识别", x=10, y=130, font_size=18, color=0x00FF00) screen.show_draw() rgb.brightness(9) ai.init_ai() ai.camera_start() ai.face_recognize_start() ai.send_face_cmd(2) # Recognition mode ai.set_asr_callback(callback) try: while True: image_data = ai.camera_capture() screen.show_camera_img(image_data) time.sleep_ms(1) except KeyboardInterrupt: print("Exiting...") ai.deinit_ai() rgb.brightness(0) screen.clear() ``` **Features:** - **Face Enroll (A button)**: `ai.send_face_cmd(1)` - Green LED - **Face Recognition (automatic)**: Display ID, Green LED - **Unknown face**: Red LED - **Delete all faces (B button)**: `ai.send_face_cmd(3)` - Clear stored faces - **Camera display**: Show real-time camera feed on screen

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 unihiker-k10-micropython-1776072370 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 unihiker-k10-micropython-1776072370 技能

通过命令行安装

skillhub install unihiker-k10-micropython-1776072370

下载 Zip 包

⬇ 下载 unihiker-k10-micropython v1.0.0

文件大小: 15.02 KB | 发布时间: 2026-4-14 13:01

v1.0.0 最新 2026-4-14 13:01
Initial release: MicroPython support with firmware and upload scripts

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部