<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.11/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.11/ http://www.mediawiki.org/xml/export-0.11.xsd" version="0.11" xml:lang="zh-Hans-CN">
  <siteinfo>
    <sitename>资料库(何亚红)</sitename>
    <dbname>wiki</dbname>
    <base>http://mediawiki.hyhsystem.cn/index.php/%E9%A6%96%E9%A1%B5</base>
    <generator>MediaWiki 1.45.3</generator>
    <case>first-letter</case>
    <namespaces>
      <namespace key="-2" case="first-letter">媒体</namespace>
      <namespace key="-1" case="first-letter">特殊</namespace>
      <namespace key="0" case="first-letter" />
      <namespace key="1" case="first-letter">讨论</namespace>
      <namespace key="2" case="first-letter">用户</namespace>
      <namespace key="3" case="first-letter">用户讨论</namespace>
      <namespace key="4" case="first-letter">资料库(何亚红)</namespace>
      <namespace key="5" case="first-letter">资料库(何亚红)讨论</namespace>
      <namespace key="6" case="first-letter">文件</namespace>
      <namespace key="7" case="first-letter">文件讨论</namespace>
      <namespace key="8" case="first-letter">MediaWiki</namespace>
      <namespace key="9" case="first-letter">MediaWiki讨论</namespace>
      <namespace key="10" case="first-letter">模板</namespace>
      <namespace key="11" case="first-letter">模板讨论</namespace>
      <namespace key="12" case="first-letter">帮助</namespace>
      <namespace key="13" case="first-letter">帮助讨论</namespace>
      <namespace key="14" case="first-letter">分类</namespace>
      <namespace key="15" case="first-letter">分类讨论</namespace>
      <namespace key="828" case="first-letter">模块</namespace>
      <namespace key="829" case="first-letter">模块讨论</namespace>
    </namespaces>
  </siteinfo>
  <page>
    <title>首页</title>
    <ns>0</ns>
    <id>110</id>
    <revision>
      <id>1163</id>
      <parentid>1159</parentid>
      <timestamp>2026-04-06T15:08:43Z</timestamp>
      <contributor>
        <username>HEYAHONG</username>
        <id>1</id>
      </contributor>
      <comment>/* 测试工具 */</comment>
      <origin>1163</origin>
      <model>wikitext</model>
      <format>text/x-wiki</format>
      <text bytes="25325" sha1="1pnof2u28ktch86sr1qkyj6e624007b" xml:space="preserve">== 常用项目 ==

=== 嵌入式项目 ===
{| class="wikitable sortable"
!名称
!简介
!Wiki(若有)
!标签
|-
|ExtBoard-001     
|扩展板,用于扩展一个可编程通道(RS485)。
主要采用以下芯片:

* CH334R:USB Hub。
* [[Air32F103CCT6]]:[[DAPLink]]主控芯片、Core主控芯片。
* MAX3485：3.3V电源驱动的RS485收发芯片。
|[[ExtBoard-001]]
|
* [[USB]]
* [[DAPLink]]
* [[Air32F103]]
|-
|CoreBoard-001
|核心板。
主要采用以下芯片/模块:

* HLK-7688A:[[MT7688AN]]核心板。
* DS1307：实时时钟
|[[CoreBoard-001]]
|
* [[USB]]
* [[MT7688]]
|-
|ExtBoard-002
|扩展板。使用USB提供4G联网功能。
主要采用以下芯片/模块:

* [[Air780EG]]
|[[ExtBoad-002]]
|
* [[USB]]
* [[Air780EG]]
|-
|ExtBoard-003
|扩展板。USB CAN适配器，复刻[[candleLight]]。
|[[ExtBoard-003]]
|
* [[USB]]
* [[CAN]]
|-
|ExtModule-001
|模块电路，用于验证廉价PY32单片机
|[[ExtModule-001]]
|
* PY32
* [[Modbus]]
|-
|ExtModule-002
|模块电路，用于验证ST17H66 蓝牙SOC
|[[ExtModule-002]]
|
* [[ST17H66]]
|-
|ExtModule-003
|模块电路，用于验证XL2409 廉价2.4G无线SOC
|[[ExtModule-003]]
|
* [[XL2409]]
|-
|ExtModule-004
|模块电路，用于验证CH32V208 SOC.
|[[ExtModule-004]]
|
* [[CH32V208]]
|}

== 常用技术栈 ==

=== 使用低成本无线连接的设备 ===
通常情况下，除了直接接入网络，通常还可以使用网关代为接入网络，此时大致可分为网关设备（例如ZigBee网络的协调器）与子设备（例如ZigBee的路由器与终端设备）。

网关设备通常用于协议的转换，通常使用性能相对强大的设备担任。

子设备一般用于实际的应用，对设备的性能的要求相对较低。

使用网关设备+子设备的模式优点如下：

* 在节点较多时可节约成本。
* 某些场所无法直接接入网络。

网关设备与子设备之间的连接可以使用有线连接（如[[CAN]]、[[Modbus|Modbus RTU]]等），也可以使用无线连接。

使用无线连接时，主要使用以下方案:

* [[NRF24L01+|NRF24L01]]及其兼容方案：实现简单，由用户自行定义协议，网关设备与子设备均需要自行开发。
* [[XL2409]]无线方案:其操作类似[[NRF24L01+|NRF24L01]]及其兼容方案,只是XL2409是一个SOC芯片，可编程。
* [[BLE]]：低功耗蓝牙，用户不能自定义协议，只能按照蓝牙定义的协议去开发，对于硬件而言，一般主要开发外围外设，中心设备可使用已有的硬件方案，调试使用可使用PC、手机调试。

==== NRF24L01及其兼容方案 ====
采用[[NRF24L01+]]及兼容方案，直接收发数据，网络协议栈由用户自行实现。

==== [[XL2409]]无线方案 ====
其操作类似[[NRF24L01+|NRF24L01]]及其兼容方案,只是XL2409是一个SOC芯片，可编程。直接收发数据，网络协议栈由用户自行实现。

==== [[BLE]] ====
很多SOC方案支持开发中心设备，也支持开发外围设备，但一般只开发外围设备（通常用于子设备）的硬件（调试使用PC、手机），中心设备的硬件可使用支持BLE的现成方案。

主要使用的BLE方案如下：

* [[ST17H66]]: 低成本[[BLE]] SOC。

=== 可连接TCP/IP的物联网设备 ===
开发物联网设备时,无论设备是通过WiFi、2G/3G/4G/5G或以太网连接网络,如设备支持TCP/IP,通常采用[[MQTT]]作为主要通信协议。

除了主要通信协议,通常物联网设备还需要支持NTP对时，有时还需要使用到Http作为辅助协议。

主要使用的协议如下：
{| class="wikitable"
!协议名称
!说明
!备注
|-
|[[MQTT]]
|MQTT是专门针对物联网开发的轻量级传输协议。
|通常采用TCP，可实现实时控制。
|-
|[[LwM2M]]
|LwM2M是一种轻量级的、标准通用的物联网设备管理协议，可用于快速部署客户端/服务器模式的物联网业务
|通常采用UDP，常见于NB-IOT模块。
由于UDP的在公网上的老化（公网的NAT转换机制），在公网上不能实现实时控制，只能应用于周期上报的设备。

在专网或者局域网内可实现实时控制。
|-
|[[CoAP]]
|CoAP是一种用于受限节点与受限网络的web传输协议，由IETF提出。
|通常采用UDP，可使用DTLS加密，一般情况下用于在受限环境中替代http。
|-
|Http/Https
|超文本传输协议（Hypertext Transfer Protocol，HTTP）是一个简单的请求-响应协议。
|通常用于调用后端服务器的api接口。
|-
|NTP
|NTP是用来使计算机时间同步化的一种协议。
|
|-
|[[CSA Matter|Matter]]
|Matter是一个统一的、开源的应用层连接标准，旨在使开发人员和设备制造商能够连接和构建可靠的、安全的生态系统，并增加智能家具设备之间的兼容性。
|按照其架构，可使用TCP/UDP,基于[[IPV6]].
|}

==== 低成本方案 ====
低成本方案主要是指硬件采用SOC方案并且操作系统采用嵌入式操作系统的方案或者外设方案:

* [[Air724UG]] :4G模块，可使用C/C++进行二次开发。
* [[Air780E]]:4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价。
* [[ESP8266]] ： WIFI模块。
* [[ESP32]] : WIFI模块,可接以太网PHY实现以太网上网。
* [[W600]] ： WIFI模块。
* [[W800]] ： WIFI模块。
* [[CH579]] ： 自带以太网PHY,可实现以太网上网。
*[[W5500]] :全硬件以太网外设芯片，需配合主控使用。

==== 一般方案 ====
一般方案主要指资源相对充足的方案,一般采用Linux作为内核:

* [[MT7688]] :可采用以太网或者WIFI联网,通过USB可接4G上网模块通过RNDIS上网。

=== 带交流计量功能的设备 ===
==== 单相SOC方案 ====
对于单相计量（即常见的家用电）设备,通常采用SOC方案:
* [[RN8211B]]
* [[HT502X]]
此类SOC通常可以使用内置的模块完成包括计量功能在内的大部分需求,在某些情况下也可开发高精度的直流计量设备。&lt;br&gt;
如需与其它设备进行交互，通常还需要添加通信模块或者使用串口通信。&lt;br&gt;
若使用串口通信,本人常用[[Modbus]] RTU作为具体协议,将具体的硬件资源映射为线圈(可读写的位)、输入线圈(只读的位)、保持寄存器(可读写)、输入寄存器(只读)。&lt;br&gt;
* [[SimpleModbusRTUPacket]]
==== 单相非SOC方案 ====
若由于需要采用低成本导致计量部分相对于强电非隔离,而设备上又需要输出隔离接口时,通常采用非SOC方案+串口/SPI口隔离,常用芯片方案:
* [[RN8209]]
此方案需要另外加一个主控芯片。
==== 三相非SOC方案 ====
若待计量的电路为三相电路,常用芯片方案:
* [[RN8302B]]
此方案需要另外加一个主控芯片。&lt;br&gt;
注意:截至编辑时,尚未发现三相SOC方案。
=== 带有特殊功能的路由器/WIFI网关 ===
芯片方案：
* [[MT7688]]
软件开发方案:
* [[ openwrt ]]
在内核[[Devicetree|设备树(dts)]]配置中使能需要使用的标准接口，并在openwrt的[[Kconfig|menuconfig]]中选中对应的kmod包后,即可使用[[Linux]]用户程序(非内核模块)操作硬件设备。&lt;br&gt;
对于SPI、I2C与UART而言,用户可通过打开/dev目录下的相应字符设备即可使用。&lt;br&gt;
对于GPIO而言,可使用sysfs文件系统目录:/sys/class/gpio目录进行GPIO操作。

=== 基于[[USB]]的外设扩展 ===
对于使用Linux内核的设备的外设扩展,本人较为推崇使用[[USB]]作为外设总线,其优点如下:

* 支持热插拔与子设备枚举，无需在设备树中配置所挂接的子设备。
* 可使用hub扩展较多接口。
* 支持[[USB]]的转换芯片较多。

一般来讲，对于少量控制数据的传输，[[USB]] 2.0的传输速度就足够了。

==== [[USB]] HUB ====
{| class="wikitable"
!芯片系列
!说明
!官网(若有)
|-
|CH334/CH335
|4 口USB 2.0 USB Hub
|https://www.wch.cn/products/CH334.html
|-
|CH338
|7口USB 2.0 USB Hub
|https://www.wch.cn/products/CH338.html
|-
|FE1.1s
|4 口USB 2.0 USB Hub
|
|-
|HS8836A
|4 口USB 2.0 USB Hub
|
|}

==== [[USB]] 转换芯片 ====
{| class="wikitable"
!芯片系列
!说明
!官网(若有)
|-
|CH340
|USB转串口/打印口
|https://www.wch.cn/products/CH340.html
|}

==== [[USB]] 上位机软件开发 ====

* 对于标准外设，可按照标准外设的使用方法，如[[USB]]转串口按照串口的方式使用。
* 对于[[USB]]原生的应用(直接通过端点发送接收数据),可使用[https://libusb.info/ libusb]开发。
* 对于基于[[USB]]的HID设备，若未被其它内核驱动使用，可使用[https://github.com/signal11/hidapi hidapi]开发。

==== [[USB]] 嵌入式开发 ====
若未具体说明，本章节中的[[USB]]嵌入式开发指Device端的嵌入式开发，即[[USB]]外设开发。

除了各个芯片厂商提供的[[USB]]栈，还可使用以下USB栈用于USB外设开发：
{| class="wikitable"
!USB库
!说明
!官网(若有)
|-
!tinyusb
!开源、跨平台的USB HOST/DEVICE栈
!https://www.tinyusb.org/
|-
!CherryUSB
!小而美的、可移植性高的、用于嵌入式系统的 USB 主从协议栈
!https://cherryusb.readthedocs.io/
|}

=== 电子线连接器 ===
很多时候一个产品可由多个PCB组成，而PCB之间除了直接焊线，还可以由电子线连接器（包括插头、插座）连接。
{| class="wikitable"
|+常用电子线连接器
!引脚间距(mm)
!类型
!说明
|-
|1.0
|
* SH
|
|-
|1.25
|
* GH
|
|-
|1.50
|
* ZH
|
|-
|2.00
|
* PH
* HY
|
|-
|2.50/2.54
|
* EH
* XH
* SM
|
|-
|3.96
|
* VH
|
|}
注意：

# 以上所指的类型可能只是实际连接器的型号的一部分,一般用于搜索相应器件。如在淘宝上搜索'''PH 连接器''' 即可获取类型为PH的连接器。
# 同一个引脚间距可能有多个类型，这些不同的类型一般有其它差异（如材料、结构等）。
# 如需某个类型的双排连接器，可在类型中添加D(仅适用于部分类型),如需要类型为PH的连接器,则搜索'''PHD 连接器'''。

=== 外壳方案 ===

==== 可采用导轨安装的外壳方案 ====
对于电气控制柜、仪表柜、配电箱等，安装导轨是一个极其常见的配件。

常用的安装导轨方案如下:

* DIN TS35:35×7.5 安装导轨,宽度35mm,深度7.5mm,材质形式为钢、铝、铜等，表现形式为横条状金属片

若未特殊说明，导轨均指DIN TS35安装导轨。

对于带计量的产品而言,除了设计成插座样式，还可以设计成导轨安装并安放在配电箱里。

对于需要安装至导轨的产品而言，主要有以下方案:

* 直接使用可用于导轨安装的外壳。
* 采用导轨安装卡扣,卡扣上通常有螺丝孔位，可通过螺丝安装产品。

==== 廉价铝壳外壳方案 ====
作为物联网产品(尤其是具有RTU/DTU角色的物联网产品)，通常需要一个外壳。一般情况下，可使用铁壳或者铝壳作为外壳。

为减小成本,本人一般采用成品铝壳作为外壳。

注意:本段落中的铝壳主要指主要外形为长方体，两侧或者顶部具有可拆卸的盖子的壳体，并不泛指所有采用铝作为主要材料的壳体。

一般情况下,通常需要给铝壳开孔以引出接口，常用方案如下:

* 正面开孔，一般通过厂家定制。仅试样的情况下，价格一般相对较高。
* 侧盖开孔(一面或两面)，一般通过厂家定制。仅试样的情况下，价格一般相对较高。
* 采用PCB作为侧盖(一般使用黑色的壳体配合黑色PCB),使用PCB制造开孔。仅试样的情况下,价格相对便宜。
* 一侧不要侧盖。适用于直接引出导线的产品,一般配合灌胶工艺。一般直接用于量产产品。
如需使用导轨安装，可使用导轨安装卡扣固定铝壳。

===== 常用尺寸1 =====
{| class="wikitable"
|+铝壳参数
!长
!宽
!高
!PCB块数
!PCB最大厚度
!PCB最大宽度
!PCB最大长度
|-
|100mm
|66mm
|27mm
|2(一块顶部PCB板，一块底部PCB板)
|2mm
|60.3mm(不能小太多)
|100mm(取决于铝壳长度，一般可定制)
|}
[[文件:ALUMINUM SHELL 66x27x100.png|居中|有框]]

==== 接线盒(家庭) ====
此处所指接线盒主要指家庭中用于开关/插座的接线盒,并不指广义接线盒。

接线盒主要由底盒与面板组成。

其中底盒的种类多种多样，根据可分为明装与暗装，一般底盒均为提前安装好的，不可简单增加与减少。

面板一般是嵌入式开发中常用的壳体，只要保证安装孔距正确，即可安装在提前安装的底盒上。

接线盒可根据面板尺寸进行分类，主要有以下型号：

* 86型
* 118型
* 120型

采用接线盒进行嵌入式开发主要开发以下设备（与传统开关、传统插座有一定相似之处）：

* 智能家居控制面板:可进行联网操作，控制智能家居设备。可显示一些信息（如时间、天气、场景等信息）。可连接到其它智能设备（如智能音箱）
* 智能家居开关：功能与传统开关类似，可通过无线（如BLE、Zigbee等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。
* 智能家居插座：功能与传统插座类似，可远程控制、数据采集（电量、电压、电流等）。可通过无线（如BLE、Zigbee、WiFi等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。

===== 86型接线盒 =====
86型接线盒作为较常用的接线盒，俗称86盒，其面板尺寸86mmX86mm。

许多厂商也提供采用86盒的开发板，如[https://wiki.sipeed.com/hardware/zh/lichee/RV/86_panel.html Sipeed Lichee RV 86 Panel]、[http://www.smartpanle.com/product-item-24.html Model 3C 86盒3.95寸开发板]。

== 常用芯片及模块 ==
=== 常用芯片及核心模块 ===
{| class="wikitable sortable"
|+ 常用芯片及核心模块
|-
! 芯片/模块名称 !! 说明 !! wiki(若有)
|-
| RN8211B || 单相计量SOC || [[RN8211B]]
|-
| HT502X || 单相计量SOC || [[HT502X]]
|-
| Air724UG || 4G模块,进行C语言开发 || [[Air724UG]]
|-
|Air780E
|4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价
|[[Air780E]]
|-
| ESP-12F || WIFI透传模块，可支持二次开发，主芯片为ESP8266 || [[ESP8266]]
|-
| ESP-32S || ESP32模块，可支持WIFI、蓝牙、以太网,可采用esp-idf开发 || [[ESP32]]
|-
| TB-01 || W600开发板，WIFI SOC，Cortex-M3内核 || [[W600]]
|-
| TB-08 || W800开发板，WIFI/蓝牙 SOC， XT804内核 || [[W800]]
|-
| CH579|| 以太网、蓝牙、USB SOC，Cortex-M0内核MCU || [[CH579]]
|-
| HLK-7688A|| MT7688芯片核心模块，可采用openwrt开发 || [[MT7688]]
|-
| E18-MS1|| CC2530芯片核心模块，可采用contiki开发或者Z-Stack开发 || [[CC2530]]
|-
|Air105
|廉价大内存mcu,4M flash,640K SRAM,Cortex-M4F
|[[Air105]]
|-
|Lichee Zero
|全志V3s开发板，64M DRAM，廉价Linux开发板，V3s芯片可手贴
|[[V3s]]   [https://wiki.sipeed.com/hardware/zh/lichee/Zero/Zero.html Lichee Zero]
|-
|Air32F103
|96K RAM,兼容STM32F103
|[[Air32F103]] http://air32.cn
|-
|ST17H66
|64K RAM，256K Flash,廉价蓝牙SOC
|[[ST17H66]]
|}
注意:此章节可能不包含资料较多，应用极其成熟的芯片系列。
=== 外设芯片及外设模块 ===
{| class="wikitable sortable"
|+ 外设芯片及外设模块
|-
! 名称 !! 说明 !! 接口 !! wiki(若有)
|-
| RN8302B || 三相计量芯片 || SPI || [[RN8302B]]
|-
| RN8209C/RN8209D || 单相计量芯片 ||
* UART
* SPI
| [[RN8209]]
|-
| NRF24L01+ || 2.4G无线芯片,具有众多兼容替代(如Si24R1) || SPI+GPIO(中断、CE) || [[NRF24L01+]]
|-
|W5500
|全硬件栈以太网芯片
|SPI
|[[W5500]]
|-
|中景园0.96寸OLED点阵屏
|分辨率128x64,显示驱动（控制）芯片SSD1306
|
* IIC
* SPI+GPIO(DC、RES)
|[[SSD1306]] [[中景园0.96寸OLED点阵屏]]
|-
|AHT20
|温湿度传感器
|IIC
|[[AHT20]]
|-
|DS1307
|RTC（实时时钟）
|IIC
|[[DS1307]]
|}

== 常用嵌入式操作系统、BootLoader、嵌入式固件及嵌入式软件库 ==

{| class="wikitable sortable"
|+ 
|-
! 名称 !! 说明 !! wiki(若有)
|-
| FreeRTOS || 嵌入式操作系统 || [[FreeRTOS]]
|-
| rt-thread || 物联网嵌入式操作系统 || [[ rt-thread ]] 
|-
|nuttx||嵌入式操作系统||[[nuttx]]
|-
|paho.mqtt.embedded-c|| MQTT客户端，可移植到各种芯片平台||[[paho.mqtt.embedded-c]]
|-
|openwrt||操作系统，嵌入式Linux构建工具||[[ openwrt | openwrt]]
|-
|u8g2
|单色/点阵屏驱动库
|[[u8g2]]
|-
|U-Boot
|通用引导加载器。通常用于加载[[Linux]]。
|[[U-Boot]]
|-
|Newlib
|嵌入式C运行库（通常配合GCC使用）
|[[Newlib]]
|-
|printf
|printf, sprintf and (v)snprintf 实现
|[[printf]]
|}


==常用工具==
{| class="wikitable sortable"
|+常用工具
|-
!名称!!说明!!wiki(若有)/链接地址
|-
|easy-rsa||使用SSL/TLS时,自签证书制作/管理工具||[[easy-rsa]]
|-
|buildroot||嵌入式Linux构建工具||[[buildroot]]
|-
|debootstrap||Linux系统根文件系统创建工具,可创建Debian系Linux系统根文件系统||[[debootstrap]]
|-
|crosstool-ng||交叉编译工具链创建工具||[[crosstool-ng]]
|-
|ScreenToGif
|在Windows下录屏制作gif的工具
|https://github.com/NickeManarin/ScreenToGif.git
|-
|Xfel
|全志SOC的FEL工具（可下载固件等）
|[[Xfel]]
|-
|busybox
|unix工具箱，可用于创建体积极小的rootfs
|[[busybox]]
|}

=== 操作系统 ===
{| class="wikitable"
|+
!名称
!说明
!wiki(若有)/链接地址
|-
|ubuntu
|基于Linux的操作系统
|https://ubuntu.com/
|-
|windows
|
|https://www.microsoft.com
|-
|xigmanas
|基于FreeBSD的NAS系统
|https://sourceforge.net/projects/xigmanas/
|-
|FreeBSD
|
|https://www.freebsd.org/
|}

===IDE环境/开发环境/开发工具===
{| class="wikitable sortable"
|+
!名称
!说明
!wiki(若有)/链接地址
|-
|codeblocks
|免费的C/C++ IDE,可开发多种C/C++程序。本人只要将它用作基于CMake构建的工程的代码编写。
|http://www.codeblocks.org/
|-
|Microsoft Visual Studio
|微软的开发工具集。本人主要用于开发WIN32程序。本人优先使用codeblocks作为C/C++开发环境,VS占用的空间太大,但有些第三方库在Windows上可能只支持MSVC,故而必须使用VS。
|https://visualstudio.microsoft.com/zh-hans/
|-
|keil5
|用于ARM嵌入式芯片的开发。注意:keil5不是免费的。
|https://www.keil.com/
|-
|IAR
|本人主要使用针对ARM嵌入式芯片的开发。注意:IAR不是免费的。
|https://www.iar.com/
|-
|QtCreator
|用于创建基于Qt的程序。
|https://www.qt.io/product/development-tools
|-
|MounRiver
|基于Eclipse的嵌入式ARM/RISC-V的集成开发环境。本人主要用于测试[https://www.wch.cn/ WCH]的单片机。
|http://www.mounriver.com/
|-
|RT-Thread Studio
|一站式的 RT-Thread 开发工具，通过简单易用的图形化配置系统以及丰富的软件包和组件资源，让物联网开发变得简单和高效。本人主要用于开发与rt-thread相关设备。
|https://www.rt-thread.org/
|}

=== 电子硬件设计(原理图绘制/PCB绘制/其它相关工具) ===
{| class="wikitable"
|+
!名称
!说明
!wiki（若有）/链接地址
|-
|立创EDA
|高效的国产PCB设计工具，永久免费。可在线使用。
|https://lceda.cn/
|-
|KiCad
|跨平台开源电子设计套装。
|https://www.kicad.org/
|-
|freerouting
|自动布线工具。可配合立创EDA或KiCad使用。本人用于替代立创EDA自带的自动布线。
|https://www.freerouting.app/
https://github.com/freerouting/freerouting.git
|}

=== AI工具 ===
{| class="wikitable"
|+
!名称
!说明
!wiki(若有)/链接地址
|-
|ollama
|开源大模型运行工具。可在本地运行大模型，若想取得理想效果，需要大内存及高性能显卡
|https://github.com/ollama/ollama
|}

=== Api工具 ===
{| class="wikitable"
!名称
!说明
!wiki（若有）/链接地址
|-
|Apipost
|Apipost-API 文档、设计、调试、自动化测试一体化协作平台。具有免费版本。
|https://www.apipost.cn/
|}

=== 编译器 ===
{| class="wikitable"
!名称
!说明
!wiki（若有）/链接地址
|-
|sdcc
|用于8位/16位单片机(如MCS51、DS80C390 、HC08、Z80、STM8, MOS 6502 、WDC 65C02等)的C编译器
|https://sdcc.sourceforge.net/
|}

=== 流程图/框图绘制 ===
{| class="wikitable"
|+
!名称
!说明
!wiki（若有）/链接地址
|-
|dia
|跨平台开源流程图绘制工具
|http://dia-installer.de/
https://sourceforge.net/projects/dia/
|}

=== 图像处理 ===
{| class="wikitable"
|+
!名称
!说明
!wiki（若有）/链接地址
|-
|GIMP
|免费开源图像编辑器
|https://www.gimp.org/
|}

=== 作曲工具(MIDI制作) ===
{| class="wikitable"
!名称
!说明
!wiki（若有）/链接地址
|-
|LMMS
|免费自由开源并且跨平台的作曲工具
|https://lmms.io/
|}

=== 字体编辑 ===
{| class="wikitable"
!名称
!说明
!wiki（若有）/链接地址
|-
|FontForge
|免费字体编辑器
|https://fontforge.org
|}

=== 国际化/本地化 ===
{| class="wikitable"
|+
!名称
!说明
!wiki（若有）/链接地址
|-
|Poedit
|.po编辑工具。可编辑使用 [[xgettext]] 生成的翻译文件
|https://poedit.net/
|}

=== 压缩/解压缩 ===
{| class="wikitable"
|+
!名称
!说明
!wiki（若有）/链接地址
|-
|7-zip
|开源免费的压缩/解压缩软件。Windows下有GUI程序，Linux下只有控制台版本。
|http://www.7-zip.org
|}

=== 虚拟磁盘/磁盘驱动 ===
{| class="wikitable"
!名称
!说明
!wiki（若有）/链接地址
|-
|&lt;s&gt;imdisk&lt;/s&gt;
|Windows下开源虚拟磁盘工具,可方便挂载内存盘（存放临时文件）。
|https://sourceforge.net/projects/imdisk-toolkit
|-
|aim-toolkit
|Windows下开源虚拟磁盘工具,可方便挂载内存盘（存放临时文件）,替代imdisk。
|https://sourceforge.net/projects/aim-toolkit/
|-
|Ext2fsd
|Windows下访问Ext2/Ext3/Ext4文件系统驱动。
|https://sourceforge.net/projects/ext2fsd/
|}

=== 安装/卸载 ===
{| class="wikitable"
|+
!名称
!说明
!wiki（若有）/链接地址
|-
|Geek Uninstaller
|Windows下程序卸载工具,具有免费的版本。
|https://geekuninstaller.com/
|}

===小工具(自写/修改/组合)===
{| class="wikitable"
|+
!名称
!说明
!wiki
!支持平台
|-
|CC3200_GangGenerator
|生成用于烧录CC3200 SPI Flash的工具
|[[CC3200_GangGenerator]]
|
*Windows
|-
|WMToolHelper
| W600烧录工具
|[[WMToolHelper]]
|
*Windows
*Linux （ubuntu 20.04）
|-
|WinBleTool
| Windows下调试BLE的工具
|[[WinBleTool]]
|
*Windows 10(及以上)
|-
|SimpleBLETool
|调试BLE的工具
| [[SimpleBLETool]]
|
*Windows 10+
*Linux(ubuntu 20.04+)
|-
|cutecom-ng
|基于Qt5的串口工具。个人修改版。
|[[cutecom-ng]]
|只要是Qt5支持的桌面平台均支持。
|-
|OneNETTool
|开发OneNET辅助工具
|[[OneNETTool]]
|
*Windows
*Linux （ubuntu 20.04）
|-
|QGDW12184Tool
|开发Q/GDW 12184辅助工具
|[[QGDW12184Tool]]
|
*Windows
*Linux （ubuntu 20.04）
|-
|XServerForWSL1
|利用cygwin中的X服务对WSL提供X服务
|[[XServerForWSL1]]
|支持WSL1的Windows
|-
|linux_binfmt_pe
|使用[[wine]]直接执行PE可执行文件的Linux内核模块
|[[linux_binfmt_pe]]
|
* Linux内核
|-
|Win32Redirector
|重定向win32控制台应用至MSYS2或者Cygwin中的程序。
|[[Win32Redirector]]
|
* Windows
|-
|HEnvBox
|快速搭建本人常用的开发环境。
|[[HEnvBox]]
|
* Windows 10及更新版
* Ubuntu 22.04
* Debian
* Deepin
|-
|HVCP
|Windows下虚拟串口
|[[HVCP]]
|
* Windows 7 及更新系统
|}

== 常用库 ==
此章节主要对使用的比较多的库做一个整理。
{| class="wikitable"
|+
!名称
!官网
!说明
!Wiki
|-
|wxWidgets
|https://www.wxwidgets.org/
|跨平台GUI库
|[[wxWidgets]]
|-
|Qt
|https://www.qt.io/
|跨平台库（包括GUI）
|[[Qt]]
|}

=== 工具/库（自写/修改） ===
{| class="wikitable"
|+
!名称
!说明
!Wiki(若有)
|-
|DeployWin
|MSYS2与CygWin下编程辅助打包库。一般配合CMake的CPack使用。
|[[DeployWin]]
|-
|HCppBox
|本人常用的C/C++代码
|[[HCppBox]]
|-
|SimpleModbusRTUPacket
|简易的[[Modbus]] RTU包解析
|[[SimpleModbusRTUPacket]]
|}

==常用镜像站==
在找各种源码资源时，经常遇到国外网站下载较慢的情况下，此时通常需要更换镜像站。

例如:

*ubuntu系统的软件包(包括使用deboostrap的镜像源)
*python软件包
*gnu软件源码包
*linux源码

{| class="wikitable"
|+
!地址
!说明
|-
|http://mirrors.ustc.edu.cn/
|中国科学技术大学镜像站
|-
|https://mirrors.tuna.tsinghua.edu.cn/
|清华大学镜像站
|-
|http://mirrors.163.com/
|网易开源镜像站
|-
|http://mirrors.aliyun.com/
|阿里开源镜像站
|-
|https://mirrors.cernet.edu.cn
|校园网联合镜像站
|}

== 静态文档网站 ==
一些静态的网页文档,如[https://www.doxygen.nl/ doxygen]生成的帮助文档与[https://docsify.js.org/#/ docsify]制作的静态说明文档。
{| class="wikitable"
|+
!类型
!URL
!备注
|-
|静态文档仓库
|https://heyahong.github.io/#/
|采用github pages托管,源代码仓库:https://github.com/HEYAHONG/HEYAHONG.github.io.git
|-
|网站
|http://docs.hyhsystem.cn
|采用nginx服务器,运行于云服务器
|}

==相关链接==

*[[测试资源]]
*[[第三方资源]]
*[[方案发现与探索]]
*[[杂项笔记与测试代码]]
*[[常见问题]]</text>
      <sha1>1pnof2u28ktch86sr1qkyj6e624007b</sha1>
    </revision>
  </page>
</mediawiki>
