Merge branch 'main' into docs/rv-nano-grammar-fixes

This commit is contained in:
BuGu
2026-03-27 15:35:36 +08:00
committed by GitHub
91 changed files with 884 additions and 104 deletions

View File

@@ -147,7 +147,7 @@
"label": "Business support: support@sipeed.com"
},
{
"label": "Address: 深圳市宝安区新湖路4008号蘅芳科技办公大厦A座-2101C"
"label": "Address: 深圳市宝安区新湖路4008号蘅芳科技办公大厦A座-2101D"
},
{
"label": "Join us",

View File

@@ -40,13 +40,13 @@
{
"label": "MaixHub",
"position": "left",
"url":"https://maixhub.com",
"url": "https://maixhub.com",
"target": "_blank"
},
{
"label":"动态",
"url":"/news/",
"position":"left"
"label": "动态",
"url": "/news/",
"position": "left"
},
{
"label": "FAQ 汇总",
@@ -72,8 +72,8 @@
}
]
},
"footer":{
"top":[
"footer": {
"top": [
{
"label": "相关链接",
"items": [
@@ -124,17 +124,17 @@
{
"label": "twitter",
"url": "https://twitter.com/SipeedIO",
"target":"_blank"
"target": "_blank"
},
{
"label": "淘宝",
"url": "https://sipeed.taobao.com/",
"target":"_blank"
"target": "_blank"
},
{
"label": "github",
"url": "https://github.com/sipeed",
"target":"_blank"
"target": "_blank"
},
{
"label": "<a>微信公众号</a><img src='/static/image/wechat.png'>"
@@ -151,7 +151,7 @@
"label": "商业支持: support@sipeed.com"
},
{
"label": "地址: 深圳市宝安区新湖路4008号蘅芳科技办公大厦A座-2101C"
"label": "地址: 深圳市宝安区新湖路4008号蘅芳科技办公大厦A座-2101D"
},
{
"label": "加入我们",
@@ -174,7 +174,7 @@
]
},
"plugins": {
"teedoc-plugin-search":{
"teedoc-plugin-search": {
"config": {
"search_hint": "搜索",
"input_hint": "输入关键词,多关键词空格隔开",

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

View File

@@ -0,0 +1,84 @@
# T256s FAQ
This document summarizes common issues and troubleshooting methods encountered during the use of the T256s, covering power supply, imaging, temperature measurement accuracy, and software updates.
## Power & Startup
### Q: The screen keeps rebooting, stays black, or flickers when connected to a phone or PC.
**A:** This is typically caused by an **insufficient power supply**.
- When the T256s enables AI Super-Resolution (SR), the internal NPU (Neural Processing Unit) operates at high load, requiring a stable current.
- Some smartphones have limited OTG output, or the use of low-quality cables with high internal resistance can cause instantaneous voltage drops, triggering a device reset.
- **Recommendation:** Use a high-quality standard Type-C data cable. Prioritize connecting to a PC's rear USB 3.0 port or a high-capacity power bank. If using a phone, ensure the battery is sufficiently charged and "Power Saving Mode" is disabled.
### Q: The device does not respond at all after connecting to a phone.
**A:** Please follow these troubleshooting steps:
1. **Enable OTG:** Some brands (e.g., OPPO, vivo, OnePlus) require you to manually enable "OTG Connection" in System Settings; it may automatically turn off after 10 minutes of inactivity.
2. **Permission Authorization:** Upon insertion, the phone should prompt for "Allow the app to access the USB device." Please check "Always allow."
3. **UVC Support:** Ensure your phone runs Android 9.0 or higher and use UVC-compatible software (such as the official Sipeed app).
4. **Cross-Verification:** Test the device on a PC or another smartphone to rule out compatibility issues specific to a single mobile terminal.
## Display & Imaging
### Q: The image freezes briefly accompanied by a faint mechanical "clicking" sound.
A: This is the **Non-Uniformity Correction (NUC)** process, also known as "shutter calibration." The thermal module periodically closes an internal shutter to calibrate the sensor and compensate for drift caused by temperature changes. The momentary image freeze is a normal part of the operating mechanism.
### Q: The app displays "No Signal" or a black screen with no thermal image.
A: Check the physical connection. If the connection is secure but there is still no image, the module may have failed to initialize or the driver is occupied. Try re-plugging the device. If the following prompt persists, please contact technical support:
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
### Q: The image has noticeable noise, or the SR detail is not sharp enough.
A: AI Super-Resolution (ISR) performance is affected by the environment and target characteristics:
- **Ambient Temperature:** If the ambient temperature is too high (e.g., above 40°C), thermal noise increases significantly, affecting image purity. Recommended usage is between 15°C and 35°C.
- **Warm-up:** Thermal sensitivity reaches its peak only after the device stabilizes. It is recommended to let it run for 25 minutes to reach thermal equilibrium.
- **Contrast:** The smaller the temperature difference between the target and the background, the more apparent the noise will be.
## Super-Resolution (SR) Boundary Conditions
### Q: Why is the SR effect very obvious in some scenes but barely noticeable in others?
A: The AI Super-Resolution (ISR) algorithm is based on deep learning to enhance edge details. Its performance depends on scene features:
- **Ideal Scenarios:** Objects with distinct edges, lines, or complex textures (e.g., PCB traces, electronic component outlines, mechanical parts, or text). In these cases, SR significantly sharpens edges and reduces pixelation.
- **Limited Scenarios:** Large areas of uniform temperature lacking texture (e.g., flat white walls, smooth heat sinks, or the sky). Since there are no features to enhance, the visual improvement is minimal.
- **Recommendation:** To evaluate SR performance, point the device at targets with rich temperature gradients or geometric structures.
## Temperature Accuracy
### Q: How do I convert raw Y16 data to Celsius?
A: The conversion formula is: `$Celsius = (Y16\_Value / 64.0) - 273.15$`. Note that accurate readings require the device to reach thermal equilibrium (approx. 2 minutes after power-on).
### Q: Why is there a deviation between the measured value and the actual temperature?
A: Infrared temperature accuracy is subject to interference from several physical factors:
1. **Macro Lens:** Direct impact. The addition of a macro lens introduces variable interference during infrared signal transmission and reception, leading to inherent measurement errors.
2. **Emissivity:** A critical factor. Different materials have varying capacities to radiate infrared energy. Shiny metal surfaces (e.g., aluminum foil, stainless steel) have extremely low emissivity; measuring them directly will result in incorrect "reflected temperatures." It is recommended to apply electrical tape or matte black paint to the target metal surface before measurement.
3. **Measurement Distance:** As distance increases, the physical area covered by a single pixel expands, leading to the **"Size-of-Source Effect" (SSE)**. For precision thermography, a range of 0.2m to 1.0m is recommended. For ultra-close-up shots, a dedicated macro lens must be used.
4. **Environmental Reflection:** If high-temperature objects (e.g., sunlight, soldering irons) are nearby, their radiation may reflect off the target surface into the sensor, causing inflated temperature readings.
5. **Atmospheric Compensation:** For long-distance measurements, water vapor and $CO_2$ in the air absorb infrared energy. While the T256s is primarily designed for near-field analysis (where atmospheric impact is minimal), compensation settings in professional software may be required for specialized use.
### Q: The software recognizes the device, but the video stream won't open.
A: 1. Ensure no other programs are occupying the UVC camera; 2. Try manually switching the resolution to 640x480; 3. Check if the system driver identifies it as "T256s" or "USB Camera."
### Q: How do I update the firmware for better AI capabilities?
A: T256s supports OTA updates via a PC firmware upgrade tool. Please visit the Sipeed Download Station for the latest firmware packages. Do not disconnect power during the upgrade. If an upgrade failure causes a boot loop (stuck on Logo), refer to the official "Blind Flash" recovery tutorial.
## Miscellaneous
### Q: Is it normal for the device to get quite hot?
A: Yes. The T256s integrates a high-performance AI processing chip which generates heat during operation. The housing is designed to act as a heat sink. Ensure use in a well-ventilated area and avoid prolonged use in enclosed, high-temperature environments.
### Q: Can I use it with Linux or Raspberry Pi?
A: Yes. T256s follows the standard UVC protocol and supports Linux (V4L2). On Ubuntu or Raspberry Pi, it can be accessed directly using `cheese`, `guvcview`, or OpenCV. Please run this as the root user. The VID/PID is typically `359f:ffff`.

View File

@@ -0,0 +1,61 @@
# T256s Infrared Thermal Imaging: Lightweight, Plug-and-Play, AI Super-Resolution
The Sipeed T256s is a high-efficiency, portable thermal imaging and temperature measurement terminal designed specifically for developers and field engineers. It integrates a 256×192 resolution Long-Wave Infrared (LWIR) module combined with hardware-level AI Super-Resolution (AI ISR) technology. This allows the device to upscale thermal images locally to a visual clarity equivalent to 640×480. This technology enhances edge details and texture visibility, significantly improving the localization accuracy of tiny hotspots. The device features a unibody CNC aluminum alloy chassis, a 1.69-inch capacitive touchscreen, dual Type-C interfaces, and optional macro lens support. It offers plug-and-play UVC output with both Y16 and MJPEG modes.
## Product Overview
The design of the T256s centers on three core pillars: **Portability, Clarity, and Ease of Use**. It is ideal for electronics R&D and repair, industrial maintenance inspections, HVAC diagnostics, and scientific research or education. Key highlights include local AI hardware super-resolution, standard UVC protocol compatibility, independent touch-based operation, flexible dual Type-C power design, precision macro detection, and a high-performance CNC aluminum housing for efficient heat dissipation.
## Core Features
1. **On-Device AI Hardware Super-Resolution (ISR):** Equipped with a built-in NPU hardware accelerator, the device enables a 2.5x super-resolution effect by default. Deep learning models enhance thermal clarity in real-time at the edge, effectively suppressing image noise compared to traditional interpolation algorithms.
2. **UVC Plug-and-Play:** Supports standard UVC protocols, providing two output formats: Y16 (14-bit raw temperature data) and MJPEG (pseudo-color images). No proprietary drivers are required, ensuring compatibility with mainstream operating systems and video preview software.
3. **Standalone Touch Terminal:** Featuring a 1.69-inch capacitive touchscreen, the device supports digital zoom, multi-point temperature measurement, pseudo-color switching, photo capture, and gallery browsing. It can function as an independent thermometer with just an external power supply, even when disconnected from a host PC.
4. **Flexible Dual Type-C Connectivity:** Designed with both a Type-C male connector (to connect to hosts/phones) and a Type-C female port (for external power or daisy-chaining devices) to meet diverse application requirements.
5. **Precision Macro Detection:** Supports an external macro lens (approx. 5cm working distance), allowing clear observation of tiny electronic components like 0402 packages on a PCB for rapid troubleshooting of thermal faults.
6. **All-Aluminum CNC Heat-Dissipating Chassis:** The precision CNC machining ensures structural integrity while providing **exceptional passive thermal dissipation**. This prevents thermal drift, ensuring temperature accuracy and system stability during prolonged high-load operation.
## Technical Specifications
| Item | Specification |
| --- | --- |
| Native Resolution | 256 × 192 @ 14-bit (Y14) |
| Super-Resolution Output | 640 × 480 (AI hardware-accelerated, 2.5×) |
| Temperature Range | -15°C to 150°C |
| Accuracy | ±2°C or ±2% of reading |
| Thermal Sensitivity (NETD) | < 50 mK @ 25°C |
| Frame Rate | 25 Hz |
| Field of View (FOV) | 56° × 42° |
| Display | 1.69-inch 240×280 capacitive touchscreen |
| Physical Interface | Type-C Male (Device) + Type-C Female (Host/Power) |
| Data Formats | Y16 (14-bit raw data), MJPEG (pseudo-color image) |
| Internal Storage | 32 MB Nand (for temporary snapshot storage) |
| Power Consumption | Standard USB 5V supply, low-power design |
| Housing Material | 6061 Aluminum Alloy, CNC Unibody |
## Typical Application Scenarios
- **Electronics R&D and Repair:** Perform high-precision inspections of PCB solder joints and electronic components using the standard-issue macro lens to rapidly locate hardware faults such as short circuits and current leakage.
- **Industrial Maintenance:** Routine inspection of motors, power distribution cabinets, and transformers to identify overheating hazards.
- **HVAC Inspection:** Detect building thermal leaks, underfloor heating pipe layouts, and insulation defects.
- **Scientific Research & Maker Projects:** Utilize raw Y16 data for in-depth thermal analysis or secondary development using open-source tools.
## Visual Illustrations
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
*Product Tri-view and Dimensions*
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
*AI Super-Resolution Comparison (Left: Native; Right: AI ISR Enhanced)*
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
*PCB-level Precision Macro Detection*
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
*Industrial Field Inspection Example*

View File

@@ -0,0 +1,95 @@
# Quick Start
*This section guides you through the initial power-on and basic connection of the T256s. For detailed functional descriptions, please refer to the [User Guide (UG)](UG.md).*
## Power Supply Instructions
The T256s **does not have a built-in battery**. You can power the device using any of the following methods:
- **Direct Phone Connection:** Plug the device directly into the Type-C port at the bottom of your smartphone (requires OTG power support).
- **External Power:** Connect to a power bank, USB wall adapter, or a PC USB port via the Type-C male or female connectors.
> [!IMPORTANT]
> **Power Requirements:** A stable 5V power supply is highly recommended. Insufficient power may lead to continuous reboots or screen flickering.
## Standalone Inspection Mode
Without connecting to a phone or computer, the T256s can function as an independent, portable thermal imager. Simply connect it to a power source to begin inspection.
**Startup Workflow:**
1. **Power On:** Connect power via the Type-C female port; the screen will immediately light up and display the boot logo.
2. **System Loading (Approx. 3-5s):** The system automatically initializes and loads the basic UI framework.
3. **Sensor Warm-up & Calibration (Approx. 5-10s):** The **infrared module** completes its initial calibration, and the screen begins displaying real-time thermal distribution images.
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
## UVC Online Mode
The T256s complies with the standard **UVC (USB Video Class)** protocol. On major operating systems (Windows, Linux, Android), the device is recognized as a driverless camera, eliminating the need for additional driver installations.
### Windows Connection
Connect the T256s to your PC via a USB data cable.
- **Device Recognition:** Open "Device Manager." Under the "Cameras" or "Imaging Devices" category, you should see a device named **"USB Camera"** or **"T256s Thermal Camera."**
- **Image Preview:** You can use the built-in Windows "Camera" app or third-party software such as OBS Studio, VLC, or PotPlayer.
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
### Linux / Raspberry Pi Recognition
In a Linux environment, the T256s is typically mapped to a `/dev/videoX` device.
- **Recommended Tools:** Use `guvcview`, `cheese`, or `ffmpeg` for testing.
- **Log Verification:** After plugging in the device, execute the `dmesg` command in the terminal to view recognition logs.
**Example Recognition Log (from actual device):**
```text
[102310.868452] usb 1-7.4.2: new high-speed USB device number 35 using xhci_hcd
[102310.966974] usb 1-7.4.2: New USB device found, idVendor=359f, idProduct=ffff, bcdDevice= 4.19
[102310.966980] usb 1-7.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[102310.966982] usb 1-7.4.2: Product: Thermal Camera (UVC)
[102310.966983] usb 1-7.4.2: Manufacturer: Sipeed Ltd.
[102310.966985] usb 1-7.4.2: SerialNumber: 0123456789
[102310.991815] uvcvideo 1-7.4.2:1.0: Found UVC 1.00 device Thermal Camera (UVC) (359f:ffff)
[102310.998891] usb-storage 1-7.4.2:1.2: USB Mass Storage device detected
[102310.999030] scsi host8: usb-storage 1-7.4.2:1.2
[102312.036627] scsi 8:0:0:0: Direct-Access Linux File-Stor Gadget 0419 PQ: 0 ANSI: 2
[102312.036788] sd 8:0:0:0: Attached scsi generic sg1 type 0
[102312.036980] sd 8:0:0:0: Power-on or device reset occurred
[102312.037313] sd 8:0:0:0: [sdb] 65536 512-byte logical blocks: (33.6 MB/32.0 MiB)
[102312.145478] sd 8:0:0:0: [sdb] Write Protect is off
[102312.145485] sd 8:0:0:0: [sdb] Mode Sense: 0f 00 00 00
[102312.255625] sd 8:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[102312.495980] sdb:
[102312.496065] sd 8:0:0:0: [sdb] Attached SCSI removable disk
[102313.464088] usb 1-7.4.2: USB disconnect, device number 35
[102313.493673] sd 8:0:0:0: [sdb] Synchronizing SCSI cache
[102313.493716] sd 8:0:0:0: [sdb] Synchronize Cache(10) failed: Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
[102315.740234] usb 1-7.4.2: new high-speed USB device number 36 using xhci_hcd
[102315.839493] usb 1-7.4.2: New USB device found, idVendor=359f, idProduct=ffff, bcdDevice= 4.19
[102315.839512] usb 1-7.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[102315.839520] usb 1-7.4.2: Product: Thermal Camera (UVC)
[102315.839526] usb 1-7.4.2: Manufacturer: Sipeed Ltd.
[102315.839530] usb 1-7.4.2: SerialNumber: 0123456789
[102315.864161] uvcvideo 1-7.4.2:1.0: Found UVC 1.00 device Thermal Camera (UVC) (359f:ffff)
[102315.871660] usb-storage 1-7.4.2:1.2: USB Mass Storage device detected
[102315.871856] scsi host8: usb-storage 1-7.4.2:1.2
[102316.899524] scsi 8:0:0:0: Direct-Access Linux File-Stor Gadget 0419 PQ: 0 ANSI: 2
[102316.899837] sd 8:0:0:0: Attached scsi generic sg1 type 0
[102316.899962] sd 8:0:0:0: Power-on or device reset occurred
[102316.900374] sd 8:0:0:0: [sdb] 65536 512-byte logical blocks: (33.6 MB/32.0 MiB)
[102317.010049] sd 8:0:0:0: [sdb] Write Protect is off
[102317.010070] sd 8:0:0:0: [sdb] Mode Sense: 0f 00 00 00
[102317.120036] sd 8:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[102317.350047] sdb:
[102317.350175] sd 8:0:0:0: [sdb] Attached SCSI removable disk
```
### Android Mobile Usage
- **Connection:** OTG-compatible phones can be directly connected via the bottom interface.
- **Software:** We recommend using apps that support the UVC protocol, such as **"USB Camera."**
- **Operation:** Upon insertion, the phone will typically prompt for permission. Tap "OK" to start the thermal image preview.
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
## Macro Lens Installation
To observe PCB components, gently attach the included macro lens to the front of the thermal imaging module.
- **Working Distance:** Approximately 5cm.
- **Effect:** Enables clear visualization of heat distribution on tiny components, such as **0402 surface-mount resistors**.

View File

@@ -0,0 +1,89 @@
# User Guide (T256s)
This guide introduces the hardware interfaces, local touch interactions, UVC data formats (MJPEG / Y16), and storage rules for the T256s. It is designed to help you quickly get started with the device for secondary development or thermal data analysis.
## Hardware Interface Description
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
- **Type-C Male (Device) Port:** Located at the bottom of the unit. Plug this directly into a smartphone for power and data transmission. If the phone does not recognize the device, ensure **OTG Power Supply** is enabled in the system settings.
- **Type-C Female (Host/Power) Port:** Located at the top of the unit. Used for connecting to a PC, power bank, or external power cable. This is ideal for long-term monitoring or communicating with PC-side host software.
- **Touchscreen:** A 1.69-inch capacitive touchscreen (240×280) for local interaction and real-time viewing. It offers responsive control and supports multi-touch (depending on firmware version).
- **Macro Lens (Optional):** Designed for observing small-scale components on PCBs. With a working distance of approximately **5cm**, it provides a clear heat distribution map for tiny components like 0402 packages.
Note: Avoid exposing the device to high humidity or strong electromagnetic interference. Prolonged operation in high-temperature environments may degrade temperature measurement accuracy.
## Local Touch Interaction (Standalone Mode)
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
When not connected to a host computer, the T256s functions as a standalone thermal imager. The screen supports the following operations:
- **Image Zoom:** Tap the center of the screen to toggle quickly between **1x and 2x zoom**.
- **Temperature Annotation:** The system automatically tracks and displays values for the **center point, maximum temperature (Hot Spot), and minimum temperature (Cold Spot)**. The interface defaults to Celsius (°C). A 2-minute warm-up is recommended for optimal accuracy.
- **Pseudo-color (Palette) Switching:** Tap the color block icon in the upper-right corner to cycle through **8 built-in palettes** (e.g., White Hot, Ironbow, Rainbow, etc.). Different palettes suit different scenarios; for instance, "White Hot" is often better for identifying subtle temperature gradients.
- **Quick Capture:** Tap the camera icon on the right-middle of the screen. The current frame will be saved to internal storage. A confirmation prompt will appear upon a successful save.
- **Gallery Preview:** Tap the gallery icon in the lower-right corner. Swipe left or right to browse photos, or use the delete button to manage storage space.
TODO: Step-by-Step Visual Guide / Illustrations
## UVC Data Formats & Parsing Theory
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
The T256s is UVC-compliant and supports two primary video stream outputs. Choose the appropriate format based on your development needs.
### MJPEG Format (Preview & Display)
- **Purpose:** Standard video preview. Compatible with OBS, VLC, or the native Windows Camera app.
- **Features:** The image is processed with **on-device AI Super-Resolution (ISR)** for enhanced detail and has the built-in pseudo-color (CMAP) applied. The output resolution is typically **640×480**, balancing clarity and fluid frame rates.
- **Use Cases:** General inspection, remote monitoring, and real-time hotspot observation.
- **Limitation:** Since the image is converted to a colorized preview, you cannot extract precise temperature values directly from this stream. It is intended for visual representation only.
### Y16 Format (Measurement & Analysis)
- **Purpose:** Essential for precision thermography or developing custom host software. It contains the **raw 14-bit pixel data** from the sensor.
- **Features:** Outputs a raw grayscale stream representing the infrared energy intensity captured by the detector. Each frame contains complete thermal information.
- **Conversion Logic:** To map raw values to temperature, use the following formula. Ensure the device has reached **thermal equilibrium** (approx. 2 minutes) for accurate readings.
- **Formula:** $Celsius = (raw\_value / 64.0) - 273.15$
- **Example:** If the raw value is 22700, the temperature is $\approx 22700 / 64.0 - 273.15 = 81.53$ °C.
- **Note:** Pixel values in the MJPEG stream are processed and **cannot** be used with this formula. Use the Y16 raw stream for any quantitative analysis.
## Storage & File Access
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
The T256s features 32 MB of internal storage. When connected to a computer via a USB cable, the device mounts as a standard Mass Storage Class (MSC) device, allowing you to access it just like a typical flash drive. Image files are generally located in the `/DCIM/` or `/Gallery/` directories. If the drive is not recognized, please try using a different data cable or USB port.
Photo Naming Conventions:
- **Filename Metadata:** Each snapshot includes a temperature summary within its filename, following the format: `P[Index]_T[Center]_L[Min]_H[Max].jpg`.
- **Example:** `P001_T32.5_L28.2_H45.6.jpg`. This indicates that in the first captured image, the center temperature is 32.5°C, the minimum is 28.2°C, and the maximum is 45.6°C.
## Macro Lens Usage Tips
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
1. Gently attach the macro lens to the front of the infrared module. The module is high-precision and fragile; **do not apply excessive pressure** or scratch the lens.
2. Maintain a subject distance of approximately **5cm**. Fine-tune the focus by slightly moving the device forward or backward. Note that macro lenses have a very shallow depth of field.
3. At macro scales, local temperature gradients are magnified. Environmental fluctuations (like airflow or hand heat) can interfere with readings. Use in a draft-free indoor environment for best results.
## Advanced: Y16 Data Parsing Example (Python)
This example demonstrates how to read pixels from a Y16 stream or raw file and convert them to Celsius.
```python
import numpy as np
# Assume raw_array is the 14-bit raw pixel array (uint16) captured from the sensor.
def raw_to_celsius(raw_array):
# Convert raw 14-bit pixels (uint16) to float and apply formula
celsius = raw_array.astype(np.float32) / 64.0 - 273.15
return celsius
# Example: Read a 256x192 raw data frame from a file
raw_data = np.fromfile('frame.raw', dtype=np.uint16).reshape((192, 256))
temp_map = raw_to_celsius(raw_data)
print(f"Center Point Temperature: {temp_map[96, 128]:.2f} °C")
```
Note: Methods for capturing the Y16 stream depend on your platform (e.g., OpenCV, libuvc, or GStreamer).*
## General Precautions
- **Warm-up:** Allow the device to reach thermal equilibrium (approx. 2 minutes) to minimize **thermal drift**.
- **Emissivity:** When measuring low-emissivity objects (like shiny metals), apply electrical tape or matte black paint to the surface. This increases the infrared radiation received by the detector, ensuring accurate data.
- **Resource Conflict:** UVC devices generally do not support multiple simultaneous connections. Ensure only one application is accessing the camera at a time.

View File

@@ -16,6 +16,44 @@ update:
In addition to implementing KVM functionality, NanoKVM has opened up some data for secondary development by users. This document describes the purpose of this data and the considerations for development.
## Customizing Logo
> Note: This feature is supported in NanoKVM application versions `v2.3.6` and above.
NanoKVM supports custom logo display, which can be shown simultaneously on the OLED screen and the Web management interface. The OLED screen displays low-resolution monochrome binary images, while the Web interface displays high-resolution color images.
### Step 1: Generate Logo File
![](../../../assets/NanoKVM/guide/logo1.png)
1. Download the [Logo Generation Python Script](https://github.com/sipeed/NanoKVM/tree/main/tools/logo_generator)
2. Install dependencies:
```bash
pip install Pillow numpy textual
```
3. Prepare a logo image that is close to square and obtain its file path
4. Execute the script to generate the logo file:
```bash
python logo_generator.py /path/to/your_logo.png
```
5. Select the display language (currently only Chinese and English are supported)
6. The terminal interface will display the OLED simulation effect. Adjust the contrast to achieve the desired display effect
7. Fine-tune: Click "Invert" to generate a white-background logo, or click "Pixel" to control individual pixel states
8. Click the "Export" button to generate `logo.bin` and `logo.ico` files in the current directory; click "Exit" after completion
### Step 2: Upload Logo File
1. Upload the `logo.bin` and `logo.ico` files to the `/boot` directory of NanoKVM:
- Using SCP command:
```bash
scp logo.bin logo.ico root@xxx.xxx.xxx.xxx:/boot
```
The default login password is `root`. If you have modified the Web management interface password, please use the modified password for authentication.
- Alternatively, via TF card: Copy the files to the `boot` partition of the TF card, and NanoKVM will automatically read them during boot
2. Reboot the NanoKVM device for the changes to take effect
![](../../../assets/NanoKVM/guide/logo2.jpg)
## Obtaining Streaming Related Data
Streaming and image parameters are located in the `/kvmapp/kvm` folder.

View File

@@ -123,7 +123,7 @@ You can manage the device remotely from any machine with an IPMI client (like `i
- `-U`: Username (default: admin)
- `-P`: Password (default: admin)
- `-I`: Interface type (use `lanplus` for IPMI 2.0)
- `-C`: Cipher Suite. **It it recommended to use `-C 3`** to skip the long protocol negotiation process.
- `-C`: Cipher Suite. **It is recommended to use `-C 3`** to skip the long protocol negotiation process.
### Supported Command List

View File

@@ -39,9 +39,9 @@ Purchase instructions:
##Assemble the board
## Assemble the board
###SOM installation
### SOM installation
By default, LM3A SOM is already installed on the motherboard. If you need to upgrade/replace SOM, you can follow the instructions below to remove and install SOM

View File

@@ -67,7 +67,7 @@ Wait for the device to restart and enter fastboot mode:
1. Run the flash all script and wait for the flashing to complete;
2. When running flash all. sh on a Linux PC, be sure to grant executable permissions first; Run flash all. bat on Windows PC;
3. After flashing the device, simply power it on again to enter the system.
##Burn TF card
## Burn TF card
The firmware ending in img.zip is the sdcard firmware. After decompression, it can be written to the sdcard using the dd command or balenaEtcher. Please note that this firmware is not compatible with eMMC.
**Steps**
1. Write the firmware to the sdcard;

View File

@@ -1168,7 +1168,7 @@ At this point, the HHB environment is preliminarily built. You can try the follo
[Mobilenetv2 for image classification](https://wiki.sipeed.com/hardware/eh/lichee/th1520/lpi4a/8_application.html#MobilenertV2)
[YOLOv5 for object detection](https://wiki.sipeed.com/hardware/eh/lichee/th1520/lpi4a/8_application.html#Yolov5n)
For further infomation please check [hhb-tools doc](https://www.yuque.com/za4k4z).
For further information please check [hhb-tools doc](https://www.yuque.com/za4k4z).
## Other
Contributions are welcome~ You can get ¥5~150 ($1~20) coupon if your contribution is accepted!

View File

@@ -258,7 +258,7 @@ sudo tar -vxf build/rootfs_debian_gui.tar -C /tmp/rootfs/
sync
sudo umount /tmp/rootfs
sudo umount /tmp/kernel
sudo losetup -d /dev/loop23 # 删除 kernel 分区对应的循环设备
sudo losetup -d /dev/loop23 # 删除 kernel 分区对应的循环设备
sudo losetup -d /dev/loop24 # 删除 rootfs 分区对应的循环设备
sudo losetup -d /dev/loop3 # 删除 img 文件对应的循环设备
```

View File

@@ -900,7 +900,7 @@ Burn the compiled firmware into M1s Dock.
![udisk_burn](./../../../../zh/maix/m1s/other/assets/start/udisk_burn.gif)
Form the source code of `main.c` in tom_and_jerry_classification_demo we can see that the ai model file is the the models folder in the Flash, and the ai model file name is `tj.blai`.
Form the source code of `main.c` in tom_and_jerry_classification_demo we can see that the ai model file is the models folder in the Flash, and the ai model file name is `tj.blai`.
![tom_jerry_source_code](./../../../../zh/maix/m1s/other/assets/start/tom_jerry_source_code.jpg)

View File

@@ -117,7 +117,7 @@ SPMOD_TOF(TOF module) uses VL53L0X .
print(mm)
```
## Runtime enviroments
## Runtime environments
| Language | Boards | SDK/firmware version |
| :------: | :------: | :----------------------------: |

View File

@@ -138,7 +138,7 @@ Community Documents:
- [Deploy yolov8 on Axera-Pi](https://www.yuque.com/prophetmu/chenmumu/pd3sdkb8z4vvvgai)
- [[m3axpi] YOLOv5 Train and deploy model](https://github.com/Abandon-ht/m3axpi_model/blob/main/yolov5/README_zh-CN.md)
- [[m3axpi] YOLOv8 Train and deploy model](https://github.com/Abandon-ht/m3axpi_model/blob/main/yolov8/README_zh-CN.md)
- [Prepare AX620A development enviroment on ubuntu22.04](https://blog.csdn.net/flamebox/article/details/127103964)
- [Prepare AX620A development environment on ubuntu22.04](https://blog.csdn.net/flamebox/article/details/127103964)
- [Train and deploy yolo5s on Axera-Pi](https://blog.csdn.net/flamebox/article/details/127249243)
- [[AXPI] Use RNDIS on m1/m2 MAC](https://zhuanlan.zhihu.com/p/593627641)
- [Kaldi - Real-time speech recognition on embedded device](https://mp.weixin.qq.com/s/r4nGu04o1sjdFZt_vYbUAA)

View File

@@ -322,7 +322,7 @@ sudo apt install gcc gparted
### Reboot/Shutdown device
For Linux we suggest rebooting or shutting down the device by command line instead of disconnecting the USB cable or clicking the reset key, which may destory the file system.
For Linux we suggest rebooting or shutting down the device by command line instead of disconnecting the USB cable or clicking the reset key, which may destroy the file system.
Run command `reboot` to restart device.

View File

@@ -36,6 +36,7 @@ And there is another model called [MaixCAM-Pro](./maixcam_pro.md).
| Component | Description |
|--------------------|-------------|
| CPU | SOPHGO SG2002 |
| CPU Big Core | 1GHz RISC-V C906 (plus an optional 1GHz ARM A53 for Linux) |
| CPU Small Core | 700MHz RISC-V C906 running RTOS |
| Low-Power Core | 25~300MHz 8051 for low-power applications |
@@ -68,6 +69,11 @@ MaixCAM offers more than just hardware. It comes with a complete software ecosys
| [App Store](https://maixhub.com/app) | Download tools and applications, or upload your own | Refer to [App Store](https://maixhub.com/app) |
| [Share Center](https://maixhub.com/share) | A space for developers to share projects and experiences | Refer to [Share center](https://maixhub.com/share) |
## Quick Start Guide
- [Quick Start MaixCAM](https://wiki.sipeed.com/maixpy/doc/en/README_MaixCAM.html)
- [Quick Start MaixCAM(Screenless Version)](https://wiki.sipeed.com/maixpy/doc/en/README_no_screen.html)
## MaixCAM Documentation
### Official Resources (by Sipeed)

View File

@@ -173,6 +173,7 @@ Bold items are upgrades compared to MaixCAM / MaixCAM-Pro (first generation).
| Component | Description |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| CPU (Big Cores) | Axera AX630C |
| CPU (Big Cores) | **1.2GHz A53 x2, runs Linux (Ubuntu)** |
| CPU (Small Core) | RISC-V 32bit E907, runs RTT |
| NPU | **12.8Tops@INT4 / 3.2TOPS@INT8**, supports convolution and **Transformer models** such as YOLO/**LLM/VLM**, **YOLO11n 640x640 reaches up to 113FPS** |
@@ -210,6 +211,9 @@ We dont just provide hardware — MaixCAM2 comes with a complete software eco
| [Sharing Hub](https://maixhub.com/share) | A community for developers to share experiences and projects | See [MaixHub Sharing Hub](https://maixhub.com/share) |
| [Local Large Models](https://wiki.sipeed.com/maixpy/doc/zh/mllm/basic.html) | Running Offline Large Models Locally | See [Large Model User Guide](https://wiki.sipeed.com/maixpy/doc/zh/mllm/basic.html) |
## Quick Start Guide
- [Quick Start MaixCAM2](https://wiki.sipeed.com/maixpy/doc/en/README_MaixCAM2.html)
## Resources
### MaixCAM Exclusive Resources (Provided by Sipeed)

View File

@@ -114,11 +114,7 @@ If problems persist, or the system wont boot after flashing, try `rufus` or `
> `Etcher`may occurs `Missing partition table` `not a bootable image ...` warning, it's normall for `MaixCAM2`, just click `Continue` to continue.
* Load the system image you downloaded and extract it. Make sure youre loading the right one. Its usually named `maixcam2-2025-09-01-maixpy-v4.11.9.img`.
* Enter USB/TF upgrade mode:
* Method 1: Plug one end of USB into the PC, then within `1 second` of connecting to the board, press and hold `boot/Func`. Release after `3 seconds`.
* Method 2: Power off, connect USB, power on, then within `1 second` press and hold `boot/Func`. Release after `3 seconds`.
* Enter USB/TF upgrade mode: First, Power off, connect USB, power on, then within `1 second` press and hold `boot/Func`. Release after `3 seconds`.
> Dont hold the button before power-on—this enters AXDL mode, which takes at least 10 seconds. Too slow.
* After a few seconds, youll see a virtual U-disk appear. The blue LED flashes in a `off-on-on` pattern.
* Click the softwares Flash button to begin. The blue LED flashes `0.5s on / 0.5s off`.
@@ -134,14 +130,14 @@ This is similar to USB flashing but often faster (depending on TF card speed, e.
#### Preparing a TF Upgrade Card
* Insert the TF card into your PC using a card reader.
* Format the TF card as `exFAT` or `ext4` (not `FAT32`). Make sure to partition the TF card.
* Format the TF card as `exFAT` or `ext4` (not `FAT32`).
* Copy the xxx.img file to the first partition of the TF card. If you have previously copied other `.img` files, you need to delete the old image files.
* Safely eject the card to ensure data is fully written.
* Power off the MaixCAM2, then insert the TF card into the MaixCAM2.
* Power on the MaixCAM2, and within `1 second`, press and hold the `boot/Func` button.
* The board will auto-detect and flash the system. Blue LED flashes `0.5s on / 0.5s off`.
> If it doesnt, check previous steps.
* When complete, the LED stays solid on. Fast flashing (`0.3s on / 0.3s off`) indicates failure. Do not power offuse Method 2 (USB) to recover. If powered off and still failing, use AXDL to restore the boot partition.
* Flashing takes ~3 mins. When complete, the LED stays solid on. Fast flashing (`0.3s on / 0.3s off`) indicates failure. Do not power offuse Method 2 (USB) to recover. If powered off and still failing, use AXDL to restore the boot partition.
* Reboot to enter the new system. As before, wait for the first boot to finish before shutting down.
## Booting System via TF Card

View File

@@ -37,6 +37,7 @@ MaixCAM is a hardware product designed for the rapid implementation of AI vision
| Component | Description |
| --- | --- |
| CPU | SOPHGO SG2002 |
| CPU Main Core | 1GHz RISC-V C906 processor (plus an optional 1GHz ARM A53 core), running Linux |
| CPU Small Core | 700MHz RISC-V C906, running RTOS |
| CPU Low Power Core | 25~300MHz 8051 processor for low-power applications |
@@ -74,6 +75,8 @@ We don't just provide hardware; MaixCAM comes with a complete software ecosystem
| [App Store](https://maixhub.com/app) | Provides various applications and tools for direct download and use, allowing developers to share their apps | Visit [MaixHub App Store](https://maixhub.com/app) |
| [Community Plaza](https://maixhub.com/share) | Developers share their projects and experiences | Visit [MaixHub Community Plaza](https://maixhub.com/share) |
## Quick Start Guide
- [Quick Start MaixCAM](https://wiki.sipeed.com/maixpy/doc/en/README_MaixCAM.html)
## Resource Summary

View File

@@ -53,7 +53,7 @@ Here tells the functions of each widgets.
- **TemporalFilteralpha** slide bar, set the time for Temporal filtering. Adjust it moderate, can be tested by yourself.
- **SpatialFilterType** drop-down bar, set the Spatial filtering algorithm, provides Gaussian filtering and Bilateral filtering. Bilateral filtering requires high performance, not recommended.
- **SpatialFilterSize** slide bar, set the range for Spatial Filter. Adjust it moderate, can be tested by yourself.
- **FlyingPointFilter** checkbox, control the flying point filter. Set the the following FlyingPointThreshold value as the filtering threshold, those that exceed the threshold will be filtered out. Set it moderate, otherwise the validation points will be filtered out.
- **FlyingPointFilter** checkbox, control the flying point filter. Set the following FlyingPointThreshold value as the filtering threshold, those that exceed the threshold will be filtered out. Set it moderate, otherwise the validation points will be filtered out.
### Save data
@@ -134,7 +134,7 @@ To begin this, install ROS on your computer first.
**1. Preparation**
Prepare a Linux enviroment for ROS.
Prepare a Linux environment for ROS.
**2. Install and RUN**
@@ -166,7 +166,7 @@ in this way it displays point cloud normally. According to the added content, th
**1. Preparation**
Prepare a Linux enviroment for ROS.
Prepare a Linux environment for ROS.
**2. Install and RUN**

View File

@@ -490,6 +490,18 @@ items:
file: logic_analyzer/slogic16u3/Software_User_Guide.md
- label: FAQ
file: logic_analyzer/slogic16u3/FAQ.md
- label: ThermalCam
items:
- label: Sipeed T256s
items:
- label: Introduction
file: ThermalCam/T256s/Intro.md
- label: Quick Start
file: ThermalCam/T256s/QS.md
- label: User Guide
file: ThermalCam/T256s/UG.md
- label: FAQ
file: ThermalCam/T256s/FAQ.md
- label: KVM
items:
- label: NanoKVM Cube

View File

@@ -30,7 +30,7 @@ The following picture shows the screenshot about this LCD timing.
![](./../../../../zh/tang/assets/examples/lcd_pjt_3.png)
The first picture form shows parameters of the screen and the the following picture is its timing.
The first picture form shows parameters of the screen and the following picture is its timing.
From its timing picture, we can know we don't need to set front porch time and back porch time, we just need to set blanking time.

View File

@@ -30,7 +30,7 @@ The following picture shows the screenshot about this LCD timing.
![](./../../../../zh/tang/assets/examples/lcd_pjt_3.png)
The first picture form shows parameters of the screen and the the following picture is its timing.
The first picture form shows parameters of the screen and the following picture is its timing.
From its timing picture, we can know we don't need to set front porch time and back porch time, we just need to set blanking time.

View File

@@ -30,7 +30,7 @@ The following picture shows the screenshot about this LCD timing.
![](./../../../../zh/tang/assets/examples/lcd_pjt_3.png)
The first picture form shows parameters of the screen and the the following picture is its timing.
The first picture form shows parameters of the screen and the following picture is its timing.
From its timing picture, we can know we don't need to set front porch time and back porch time, we just need to set blanking time.

View File

@@ -64,7 +64,7 @@ index 0:
```
Flash the bitstream to the device as shown below. The board name must be specified after the `-b` option, `-f` options means the file is programmed to the non-volatile flash, without it it will be stored in SRAM but lost if the device loses power.
Flash the bitstream to the device as shown below. The board name must be specified after the `-b` option, `-f` options means the file is programmed to the non-volatile flash, without it the bitstream will be stored in SRAM but lost if the device loses power.
```bash
$ sudo ./openFPGALoader -b tangnano9k -f ../../nano9k_lcd/impl/pnr/Tang_nano_9K_LCD.fs

View File

@@ -177,9 +177,9 @@ TBD
| USB3 | 1 | CH569 16bit HSPI, SuperSpeed @ 5Gbps |
| Ethernet | 1 | 1000Mbps Ethernet |
| DVI(HDMI) | 1 | DVI supports both RX and TX |
| PMOD | 2 | Multiplexed with the the DVP CONN. & 2x20P header at the top of the Dock board |
| PMOD | 2 | Multiplexed with the DVP CONN. & 2x20P header at the top of the Dock board |
| ADC | 2 | 2x differential input channels |
| DVP Interface | 1 | Multiplexed with the the PMOD & 2x20P header at the top of the Dock board |
| DVP Interface | 1 | Multiplexed with the PMOD & 2x20P header at the top of the Dock board |
| RGB Interface | 1 | Supports RGB888 screen |
| MIC ARRAY Interface | 1 | Supports Sipeed 6+1 microphone array |
| SD Slot | 1 | 1-bit SDIO/MMC or SPI mode |
@@ -189,7 +189,7 @@ TBD
| 3.5mm Headphone CONN.| 1 | Supports stereo output, without Mic |
| MS5351 | 1 | Provides RefClk for Serdes; control output via onboard UART |
| USB JTAG & UART | 1 | Supports FPGA programming and provides UART function |
| 2x20P headers | 2 | 2x20P header at the top of the Dock board multiplexed with the the PMOD & DVP CONN. |
| 2x20P headers | 2 | 2x20P header at the top of the Dock board multiplexed with the PMOD & DVP CONN. |
| Power button | 1 | **Press and hold for 2 seconds to toggle power state** |
| 12V DC | 1 | DC5521 |

View File

@@ -193,9 +193,9 @@ TBD
| USB3 | 1 | CH569 16bit HSPI, SuperSpeed @ 5Gbps |
| Ethernet | 1 | 1000Mbps Ethernet |
| DVI(HDMI) | 1 | DVI supports both RX and TX |
| PMOD | 2 | Multiplexed with the the DVP CONN. & 2x20P header at the top of the Dock board |
| PMOD | 2 | Multiplexed with the DVP CONN. & 2x20P header at the top of the Dock board |
| ADC | 2 | 2x differential input channels |
| DVP Interface | 1 | Multiplexed with the the PMOD & 2x20P header at the top of the Dock board |
| DVP Interface | 1 | Multiplexed with the PMOD & 2x20P header at the top of the Dock board |
| RGB Interface | 1 | Supports RGB888 screen |
| MIC ARRAY Interface | 1 | Supports Sipeed 6+1 microphone array |
| SD Slot | 1 | 1-bit SDIO/MMC or SPI mode |
@@ -205,7 +205,7 @@ TBD
| 3.5mm Headphone CONN.| 1 | Supports stereo output, without Mic |
| MS5351 | 1 | Provides RefClk for Serdes; control output via onboard UART |
| USB JTAG & UART | 1 | Supports FPGA programming and provides UART function |
| 2x20P headers | 2 | 2x20P header at the top of the Dock board multiplexed with the the PMOD & DVP CONN. |
| 2x20P headers | 2 | 2x20P header at the top of the Dock board multiplexed with the PMOD & DVP CONN. |
| Power button | 1 | **Press and hold for 2 seconds to toggle power state** |
| 12V DC | 1 | DC5521 |

View File

@@ -229,7 +229,7 @@ int main ()
3. 单片机驱动一直为i2c驱动
==========================
一般情况下使用ssb1307fb这个驱动就很完美了我在发现ssd1307fb这个驱动程序之前我将显示屏厂家提供的stm8
一般情况下使用ssb1307fb这个驱动就很完美了我在发现ssd1307fb这个驱动程序之前我将显示屏厂家提供的stm8
i2c测试代码移植到了linux上实现了一个驱动加载驱动后效果如下
![](https://box.kancloud.cn/0bff0424a51d86f32442b91c374174d1_703x631.jpg)

View File

@@ -229,7 +229,7 @@ int main ()
3. 单片机驱动一直为i2c驱动
==========================
一般情况下使用ssb1307fb这个驱动就很完美了我在发现ssd1307fb这个驱动程序之前我将显示屏厂家提供的stm8
一般情况下使用ssb1307fb这个驱动就很完美了我在发现ssd1307fb这个驱动程序之前我将显示屏厂家提供的stm8
i2c测试代码移植到了linux上实现了一个驱动加载驱动后效果如下
![](https://box.kancloud.cn/0bff0424a51d86f32442b91c374174d1_703x631.jpg)

View File

@@ -0,0 +1,83 @@
# 常见问题 (FAQ)
本文汇总了用户在使用 T256s 过程中遇到的常见问题与排查方法,涵盖供电启动、显示成像、测温精度及软件更新等场景。
## 供电与启动
### Q: 插入手机或电脑后屏幕循环重启、黑屏或画面闪烁?
A: 这种情况通常由供电不足引起。
- T256s 开启 AI 超分功能时,内部算力核满载运行,对电流稳定性要求较高。
- 某些手机的 OTG 供电能力有限,或使用了线阻较大的劣质数据线,会导致瞬时电压跌落从而触发设备重启。
- **建议:** 更换高质量的标配 Type-C 数据线,优先尝试连接电脑后置 USB 3.0 接口或使用大功率移动电源供电。若在手机上使用,请确认手机电量充足且未开启省电模式。
### Q: 设备连接手机后完全没反应?
A: 请按以下步骤排查:
1. **开启 OTG** 部分手机(如 OPPO、vivo、一加等需手动在系统设置中开启“OTG 供电”功能,且 10 分钟不使用会自动关闭。
2. **权限授权:** 插入设备后,手机应弹出“允许应用访问 USB 设备”的提示,请勾选“始终允许”。
3. **UVC 支持:** 确保手机系统版本在 Android 9.0 以上,并使用支持 UVC 的 APP如 Sipeed 官方配套软件)。
4. **排除法:** 换一台电脑或其他手机测试,确认是否为特定移动终端的兼容性问题。
## 显示与图像
### Q: 画面卡顿并伴随轻微的“咔哒”声?
A: 这是热像仪的**挡片校准NUC**现象。红外模组会定期闭合内部挡片进行非均匀性校准,以补偿传感器随温度变化产生的漂移。校准时画面会瞬时静止,属于正常工作机制。
### Q: 打开 APP 后显示“无信号”或黑屏,没有红外画面?
A: 请检查连接状态。若连接正常但仍无画面,可能是模组未成功启动或驱动占用。请尝试重新插拔设备。若画面持续出现如下提示,请联系技术支持:
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
### Q: 画面噪点明显,或者超分后的细节不够清晰?
A: AI 超分效果受环境与目标特性影响:
- **环境温度:** 若环境温度过高(如超过 40℃热噪声会显著增加影响成像纯净度。建议在 15~35℃ 环境下使用。
- **预热:** 设备刚通电时热灵敏度未达最佳,建议运行 2-5 分钟达到热平衡后再观察。
- **对比度:** 目标与环境温差越小,噪点相对越明显。
## 超分SR边界条件
### Q: 为什么有些场景下超分效果特别明显,有些场景则不明显?
A: AI 超分ISR算法基于深度学习增强边缘细节。其表现取决于场景特征
- **优势场景:** 具有明显边缘、线条或复杂纹理的目标(如 PCB 上的走线、电子元器件轮廓、机械零件边缘、文字等)。在这些场景下,超分能显著锐化边缘,减少马赛克感。
- **局限场景:** 大面积温度均匀且缺乏纹理的平面(如平整的白墙、光滑的均热板、天空等)。由于缺乏特征,算法增强空间有限,此时视觉提升感较弱。
- **建议:** 观察超分效果时,请对准具有丰富温度梯度或几何结构的目标。
## 测温精度
### Q: Y16 原始数据如何转换为摄氏度?
A: 转换公式为:`Celsius = (Y16_Value / 64.0) - 273.15`。请注意,获取精确温度的前提是设备已达到热平衡(通电约 2 分钟后)。
### Q: 测温数值与实际温度有偏差,可能是什么原因?
A: 红外测温精度受多种物理因素干扰:
1. **微距镜头:** 直接影响。直接对红外线的收发造成不定影响,导致一定误差出现。
2. **发射率Emissivity** 关键因素。不同材质对红外线的辐射能力不同。金属光亮表面(如铝箔、不锈钢)发射率极低,直接测量会得到错误的反射温度。建议在被测金属表面贴上电工胶带或喷涂黑色哑光漆后再测量。
3. **测量距离:** 随着距离增加,单个像素覆盖的实际面积变大,会导致“尺寸源效应”。精确测温建议在 0.2m - 1.0m 范围内,若需微距测温请配合专用微距镜头。
4. **环境反射:** 周围存在高温物体(如阳光、烙铁)时,其辐射可能通过被测物体表面反射进传感器,导致读数偏高。
5. **大气修正:** 远距离测量时空气中的水蒸气和二氧化碳会吸收红外能量需在专业软件中设置补偿T256s 主要定位近场分析,大气影响相对较小)。
## 软件与固件更新
### Q: 在预览软件中识别到了设备,但无法打开视频流?
A: 1. 确认没有其他占用 UVC 摄像头的程序运行2. 尝试手动切换分辨率为 640x4803. 检查系统驱动是否识别为“T256s”或“USB Camera”。
### Q: 如何更新固件以获得更强的 AI 能力?
A: T256s 支持通过 PC 端的固件升级工具进行 OTA 更新。请前往 Sipeed 下载站获取最新的固件包与刷机工具。升级过程中请勿断电。若升级失败导致无法开机(停留在 Logo 界面),请参考官方恢复教程进行“盲刷”恢复。
## 其他常见问题
### Q: 设备发热严重,是否正常?
A: T256s 内部集成了高算力 AI 处理芯片,工作时产生一定热量属正常现象。外壳设计兼顾了散热功能。建议在通风良好的环境使用,避免长时间放置在密闭高温空间内。
### Q: 可以配合 Linux 或树莓派使用吗?
A: 可以。T256s 遵循标准 UVC 协议,支持 LinuxV4L2。在 Ubuntu/树莓派上可直接使用 `cheese``guvcview` 或 OpenCV 进行调用。请使用root用户运行。设备 VID/PID 通常为 `359f:ffff`

View File

@@ -0,0 +1,55 @@
# T256s 红外热成像:轻量即插,智能超分
Sipeed T256s 是专为开发者与现场工程师设计的高效便携热成像测温终端。它集成了 256×192 分辨率的长波红外LWIR模组并结合本地 AI 加速的超分算法AI ISR能够在设备本地将热成像画面提升至近似 640×480 的视觉效果。该技术增强了边缘细节与纹理可见性,显著提升了微小热点的定位精度。机身采用 CNC 铝合金一体化加工工艺,配备 1.69 英寸电容触控屏、双 Type-C 接口并支持可选微距镜头,支持即插即用的 UVC 输出(提供 Y16 与 MJPEG 两种模式)。
## 产品概述
T256s 的设计围绕“便携、清晰、易用”三个核心要素适用于电子研发与维修、工业运维巡检、暖通空调HVAC诊断以及科研教学等场景。其主要亮点包括本地 AI 硬件超分、标准 UVC 协议兼容、独立触控操作、灵活的双 Type-C 供电设计、精密微距探测能力以及高效散热的 CNC 铝合金外壳。
## 核心特性
1. **AI 硬件本地超分 (ISR)**:内置 NPU 硬件加速器,默认开启 2.5 倍超分效果。通过深度学习模型在边缘端实时提升热成像清晰度,相比传统插值算法能有效抑制图像噪声。
2. **UVC 即插即用**:支持标准 UVC 协议,提供 Y1614位原始温度数据和 MJPEG彩色图像两种输出格式。无需专用驱动兼容主流操作系统和视频预览软件。
3. **独立触控终端**:配备 1.69 英寸电容触摸屏,支持数字缩放、多点测温、伪彩切换、拍照记录及图库浏览。断开上位机后,仅需外部供电即可作为独立测温仪使用。
4. **双 Type-C 灵活连接**:采用公口(连接主机)与母口(支持外部供电或串联设备)的双接口设计,满足多样化的应用场景需求。
5. **精密微距探测**:支持外接微距镜头(约 5 厘米工作距离),能够清晰观测 PCB 上的 0402 等微小电子元件,快速排查发热故障。
6. **全铝 CNC 散热机身**:精密的 CNC 加工工艺确保了结构的坚固性,同时提供了出色的被动散热性能,保障长时间工作下的测温精度与系统稳定性。
## 技术规格
| 项目 | 规格 |
| :--- | :--- |
| 原生分辨率 | 256 × 192 @ 14bit (Y14) |
| 超分输出 | 640 × 480AI 硬件本地加速6倍像素数 |
| 测温范围(自适应) | -15 ℃ ~ 150 ℃(高精度) </br> &nbsp50 ℃ ~ 500 ℃(宽动态) |
| 测温精度 | ±2℃ 或读数的 ±2% |
| 温差灵敏度 (NETD) | < 50 mK @ 25 |
| 帧率 | 25 Hz |
| 视场角 (FOV) | 56° × 42° |
| 显示屏 | 1.69 英寸 240×280 电容触控屏 |
| 物理接口 | Type-C 公口 (Device) + Type-C 母口 (Host/Power) |
| 数据格式 | Y1614位原始温度数据)、MJPEG伪彩图像 |
| 机身存储 | 32 MB Nand用于临时存储热像快照 |
| 供电与功耗 | 标准 USB 5V 供电采用低功耗设计 |
| 外壳材质 | 6061 铝合金 CNC 一体成型 |
## 典型应用场景
- **电子研发与维修**精细检测合理使用标配的微距镜头 PCB 焊点与电子元器件发热情况快速定位短路漏电等硬件故障
- **工业设备运维**日常巡检电机配电柜变压器等关键部件识别过热隐患
- **暖通 (HVAC) 巡检**查找建筑热漏点地暖管线排布及绝缘层缺陷
- **科研与创客项目**利用 Y16 原始数据进行深度热分析或结合开源工具进行二次开发
## 视觉示意
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
*产品三视图与尺寸标注*
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
*AI 超分效果对比原生分辨率AI 超分增强)*
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
*PCB 级精密微距检测实拍*
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
*工业现场应用巡检示例*

View File

@@ -0,0 +1,95 @@
# 快速上手
*本章节引导您完成 T256s 的初次上电与基本连接。更详细的功能说明请参考 [使用指南 (UG)](UG.md)。*
## 供电说明
T256s **不内置电池**。您可以采用以下任一方式供电:
- **直插手机**:直接插入手机底部 Type-C 接口(需手机支持 OTG 供电)。
- **外部供电**:通过 Type-C 公、母口连接充电宝、USB 适配器或电脑 USB 接口。
> [!IMPORTANT]
> **电源要求**:建议使用稳定的 5V 电源。若供电能力不足,可能会导致设备反复重启或屏幕闪烁。
## 单机巡检模式
在不连接手机或电脑的情况下T256s 可作为一台独立的便携式热像仪使用。只需接入电源,即可开始巡检工作。
**启动流程**
1. **上电开机**:通过 Type-C 母口接入电源,屏幕会立即点亮并显示开机 Logo。
2. **系统加载** (约 3-5 秒):系统自动进行初始化,加载基础 UI 框架。
3. **传感器预热与校准** (约 5-10 秒)**红外模组**完成初始化校准,屏幕开始实时显示温度分布图像。
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
## UVC 联机模式
T256s 符合标准 UVC (USB Video Class) 协议。在主流操作系统Windows、Linux、Android设备会被识别为免驱摄像头无需额外安装额外的驱动程序。
### Windows 连接
将 T256s 通过 USB 数据线连接至 PC。
- **设备识别**:打开“设备管理器”,在“照相机”或“图像设备”分类下,您会看到名为 "USB Camera" 或 "T256s Thermal Camera" 的设备。
- **画面预览**:可以使用 Windows 自带的“相机”应用,或者 OBS Studio、VLC、PotPlayer 等第三方软件。
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
### Linux / Raspberry Pi 识别
在 Linux 环境下T256s 通常映射为 `/dev/videoX` 设备。
- **推荐工具**:使用 `guvcview``cheese``ffmpeg` 进行测试。
- **日志验证**:插入设备后,在终端执行 `dmesg` 命令查看识别日志。
**识别日志示例(来自实际设备)**
```text
[102310.868452] usb 1-7.4.2: new high-speed USB device number 35 using xhci_hcd
[102310.966974] usb 1-7.4.2: New USB device found, idVendor=359f, idProduct=ffff, bcdDevice= 4.19
[102310.966980] usb 1-7.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[102310.966982] usb 1-7.4.2: Product: Thermal Camera (UVC)
[102310.966983] usb 1-7.4.2: Manufacturer: Sipeed Ltd.
[102310.966985] usb 1-7.4.2: SerialNumber: 0123456789
[102310.991815] uvcvideo 1-7.4.2:1.0: Found UVC 1.00 device Thermal Camera (UVC) (359f:ffff)
[102310.998891] usb-storage 1-7.4.2:1.2: USB Mass Storage device detected
[102310.999030] scsi host8: usb-storage 1-7.4.2:1.2
[102312.036627] scsi 8:0:0:0: Direct-Access Linux File-Stor Gadget 0419 PQ: 0 ANSI: 2
[102312.036788] sd 8:0:0:0: Attached scsi generic sg1 type 0
[102312.036980] sd 8:0:0:0: Power-on or device reset occurred
[102312.037313] sd 8:0:0:0: [sdb] 65536 512-byte logical blocks: (33.6 MB/32.0 MiB)
[102312.145478] sd 8:0:0:0: [sdb] Write Protect is off
[102312.145485] sd 8:0:0:0: [sdb] Mode Sense: 0f 00 00 00
[102312.255625] sd 8:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[102312.495980] sdb:
[102312.496065] sd 8:0:0:0: [sdb] Attached SCSI removable disk
[102313.464088] usb 1-7.4.2: USB disconnect, device number 35
[102313.493673] sd 8:0:0:0: [sdb] Synchronizing SCSI cache
[102313.493716] sd 8:0:0:0: [sdb] Synchronize Cache(10) failed: Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
[102315.740234] usb 1-7.4.2: new high-speed USB device number 36 using xhci_hcd
[102315.839493] usb 1-7.4.2: New USB device found, idVendor=359f, idProduct=ffff, bcdDevice= 4.19
[102315.839512] usb 1-7.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[102315.839520] usb 1-7.4.2: Product: Thermal Camera (UVC)
[102315.839526] usb 1-7.4.2: Manufacturer: Sipeed Ltd.
[102315.839530] usb 1-7.4.2: SerialNumber: 0123456789
[102315.864161] uvcvideo 1-7.4.2:1.0: Found UVC 1.00 device Thermal Camera (UVC) (359f:ffff)
[102315.871660] usb-storage 1-7.4.2:1.2: USB Mass Storage device detected
[102315.871856] scsi host8: usb-storage 1-7.4.2:1.2
[102316.899524] scsi 8:0:0:0: Direct-Access Linux File-Stor Gadget 0419 PQ: 0 ANSI: 2
[102316.899837] sd 8:0:0:0: Attached scsi generic sg1 type 0
[102316.899962] sd 8:0:0:0: Power-on or device reset occurred
[102316.900374] sd 8:0:0:0: [sdb] 65536 512-byte logical blocks: (33.6 MB/32.0 MiB)
[102317.010049] sd 8:0:0:0: [sdb] Write Protect is off
[102317.010070] sd 8:0:0:0: [sdb] Mode Sense: 0f 00 00 00
[102317.120036] sd 8:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[102317.350047] sdb:
[102317.350175] sd 8:0:0:0: [sdb] Attached SCSI removable disk
```
### Android 移动端使用
- **连接方式**:支持 OTG 功能的手机可直接插在底部接口。
- **配套软件**推荐使用“USB摄像头 (USB Camera)”等支持 UVC 协议的应用程序。
- **操作步骤**:插入设备后,手机通常会弹出权限申请,点击“确定”即可预览热像画面。
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
## 微距镜头安装
若需观察 PCB 元器件,请将随货附带的微距镜头片轻轻贴合在热像模组前端。
- **工作距离**:约 5cm。
- **效果**:可看清 0402 贴片电阻的发热情况。

View File

@@ -0,0 +1,85 @@
# 使用指南User Guide
本指南介绍 T256s 的硬件接口、本地触控交互、UVC 两种数据格式MJPEG / Y16的含义与使用建议以及机身存储与拍照规则帮助你快速上手并进行二次开发或数据分析。
## 硬件接口说明
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
- **Type-C 公Device口**:位于机身底部。直接插入手机即可供电与传输数据。如果手机没反应,请在设置里开启 OTG 供电。
- **Type-C 母Host/Power口**:位于机身顶部。用于连接电脑、充电宝或电源线。这方便长时间监控或与 PC 端上位机通信。
- **触控屏**1.69 英寸电容触控屏240×280用于本地交互与实时查看画面。控制灵敏支持多点触控视固件版本而定
- **微距镜头(可选配)**:用于观察 PCB 上的小尺寸元件。工作距离约 5 厘米,能清晰看到 0402 等微小元件的发热分布。
注意:避免将设备暴露在高湿或强电磁干扰环境下。长期在高温下工作会影响测温精度。
## 本地触控交互(在独立模式下使用)
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
如果不连接上位机T256s 能当成独立热像仪使用。屏幕支持以下操作:
- **画面缩放**:点击屏幕中心,在 1x 和 2x 缩放间快速切换。
- **测温标注**:系统自动跟踪并显示中心点、最高温、最低温的数值。界面默认以摄氏度(℃)显示。建议预热 2 分钟以获得最准的数据。
- **伪彩切换**:点击右上角的色块图标。它能循环切换 8 种内置伪彩(如白热、铁红、彩虹等)。不同伪彩适合不同观察场景,比如白热更适合寻找细微温差。
- **快速拍照**:点击右侧中间的相机图标。当前画面会存进机身存储。界面会弹出提示确认保存成功。
- **相册预览**:点击右下角的图库图标。你可以左右滑动翻阅照片,也可以点击删除按钮清理存储空间。
TODO: 操作步骤示意图、连环画
## UVC 数据格式与解析理论
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
T256s 兼容 UVC 标准,支持两种主要的视频流输出。根据你的开发需求选择合适的格式。
### MJPEG 格式(预览与显示)
- **用途**:这是标准的视频预览格式。你可以直接用 OBS、VLC 或者 Windows 自带的相机应用查看画面。
- **特点**:图像已经过本地 AI 超分处理画质更细腻。画面已套用内置伪彩CMAP。输出分辨率通常为 640×480兼顾了清晰度和流畅度。
- **适用场景**:日常巡检、远程监控、实时观察发热点。
- **限制**:由于图像已转换为彩色预览图,你无法直接从这个流里提取精确的温度数值。理论上仅用于视觉展示。
### Y16 格式(测温与分析)
- **用途**:如果你要进行精密测温或编写自己的上位机软件,请使用这个格式。它包含传感器输出的原始 14-bit 像素数据。
- **特点**:输出的是原始灰度流,反映了探测器捕获的能量强度。每一帧都包含完整的温度信息。通过特定的算法可以将灰度值映射回真实温度。
- **转换逻辑**获取原始值raw_value请使用以下公式。建议让设备运行两分钟达到热平衡后再读数这样数据更准。
- 换算公式:`℃ = (raw_value / 64.0) - 273.15`
- 示例:若原始值为 22700则温度 ≈ 22700 / 64.0 - 273.15 = 81.53 ℃。(注意:实际数值受校准系数影响)。
- 备注MJPEG 流中的像素值已被处理,不适用于该公式。若需准确分析,请优先使用 Y16 原始流。
## 拍照与机身存储访问方式
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
T256s 内置 32 MB 存储空间。当你通过 UVC 线缆连接电脑时,它会被识别成一个标准 U 盘。你可以像操作普通闪存盘一样访问它。文件路径一般在 `/DCIM/``/Gallery/` 文件夹下。如果你发现电脑没识别出 U 盘,请尝试更换数据线或接口。
照片存储规则:
- 文件名包含测温概览,格式为:`P[序号]_T[中心点]_L[最低点]_H[最高点].jpg`
- 示例:`P001_T32.5_L28.2_H45.6.jpg`。这代表第一张照片中,中心是 32.5 ℃,最低 28.2 ℃,最高 45.6 ℃。这些数据直接固化在文件名里,方便你快速筛选异常样本。
## 微距镜头安装与使用建议
![占位图](../../../zh/ThermalCam/T256s/assets/no-image-signal.jpg)
1. 将微距镜头片轻贴在红外模组前端。请温柔操作,别划伤模组镜头。模组非常娇贵,严禁强力挤压。
2. 保持约 5 厘米的物距。你可以通过轻微前后移动位置来找准焦点。微距镜头的景深较浅,操作时需耐心。
3. 微距下局部温差会被放大。周围环境波动(如风吹或手部热量)会影响测量。建议在室内无风环境使用。
## 进阶Y16 数据解析示例Python)
下面是一个简单的示例。它展示了如何从 Y16 流或原始数据文件中读取像素并转换为摄氏度。这只是逻辑演示,实际开发时请结合具体的 UVC 库。
```python
# 假设 raw_array 为读取到的 14-bit 原始像素数组uint16
import numpy as np
def raw_to_celsius(raw_array):
# 将原始数据转换为浮点数并应用公式
celsius = raw_array.astype(np.float32) / 64.0 - 273.15
return celsius
# 示例:从文件读取一帧 256x192 的原始数据
raw = np.fromfile('frame.raw', dtype=np.uint16).reshape((192, 256))
temp = raw_to_celsius(raw)
print(f"中心点温度: {temp[96, 128]:.2f} ℃")
```
注意:获取 Y16 流的具体方法取决于你的开发平台。常用的工具库有 OpenCV、libuvc 或 gstreamer。二次开发请查阅相关平台的 UVC 协议实现文档。
## 常见注意事项
- 让设备预热并达到热平衡(约 2 分钟)。这能大幅减少测温漂移。
- 测量金属等低发射率物体时,先在表面贴绝缘胶带或喷黑漆。这能提高探测器接收到的红外辐射率,让数据更准。
- UVC 设备通常不支持多个程序同时占用。请确保当前只有一个程序(如上位机或相机 App在使用摄像头。如果你看到黑屏请先关闭其他可能占用摄像头的软件。

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@@ -16,6 +16,44 @@ update:
NanoKVM除实现KVM功能外还开放了一些数据,用于用户的二次开发,此文档用于描述这些数据的作用,以及开发的注意事项
## 更换 Logo
> 注:此功能仅在 NanoKVM `v2.3.6` 及以上版本的应用程序中支持。
NanoKVM 支持自定义 Logo 显示,可在 OLED 屏幕和 Web 管理界面中同时展示。其中OLED 屏幕显示低分辨率的黑白二值图像Web 界面显示高分辨率的彩色图像。
### 步骤一:生成 Logo 文件
![](../../../assets/NanoKVM/guide/logo1.png)
1. 下载 [Logo 生成 Python 脚本](https://github.com/sipeed/NanoKVM/tree/main/tools/logo_generator)
2. 安装依赖库:
```bash
pip install Pillow numpy textual
```
3. 准备一张接近正方形的 Logo 图片,并获取其文件路径
4. 执行脚本生成 Logo 文件:
```bash
python logo_generator.py /path/to/your_logo.png
```
5. 选择显示语言(当前仅支持中文和英文)
6. 终端界面将显示 OLED 模拟效果,可通过调整对比度使显示效果符合预期
7. 进行微调:点击"反转"可生成白底 Logo点击"像素"可单独控制每个像素点的亮灭状态
8. 点击"导出"按钮,将在当前目录下生成 `logo.bin` 和 `logo.ico` 两个文件;完成后点击"退出"
### 步骤二:上传 Logo 文件
1. 将 `logo.bin` 和 `logo.ico` 文件上传至 NanoKVM 的 `/boot` 目录:
- 通过 SCP 命令上传:
```bash
scp logo.bin logo.ico root@xxx.xxx.xxx.xxx:/boot
```
默认登录密码为 `root`。如已修改 Web 管理界面密码,请使用修改后的密码进行认证。
- 或通过 TF 卡方式:将文件复制到 TF 卡的 `boot` 分区NanoKVM 开机时将自动读取
2. 重启 NanoKVM 设备,使配置生效
![](../../../assets/NanoKVM/guide/logo2.jpg)
## 获取推流相关数据
推流和图像参数位于/kvmapp/kvm文件夹下

View File

@@ -25,7 +25,7 @@ NanoKVM Pro 采用AX630作为主控核心采用 ARM 1.2G 双核 A53 CPU
IP-KVM系列产品是远程桌面的硬件外挂通过HDMI捕捉画面通过网络实时同步画面与键鼠操作最后模拟键鼠完成对电脑的控制。由于该方式整个流程不需要主机软件完全由外部硬件实现因此NanoKVM可以实现对主机的BIOS级别控制尤其在远程开关机、多系统切换、BIOS配置、远程装机等场景下有广泛的应用空间。
由于升级后的强大性能NanoKVM Pro 不仅为临时维护提供可靠支持,由于其低延迟高分辨率特性,还能在远程办公领域大展身手。后期我们将对 NanoKVM Pro 的软件进行持续升级,带来更方便的自动化/MCP功能和更广泛的兼容性。
由于升级后的强大性能NanoKVM Pro 不仅为临时维护提供可靠支持,由于其低延迟高分辨率特性,还能在远程办公领域大展身手。后期我们将对 NanoKVM Pro 的软件进行持续升级,带来更方便的自动化/MCP功能和更广泛的兼容性。
为满足用户不同需求NanoKVM Pro 提供 WiFi、PoE、屏幕边缘同步灯带等可选项相关配置和价格请以购买页面为准。

View File

@@ -5,7 +5,7 @@
## 准备
1. Lichee RV 核心板
2. TF 内存卡(建议使用[官方店](https://shop365481095.taobao.com/)的内存卡,其他的卡可能会有各种奇怪的问题)
2. TF 内存卡(建议使用[官方店](https://shop365481095.taobao.com/)的内存卡,其他的卡可能会有各种奇怪的问题)
3. 烧录工具 [PhoenixCard](https://dl.sipeed.com/shareURL/LICHEE/D1/Lichee_RV/tool)
4. 系统镜像下载
国内用户:[百度网盘](https://pan.baidu.com/s/1QJTaDw6kkTM4c_GAlmG0hg) 提取码wbef

View File

@@ -1134,7 +1134,7 @@ docker exec -it your.hhb2.4 /bin/bash
hhb --version
```
进入 Docker 镜像中后,还需要配置交叉编译环境。注意必须要使用这里的工具链,否则编译出的二进制文件无法在 LicheePi4A 上运行。
进入 Docker 镜像中后,还需要配置交叉编译环境。注意必须要使用这里的工具链,否则编译出的二进制文件无法在 LicheePi4A 上运行。
```shell
export PATH=/tools/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1-light.1/bin/:$PATH
```

View File

@@ -61,7 +61,7 @@ upload_protocol = sipeed-rv-debugger
```
### USB DFU 下载
* **首次** 使用需要安装 libusb 驱动程序, 请参考此步骤 [使用 Zaidig 安装驱动](###使用zadig安装驱动).
* **首次** 使用需要安装 libusb 驱动程序, 请参考此步骤 [使用 Zaidig 安装驱动](#使用zadig安装驱动).
* 准备 USB Type-c 数据线
* 使用数据线连接电脑与开发板
* 修改 `platformio.ini` 文件, 添加下面一行内容:

View File

@@ -4,7 +4,7 @@
## 扩容系统
使用不含有 MaxiPy3 的系统镜像启动后会自动扩容,可以跳过 `扩容系统` 这一步。
使用不含有 MaxiPy3 的系统镜像启动后会自动扩容,可以跳过 `扩容系统` 这一步。
使用内置 MaxiPy3 的镜像系统不会自动扩充系统容量到最大值,因此需要执行一下 `/usr/lib/armbian/armbian-resize-filesystem start` 命令来扩容一下系统大小,会花费一下时间;执行时不要强行退出,执行完毕后会自动退回到终端
@@ -298,7 +298,7 @@ mplayer badapple_240_60fps.mp4 -vo fbdev2
想要退出的话使用键盘上的 `Ctrl+C` 组合键来退出。
在命令行后面加上`< /dev/null > /dev/null 2>1 &`以便在后台播放
可以在命令行后面加上`< /dev/null > /dev/null 2>1 &`以便在后台播放
```bash
mplayer badapple_240_60fps.mp4 -vo fbdev2 < /dev/null > /dev/null 2>1 &

View File

@@ -44,6 +44,7 @@ MaixCAM 是为更好地落地 AI 视觉、听觉和 AIOT 应用而设计的一
| 组件 | 描述 |
| --- | --- |
| CPU | 算能 SG2002 |
| CPU 大核 | 1GHz RISC-V C906 处理器(另外还有一个 1GHz ARM A53 核心可二选一使用),跑 Linux |
| CPU 小核 | 700MHz RISC-V C906 跑 RTOS |
| CPU 低功耗核 | 25~300MHz 8051 处理器,用于低功耗应用 |
@@ -76,6 +77,10 @@ MaixCAM 是为更好地落地 AI 视觉、听觉和 AIOT 应用而设计的一
| [应用商城](https://maixhub.com/app) | 提供各种应用和工具,无需开发直接下载使用,开发者也可以上传分享应用 | 请看 [MaixHub 应用商城](https://maixhub.com/app) |
| [分享广场](https://maixhub.com/share) | 开发者分享经验和项目 | 请看 [MaixHub 分像广场](https://maixhub.com/share) |
## 快速上手
- [快速开始MaixCAM](https://wiki.sipeed.com/maixpy/doc/zh/README_MaixCAM.html)
- [快速开始MaixCAM无屏幕版本](https://wiki.sipeed.com/maixpy/doc/zh/README_no_screen.html)
## 资料汇总

View File

@@ -174,6 +174,7 @@ title: MaixCAM2 -- 快速落地 AI 视觉、听觉应用
| 组件 | 描述 |
| --- | --- |
| CPU | 爱芯元智 AX630C |
| CPU 大核 | **1.2GHz A53 x2, 运行 Linux(Ubuntu)** |
| CPU 小核 | RISC-V 32bit E907 跑 RTT |
| NPU | **12.8Tops@INT4 / 3.2TOPS@INT8** 支持卷积和**Transformer模型**,如 YOLO/**LLM/VLM** 等, **YOLO11n 640x640 帧率高达 113FPS** |
@@ -212,6 +213,8 @@ title: MaixCAM2 -- 快速落地 AI 视觉、听觉应用
| [分享广场](https://maixhub.com/share) | 开发者分享经验和项目 | 请看 [MaixHub 分享广场](https://maixhub.com/share) |
| [本地大模型](https://wiki.sipeed.com/maixpy/doc/zh/mllm/basic.html) | 本地运行离线大模型 | 请看[大模型使用说明](https://wiki.sipeed.com/maixpy/doc/zh/mllm/basic.html) |
## 快速上手
- [快速开始MaixCAM2](https://wiki.sipeed.com/maixpy/doc/zh/README_MaixCAM2.html)
## 资料汇总

View File

@@ -118,9 +118,7 @@ Windows 也可以用 [Win32DiskImager](https://sourceforge.net/projects/win32dis
> 下载过程如果`Etcher`会报错`Missing partition table` `not a bootable image ...`即检测不到分区表,对于`MaixCAM2`是正常现象,点击`Continue`继续即可。
* 加载前面下载并解压后的系统,注意不要弄混了文件,比如`MaixCAM2`的镜像文件是`maixcam2-2025-09-01-maixpy-v4.11.9.img`
* 上电进入 USB / TF 卡升级模式,两种方式:
* 方式1USB 一端插电脑,然后另一端插上板子的`1秒内`按住`boot/Func`按钮不放,`3秒`后即可松开。
* 方式2先关机USB 连接电脑和板子,打开电源开关的`1秒内`按住`boot/Func`按钮不放,`3秒`后即可松开。
* 进入 USB / TF 卡升级模式, 先关机USB 连接电脑和板子,打开电源开关的`1秒内`按住`boot/Func`按钮不放,`3秒`后即可松开。
> 这里不先按住`Func`按钮再开机的原因是按住再开机会进入 AXDL 下载模式,要等待至少 5秒才能进入太慢了。
* 然后等待几秒,就能在下载软件选择烧录磁盘,可以看到板子虚拟的 U盘设备了。另外也可以看到蓝色 LED 按照 `灭-亮-亮` 进行双闪。
* 点击软件的烧录(Flash)按钮,开始进行烧录(可能会需要管理员权限)。这时板子蓝色 LED开始`亮0.5s-灭0.5s`闪烁。
@@ -136,23 +134,21 @@ Windows 也可以用 [Win32DiskImager](https://sourceforge.net/projects/win32dis
#### 制作 TF 升级卡
* 使用读卡器将 TF 卡插到电脑。
* 格式化 TF 卡,至少创建一个主分区, 可以选择 `exFAT` 或者`ext4`格式(不要选择`FAT32`, 一定要给TF分区
* 格式化 TF 卡, 分区文件系统可以选择 `exFAT` 或者`ext4`格式(不要选择`FAT32`)。
*`xxx.img`文件拷贝到 TF 卡的第一个分区中。如果之前拷贝了其他`.img`文件, 需要删除旧的镜像文件
* 拷贝完成后需要**点击弹出 U 盘**保证数据玩全写入后再拔出读卡器,防止数据未写入完成导致系统文件损坏。
* 将 MaixCAM2 断电, 再将 TF 卡插入 MaixCAM2
* MaixCAM2上电开机, 并在`1秒内`按住`boot/Func`按钮不放。
* 开机后板子会自动检查 TF 卡中的系统文件,自动进行烧录,此时蓝色 LED开始`亮0.5s-灭0.5s`闪烁。
> 如果不是这样闪烁可能前面的步骤有误。
* 烧录完成后`蓝色 LED 会变成常亮`。如果`亮0.3s-灭0.3s`快闪则表示烧录失败(一般不会出现),不要关机,直接用方法二 USB 烧录补救,如果关机了可以再试试重启会不会进入升级模式,不会的话说明启动分区受损,就需用 AXDL 烧录启动分区了。
* 烧录时间约3分钟烧录完成后`蓝色 LED 会变成常亮`。如果`亮0.3s-灭0.3s`快闪则表示烧录失败(一般不会出现),不要关机,直接用方法二 USB 烧录补救,如果关机了可以再试试重启会不会进入升级模式,不会的话说明启动分区受损,就需用 AXDL 烧录启动分区了。
* 手动重启(重新上电)即可进入新系统,第一次进入系统注意至少要等到进入主界面后才能关机断电,防止初始化出错。
#### 加载和烧录系统文件
* 加载前面下载并解压后的系统,注意不要弄混了文件,比如`MaixCAM2`的镜像文件是`maixcam2-2025-09-01-maixpy-v4.11.9.img`
* 上电进入 USB / TF 卡升级模式,两种方式:
* 方式1USB 一端插电脑,然后另一端插上板子的`1秒内`按住`boot/Func`按钮不放,`3秒`后即可松开。
* 方式2先关机USB 连接电脑和板子,打开电源开关的`1秒内`按住`boot/Func`按钮不放,`3秒`后即可松开。
* 进入 USB / TF 卡升级模式, 先关机USB 连接电脑和板子,打开电源开关的`1秒内`按住`boot/Func`按钮不放,`3秒`后即可松开。
> 这里不先按住`Func`按钮再开机的原因是按住再开机会进入 AXDL 下载模式,要等待至少 10秒才能进入太慢了。
* 然后等待几秒,就能在下载软件选择烧录磁盘,可以看到板子虚拟的 U盘设备了。另外也可以看到蓝色 LED 按照 `灭-亮-亮` 进行双闪。
* 点击软件的烧录(Flash)按钮,开始进行烧录(可能会需要管理员权限)。这时板子蓝色 LED开始`亮0.5s-灭0.s`闪烁。
@@ -177,6 +173,7 @@ Windows 也可以用 [Win32DiskImager](https://sourceforge.net/projects/win32dis
- 打开 Etcher选择`xxx_sd.img`格式镜像文件,选择 TF 卡,点击`Flash`
- 等待烧录完成,如果电脑弹出`使用驱动器 G: 中的光盘之前需要将其格式化`这样的字符,**不要**点击格式化磁盘!不然刚烧录好的系统又被格式化了! 关掉窗口, 右键磁盘,选择弹出 TF 卡即可。
- 将 TF 卡插入 MaixCAM2然后上电等待系统启动第一次启动会慢一点等待一会即可。
- 如果一直停在upgrade模式的话请检查tf卡是否有插好重新上电即可。
注意:

View File

@@ -41,6 +41,7 @@ MaixCAM 是为更好地落地 AI 视觉、听觉和 AIOT 应用而设计的一
| 组件 | 描述 |
| --- | --- |
| CPU | 算能 SG2002 |
| CPU 大核 | 1GHz RISC-V C906 处理器(另外还有一个 1GHz ARM A53 核心可二选一使用),跑 Linux |
| CPU 小核 | 700MHz RISC-V C906 跑 RTOS |
| CPU 低功耗核 | 25~300MHz 8051 处理器,用于低功耗应用 |
@@ -78,6 +79,8 @@ MaixCAM 是为更好地落地 AI 视觉、听觉和 AIOT 应用而设计的一
| [应用商城](https://maixhub.com/app) | 提供各种应用和工具,无需开发直接下载使用,开发者也可以上传分享应用 | 请看 [MaixHub 应用商城](https://maixhub.com/app) |
| [分享广场](https://maixhub.com/share) | 开发者分享经验和项目 | 请看 [MaixHub 分享广场](https://maixhub.com/share) |
## 快速上手
- [快速开始MaixCAM](https://wiki.sipeed.com/maixpy/doc/zh/README_MaixCAM.html)
## 资料汇总

View File

@@ -68,7 +68,7 @@
| 7 | MIC_WS | I/O | I²S 接口的串行数据字选择 |
| 8 | MIC_CK | I/O | I²S 接口的串行数据时钟 |
| 9 | LED_CK | I/O | LED 的串行数据时钟 |
| 10 | LED_DA | I/O | LED 的串行数据输出 |
| 10 | LED_DA | I/O | LED 的串行数据输出 |
<img src="./../../assets/spmod/spmod_micarray/MicArray.png" width=55%>

View File

@@ -488,6 +488,18 @@ items:
file: logic_analyzer/slogic16u3/Software_User_Guide.md
- label: FAQ
file: logic_analyzer/slogic16u3/FAQ.md
- label: ThermalCam
items:
- label: Sipeed T256s
items:
- label: 简介
file: ThermalCam/T256s/Intro.md
- label: 快速开始
file: ThermalCam/T256s/QS.md
- label: 使用指南
file: ThermalCam/T256s/UG.md
- label: 常见问题
file: ThermalCam/T256s/FAQ.md
- label: KVM
items:
- label: NanoKVM Cube

View File

@@ -127,7 +127,7 @@ This step must take into account all the routing requirements when selecting whe
### Bitstream Generation
The third and final step is generating the bits required so that the FPGA itself understands the layout the the place and route stage generated. Each FPGA manufacturer has their own internal format which open-source toolchains need to reverse engineer in-order to understand the exact format required to program the FPGA.
The third and final step is generating the bits required so that the FPGA itself understands the layout the place and route stage generated. Each FPGA manufacturer has their own internal format which open-source toolchains need to reverse engineer in-order to understand the exact format required to program the FPGA.
After running these three stages you will have a file which can be programmed onto the FPGA which will reconfigure the internal hardware to match your design

View File

@@ -31,7 +31,7 @@ This driver IC is the interface between you and the actual OLED's underlying dis
![block_diagram](./assets/block_diagram.jpg)
Looking at the left side, we have a microcontroller which is what we will be communicating with. The pins we care about are the the first three and D0 and D1, the first three are reset, chip select and data/command flag and D0 is our SPI clock and D1 is our SPI data.
Looking at the left side, we have a microcontroller which is what we will be communicating with. The pins we care about are the first three and D0 and D1, the first three are reset, chip select and data/command flag and D0 is our SPI clock and D1 is our SPI data.
All the other pins are used for alternate communication methods, like if interfacing with the screen over parallel connection. But since we are using the driver in it's 4-wire SPI mode we only need the 5 pins listed above.

View File

@@ -90,7 +90,7 @@ TANG PMOD 模組是相容于 **Digilent Pmod™** 接口标准的FGPA拓展模
## PMOD_DS2x2
简介:支持支持两个DS2手柄没有震动
简介支持两个DS2手柄没有震动
例程:[nestang-25k](https://github.com/sipeed/TangPrimer-25K-example/tree/main/nestang-25k)
<div>

View File

@@ -19,7 +19,7 @@ update:
### 移位寄存器
移位寄存器是一种在若干相同时间脉冲下工作的以触发器为基础的器件,数据以并行或串行的方式输入到该器件中,然后每个时间脉冲依次向左或右移动一个比特,在输出端进行输出。
移位寄存器是一种在若干相同时间脉冲下工作的以触发器为基础的器件,数据以并行或串行的方式输入到该器件中,然后每个时间脉冲依次向左或右移动一个比特,在输出端进行输出。
对于使用移位寄存器来实现流水灯,我们需要保证最低要有一个灯亮着,这个时候我们选择环形移位寄存器。将普通移位寄存器的输出作为它自己的输入即可看作为环形移位寄存器。

View File

@@ -5,7 +5,7 @@
## 准备
1. Lichee RV 核心板
2. TF 内存卡(建议使用[官方店](https://shop365481095.taobao.com/)的内存卡,其他的卡可能会有各种奇怪的问题)
2. TF 内存卡(建议使用[官方店](https://shop365481095.taobao.com/)的内存卡,其他的卡可能会有各种奇怪的问题)
3. 烧录工具 [PhoenixCard](https://dl.sipeed.com/shareURL/LICHEE/D1/Lichee_RV/tool)
4. 系统镜像
国内用户:[Tina](https://dl.sipeed.com/shareURL/LICHEE/D1/Lichee_RV/SDK/image) 系统镜像或者 Debian 系统镜像 ([百度网盘](https://pan.baidu.com/s/1QJTaDw6kkTM4c_GAlmG0hg) 提取码wbef)

View File

@@ -10,20 +10,20 @@ keywords: R329, maixsnse, MaixSense, Maixsense, armbian, build, kernel
* 一张已经烧录`r329-armbian-maixpy3-0.4.0.img`的TF卡
* [Armbian_21.08.0-trunk_Maixsense_bullseye_edge_5.14.1.img.xz](https://pan.baidu.com/s/1D8pr2y0-3jNwI5wzdgqb9Q)镜像
##修改 boot.cmd 的方法
## 修改 boot.cmd 的方法
想要改变 uboot 的一些启动配置,就可以通过这个方式进行修改,修改 boot.cmd 后直接在系统里运行完成更新。
> mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
主线 linux 都会有类似的配置供你使用,可能是文件可能是分区。
##Linux 内核、驱动、设备树的相关用法方法
## Linux 内核、驱动、设备树的相关用法方法
可以参考[Lichee Pi](https://wiki.sipeed.com/soft/Lichee/zh/index.html)(特别详细)armbian编译没有那么繁琐因此不再赘述。
准备环境`sudo apt install -y git wget make gcc flex bison libssl-dev bc kmod`
其他相关教程
* [licheepi zero主线Kernel基础编译](https://wiki.sipeed.com/soft/Lichee/zh/Zero-Doc/System_Development/kernel_build.html)
* [licheepi nano主线Linux编译](https://wiki.sipeed.com/soft/Lichee/zh/Nano-Doc-Backup/build_sys/kernel.html)
##修改设备树配置的方法
## 修改设备树配置的方法
使用`git clone -b r329-wip https://github.com/sipeed/linux.git` #完成后切到 `r329-wip` 分支
编译链工具可以用系统自带的`通用编译链``gcc-linaro`,本文使用的是`gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz` [点我下载](https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz)。
[设备树简介:](https://wiki.sipeed.com/soft/Lichee/zh/Zero-Doc/Drive/Device_Tree_Intro.html)用户在设备树里定义并启用的树结点,就可以使用相应驱动。
@@ -71,7 +71,7 @@ config RTL8723DS
通过`make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8 menuconfig``/` 搜索 `8723ds` 把它配上编译即可。
配好直接 `make` 编译就行,在 `sipeed``armbian` 这里不需要,仅告知如何加入非主线模块,如特殊的 `TP` 触摸屏、`ADC` 按键驱动、`I2C` 传感器驱动等。
##编译 `armbian` 系统
## 编译 `armbian` 系统
* 自行准备良好的网络环境,相关问题不做解答,默认懂得都懂,编不出来也很正常,不用太在意。
上述开发的内核模块在 `sipeed` 提供的 `armbian` 镜像中都是无用的,仅用于测试和确认开发环境,所以要进一步把 `armbian` 编译出来才是最终用户所用的环境。

View File

@@ -112,7 +112,7 @@ make ARCH=arm menuconfig
接着配置同级的 **LCD panel timing details** 为:
**x:800,y:480,depth:18,pclk\khz:33000,le:87,ri:40,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0**
注:此块屏为 800\*480 规格,如为 480\*272 请尝试如下配置:
注:此块屏为 800\*480 规格,如为 480\*272 请尝试如下配置:
**x:480,y:272,depth:18,pclk\khz:10000,le:42,ri:8,up:11,lo:4,hs:1,vs:1,sync:3,vmode:0**
并将 **LCD panel backlight pwm pin** 设为:

View File

@@ -10,7 +10,7 @@ Nano 延续并发展了Zero精巧的PCB设计使得开发和使用非常方
1. 2.54mm排针直插面包板
2. 直插40P RGB LCD
3. 使用OTG口进行供电和数据传输(虚拟串口,更新固件等)
4. 可配合使用使用堆叠式的WiFi 模块联网
4. 可配合使用堆叠式的WiFi 模块联网
5. 可直接贴片
### Nano 实物图
@@ -113,7 +113,7 @@ Nano 的管脚定义,可由下图简略说明:
- 请在插拔 Micro-USB 时尽量小心注意,建议您在到手后,向 USB母座的两个固定脚上堆锡
- Nano 需要插卡启动或者焊接spi flash只插上 USB基本是无反应屏幕无输出状态但可在不插卡无 flash 状态下通过 USB 启动 U-boot
- Nano 的系统调试串口是 UART0 ,即板子丝印上的 “U0Tx Rx” 标识的两个引脚
- Nano 的系统调试串口是 UART0 ,即板子丝印上的 “U0Tx Rx” 标识的两个引脚
- 简单的可用性测试请参考 `下一节内容` ,需要您提前准备
- 1.一个 usb转ttl 的工具
- 2.焊好排针(可选)

View File

@@ -224,7 +224,7 @@ int main ()
## 单片机驱动一直为i2c驱动
一般情况下使用ssb1307fb这个驱动就很完美了我在发现ssd1307fb这个驱动程序之前我将显示屏厂家提供的stm8
一般情况下使用ssb1307fb这个驱动就很完美了我在发现ssd1307fb这个驱动程序之前我将显示屏厂家提供的stm8
i2c测试代码移植到了linux上实现了一个驱动加载驱动后效果如下
![](./../static/Contribution/article_27.jpg)

View File

@@ -48,7 +48,7 @@ mmap简单来说就是把一片物理内存空间或者文件映射到应
详细的mmap介绍可以参考附录的链接。
为了操作寄存器,我们需要用到 */dev/mem* 设备,这个设备是物理内存的全映像,可以用来访问物理内存,一般用法是 `open("/dev/mem",O_RDWR|O_SYNC)`然后mmap接着就可以用mmap的地址来访问物理内存这实际上就是实现用户空间驱动的一种方法。
为了操作寄存器,我们需要用到 */dev/mem* 设备,这个设备是物理内存的全映像,可以用来访问物理内存,一般用法是 `open("/dev/mem",O_RDWR|O_SYNC)`然后mmap接着就可以用mmap的地址来访问物理内存这实际上就是实现用户空间驱动的一种方法。
```
#include <sys/mmap.h>

View File

@@ -2,7 +2,7 @@
title: 点屏之RGB屏
---
Zero默认支持800x480和480x272这两种常见分辨率的RGB屏幕。
Zero默认支持800x480和480x272这两种常见分辨率的RGB屏幕。
这两种分辨率的屏幕,直接在编译时候选择对应的分辨率即可。
Zero还可以接RGB2VGA小板或者RGB2LVDS小板来驱动VGA液晶屏或者LVDS屏幕这时候就需要自己改动屏幕参数了。

View File

@@ -6,7 +6,7 @@ title: LicheePI Zero
**荔枝派Zero**(下面简称 **Zero**)是一款精致迷你的 **Cortex-A7** 核心板/开发板可用于初学者学习linux或者商用于产品开发。 Zero 在稍长于SD卡的尺寸上**45x26mm**提供了丰富的外设LCD,ETH,UART,SPI,I2C,PWM,SDIO---)和强劲的性能(**24MHZ~1.2GHZ, 64MB DDR** )。
得益于精巧的PCB设计Zero 相关的开发和使用非常方便:
得益于精巧的PCB设计Zero 相关的开发和使用非常方便:
- 直插面包板
- 直插40P RGB LCD

View File

@@ -301,7 +301,7 @@ Zero开启debian桌面系统
Zero畅玩经典游戏DOOM
![](./../static/start/intro_33.jpg)
荔枝派Zero还可以运行树莓派系统原来你是披着树莓皮的荔枝派!
荔枝派Zero还可以运行树莓派系统原来你是披着树莓皮的荔枝派
> Zero由于内存限制运行树莓派系统会较为卡顿。
![](./../static/start/intro_34.jpg)

View File

@@ -122,7 +122,7 @@ echo allow-hotplug eth0 >> $filename
echo iface eth0 inet dhcp >> $filename
#eth0 MAC address
echo hwaddress ether 00:04:25:12:34:56 >> $filename
#Set the the debug port
#Set the debug port
filename=$TARGET_ROOTFS_DIR/etc/inittab
echo T0:2345:respawn:/sbin/getty -L ttyS0 115200 vt100 >> $filename
#Set rules to change wlan dongles

View File

@@ -21,7 +21,7 @@ The official website also provides many model examples and tutorials
To install the Numpy package, you only need to execute `pip install numpy` to install successfully.
##Opencv
## Opencv
[Opencv](https://opencv.org/) provides software packages in various languages for graphics-related processing, which is very easy to use.

View File

@@ -38,7 +38,7 @@ So, can machine learning also use this step?
* We thoughtfully designed an algorithm structure, adding that we happened to design it directly as `y = kx + b`, we left two parameters for the specific straight line, lets call this structure **model structure** for now, because There are unknown parameters, which we call the untrained model structure. Where `x` is called **input**, and `y` is called **output**
* Now, we substitute a few points of our straight line into this equation, we call this process **training**, to get the algorithm `y = 3x + 10`, there are no unknown parameters, we now call it It is a **model** or a trained model, where `kb` is the parameter in the model, and `y = kx + b` is the structure of the model. The data points brought into training are called **training data**, and their collective name is **training data set**
* Now, we substitute a few points of our straight line into this equation, we call this process **training**, to get the algorithm `y = 3x + 10`, there are no unknown parameters, we now call it a **model** or a trained model, where `kb` is the parameter in the model, and `y = kx + b` is the structure of the model. The data points brought into training are called **training data**, and their collective name is **training data set**
* Then, we use several data points on the line segment that are not used in the training process as input, substitute this model for calculation, and get the result, such as `x = 10`, get `y = 40`, and then compare the output Whether the value is consistent with expectations, here we find that `x = 10, y = 40` is indeed on the straight line in the figure, and this point is not used during training, indicating that the model we got passed this verification. The process is called **verification**, `x = 10, y = 40` This data is called verification data. If we use multiple sets of data to verify this model, the collective term for these data is called **validation data set**

View File

@@ -46,7 +46,7 @@ update_open: false
* 我们认为地设计一个算法结构, 加入我们碰巧直接设计成了`y = kx + b` 我们给具体的直线留下了两个参数,我们暂且称呼这个结构叫 **模型结构**,因为有未知参数,我们称之为未训练的模型结构。其中`x`称为**输入**, `y`称为**输出**
* 现在,我们将我们这条直线的几个点代入到这个方程, 我们称这个过程为 **训练**,得到`y = 3x + 10` 这个算法, 已经没有未知参数了, 我们现在称它为**模型** 或者 训练好的模型,其中`k b`是模型内的参数,`y = kx + b`是这个模型的结构。 而带入训练的数据点,就叫做**训练数据**,它们的统称就叫**训练数据集**
* 现在,我们将我们这条直线的几个点代入到这个方程, 我们称这个过程为 **训练**,得到`y = 3x + 10` 这个算法, 已经没有未知参数了, 我们现在称它为**模型** 或者 训练好的模型,其中`k b`是模型内的参数,`y = kx + b`是这个模型的结构。 而带入训练的数据点,就叫做**训练数据**,它们的统称就叫**训练数据集**
* 然后,我们使用几个在 训练 过程中没有用到的在线段上的数据点作为输入,代入这个模型进行运算,得到结果,比如 `x = 10`, 得到`y = 40`, 然后对比输出值是否与预期相符,这里我们发现`x = 10, y = 40` 确实是在图中这条直线上的, 并且训练时没有使用这个点,说明我们得到的模型在此次核验中通过,这个过程叫 **验证** `x = 10, y = 40` 这个数据叫验证数据。 如果我们用多组数据去验证这个模型, 这些数据的统称就叫**验证数据集**

View File

@@ -290,7 +290,7 @@ print(out.argmax(), out.max())
## 编写代码运行模型
要正式地将模型跑起来,你可能需要需要修改代码,更改输入预处理或者增加后处理,目前提供 `C/C++` SDK代码参考 [ax-samples](https://github.com/AXERA-TECH/ax-samples),可以交叉编译,也可以直接在 `AXera-Pi` 上编译。
要正式地将模型跑起来,你可能需要修改代码,更改输入预处理或者增加后处理,目前提供 `C/C++` SDK代码参考 [ax-samples](https://github.com/AXERA-TECH/ax-samples),可以交叉编译,也可以直接在 `AXera-Pi` 上编译。
运行分类模型的代码在[ax_classification_steps.cc](https://github.com/AXERA-TECH/ax-samples/blob/main/examples/ax_classification_steps.cc),按照仓库的编译说明编译后得到`build/bin/install/ax_classification`可执行文件,拷贝到开发板执行
```

View File

@@ -37,7 +37,7 @@ So, can machine learning also use this step?
* We thoughtfully designed an algorithm structure, adding that we happened to design it directly as `y = kx + b`, we left two parameters for the specific straight line, lets call this structure **model structure** for now, because There are unknown parameters, which we call the untrained model structure. Where `x` is called **input**, and `y` is called **output**
* Now, we substitute a few points of our straight line into this equation, we call this process **training**, to get the algorithm `y = 3x + 10`, there are no unknown parameters, we now call it It is a **model** or a trained model, where `kb` is the parameter in the model, and `y = kx + b` is the structure of the model. The data points brought into training are called **training data**, and their collective name is **training data set**
* Now, we substitute a few points of our straight line into this equation, we call this process **training**, to get the algorithm `y = 3x + 10`, there are no unknown parameters, we now call it a **model** or a trained model, where `kb` is the parameter in the model, and `y = kx + b` is the structure of the model. The data points brought into training are called **training data**, and their collective name is **training data set**
* Then, we use several data points on the line segment that are not used in the training process as input, substitute this model for calculation, and get the result, such as `x = 10`, get `y = 40`, and then compare the output Whether the value is consistent with expectations, here we find that `x = 10, y = 40` is indeed on the straight line in the figure, and this point is not used during training, indicating that the model we got passed this verification. The process is called **verification**, `x = 10, y = 40` This data is called verification data. If we use multiple sets of data to verify this model, the collective term for these data is called **validation data set**

View File

@@ -99,7 +99,7 @@ You can choose to send files in the **Tool/Tools** menu
## Note
* After clicking the connection, do not use it with the terminal tool at the same time, otherwise the serial port will be occupied and cannot be opened
* If you have been unable to successfully connect successfully, check:
* If you have been unable to connect successfully, check:
* Please check whether the development board model selection is wrong;
* Observe whether there is any change on the development board screen, if there is no response, it may be the serial port selection error;
* Try to upgrade to the latest [master branch firmware](http://cn.dl.sipeed.com/MAIX/MaixPy/release/master), and the latest MaixPy IDE software

View File

@@ -36,7 +36,7 @@ That is, the sampling frequency, which refers to the number of times a sound sam
PCM introduction
At present, we all need to rely on audio files for audio playback on computers. The generation process of audio files is the process of sampling, quantizing and encoding sound information. The lowest frequency of the sound that human ears can hear is from From 20Hz to the highest frequency 20Khz, so the maximum bandwidth of the audio file format is 20Kzh. According to Nyquist's theory, only when the sampling frequency is higher than twice the highest frequency of the sound signal, can the sound represented by the digital signal be restored to the original sound, so the sampling rate of the audio file is generally 40~50KHZ, such as the most common The CD sound quality sampling rate is 44.1KHZ.
At present, we all need to rely on audio files for audio playback on computers. The generation process of audio files is the process of sampling, quantizing and encoding sound information. The lowest frequency of the sound that human ears can hear is from 20Hz to the highest frequency 20Khz, so the maximum bandwidth of the audio file format is 20Kzh. According to Nyquist's theory, only when the sampling frequency is higher than twice the highest frequency of the sound signal, can the sound represented by the digital signal be restored to the original sound, so the sampling rate of the audio file is generally 40~50KHZ, such as the most common The CD sound quality sampling rate is 44.1KHZ.
The process of sampling and quantizing the sound is called Pulse Code Modulation, or PCM for short. From the above three concepts of sampling frequency, number of sampling bits, and number of channels, the three concepts can be derived from the following formula. PCM file in the computer The amount of storage space occupied:

View File

@@ -18,7 +18,7 @@ So if you are a quick verification, novice, only python, less hair, etc., you ca
* Check whether the firmware supports IDE, early firmware and firmware with `minimum` in the name are not supported
* Check whether the serial port is occupied (other software also opened the serial port)
* After clicking the connection, do not use it with the terminal tool at the same time, otherwise the serial port will be occupied and cannot be opened
* If you have been unable to successfully connect successfully, check:
* If you have been unable to connect successfully, check:
* Please check whether the development board model selection is wrong;
* Observe whether there is any change on the development board screen, if there is no response, it may be the serial port selection error;

View File

@@ -39,7 +39,7 @@ freq.set(cpu = 400, pll1 = 400, kpu_div=1)
#### 返回值
如果频率没有变化,则返回空。
如果频率有变化,将会自动重启机器。在使用该接口之前请确认当前情况能否重启
如果频率有变化,将会自动重启机器。在使用该接口之前请确认当前情况能否重启
### freq.get()

View File

@@ -5,7 +5,7 @@ desc: maixpy 机器视觉/听觉
---
主要包含了与图像、显示、语音相关的类,包括:
主要包含了与图像、显示、语音相关的类,包括:
* [lcd](./lcd.md)
* [sensor](./sensor.md)

View File

@@ -1402,7 +1402,7 @@ class image.kptmatch
ImageWriter 对象使得您可以快速地将未压缩的图像写入磁盘。
## 构造函数
### 构造函数
class image.ImageWriter(path)
@@ -2515,7 +2515,7 @@ roi 是一个用以复制的矩形的感兴趣区域(x, y, w, h)。如果未指
merge_distance 指定两条线段之间的可以相互分开而不被合并的最大像素数。
max_theta_difference 是上面 merge_distancede 要合并的两个线段的最大角度差值。
max_theta_difference 是上面 merge_distance 要合并的两个线段的最大角度差值。
此方法使用LSD库也被OpenCV使用来查找图像中的线段。这有点慢但是非常准确线段不会跳跃。

View File

@@ -120,7 +120,7 @@ typedef struct _mp_map_elem_t {
* 第二个值是数值,类型是一个对象,可以是`str/function/int/float/tuple/list/dict`等, 方式如下:
* `str`: 这里同样是定义了一个`str`类型的值为`my_lib`,即在`MaixPy`层面使用`my_lib.__name__`得到结果`my_lib`
* `其它常量对象` 可以使用`mp_obj_new_xxx`,比如`int`变量`mp_obj_new_int(10)` 函数在`obj.h`中搜索
* `函数` 这里的`key``hello`对应的值为`(mp_obj_t)&my_lib_func_hello_obj`,是一个函数对象,注意不是`C`函数,前面说了`python`中一切皆对象, 这里也是使用了一个函数对象,然后去地址强制转换成 `mp_obj_t`。这个函数对象使用了`MP_DEFINE_CONST_FUN_OBJ_0`宏定义将`my_lib_func_hello`这个`C`函数定义为`my_lib_func_hello_obj`这个对象,注意`hello`函数需要返回一个值`mp_const_none`,注意不能返回`NULL` 因为`NULL`不是一个(`MaixPy`)对象, 这个返回值也就是`MaixPy`层面调用`hello()`函数时的返回值
* `函数` 这里的`key``hello`对应的值为`(mp_obj_t)&my_lib_func_hello_obj`,是一个函数对象,注意不是`C`函数,前面说了`python`中一切皆对象, 这里也是使用了一个函数对象,然后去地址强制转换成 `mp_obj_t`。这个函数对象使用了`MP_DEFINE_CONST_FUN_OBJ_0`宏定义将`my_lib_func_hello`这个`C`函数定义为`my_lib_func_hello_obj`这个对象,注意`hello`函数需要返回一个值`mp_const_none`,注意不能返回`NULL` 因为`NULL`不是一个(`MaixPy`)对象, 这个返回值也就是`MaixPy`层面调用`hello()`函数时的返回值
> 除了`MP_DEFINE_CONST_FUN_OBJ_0`即没有参数之外,还有`1/2/3/n`个参数,以及带关键字参数,这些请翻阅源码举一反三学习

View File

@@ -37,7 +37,7 @@ desc: maixpy 深度神经网络DNN基础知识
* 我们认为地设计一个算法结构, 加入我们碰巧直接设计成了`y = kx + b` 我们给具体的直线留下了两个参数,我们暂且称呼这个结构叫 **模型结构**,因为有未知参数,我们称之为未训练的模型结构。其中`x`称为**输入**, `y`称为**输出**
* 现在,我们将我们这条直线的几个点代入到这个方程, 我们称这个过程为 **训练**,得到`y = 3x + 10` 这个算法, 已经没有未知参数了, 我们现在称它为**模型** 或者 训练好的模型,其中`k b`是模型内的参数,`y = kx + b`是这个模型的结构。 而带入训练的数据点,就叫做**训练数据**,它们的统称就叫**训练数据集**
* 现在,我们将我们这条直线的几个点代入到这个方程, 我们称这个过程为 **训练**,得到`y = 3x + 10` 这个算法, 已经没有未知参数了, 我们现在称它为**模型** 或者 训练好的模型,其中`k b`是模型内的参数,`y = kx + b`是这个模型的结构。 而带入训练的数据点,就叫做**训练数据**,它们的统称就叫**训练数据集**
* 然后,我们使用几个在 训练 过程中没有用到的在线段上的数据点作为输入,代入这个模型进行运算,得到结果,比如 `x = 10`, 得到`y = 40`, 然后对比输出值是否与预期相符,这里我们发现`x = 10, y = 40` 确实是在图中这条直线上的, 并且训练时没有使用这个点,说明我们得到的模型在此次核验中通过,这个过程叫 **验证** `x = 10, y = 40` 这个数据叫验证数据。 如果我们用多组数据去验证这个模型, 这些数据的统称就叫**验证数据集**

View File

@@ -77,7 +77,7 @@ win+r输入cmd打开命令行
![3.png](https://bbs.sipeed.com/storage/attachments/2021/07/21/bGnesxEq2b4YxRIsyFZobK36kpk9Ip3GVoQohgd5_thumb.png "1459")
将压缩包解压,任何位置都可以,只要你记得解压到哪里了。然后下载 [ncc-win7-x86_64](https://github.com/kendryte/nncase/releases/tag/v0.1.0-rc5) 并解压就会得到一个叫ncc-win7-x86_64的文件夹将这个文件夹名字修改为ncc_v0.1。
将压缩包解压,任何位置都可以,只要你记得解压到哪里了。然后下载 [ncc-win7-x86_64](https://github.com/kendryte/nncase/releases/tag/v0.1.0-rc5) 并解压就会得到一个叫ncc-win7-x86_64的文件夹将这个文件夹名字修改为ncc_v0.1。
再将这个文件夹的复制到maix_train/tools/ncc文件夹下面。如果没有ncc这个文件夹就创建一个路径一定要对的上

View File

@@ -123,7 +123,7 @@ class launcher:
在这里, __class__ 类似于 实例类 中的 this 指针,可以通过它访问当前类的全局变量。
该静态类拥有 load / free / event 三个生命周期函数用以提供给 UI 容器维持该 UI 应用的持续运行。
该静态类拥有 load / free / event 三个生命周期函数用以提供给 UI 容器维持该 UI 应用的持续运行。
- load 只会执行一次,用于 UI 应用的初始化。
- free 只会执行一次,用于 UI 应用的释放。

View File

@@ -94,7 +94,7 @@ MaixAmigo 同样使用 MaixPy 入门 AIoT ,由于硬件特殊性,请在[配
1. 当我们的系统是 Win10 系统,系统则会帮我们自动安装驱动,而如果是旧版 Win7win8 系统我们就需要自己手动安装:
![](../../assets/get_started/win_device_2.png)
1. 打开上一节的链接下载驱动
1. 打开上一节的链接下载驱动
![](../../assets/get_started/win_device_3.png)
1. 点击安装
![](../../assets/get_started/drives.gif)

View File

@@ -94,7 +94,7 @@ MaixCube 板载 I2C 传感器/IC
1. 当我们的系统是 Win10 系统,系统则会帮我们自动安装驱动,而如果是旧版 Win7win8 系统我们就需要自己手动安装:
![](../../assetcs/../assets/get_started/win_device_2.png)
1. 打开上一节的链接下载驱动
1. 打开上一节的链接下载驱动
![](../../assetcs/../assets/get_started/win_device_3.png)
1. 点击安装
![](../../assets/get_started/drives.gif)

View File

@@ -25,7 +25,7 @@ Linux 不需要装驱动,系统自带了,使用 `ls /dev/ttyUSB*` 即可看
1. 当我们的系统是 Windows 10 系统,系统则会帮我们自动安装驱动,而如果是旧版 Win7win8 系统,我们就需要自己手动安装 USB 驱动:
![](../../../assets/get_started/win_device_2.png)
2. 打开上一节的链接下载驱动
2. 打开上一节的链接下载驱动
![](../../../assets/get_started/win_device_3.png)
3. 点击安装

View File

@@ -25,7 +25,7 @@ Linux 不需要装驱动,系统自带了,使用 `ls /dev/ttyUSB*` 即可看
1. 当我们的系统是 Windows 10 系统,系统则会帮我们自动安装驱动,而如果是旧版 Win7win8 系统,我们就需要自己手动安装 USB 驱动:
![](../../../assets/get_started/win_device_2.png)
2. 打开上一节的链接下载驱动
2. 打开上一节的链接下载驱动
![](../../../assets/get_started/win_device_3.png)
3. 点击安装

View File

@@ -33,7 +33,7 @@ Windows 下载 [ch340 ch341 driver](https://api.dl.sipeed.com/fileList/MAIX/tool
1. 当我们的系统是 Windows 10 系统,系统则会帮我们自动安装驱动,而如果是旧版 Win7win8 系统,我们就需要自己手动安装 USB 驱动:
![](../../../assets/get_started/win_device_2.png)
2. 打开上一节的链接下载驱动
2. 打开上一节的链接下载驱动
![](../../../assets/get_started/win_device_3.png)
3. 点击安装

View File

@@ -25,7 +25,7 @@ Linux 不需要装驱动,系统自带了,使用 `ls /dev/ttyUSB*` 即可看
1. 当我们的系统是 Windows 10 系统,系统则会帮我们自动安装驱动,而如果是旧版 Win7win8 系统,我们就需要自己手动安装 USB 驱动:
![](../../../assets/get_started/win_device_2.png)
2. 打开上一节的链接下载驱动
2. 打开上一节的链接下载驱动
![](../../../assets/get_started/win_device_3.png)
3. 点击安装

View File

@@ -25,7 +25,7 @@ Linux 不需要装驱动,系统自带了,使用 `ls /dev/ttyUSB*` 即可看
1. 当我们的系统是 Windows 10 系统,系统则会帮我们自动安装驱动,而如果是旧版 Win7win8 系统,我们就需要自己手动安装 USB 驱动:
![](../../../assets/get_started/win_device_2.png)
2. 打开上一节的链接下载驱动
2. 打开上一节的链接下载驱动
![](../../../assets/get_started/win_device_3.png)
3. 点击安装

View File

@@ -35,7 +35,7 @@ Linux 不需要装驱动,系统自带了,使用 `ls /dev/ttyUSB*` 即可看
1. 当我们的系统是 Windows 10 系统,系统则会帮我们自动安装驱动,而如果是旧版 Win7win8 系统,我们就需要自己手动安装 USB 驱动:
![](../../../assets/get_started/win_device_2.png)
2. 打开上一节的链接下载驱动
2. 打开上一节的链接下载驱动
![](../../../assets/get_started/win_device_3.png)
3. 点击安装

View File

@@ -24,7 +24,7 @@ Linux 不需要装驱动,系统自带了,使用 `ls /dev/ttyUSB*` 即可看
1. 当我们的系统是 Windows 10 系统,系统则会帮我们自动安装驱动,而如果是旧版 Win7win8 系统,我们就需要自己手动安装 USB 驱动:
![](../../../assets/get_started/win_device_2.png)
2. 打开上一节的链接下载驱动
2. 打开上一节的链接下载驱动
![](../../../assets/get_started/win_device_3.png)
3. 点击安装

View File

@@ -37,7 +37,7 @@ desc: maixpy 深度神经网络DNN基础知识
* 我们认为地设计一个算法结构, 加入我们碰巧直接设计成了`y = kx + b` 我们给具体的直线留下了两个参数,我们暂且称呼这个结构叫 **模型结构**,因为有未知参数,我们称之为未训练的模型结构。其中`x`称为**输入**, `y`称为**输出**
* 现在,我们将我们这条直线的几个点代入到这个方程, 我们称这个过程为 **训练**,得到`y = 3x + 10` 这个算法, 已经没有未知参数了, 我们现在称它为**模型** 或者 训练好的模型,其中`k b`是模型内的参数,`y = kx + b`是这个模型的结构。 而带入训练的数据点,就叫做**训练数据**,它们的统称就叫**训练数据集**
* 现在,我们将我们这条直线的几个点代入到这个方程, 我们称这个过程为 **训练**,得到`y = 3x + 10` 这个算法, 已经没有未知参数了, 我们现在称它为**模型** 或者 训练好的模型,其中`k b`是模型内的参数,`y = kx + b`是这个模型的结构。 而带入训练的数据点,就叫做**训练数据**,它们的统称就叫**训练数据集**
* 然后,我们使用几个在 训练 过程中没有用到的在线段上的数据点作为输入,代入这个模型进行运算,得到结果,比如 `x = 10`, 得到`y = 40`, 然后对比输出值是否与预期相符,这里我们发现`x = 10, y = 40` 确实是在图中这条直线上的, 并且训练时没有使用这个点,说明我们得到的模型在此次核验中通过,这个过程叫 **验证** `x = 10, y = 40` 这个数据叫验证数据。 如果我们用多组数据去验证这个模型, 这些数据的统称就叫**验证数据集**

View File

@@ -15,7 +15,7 @@
1分类-Classification解决“是什么”的问题即给定一张图片或一段视频判断里面包含什么类别的目标。
2定位-Location解决“在哪里”的问题即定位出这个目标的位置。
2定位-Location解决“在哪里”的问题即定位出这个目标的位置。
3检测-Detection解决“在哪里是什么”的问题即定位出这个目标的位置并且知道目标物是什么。

16
pages/index/zh/t256s.html Normal file
View File

@@ -0,0 +1,16 @@
<script>
var hash = window.location.hash
var url_language = "zh"
if( navigator.language.indexOf("zh") == -1 )
{
url_language = "en"
}
switch (window.location.hash) {
case "#c8" :
break;
default :
location.href = window.location.origin + "/hardware/" + url_language + "/ThermalCam/T256s/Intro.html"
}
</script>

Binary file not shown.