<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>http://mediawiki.hyhsystem.cn/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=HEYAHONG</id>
	<title>资料库(何亚红) - 用户贡献 [zh-cn]</title>
	<link rel="self" type="application/atom+xml" href="http://mediawiki.hyhsystem.cn/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=HEYAHONG"/>
	<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php/%E7%89%B9%E6%AE%8A:%E7%94%A8%E6%88%B7%E8%B4%A1%E7%8C%AE/HEYAHONG"/>
	<updated>2026-04-11T12:19:54Z</updated>
	<subtitle>用户贡献</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1163</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1163"/>
		<updated>2026-04-06T15:08:43Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 测试工具 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 常用项目 ==&lt;br /&gt;
&lt;br /&gt;
=== 嵌入式项目 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!简介&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
!标签&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-001     &lt;br /&gt;
|扩展板,用于扩展一个可编程通道(RS485)。&lt;br /&gt;
主要采用以下芯片:&lt;br /&gt;
&lt;br /&gt;
* CH334R:USB Hub。&lt;br /&gt;
* [[Air32F103CCT6]]:[[DAPLink]]主控芯片、Core主控芯片。&lt;br /&gt;
* MAX3485：3.3V电源驱动的RS485收发芯片。&lt;br /&gt;
|[[ExtBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[DAPLink]]&lt;br /&gt;
* [[Air32F103]]&lt;br /&gt;
|-&lt;br /&gt;
|CoreBoard-001&lt;br /&gt;
|核心板。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* HLK-7688A:[[MT7688AN]]核心板。&lt;br /&gt;
* DS1307：实时时钟&lt;br /&gt;
|[[CoreBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-002&lt;br /&gt;
|扩展板。使用USB提供4G联网功能。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|[[ExtBoad-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-003&lt;br /&gt;
|扩展板。USB CAN适配器，复刻[[candleLight]]。&lt;br /&gt;
|[[ExtBoard-003]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-001&lt;br /&gt;
|模块电路，用于验证廉价PY32单片机&lt;br /&gt;
|[[ExtModule-001]]&lt;br /&gt;
|&lt;br /&gt;
* PY32&lt;br /&gt;
* [[Modbus]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-002&lt;br /&gt;
|模块电路，用于验证ST17H66 蓝牙SOC&lt;br /&gt;
|[[ExtModule-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[ST17H66]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-003&lt;br /&gt;
|模块电路，用于验证XL2409 廉价2.4G无线SOC&lt;br /&gt;
|[[ExtModule-003]]&lt;br /&gt;
|&lt;br /&gt;
* [[XL2409]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-004&lt;br /&gt;
|模块电路，用于验证CH32V208 SOC.&lt;br /&gt;
|[[ExtModule-004]]&lt;br /&gt;
|&lt;br /&gt;
* [[CH32V208]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用技术栈 ==&lt;br /&gt;
&lt;br /&gt;
=== 使用低成本无线连接的设备 ===&lt;br /&gt;
通常情况下，除了直接接入网络，通常还可以使用网关代为接入网络，此时大致可分为网关设备（例如ZigBee网络的协调器）与子设备（例如ZigBee的路由器与终端设备）。&lt;br /&gt;
&lt;br /&gt;
网关设备通常用于协议的转换，通常使用性能相对强大的设备担任。&lt;br /&gt;
&lt;br /&gt;
子设备一般用于实际的应用，对设备的性能的要求相对较低。&lt;br /&gt;
&lt;br /&gt;
使用网关设备+子设备的模式优点如下：&lt;br /&gt;
&lt;br /&gt;
* 在节点较多时可节约成本。&lt;br /&gt;
* 某些场所无法直接接入网络。&lt;br /&gt;
&lt;br /&gt;
网关设备与子设备之间的连接可以使用有线连接（如[[CAN]]、[[Modbus|Modbus RTU]]等），也可以使用无线连接。&lt;br /&gt;
&lt;br /&gt;
使用无线连接时，主要使用以下方案:&lt;br /&gt;
&lt;br /&gt;
* [[NRF24L01+|NRF24L01]]及其兼容方案：实现简单，由用户自行定义协议，网关设备与子设备均需要自行开发。&lt;br /&gt;
* [[XL2409]]无线方案:其操作类似[[NRF24L01+|NRF24L01]]及其兼容方案,只是XL2409是一个SOC芯片，可编程。&lt;br /&gt;
* [[BLE]]：低功耗蓝牙，用户不能自定义协议，只能按照蓝牙定义的协议去开发，对于硬件而言，一般主要开发外围外设，中心设备可使用已有的硬件方案，调试使用可使用PC、手机调试。&lt;br /&gt;
&lt;br /&gt;
==== NRF24L01及其兼容方案 ====&lt;br /&gt;
采用[[NRF24L01+]]及兼容方案，直接收发数据，网络协议栈由用户自行实现。&lt;br /&gt;
&lt;br /&gt;
==== [[XL2409]]无线方案 ====&lt;br /&gt;
其操作类似[[NRF24L01+|NRF24L01]]及其兼容方案,只是XL2409是一个SOC芯片，可编程。直接收发数据，网络协议栈由用户自行实现。&lt;br /&gt;
&lt;br /&gt;
==== [[BLE]] ====&lt;br /&gt;
很多SOC方案支持开发中心设备，也支持开发外围设备，但一般只开发外围设备（通常用于子设备）的硬件（调试使用PC、手机），中心设备的硬件可使用支持BLE的现成方案。&lt;br /&gt;
&lt;br /&gt;
主要使用的BLE方案如下：&lt;br /&gt;
&lt;br /&gt;
* [[ST17H66]]: 低成本[[BLE]] SOC。&lt;br /&gt;
&lt;br /&gt;
=== 可连接TCP/IP的物联网设备 ===&lt;br /&gt;
开发物联网设备时,无论设备是通过WiFi、2G/3G/4G/5G或以太网连接网络,如设备支持TCP/IP,通常采用[[MQTT]]作为主要通信协议。&lt;br /&gt;
&lt;br /&gt;
除了主要通信协议,通常物联网设备还需要支持NTP对时，有时还需要使用到Http作为辅助协议。&lt;br /&gt;
&lt;br /&gt;
主要使用的协议如下：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!协议名称&lt;br /&gt;
!说明&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|[[MQTT]]&lt;br /&gt;
|MQTT是专门针对物联网开发的轻量级传输协议。&lt;br /&gt;
|通常采用TCP，可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[LwM2M]]&lt;br /&gt;
|LwM2M是一种轻量级的、标准通用的物联网设备管理协议，可用于快速部署客户端/服务器模式的物联网业务&lt;br /&gt;
|通常采用UDP，常见于NB-IOT模块。&lt;br /&gt;
由于UDP的在公网上的老化（公网的NAT转换机制），在公网上不能实现实时控制，只能应用于周期上报的设备。&lt;br /&gt;
&lt;br /&gt;
在专网或者局域网内可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[CoAP]]&lt;br /&gt;
|CoAP是一种用于受限节点与受限网络的web传输协议，由IETF提出。&lt;br /&gt;
|通常采用UDP，可使用DTLS加密，一般情况下用于在受限环境中替代http。&lt;br /&gt;
|-&lt;br /&gt;
|Http/Https&lt;br /&gt;
|超文本传输协议（Hypertext Transfer Protocol，HTTP）是一个简单的请求-响应协议。&lt;br /&gt;
|通常用于调用后端服务器的api接口。&lt;br /&gt;
|-&lt;br /&gt;
|NTP&lt;br /&gt;
|NTP是用来使计算机时间同步化的一种协议。&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[CSA Matter|Matter]]&lt;br /&gt;
|Matter是一个统一的、开源的应用层连接标准，旨在使开发人员和设备制造商能够连接和构建可靠的、安全的生态系统，并增加智能家具设备之间的兼容性。&lt;br /&gt;
|按照其架构，可使用TCP/UDP,基于[[IPV6]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 低成本方案 ====&lt;br /&gt;
低成本方案主要是指硬件采用SOC方案并且操作系统采用嵌入式操作系统的方案或者外设方案:&lt;br /&gt;
&lt;br /&gt;
* [[Air724UG]] :4G模块，可使用C/C++进行二次开发。&lt;br /&gt;
* [[Air780E]]:4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价。&lt;br /&gt;
* [[ESP8266]] ： WIFI模块。&lt;br /&gt;
* [[ESP32]] : WIFI模块,可接以太网PHY实现以太网上网。&lt;br /&gt;
* [[W600]] ： WIFI模块。&lt;br /&gt;
* [[W800]] ： WIFI模块。&lt;br /&gt;
* [[CH579]] ： 自带以太网PHY,可实现以太网上网。&lt;br /&gt;
*[[W5500]] :全硬件以太网外设芯片，需配合主控使用。&lt;br /&gt;
&lt;br /&gt;
==== 一般方案 ====&lt;br /&gt;
一般方案主要指资源相对充足的方案,一般采用Linux作为内核:&lt;br /&gt;
&lt;br /&gt;
* [[MT7688]] :可采用以太网或者WIFI联网,通过USB可接4G上网模块通过RNDIS上网。&lt;br /&gt;
&lt;br /&gt;
=== 带交流计量功能的设备 ===&lt;br /&gt;
==== 单相SOC方案 ====&lt;br /&gt;
对于单相计量（即常见的家用电）设备,通常采用SOC方案:&lt;br /&gt;
* [[RN8211B]]&lt;br /&gt;
* [[HT502X]]&lt;br /&gt;
此类SOC通常可以使用内置的模块完成包括计量功能在内的大部分需求,在某些情况下也可开发高精度的直流计量设备。&amp;lt;br&amp;gt;&lt;br /&gt;
如需与其它设备进行交互，通常还需要添加通信模块或者使用串口通信。&amp;lt;br&amp;gt;&lt;br /&gt;
若使用串口通信,本人常用[[Modbus]] RTU作为具体协议,将具体的硬件资源映射为线圈(可读写的位)、输入线圈(只读的位)、保持寄存器(可读写)、输入寄存器(只读)。&amp;lt;br&amp;gt;&lt;br /&gt;
* [[SimpleModbusRTUPacket]]&lt;br /&gt;
==== 单相非SOC方案 ====&lt;br /&gt;
若由于需要采用低成本导致计量部分相对于强电非隔离,而设备上又需要输出隔离接口时,通常采用非SOC方案+串口/SPI口隔离,常用芯片方案:&lt;br /&gt;
* [[RN8209]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&lt;br /&gt;
==== 三相非SOC方案 ====&lt;br /&gt;
若待计量的电路为三相电路,常用芯片方案:&lt;br /&gt;
* [[RN8302B]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&amp;lt;br&amp;gt;&lt;br /&gt;
注意:截至编辑时,尚未发现三相SOC方案。&lt;br /&gt;
=== 带有特殊功能的路由器/WIFI网关 ===&lt;br /&gt;
芯片方案：&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
软件开发方案:&lt;br /&gt;
* [[ openwrt ]]&lt;br /&gt;
在内核[[Devicetree|设备树(dts)]]配置中使能需要使用的标准接口，并在openwrt的[[Kconfig|menuconfig]]中选中对应的kmod包后,即可使用[[Linux]]用户程序(非内核模块)操作硬件设备。&amp;lt;br&amp;gt;&lt;br /&gt;
对于SPI、I2C与UART而言,用户可通过打开/dev目录下的相应字符设备即可使用。&amp;lt;br&amp;gt;&lt;br /&gt;
对于GPIO而言,可使用sysfs文件系统目录:/sys/class/gpio目录进行GPIO操作。&lt;br /&gt;
&lt;br /&gt;
=== 基于[[USB]]的外设扩展 ===&lt;br /&gt;
对于使用Linux内核的设备的外设扩展,本人较为推崇使用[[USB]]作为外设总线,其优点如下:&lt;br /&gt;
&lt;br /&gt;
* 支持热插拔与子设备枚举，无需在设备树中配置所挂接的子设备。&lt;br /&gt;
* 可使用hub扩展较多接口。&lt;br /&gt;
* 支持[[USB]]的转换芯片较多。&lt;br /&gt;
&lt;br /&gt;
一般来讲，对于少量控制数据的传输，[[USB]] 2.0的传输速度就足够了。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] HUB ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH334/CH335&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH334.html&lt;br /&gt;
|-&lt;br /&gt;
|CH338&lt;br /&gt;
|7口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH338.html&lt;br /&gt;
|-&lt;br /&gt;
|FE1.1s&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HS8836A&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 转换芯片 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH340&lt;br /&gt;
|USB转串口/打印口&lt;br /&gt;
|https://www.wch.cn/products/CH340.html&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 上位机软件开发 ====&lt;br /&gt;
&lt;br /&gt;
* 对于标准外设，可按照标准外设的使用方法，如[[USB]]转串口按照串口的方式使用。&lt;br /&gt;
* 对于[[USB]]原生的应用(直接通过端点发送接收数据),可使用[https://libusb.info/ libusb]开发。&lt;br /&gt;
* 对于基于[[USB]]的HID设备，若未被其它内核驱动使用，可使用[https://github.com/signal11/hidapi hidapi]开发。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 嵌入式开发 ====&lt;br /&gt;
若未具体说明，本章节中的[[USB]]嵌入式开发指Device端的嵌入式开发，即[[USB]]外设开发。&lt;br /&gt;
&lt;br /&gt;
除了各个芯片厂商提供的[[USB]]栈，还可使用以下USB栈用于USB外设开发：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!USB库&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
!tinyusb&lt;br /&gt;
!开源、跨平台的USB HOST/DEVICE栈&lt;br /&gt;
!https://www.tinyusb.org/&lt;br /&gt;
|-&lt;br /&gt;
!CherryUSB&lt;br /&gt;
!小而美的、可移植性高的、用于嵌入式系统的 USB 主从协议栈&lt;br /&gt;
!https://cherryusb.readthedocs.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子线连接器 ===&lt;br /&gt;
很多时候一个产品可由多个PCB组成，而PCB之间除了直接焊线，还可以由电子线连接器（包括插头、插座）连接。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+常用电子线连接器&lt;br /&gt;
!引脚间距(mm)&lt;br /&gt;
!类型&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
* SH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.25&lt;br /&gt;
|&lt;br /&gt;
* GH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.50&lt;br /&gt;
|&lt;br /&gt;
* ZH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.00&lt;br /&gt;
|&lt;br /&gt;
* PH&lt;br /&gt;
* HY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.50/2.54&lt;br /&gt;
|&lt;br /&gt;
* EH&lt;br /&gt;
* XH&lt;br /&gt;
* SM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.96&lt;br /&gt;
|&lt;br /&gt;
* VH&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
注意：&lt;br /&gt;
&lt;br /&gt;
# 以上所指的类型可能只是实际连接器的型号的一部分,一般用于搜索相应器件。如在淘宝上搜索&#039;&#039;&#039;PH 连接器&#039;&#039;&#039; 即可获取类型为PH的连接器。&lt;br /&gt;
# 同一个引脚间距可能有多个类型，这些不同的类型一般有其它差异（如材料、结构等）。&lt;br /&gt;
# 如需某个类型的双排连接器，可在类型中添加D(仅适用于部分类型),如需要类型为PH的连接器,则搜索&#039;&#039;&#039;PHD 连接器&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
=== 外壳方案 ===&lt;br /&gt;
&lt;br /&gt;
==== 可采用导轨安装的外壳方案 ====&lt;br /&gt;
对于电气控制柜、仪表柜、配电箱等，安装导轨是一个极其常见的配件。&lt;br /&gt;
&lt;br /&gt;
常用的安装导轨方案如下:&lt;br /&gt;
&lt;br /&gt;
* DIN TS35:35×7.5 安装导轨,宽度35mm,深度7.5mm,材质形式为钢、铝、铜等，表现形式为横条状金属片&lt;br /&gt;
&lt;br /&gt;
若未特殊说明，导轨均指DIN TS35安装导轨。&lt;br /&gt;
&lt;br /&gt;
对于带计量的产品而言,除了设计成插座样式，还可以设计成导轨安装并安放在配电箱里。&lt;br /&gt;
&lt;br /&gt;
对于需要安装至导轨的产品而言，主要有以下方案:&lt;br /&gt;
&lt;br /&gt;
* 直接使用可用于导轨安装的外壳。&lt;br /&gt;
* 采用导轨安装卡扣,卡扣上通常有螺丝孔位，可通过螺丝安装产品。&lt;br /&gt;
&lt;br /&gt;
==== 廉价铝壳外壳方案 ====&lt;br /&gt;
作为物联网产品(尤其是具有RTU/DTU角色的物联网产品)，通常需要一个外壳。一般情况下，可使用铁壳或者铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
为减小成本,本人一般采用成品铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
注意:本段落中的铝壳主要指主要外形为长方体，两侧或者顶部具有可拆卸的盖子的壳体，并不泛指所有采用铝作为主要材料的壳体。&lt;br /&gt;
&lt;br /&gt;
一般情况下,通常需要给铝壳开孔以引出接口，常用方案如下:&lt;br /&gt;
&lt;br /&gt;
* 正面开孔，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 侧盖开孔(一面或两面)，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 采用PCB作为侧盖(一般使用黑色的壳体配合黑色PCB),使用PCB制造开孔。仅试样的情况下,价格相对便宜。&lt;br /&gt;
* 一侧不要侧盖。适用于直接引出导线的产品,一般配合灌胶工艺。一般直接用于量产产品。&lt;br /&gt;
如需使用导轨安装，可使用导轨安装卡扣固定铝壳。&lt;br /&gt;
&lt;br /&gt;
===== 常用尺寸1 =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+铝壳参数&lt;br /&gt;
!长&lt;br /&gt;
!宽&lt;br /&gt;
!高&lt;br /&gt;
!PCB块数&lt;br /&gt;
!PCB最大厚度&lt;br /&gt;
!PCB最大宽度&lt;br /&gt;
!PCB最大长度&lt;br /&gt;
|-&lt;br /&gt;
|100mm&lt;br /&gt;
|66mm&lt;br /&gt;
|27mm&lt;br /&gt;
|2(一块顶部PCB板，一块底部PCB板)&lt;br /&gt;
|2mm&lt;br /&gt;
|60.3mm(不能小太多)&lt;br /&gt;
|100mm(取决于铝壳长度，一般可定制)&lt;br /&gt;
|}&lt;br /&gt;
[[文件:ALUMINUM SHELL 66x27x100.png|居中|有框]]&lt;br /&gt;
&lt;br /&gt;
==== 接线盒(家庭) ====&lt;br /&gt;
此处所指接线盒主要指家庭中用于开关/插座的接线盒,并不指广义接线盒。&lt;br /&gt;
&lt;br /&gt;
接线盒主要由底盒与面板组成。&lt;br /&gt;
&lt;br /&gt;
其中底盒的种类多种多样，根据可分为明装与暗装，一般底盒均为提前安装好的，不可简单增加与减少。&lt;br /&gt;
&lt;br /&gt;
面板一般是嵌入式开发中常用的壳体，只要保证安装孔距正确，即可安装在提前安装的底盒上。&lt;br /&gt;
&lt;br /&gt;
接线盒可根据面板尺寸进行分类，主要有以下型号：&lt;br /&gt;
&lt;br /&gt;
* 86型&lt;br /&gt;
* 118型&lt;br /&gt;
* 120型&lt;br /&gt;
&lt;br /&gt;
采用接线盒进行嵌入式开发主要开发以下设备（与传统开关、传统插座有一定相似之处）：&lt;br /&gt;
&lt;br /&gt;
* 智能家居控制面板:可进行联网操作，控制智能家居设备。可显示一些信息（如时间、天气、场景等信息）。可连接到其它智能设备（如智能音箱）&lt;br /&gt;
* 智能家居开关：功能与传统开关类似，可通过无线（如BLE、Zigbee等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
* 智能家居插座：功能与传统插座类似，可远程控制、数据采集（电量、电压、电流等）。可通过无线（如BLE、Zigbee、WiFi等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
&lt;br /&gt;
===== 86型接线盒 =====&lt;br /&gt;
86型接线盒作为较常用的接线盒，俗称86盒，其面板尺寸86mmX86mm。&lt;br /&gt;
&lt;br /&gt;
许多厂商也提供采用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寸开发板]。&lt;br /&gt;
&lt;br /&gt;
== 常用芯片及模块 ==&lt;br /&gt;
=== 常用芯片及核心模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 常用芯片及核心模块&lt;br /&gt;
|-&lt;br /&gt;
! 芯片/模块名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8211B || 单相计量SOC || [[RN8211B]]&lt;br /&gt;
|-&lt;br /&gt;
| HT502X || 单相计量SOC || [[HT502X]]&lt;br /&gt;
|-&lt;br /&gt;
| Air724UG || 4G模块,进行C语言开发 || [[Air724UG]]&lt;br /&gt;
|-&lt;br /&gt;
|Air780E&lt;br /&gt;
|4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价&lt;br /&gt;
|[[Air780E]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-12F || WIFI透传模块，可支持二次开发，主芯片为ESP8266 || [[ESP8266]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-32S || ESP32模块，可支持WIFI、蓝牙、以太网,可采用esp-idf开发 || [[ESP32]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-01 || W600开发板，WIFI SOC，Cortex-M3内核 || [[W600]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-08 || W800开发板，WIFI/蓝牙 SOC， XT804内核 || [[W800]]&lt;br /&gt;
|-&lt;br /&gt;
| CH579|| 以太网、蓝牙、USB SOC，Cortex-M0内核MCU || [[CH579]]&lt;br /&gt;
|-&lt;br /&gt;
| HLK-7688A|| MT7688芯片核心模块，可采用openwrt开发 || [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
| E18-MS1|| CC2530芯片核心模块，可采用contiki开发或者Z-Stack开发 || [[CC2530]]&lt;br /&gt;
|-&lt;br /&gt;
|Air105&lt;br /&gt;
|廉价大内存mcu,4M flash,640K SRAM,Cortex-M4F&lt;br /&gt;
|[[Air105]]&lt;br /&gt;
|-&lt;br /&gt;
|Lichee Zero&lt;br /&gt;
|全志V3s开发板，64M DRAM，廉价Linux开发板，V3s芯片可手贴&lt;br /&gt;
|[[V3s]]   [https://wiki.sipeed.com/hardware/zh/lichee/Zero/Zero.html Lichee Zero]&lt;br /&gt;
|-&lt;br /&gt;
|Air32F103&lt;br /&gt;
|96K RAM,兼容STM32F103&lt;br /&gt;
|[[Air32F103]] http://air32.cn&lt;br /&gt;
|-&lt;br /&gt;
|ST17H66&lt;br /&gt;
|64K RAM，256K Flash,廉价蓝牙SOC&lt;br /&gt;
|[[ST17H66]]&lt;br /&gt;
|}&lt;br /&gt;
注意:此章节可能不包含资料较多，应用极其成熟的芯片系列。&lt;br /&gt;
=== 外设芯片及外设模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 外设芯片及外设模块&lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! 接口 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8302B || 三相计量芯片 || SPI || [[RN8302B]]&lt;br /&gt;
|-&lt;br /&gt;
| RN8209C/RN8209D || 单相计量芯片 ||&lt;br /&gt;
* UART&lt;br /&gt;
* SPI&lt;br /&gt;
| [[RN8209]]&lt;br /&gt;
|-&lt;br /&gt;
| NRF24L01+ || 2.4G无线芯片,具有众多兼容替代(如Si24R1) || SPI+GPIO(中断、CE) || [[NRF24L01+]]&lt;br /&gt;
|-&lt;br /&gt;
|W5500&lt;br /&gt;
|全硬件栈以太网芯片&lt;br /&gt;
|SPI&lt;br /&gt;
|[[W5500]]&lt;br /&gt;
|-&lt;br /&gt;
|中景园0.96寸OLED点阵屏&lt;br /&gt;
|分辨率128x64,显示驱动（控制）芯片SSD1306&lt;br /&gt;
|&lt;br /&gt;
* IIC&lt;br /&gt;
* SPI+GPIO(DC、RES)&lt;br /&gt;
|[[SSD1306]] [[中景园0.96寸OLED点阵屏]]&lt;br /&gt;
|-&lt;br /&gt;
|AHT20&lt;br /&gt;
|温湿度传感器&lt;br /&gt;
|IIC&lt;br /&gt;
|[[AHT20]]&lt;br /&gt;
|-&lt;br /&gt;
|DS1307&lt;br /&gt;
|RTC（实时时钟）&lt;br /&gt;
|IIC&lt;br /&gt;
|[[DS1307]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用嵌入式操作系统、BootLoader、嵌入式固件及嵌入式软件库 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| FreeRTOS || 嵌入式操作系统 || [[FreeRTOS]]&lt;br /&gt;
|-&lt;br /&gt;
| rt-thread || 物联网嵌入式操作系统 || [[ rt-thread ]] &lt;br /&gt;
|-&lt;br /&gt;
|nuttx||嵌入式操作系统||[[nuttx]]&lt;br /&gt;
|-&lt;br /&gt;
|paho.mqtt.embedded-c|| MQTT客户端，可移植到各种芯片平台||[[paho.mqtt.embedded-c]]&lt;br /&gt;
|-&lt;br /&gt;
|openwrt||操作系统，嵌入式Linux构建工具||[[ openwrt | openwrt]]&lt;br /&gt;
|-&lt;br /&gt;
|u8g2&lt;br /&gt;
|单色/点阵屏驱动库&lt;br /&gt;
|[[u8g2]]&lt;br /&gt;
|-&lt;br /&gt;
|U-Boot&lt;br /&gt;
|通用引导加载器。通常用于加载[[Linux]]。&lt;br /&gt;
|[[U-Boot]]&lt;br /&gt;
|-&lt;br /&gt;
|Newlib&lt;br /&gt;
|嵌入式C运行库（通常配合GCC使用）&lt;br /&gt;
|[[Newlib]]&lt;br /&gt;
|-&lt;br /&gt;
|printf&lt;br /&gt;
|printf, sprintf and (v)snprintf 实现&lt;br /&gt;
|[[printf]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==常用工具==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+常用工具&lt;br /&gt;
|-&lt;br /&gt;
!名称!!说明!!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|easy-rsa||使用SSL/TLS时,自签证书制作/管理工具||[[easy-rsa]]&lt;br /&gt;
|-&lt;br /&gt;
|buildroot||嵌入式Linux构建工具||[[buildroot]]&lt;br /&gt;
|-&lt;br /&gt;
|debootstrap||Linux系统根文件系统创建工具,可创建Debian系Linux系统根文件系统||[[debootstrap]]&lt;br /&gt;
|-&lt;br /&gt;
|crosstool-ng||交叉编译工具链创建工具||[[crosstool-ng]]&lt;br /&gt;
|-&lt;br /&gt;
|ScreenToGif&lt;br /&gt;
|在Windows下录屏制作gif的工具&lt;br /&gt;
|https://github.com/NickeManarin/ScreenToGif.git&lt;br /&gt;
|-&lt;br /&gt;
|Xfel&lt;br /&gt;
|全志SOC的FEL工具（可下载固件等）&lt;br /&gt;
|[[Xfel]]&lt;br /&gt;
|-&lt;br /&gt;
|busybox&lt;br /&gt;
|unix工具箱，可用于创建体积极小的rootfs&lt;br /&gt;
|[[busybox]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 操作系统 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|ubuntu&lt;br /&gt;
|基于Linux的操作系统&lt;br /&gt;
|https://ubuntu.com/&lt;br /&gt;
|-&lt;br /&gt;
|windows&lt;br /&gt;
|&lt;br /&gt;
|https://www.microsoft.com&lt;br /&gt;
|-&lt;br /&gt;
|xigmanas&lt;br /&gt;
|基于FreeBSD的NAS系统&lt;br /&gt;
|https://sourceforge.net/projects/xigmanas/&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD&lt;br /&gt;
|&lt;br /&gt;
|https://www.freebsd.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===IDE环境/开发环境/开发工具===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|codeblocks&lt;br /&gt;
|免费的C/C++ IDE,可开发多种C/C++程序。本人只要将它用作基于CMake构建的工程的代码编写。&lt;br /&gt;
|http://www.codeblocks.org/&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Visual Studio&lt;br /&gt;
|微软的开发工具集。本人主要用于开发WIN32程序。本人优先使用codeblocks作为C/C++开发环境,VS占用的空间太大,但有些第三方库在Windows上可能只支持MSVC,故而必须使用VS。&lt;br /&gt;
|https://visualstudio.microsoft.com/zh-hans/&lt;br /&gt;
|-&lt;br /&gt;
|keil5&lt;br /&gt;
|用于ARM嵌入式芯片的开发。注意:keil5不是免费的。&lt;br /&gt;
|https://www.keil.com/&lt;br /&gt;
|-&lt;br /&gt;
|IAR&lt;br /&gt;
|本人主要使用针对ARM嵌入式芯片的开发。注意:IAR不是免费的。&lt;br /&gt;
|https://www.iar.com/&lt;br /&gt;
|-&lt;br /&gt;
|QtCreator&lt;br /&gt;
|用于创建基于Qt的程序。&lt;br /&gt;
|https://www.qt.io/product/development-tools&lt;br /&gt;
|-&lt;br /&gt;
|MounRiver&lt;br /&gt;
|基于Eclipse的嵌入式ARM/RISC-V的集成开发环境。本人主要用于测试[https://www.wch.cn/ WCH]的单片机。&lt;br /&gt;
|http://www.mounriver.com/&lt;br /&gt;
|-&lt;br /&gt;
|RT-Thread Studio&lt;br /&gt;
|一站式的 RT-Thread 开发工具，通过简单易用的图形化配置系统以及丰富的软件包和组件资源，让物联网开发变得简单和高效。本人主要用于开发与rt-thread相关设备。&lt;br /&gt;
|https://www.rt-thread.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子硬件设计(原理图绘制/PCB绘制/其它相关工具) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|立创EDA&lt;br /&gt;
|高效的国产PCB设计工具，永久免费。可在线使用。&lt;br /&gt;
|https://lceda.cn/&lt;br /&gt;
|-&lt;br /&gt;
|KiCad&lt;br /&gt;
|跨平台开源电子设计套装。&lt;br /&gt;
|https://www.kicad.org/&lt;br /&gt;
|-&lt;br /&gt;
|freerouting&lt;br /&gt;
|自动布线工具。可配合立创EDA或KiCad使用。本人用于替代立创EDA自带的自动布线。&lt;br /&gt;
|https://www.freerouting.app/&lt;br /&gt;
https://github.com/freerouting/freerouting.git&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== AI工具 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|ollama&lt;br /&gt;
|开源大模型运行工具。可在本地运行大模型，若想取得理想效果，需要大内存及高性能显卡&lt;br /&gt;
|https://github.com/ollama/ollama&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Api工具 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Apipost&lt;br /&gt;
|Apipost-API 文档、设计、调试、自动化测试一体化协作平台。具有免费版本。&lt;br /&gt;
|https://www.apipost.cn/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 编译器 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|sdcc&lt;br /&gt;
|用于8位/16位单片机(如MCS51、DS80C390 、HC08、Z80、STM8, MOS 6502 、WDC 65C02等)的C编译器&lt;br /&gt;
|https://sdcc.sourceforge.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 流程图/框图绘制 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|dia&lt;br /&gt;
|跨平台开源流程图绘制工具&lt;br /&gt;
|http://dia-installer.de/&lt;br /&gt;
https://sourceforge.net/projects/dia/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 图像处理 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|GIMP&lt;br /&gt;
|免费开源图像编辑器&lt;br /&gt;
|https://www.gimp.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 作曲工具(MIDI制作) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|LMMS&lt;br /&gt;
|免费自由开源并且跨平台的作曲工具&lt;br /&gt;
|https://lmms.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 字体编辑 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|FontForge&lt;br /&gt;
|免费字体编辑器&lt;br /&gt;
|https://fontforge.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 国际化/本地化 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Poedit&lt;br /&gt;
|.po编辑工具。可编辑使用 [[xgettext]] 生成的翻译文件&lt;br /&gt;
|https://poedit.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 压缩/解压缩 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|7-zip&lt;br /&gt;
|开源免费的压缩/解压缩软件。Windows下有GUI程序，Linux下只有控制台版本。&lt;br /&gt;
|http://www.7-zip.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 虚拟磁盘/磁盘驱动 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;s&amp;gt;imdisk&amp;lt;/s&amp;gt;&lt;br /&gt;
|Windows下开源虚拟磁盘工具,可方便挂载内存盘（存放临时文件）。&lt;br /&gt;
|https://sourceforge.net/projects/imdisk-toolkit&lt;br /&gt;
|-&lt;br /&gt;
|aim-toolkit&lt;br /&gt;
|Windows下开源虚拟磁盘工具,可方便挂载内存盘（存放临时文件）,替代imdisk。&lt;br /&gt;
|https://sourceforge.net/projects/aim-toolkit/&lt;br /&gt;
|-&lt;br /&gt;
|Ext2fsd&lt;br /&gt;
|Windows下访问Ext2/Ext3/Ext4文件系统驱动。&lt;br /&gt;
|https://sourceforge.net/projects/ext2fsd/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 安装/卸载 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Geek Uninstaller&lt;br /&gt;
|Windows下程序卸载工具,具有免费的版本。&lt;br /&gt;
|https://geekuninstaller.com/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===小工具(自写/修改/组合)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki&lt;br /&gt;
!支持平台&lt;br /&gt;
|-&lt;br /&gt;
|CC3200_GangGenerator&lt;br /&gt;
|生成用于烧录CC3200 SPI Flash的工具&lt;br /&gt;
|[[CC3200_GangGenerator]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
|-&lt;br /&gt;
|WMToolHelper&lt;br /&gt;
| W600烧录工具&lt;br /&gt;
|[[WMToolHelper]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|WinBleTool&lt;br /&gt;
| Windows下调试BLE的工具&lt;br /&gt;
|[[WinBleTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10(及以上)&lt;br /&gt;
|-&lt;br /&gt;
|SimpleBLETool&lt;br /&gt;
|调试BLE的工具&lt;br /&gt;
| [[SimpleBLETool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10+&lt;br /&gt;
*Linux(ubuntu 20.04+)&lt;br /&gt;
|-&lt;br /&gt;
|cutecom-ng&lt;br /&gt;
|基于Qt5的串口工具。个人修改版。&lt;br /&gt;
|[[cutecom-ng]]&lt;br /&gt;
|只要是Qt5支持的桌面平台均支持。&lt;br /&gt;
|-&lt;br /&gt;
|OneNETTool&lt;br /&gt;
|开发OneNET辅助工具&lt;br /&gt;
|[[OneNETTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|QGDW12184Tool&lt;br /&gt;
|开发Q/GDW 12184辅助工具&lt;br /&gt;
|[[QGDW12184Tool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|XServerForWSL1&lt;br /&gt;
|利用cygwin中的X服务对WSL提供X服务&lt;br /&gt;
|[[XServerForWSL1]]&lt;br /&gt;
|支持WSL1的Windows&lt;br /&gt;
|-&lt;br /&gt;
|linux_binfmt_pe&lt;br /&gt;
|使用[[wine]]直接执行PE可执行文件的Linux内核模块&lt;br /&gt;
|[[linux_binfmt_pe]]&lt;br /&gt;
|&lt;br /&gt;
* Linux内核&lt;br /&gt;
|-&lt;br /&gt;
|Win32Redirector&lt;br /&gt;
|重定向win32控制台应用至MSYS2或者Cygwin中的程序。&lt;br /&gt;
|[[Win32Redirector]]&lt;br /&gt;
|&lt;br /&gt;
* Windows&lt;br /&gt;
|-&lt;br /&gt;
|HEnvBox&lt;br /&gt;
|快速搭建本人常用的开发环境。&lt;br /&gt;
|[[HEnvBox]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 10及更新版&lt;br /&gt;
* Ubuntu 22.04&lt;br /&gt;
* Debian&lt;br /&gt;
* Deepin&lt;br /&gt;
|-&lt;br /&gt;
|HVCP&lt;br /&gt;
|Windows下虚拟串口&lt;br /&gt;
|[[HVCP]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 7 及更新系统&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用库 ==&lt;br /&gt;
此章节主要对使用的比较多的库做一个整理。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!官网&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki&lt;br /&gt;
|-&lt;br /&gt;
|wxWidgets&lt;br /&gt;
|https://www.wxwidgets.org/&lt;br /&gt;
|跨平台GUI库&lt;br /&gt;
|[[wxWidgets]]&lt;br /&gt;
|-&lt;br /&gt;
|Qt&lt;br /&gt;
|https://www.qt.io/&lt;br /&gt;
|跨平台库（包括GUI）&lt;br /&gt;
|[[Qt]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 工具/库（自写/修改） ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|DeployWin&lt;br /&gt;
|MSYS2与CygWin下编程辅助打包库。一般配合CMake的CPack使用。&lt;br /&gt;
|[[DeployWin]]&lt;br /&gt;
|-&lt;br /&gt;
|HCppBox&lt;br /&gt;
|本人常用的C/C++代码&lt;br /&gt;
|[[HCppBox]]&lt;br /&gt;
|-&lt;br /&gt;
|SimpleModbusRTUPacket&lt;br /&gt;
|简易的[[Modbus]] RTU包解析&lt;br /&gt;
|[[SimpleModbusRTUPacket]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==常用镜像站==&lt;br /&gt;
在找各种源码资源时，经常遇到国外网站下载较慢的情况下，此时通常需要更换镜像站。&lt;br /&gt;
&lt;br /&gt;
例如:&lt;br /&gt;
&lt;br /&gt;
*ubuntu系统的软件包(包括使用deboostrap的镜像源)&lt;br /&gt;
*python软件包&lt;br /&gt;
*gnu软件源码包&lt;br /&gt;
*linux源码&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!地址&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.ustc.edu.cn/&lt;br /&gt;
|中国科学技术大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.tuna.tsinghua.edu.cn/&lt;br /&gt;
|清华大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.163.com/&lt;br /&gt;
|网易开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.aliyun.com/&lt;br /&gt;
|阿里开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.cernet.edu.cn&lt;br /&gt;
|校园网联合镜像站&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 静态文档网站 ==&lt;br /&gt;
一些静态的网页文档,如[https://www.doxygen.nl/ doxygen]生成的帮助文档与[https://docsify.js.org/#/ docsify]制作的静态说明文档。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!类型&lt;br /&gt;
!URL&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|静态文档仓库&lt;br /&gt;
|https://heyahong.github.io/#/&lt;br /&gt;
|采用github pages托管,源代码仓库:https://github.com/HEYAHONG/HEYAHONG.github.io.git&lt;br /&gt;
|-&lt;br /&gt;
|网站&lt;br /&gt;
|http://docs.hyhsystem.cn&lt;br /&gt;
|采用nginx服务器,运行于云服务器&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==相关链接==&lt;br /&gt;
&lt;br /&gt;
*[[测试资源]]&lt;br /&gt;
*[[第三方资源]]&lt;br /&gt;
*[[方案发现与探索]]&lt;br /&gt;
*[[杂项笔记与测试代码]]&lt;br /&gt;
*[[常见问题]]&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E6%B5%8B%E8%AF%95%E8%B5%84%E6%BA%90&amp;diff=1162</id>
		<title>测试资源</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E6%B5%8B%E8%AF%95%E8%B5%84%E6%BA%90&amp;diff=1162"/>
		<updated>2026-04-02T13:05:19Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 源代码仓库及CI/CD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==服务器资源==&lt;br /&gt;
通常本章的服务器资源只用于测试和编写Demo使用，不用于实际生产。&amp;lt;br&amp;gt;&lt;br /&gt;
===MQTT Broker===&lt;br /&gt;
MQTT采用EMQX，采用docker容器的方式运行，docker-compose.yml示例如下:&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
version: &#039;3&#039;&lt;br /&gt;
&lt;br /&gt;
networks:&lt;br /&gt;
  emqx:&lt;br /&gt;
    external: false&lt;br /&gt;
&lt;br /&gt;
services:&lt;br /&gt;
  emqx:&lt;br /&gt;
    image: emqx/emqx&lt;br /&gt;
    container_name: emqx&lt;br /&gt;
    restart: always&lt;br /&gt;
    networks:&lt;br /&gt;
      - emqx&lt;br /&gt;
    ports:&lt;br /&gt;
      - &amp;quot;1883:1883&amp;quot;&lt;br /&gt;
      - &amp;quot;8883:8883&amp;quot;&lt;br /&gt;
      - &amp;quot;18083:18083&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;地址:mqtt.hyhsystem.cn &amp;lt;br&amp;gt;&lt;br /&gt;
端口:1883、8883（SSL）&amp;lt;br&amp;gt;&lt;br /&gt;
若连接启用SSL的端口，客户端需要使用SSL证书。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SSL证书====&lt;br /&gt;
[[文件:MQTT BROKER Certs.zip|缩略图]] &amp;lt;br&amp;gt;&lt;br /&gt;
对于物联网设备，测试时仅需要 cacert.pem、client-cert.pem、client-key.pem三个文件。&amp;lt;br&amp;gt;&lt;br /&gt;
由于证书为测试证书，故客户端需要把SSL/TLS中校验服务器名称的代码关闭，否则会出现TLS错误。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====CA =====&lt;br /&gt;
证书:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIDUTCCAjmgAwIBAgIJAPPYCjTmxdt/MA0GCSqGSIb3DQEBCwUAMD8xCzAJBgNV&lt;br /&gt;
BAYTAkNOMREwDwYDVQQIDAhoYW5nemhvdTEMMAoGA1UECgwDRU1RMQ8wDQYDVQQD&lt;br /&gt;
DAZSb290Q0EwHhcNMjAwNTA4MDgwNjUyWhcNMzAwNTA2MDgwNjUyWjA/MQswCQYD&lt;br /&gt;
VQQGEwJDTjERMA8GA1UECAwIaGFuZ3pob3UxDDAKBgNVBAoMA0VNUTEPMA0GA1UE&lt;br /&gt;
AwwGUm9vdENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzcgVLex1&lt;br /&gt;
EZ9ON64EX8v+wcSjzOZpiEOsAOuSXOEN3wb8FKUxCdsGrsJYB7a5VM/Jot25Mod2&lt;br /&gt;
juS3OBMg6r85k2TWjdxUoUs+HiUB/pP/ARaaW6VntpAEokpij/przWMPgJnBF3Ur&lt;br /&gt;
MjtbLayH9hGmpQrI5c2vmHQ2reRZnSFbY+2b8SXZ+3lZZgz9+BaQYWdQWfaUWEHZ&lt;br /&gt;
uDaNiViVO0OT8DRjCuiDp3yYDj3iLWbTA/gDL6Tf5XuHuEwcOQUrd+h0hyIphO8D&lt;br /&gt;
tsrsHZ14j4AWYLk1CPA6pq1HIUvEl2rANx2lVUNv+nt64K/Mr3RnVQd9s8bK+TXQ&lt;br /&gt;
KGHd2Lv/PALYuwIDAQABo1AwTjAdBgNVHQ4EFgQUGBmW+iDzxctWAWxmhgdlE8Pj&lt;br /&gt;
EbQwHwYDVR0jBBgwFoAUGBmW+iDzxctWAWxmhgdlE8PjEbQwDAYDVR0TBAUwAwEB&lt;br /&gt;
/zANBgkqhkiG9w0BAQsFAAOCAQEAGbhRUjpIred4cFAFJ7bbYD9hKu/yzWPWkMRa&lt;br /&gt;
ErlCKHmuYsYk+5d16JQhJaFy6MGXfLgo3KV2itl0d+OWNH0U9ULXcglTxy6+njo5&lt;br /&gt;
CFqdUBPwN1jxhzo9yteDMKF4+AHIxbvCAJa17qcwUKR5MKNvv09C6pvQDJLzid7y&lt;br /&gt;
E2dkgSuggik3oa0427KvctFf8uhOV94RvEDyqvT5+pgNYZ2Yfga9pD/jjpoHEUlo&lt;br /&gt;
88IGU8/wJCx3Ds2yc8+oBg/ynxG8f/HmCC1ET6EHHoe2jlo8FpU/SgGtghS1YL30&lt;br /&gt;
IWxNsPrUP+XsZpBJy/mvOhE5QXo6Y35zDqqj8tI7AGmAWu22jg==&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====服务端=====&lt;br /&gt;
&lt;br /&gt;
服务端一般用于自建非emqx的Broker。&lt;br /&gt;
&lt;br /&gt;
证书:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIDEzCCAfugAwIBAgIBAjANBgkqhkiG9w0BAQsFADA/MQswCQYDVQQGEwJDTjER&lt;br /&gt;
MA8GA1UECAwIaGFuZ3pob3UxDDAKBgNVBAoMA0VNUTEPMA0GA1UEAwwGUm9vdENB&lt;br /&gt;
MB4XDTIwMDUwODA4MDcwNVoXDTMwMDUwNjA4MDcwNVowPzELMAkGA1UEBhMCQ04x&lt;br /&gt;
ETAPBgNVBAgMCGhhbmd6aG91MQwwCgYDVQQKDANFTVExDzANBgNVBAMMBlNlcnZl&lt;br /&gt;
cjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALNeWT3pE+QFfiRJzKmn&lt;br /&gt;
AMUrWo3K2j/Tm3+Xnl6WLz67/0rcYrJbbKvS3uyRP/stXyXEKw9CepyQ1ViBVFkW&lt;br /&gt;
Aoy8qQEOWFDsZc/5UzhXUnb6LXr3qTkFEjNmhj+7uzv/lbBxlUG1NlYzSeOB6/RT&lt;br /&gt;
8zH/lhOeKhLnWYPXdXKsa1FL6ij4X8DeDO1kY7fvAGmBn/THh1uTpDizM4YmeI+7&lt;br /&gt;
4dmayA5xXvARte5h4Vu5SIze7iC057N+vymToMk2Jgk+ZZFpyXrnq+yo6RaD3ANc&lt;br /&gt;
lrc4FbeUQZ5a5s5Sxgs9a0Y3WMG+7c5VnVXcbjBRz/aq2NtOnQQjikKKQA8GF080&lt;br /&gt;
BQkCAwEAAaMaMBgwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwDQYJKoZIhvcNAQEL&lt;br /&gt;
BQADggEBAJefnMZpaRDHQSNUIEL3iwGXE9c6PmIsQVE2ustr+CakBp3TZ4l0enLt&lt;br /&gt;
iGMfEVFju69cO4oyokWv+hl5eCMkHBf14Kv51vj448jowYnF1zmzn7SEzm5Uzlsa&lt;br /&gt;
sqjtAprnLyof69WtLU1j5rYWBuFX86yOTwRAFNjm9fvhAcrEONBsQtqipBWkMROp&lt;br /&gt;
iUYMkRqbKcQMdwxov+lHBYKq9zbWRoqLROAn54SRqgQk6c15JdEfgOOjShbsOkIH&lt;br /&gt;
UhqcwRkQic7n1zwHVGVDgNIZVgmJ2IdIWBlPEC7oLrRrBD/X1iEEXtKab6p5o22n&lt;br /&gt;
KB5mN+iQaE+Oe2cpGKZJiJRdM+IqDDQ=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
私钥:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
-----BEGIN RSA PRIVATE KEY-----&lt;br /&gt;
MIIEowIBAAKCAQEAs15ZPekT5AV+JEnMqacAxStajcraP9Obf5eeXpYvPrv/Stxi&lt;br /&gt;
sltsq9Le7JE/+y1fJcQrD0J6nJDVWIFUWRYCjLypAQ5YUOxlz/lTOFdSdvotevep&lt;br /&gt;
OQUSM2aGP7u7O/+VsHGVQbU2VjNJ44Hr9FPzMf+WE54qEudZg9d1cqxrUUvqKPhf&lt;br /&gt;
wN4M7WRjt+8AaYGf9MeHW5OkOLMzhiZ4j7vh2ZrIDnFe8BG17mHhW7lIjN7uILTn&lt;br /&gt;
s36/KZOgyTYmCT5lkWnJeuer7KjpFoPcA1yWtzgVt5RBnlrmzlLGCz1rRjdYwb7t&lt;br /&gt;
zlWdVdxuMFHP9qrY206dBCOKQopADwYXTzQFCQIDAQABAoIBAQCuvCbr7Pd3lvI/&lt;br /&gt;
n7VFQG+7pHRe1VKwAxDkx2t8cYos7y/QWcm8Ptwqtw58HzPZGWYrgGMCRpzzkRSF&lt;br /&gt;
V9g3wP1S5Scu5C6dBu5YIGc157tqNGXB+SpdZddJQ4Nc6yGHXYERllT04ffBGc3N&lt;br /&gt;
WG/oYS/1cSteiSIrsDy/91FvGRCi7FPxH3wIgHssY/tw69s1Cfvaq5lr2NTFzxIG&lt;br /&gt;
xCvpJKEdSfVfS9I7LYiymVjst3IOR/w76/ZFY9cRa8ZtmQSWWsm0TUpRC1jdcbkm&lt;br /&gt;
ZoJptYWlP+gSwx/fpMYftrkJFGOJhHJHQhwxT5X/ajAISeqjjwkWSEJLwnHQd11C&lt;br /&gt;
Zy2+29lBAoGBANlEAIK4VxCqyPXNKfoOOi5dS64NfvyH4A1v2+KaHWc7lqaqPN49&lt;br /&gt;
ezfN2n3X+KWx4cviDD914Yc2JQ1vVJjSaHci7yivocDo2OfZDmjBqzaMp/y+rX1R&lt;br /&gt;
/f3MmiTqMa468rjaxI9RRZu7vDgpTR+za1+OBCgMzjvAng8dJuN/5gjlAoGBANNY&lt;br /&gt;
uYPKtearBmkqdrSV7eTUe49Nhr0XotLaVBH37TCW0Xv9wjO2xmbm5Ga/DCtPIsBb&lt;br /&gt;
yPeYwX9FjoasuadUD7hRvbFu6dBa0HGLmkXRJZTcD7MEX2Lhu4BuC72yDLLFd0r+&lt;br /&gt;
Ep9WP7F5iJyagYqIZtz+4uf7gBvUDdmvXz3sGr1VAoGAdXTD6eeKeiI6PlhKBztF&lt;br /&gt;
zOb3EQOO0SsLv3fnodu7ZaHbUgLaoTMPuB17r2jgrYM7FKQCBxTNdfGZmmfDjlLB&lt;br /&gt;
0xZ5wL8ibU30ZXL8zTlWPElST9sto4B+FYVVF/vcG9sWeUUb2ncPcJ/Po3UAktDG&lt;br /&gt;
jYQTTyuNGtSJHpad/YOZctkCgYBtWRaC7bq3of0rJGFOhdQT9SwItN/lrfj8hyHA&lt;br /&gt;
OjpqTV4NfPmhsAtu6j96OZaeQc+FHvgXwt06cE6Rt4RG4uNPRluTFgO7XYFDfitP&lt;br /&gt;
vCppnoIw6S5BBvHwPP+uIhUX2bsi/dm8vu8tb+gSvo4PkwtFhEr6I9HglBKmcmog&lt;br /&gt;
q6waEQKBgHyecFBeM6Ls11Cd64vborwJPAuxIW7HBAFj/BS99oeG4TjBx4Sz2dFd&lt;br /&gt;
rzUibJt4ndnHIvCN8JQkjNG14i9hJln+H3mRss8fbZ9vQdqG+2vOWADYSzzsNI55&lt;br /&gt;
RFY7JjluKcVkp/zCDeUxTU3O6sS+v6/3VE11Cob6OYQx3lN5wrZ3&lt;br /&gt;
-----END RSA PRIVATE KEY-----&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====客户端=====&lt;br /&gt;
客户端一般用于嵌入到设备中。&lt;br /&gt;
&lt;br /&gt;
证书:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIDEzCCAfugAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MQswCQYDVQQGEwJDTjER&lt;br /&gt;
MA8GA1UECAwIaGFuZ3pob3UxDDAKBgNVBAoMA0VNUTEPMA0GA1UEAwwGUm9vdENB&lt;br /&gt;
MB4XDTIwMDUwODA4MDY1N1oXDTMwMDUwNjA4MDY1N1owPzELMAkGA1UEBhMCQ04x&lt;br /&gt;
ETAPBgNVBAgMCGhhbmd6aG91MQwwCgYDVQQKDANFTVExDzANBgNVBAMMBkNsaWVu&lt;br /&gt;
dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMy4hoksKcZBDbY680u6&lt;br /&gt;
TS25U51nuB1FBcGMlF9B/t057wPOlxF/OcmbxY5MwepS41JDGPgulE1V7fpsXkiW&lt;br /&gt;
1LUimYV/tsqBfymIe0mlY7oORahKji7zKQ2UBIVFhdlvQxunlIDnw6F9popUgyHt&lt;br /&gt;
dMhtlgZK8oqRwHxO5dbfoukYd6J/r+etS5q26sgVkf3C6dt0Td7B25H9qW+f7oLV&lt;br /&gt;
PbcHYCa+i73u9670nrpXsC+Qc7Mygwa2Kq/jwU+ftyLQnOeW07DuzOwsziC/fQZa&lt;br /&gt;
nbxR+8U9FNftgRcC3uP/JMKYUqsiRAuaDokARZxVTV5hUElfpO6z6/NItSDvvh3i&lt;br /&gt;
eikCAwEAAaMaMBgwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwDQYJKoZIhvcNAQEL&lt;br /&gt;
BQADggEBABchYxKo0YMma7g1qDswJXsR5s56Czx/I+B41YcpMBMTrRqpUC0nHtLk&lt;br /&gt;
M7/tZp592u/tT8gzEnQjZLKBAhFeZaR3aaKyknLqwiPqJIgg0pgsBGITrAK3Pv4z&lt;br /&gt;
5/YvAJJKgTe5UdeTz6U4lvNEux/4juZ4pmqH4qSFJTOzQS7LmgSmNIdd072rwXBd&lt;br /&gt;
UzcSHzsJgEMb88u/LDLjj1pQ7AtZ4Tta8JZTvcgBFmjB0QUi6fgkHY6oGat/W4kR&lt;br /&gt;
jSRUBlMUbM/drr2PVzRc2dwbFIl3X+ZE6n5Sl3ZwRAC/s92JU6CPMRW02muVu6xl&lt;br /&gt;
goraNgPISnrbpR6KjxLZkVembXzjNNc=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;私钥:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
-----BEGIN RSA PRIVATE KEY-----&lt;br /&gt;
MIIEpAIBAAKCAQEAzLiGiSwpxkENtjrzS7pNLblTnWe4HUUFwYyUX0H+3TnvA86X&lt;br /&gt;
EX85yZvFjkzB6lLjUkMY+C6UTVXt+mxeSJbUtSKZhX+2yoF/KYh7SaVjug5FqEqO&lt;br /&gt;
LvMpDZQEhUWF2W9DG6eUgOfDoX2milSDIe10yG2WBkryipHAfE7l1t+i6Rh3on+v&lt;br /&gt;
561LmrbqyBWR/cLp23RN3sHbkf2pb5/ugtU9twdgJr6Lve73rvSeulewL5BzszKD&lt;br /&gt;
BrYqr+PBT5+3ItCc55bTsO7M7CzOIL99BlqdvFH7xT0U1+2BFwLe4/8kwphSqyJE&lt;br /&gt;
C5oOiQBFnFVNXmFQSV+k7rPr80i1IO++HeJ6KQIDAQABAoIBAGWgvPjfuaU3qizq&lt;br /&gt;
uti/FY07USz0zkuJdkANH6LiSjlchzDmn8wJ0pApCjuIE0PV/g9aS8z4opp5q/gD&lt;br /&gt;
UBLM/a8mC/xf2EhTXOMrY7i9p/I3H5FZ4ZehEqIw9sWKK9YzC6dw26HabB2BGOnW&lt;br /&gt;
5nozPSQ6cp2RGzJ7BIkxSZwPzPnVTgy3OAuPOiJytvK+hGLhsNaT+Y9bNDvplVT2&lt;br /&gt;
ZwYTV8GlHZC+4b2wNROILm0O86v96O+Qd8nn3fXjGHbMsAnONBq10bZS16L4fvkH&lt;br /&gt;
5G+W/1PeSXmtZFppdRRDxIW+DWcXK0D48WRliuxcV4eOOxI+a9N2ZJZZiNLQZGwg&lt;br /&gt;
w3A8+mECgYEA8HuJFrlRvdoBe2U/EwUtG74dcyy30L4yEBnN5QscXmEEikhaQCfX&lt;br /&gt;
Wm6EieMcIB/5I5TQmSw0cmBMeZjSXYoFdoI16/X6yMMuATdxpvhOZGdUGXxhAH+x&lt;br /&gt;
xoTUavWZnEqW3fkUU71kT5E2f2i+0zoatFESXHeslJyz85aAYpP92H0CgYEA2e5A&lt;br /&gt;
Yozt5eaA1Gyhd8SeptkEU4xPirNUnVQHStpMWUb1kzTNXrPmNWccQ7JpfpG6DcYl&lt;br /&gt;
zUF6p6mlzY+zkMiyPQjwEJlhiHM2NlL1QS7td0R8ewgsFoyn8WsBI4RejWrEG9td&lt;br /&gt;
EDniuIw+pBFkcWthnTLHwECHdzgquToyTMjrBB0CgYEA28tdGbrZXhcyAZEhHAZA&lt;br /&gt;
Gzog+pKlkpEzeonLKIuGKzCrEKRecIK5jrqyQsCjhS0T7ZRnL4g6i0s+umiV5M5w&lt;br /&gt;
fcc292pEA1h45L3DD6OlKplSQVTv55/OYS4oY3YEJtf5mfm8vWi9lQeY8sxOlQpn&lt;br /&gt;
O+VZTdBHmTC8PGeTAgZXHZUCgYA6Tyv88lYowB7SN2qQgBQu8jvdGtqhcs/99GCr&lt;br /&gt;
H3N0I69LPsKAR0QeH8OJPXBKhDUywESXAaEOwS5yrLNP1tMRz5Vj65YUCzeDG3kx&lt;br /&gt;
gpvY4IMp7ArX0bSRvJ6mYSFnVxy3k174G3TVCfksrtagHioVBGQ7xUg5ltafjrms&lt;br /&gt;
n8l55QKBgQDVzU8tQvBVqY8/1lnw11Vj4fkE/drZHJ5UkdC1eenOfSWhlSLfUJ8j&lt;br /&gt;
ds7vEWpRPPoVuPZYeR1y78cyxKe1GBx6Wa2lF5c7xjmiu0xbRnrxYeLolce9/ntp&lt;br /&gt;
asClqpnHT8/VJYTD7Kqj0fouTTZf0zkig/y+2XERppd8k+pSKjUCPQ==&lt;br /&gt;
-----END RSA PRIVATE KEY-----&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===NTP===&lt;br /&gt;
====主要====&lt;br /&gt;
&lt;br /&gt;
* 国家授时中心 NTP服务器地址:ntp.ntsc.ac.cn&lt;br /&gt;
* 0.cn.pool.ntp.org&lt;br /&gt;
* 1.cn.pool.ntp.org&lt;br /&gt;
* 2.cn.pool.ntp.org&lt;br /&gt;
* 3.cn.pool.ntp.org&amp;lt;br&amp;gt; &lt;br /&gt;
====备用====&lt;br /&gt;
地址:ntp.hyhsystem.cn&lt;br /&gt;
&lt;br /&gt;
采用ntp作为服务软件,其官网为&amp;lt;nowiki/&amp;gt;http://ntp.org&amp;lt;nowiki/&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
为开放时钟查询，需要去掉默认restrict配置的noquery选项。&lt;br /&gt;
&lt;br /&gt;
==V2Ray隧道==&lt;br /&gt;
&lt;br /&gt;
=== 国外轻量级服务器（腾讯云-硅谷） ===&lt;br /&gt;
&lt;br /&gt;
用于在网络不良时访问github.com。速度不高。&amp;lt;br&amp;gt;&lt;br /&gt;
注意：上网行为可能会被记录。&lt;br /&gt;
&lt;br /&gt;
== FTP代理 ==&lt;br /&gt;
ftp 代理采用ftp.proxy,主要用于[[buildroot]]或者[[openwrt]] 的编译。注意：要使用ftp代理，必须使用wget。&lt;br /&gt;
&lt;br /&gt;
代理地址如下：ftp://proxy.hyhsystem.cn:2121&lt;br /&gt;
&lt;br /&gt;
设置ftp代理的方式如下:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export ftp_proxy=ftp://proxy.hyhsystem.cn:2121&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==源代码仓库及CI/CD==&lt;br /&gt;
=== Jenkins ===&lt;br /&gt;
http://jenkins.hyhsystem.cn:8080&lt;br /&gt;
&lt;br /&gt;
用户名:HYH&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:Tls.pdf&amp;diff=1161</id>
		<title>文件:Tls.pdf</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:Tls.pdf&amp;diff=1161"/>
		<updated>2026-04-01T07:09:37Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​ELF Handling For Thread-Local Storage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 摘要 ==&lt;br /&gt;
ELF Handling For Thread-Local Storage&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98&amp;diff=1160</id>
		<title>常见问题</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98&amp;diff=1160"/>
		<updated>2026-03-24T09:19:00Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* Firefox浏览器自签CA证书的安装 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 烧录固件时，/dev/ttyUSB0没有权限。 ==&lt;br /&gt;
在很多时候,在Linux下需要使用USB串口调试烧录固件,如果不是使用root用户,极有可能遇到权限问题。&lt;br /&gt;
&lt;br /&gt;
比较野蛮的方法是使用chmod 修改权限(缺点是USB重新插拔后将失效),代码如下:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo chmod 777 /dev/ttyUSB0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;第二种方法为查看/dev/ttyUSB0的所属用户组(通过ls -al /dev/ttyUSB0查看，ubuntu22.04下为dialout)，将当前用户添加至该用户组，重新登陆生效。代码如下：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#在ubuntu 22.04下测试通过。添加一次，始终有效&lt;br /&gt;
sudo adduser `id -nu` dialout&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Windows与Linux双系统切换时时间改变。 ==&lt;br /&gt;
主要是Windows与Linux对待硬件时钟的方式不一样。将Windows改为UTC时间,注册表如下:&amp;lt;syntaxhighlight lang=&amp;quot;registry&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Windows Registry Editor Version 5.00&lt;br /&gt;
&lt;br /&gt;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;RealTimeIsUniversal&amp;quot;=dword:00000001&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Windows11硬件兼容性设置 ==&lt;br /&gt;
众所周知，Windows11对硬件有了较多要求，如TPM,为了在相对老旧(性能尚可但不符合Windows11官方安装程序要求)的平台上安装Windows11,注册表如下:&amp;lt;syntaxhighlight lang=&amp;quot;registry&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Windows Registry Editor Version 5.00&lt;br /&gt;
&lt;br /&gt;
[HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig]&lt;br /&gt;
&amp;quot;BypassTPMCheck&amp;quot;=dword:00000001&lt;br /&gt;
&amp;quot;BypassSecureBootCheck&amp;quot;=dword:00000001&lt;br /&gt;
&amp;quot;BypassRAMCheck&amp;quot;=dword:00000001&lt;br /&gt;
&amp;quot;BypassStorageCheck&amp;quot;=dword:00000001&lt;br /&gt;
&amp;quot;BypassCPUCheck&amp;quot;=dword:00000001&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux(如ubuntu)下设置代理。 ==&lt;br /&gt;
在编译[[openwrt]]或者[[buildroot]]时,需要下载大量的源代码，此过程及其容易因为网速问题而失败（如只有几KB的网速）。&lt;br /&gt;
&lt;br /&gt;
如果设置代理到国外（如硅谷），则能极大提高编译成功率。&lt;br /&gt;
&lt;br /&gt;
openwrt/buildroot通常采用wget/curl作为下载工具。&lt;br /&gt;
&lt;br /&gt;
下列为通过环境变量设置代理的方式（视情况不止wget或curl支持）。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Wget支持的环境变量&lt;br /&gt;
!变量名称&lt;br /&gt;
!说明&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|http_proxy&lt;br /&gt;
|http代理&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|https_proxy&lt;br /&gt;
|https代理&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ftp_proxy&lt;br /&gt;
|ftp代理&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|no_proxy&lt;br /&gt;
|不代理的地址&lt;br /&gt;
|多个地址采用逗号分割，支持域名。如.cn表示中国的域名不使用代理&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+curl支持的环境变量&lt;br /&gt;
!变量名称&lt;br /&gt;
!说明&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|http_proxy&lt;br /&gt;
|http代理&lt;br /&gt;
|唯一为小写的环境变量&lt;br /&gt;
|-&lt;br /&gt;
|HTTPS_PROXY&lt;br /&gt;
|https代理&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[url-protocol]_PROXY&lt;br /&gt;
|其它协议代理&lt;br /&gt;
|[url-protocol]为协议，如HTTPS则为https代理。&lt;br /&gt;
|-&lt;br /&gt;
|ALL_PROXY&lt;br /&gt;
|默认代理&lt;br /&gt;
|如某个协议未设置代理，则使用此值&lt;br /&gt;
|-&lt;br /&gt;
|NO_PROXY&lt;br /&gt;
|不代理的地址&lt;br /&gt;
|多个地址采用逗号分割，支持域名。如.cn表示中国的域名不使用代理&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 在Linux终端中使用与文件后缀关联的程序打开文件 ==&lt;br /&gt;
在Windows的cmd窗口中，可使用文件名直接打开非可执行文件。而在Linux的终端中却没有此功能（Linux不靠文件后缀名判断文件类型）。&lt;br /&gt;
&lt;br /&gt;
* 要在Linux的终端中要通过文件后缀名使用相应程序打开文件，可使用&amp;lt;code&amp;gt;mimeopen&amp;lt;/code&amp;gt;命令,具体用法可使用&amp;lt;code&amp;gt;man mimeopen&amp;lt;/code&amp;gt;命令查看帮助。&lt;br /&gt;
* 在桌面环境中，针对桌面应用可使用xdg-utils包的&amp;lt;code&amp;gt;xdg-open&amp;lt;/code&amp;gt;工具,&lt;br /&gt;
&lt;br /&gt;
== 在Linux中不使用docker exec 进入容器 ==&lt;br /&gt;
使用docker exec可方便进入容器, 但也有其缺点，即不能使用容器外的工具。有时需要排查网络，但容器中又无相关工具,便可以使用nsenter命令。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#在使用nsenter命令前,需要获取目标容器中进程的pid,可通过ps -ef查看，下面使用pid代指目标容器的pid。&lt;br /&gt;
&lt;br /&gt;
#进入容器（基本等于docker exec）&lt;br /&gt;
nsenter -a -t pid 程序名及参数&lt;br /&gt;
&lt;br /&gt;
#只使用容器网络&lt;br /&gt;
nsenter -n -t pid 程序名及参数&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 在WSL2中启动systemd ==&lt;br /&gt;
通常为了使用docker,需要启动systemd,但systemd作为系统管理程序必须在pid为1时启动，因此可以使用unshare命令启动一个新的namespace绕过pid检测。&lt;br /&gt;
&lt;br /&gt;
可使用以下命令启动systemd(在ubuntu 22.04中测试通过)。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#启用systemd，只能启动一次(电脑重启或者wsl2闪退需要重新执行)&lt;br /&gt;
sudo setsid unshare --fork -p --mount-proc /lib/systemd/systemd &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;当systemd启动成功后,即可拉取镜像,测试镜像了。如需自启动可尝试修改/etc/profile或者添加脚本到/etc/profile.d/目录。&lt;br /&gt;
&lt;br /&gt;
注意:此方法主要解决了启动systemd的问题，由于使用了namespace,需要使用nsenter进入namespace才能使用systemctl等命令。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#使用nsenter需要获取systemd的进程pid,请使用ps -ef获取相关pid&lt;br /&gt;
sudo nsenter -p -t pid 命令&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WSL1中libQt5Core.so.5无效 ==&lt;br /&gt;
直接使用strip移除.note.ABI-tag即可.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo strip -R .note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TCP/UDP 端口分配 ==&lt;br /&gt;
INNA端口分配:https://www.iana.org/assignments/service-names-port-numbers&lt;br /&gt;
&lt;br /&gt;
== 使用代理访问github.com ==&lt;br /&gt;
由于网络原因，有时访问github.com时断时续且速度极慢，可通过代理访问github.com加快速度。&lt;br /&gt;
&lt;br /&gt;
此处不展开描述代理服务的搭建，在进行下面的操作时需要有效的http/https代理服务器，否则操作完成后可能无法正常访问github.com。&lt;br /&gt;
&lt;br /&gt;
=== HTTP/HTTPS代理 ===&lt;br /&gt;
HTTP/HTTPS代理均可使用git配置完成，如下:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
git config --global http.proxy http://代理服务器:端口&lt;br /&gt;
git config --global https.proxy http://代理服务器:端口&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SSH代理 ===&lt;br /&gt;
SSH代理与HTTP/HTTPS代理不同，并非修改git配置而是修改ssh配置，利用ProxyCommand执行一个程序用于转发通信使用。&lt;br /&gt;
&lt;br /&gt;
一般情况下，ssh全局配置的路径为/etc/ssh/ssh_config。&lt;br /&gt;
&lt;br /&gt;
==== MSYS2/Cygwin环境 ====&lt;br /&gt;
ssh_config配置新增配置如下:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Host github.com&lt;br /&gt;
    Port 22&lt;br /&gt;
    ProxyCommand /usr/bin/connect.exe -H 代理服务器:端口 %h %p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;其中,connect命令需要手动下载并放入/usr/bin目录中。&lt;br /&gt;
[[文件:Connect.zip|居中]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
connect源代码:https://github.com/gotoh/ssh-connect.git&lt;br /&gt;
&lt;br /&gt;
==== Linux环境 ====&lt;br /&gt;
ssh_config配置新增配置如下:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Host github.com&lt;br /&gt;
    Port 22&lt;br /&gt;
    ProxyCommand /usr/bin/nc -X connect -x 代理服务器:端口 %h %p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;通过nc(netcat)命令转发数据。&lt;br /&gt;
&lt;br /&gt;
== 不使用root用户操作docker ==&lt;br /&gt;
通常情况下，使用sudo直接操作docker,但sudo会切换到root用户，当使用virtualenv解决docker-compose的兼容问题时比较麻烦。&lt;br /&gt;
&lt;br /&gt;
如果将当前用户加入docker用户组（在安装docker时创建）即可实现不使用sudo进行docker操作。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#在ubuntu 24.04下测试通过。添加一次，重新登陆用户有效。&lt;br /&gt;
sudo adduser `id -nu` docker&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== docker使用代理拉取镜像 ==&lt;br /&gt;
由于种种原因，docker拉取镜像时速度极慢且极其容易失败，使用代理可提高拉取速度（另一种方法是使用docker镜像网站）。&lt;br /&gt;
&lt;br /&gt;
注意：此方法需要先手动搭建代理，示例地址：&amp;lt;code&amp;gt;http://127.0.0.1:10809&amp;lt;/code&amp;gt;需要替换为实际http代理地址。&lt;br /&gt;
&lt;br /&gt;
docker与其它Linux程序一样，可通过以下环境变量设置代理:&lt;br /&gt;
&lt;br /&gt;
* http_proxy:设置http使用的代理。&lt;br /&gt;
* https_proxy:设置https使用的代理。&lt;br /&gt;
* no_proxy:设置不使用代理的地址。&lt;br /&gt;
&lt;br /&gt;
由于实例的网络操作是由守护进程完成，因此环境变量需要在守护进程启动时设置（终端上的设置无效）。&lt;br /&gt;
&lt;br /&gt;
若只需要修改docker守护进程，对于系统自带的docker可修改&amp;lt;code&amp;gt;/lib/systemd/system/docker.service，在Service节添加如下内容：&amp;lt;/code&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# 在[Service]下添加如下内容&lt;br /&gt;
Environment=&amp;quot;http_proxy=http://127.0.0.1:10809&amp;quot;&lt;br /&gt;
Environment=&amp;quot;https_proxy=http://127.0.0.1:10809&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;修改完成后使用以下命令重启docker：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl restart docker&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;除了使用上述方法，若系统中有如下环境变量文件：&lt;br /&gt;
&lt;br /&gt;
* /etc/default/docker：仅修改docker默认设置&lt;br /&gt;
* /etc/environment：修改整个系统的环境变量，会影响除了docker之外的程序。&lt;br /&gt;
&lt;br /&gt;
在环境变量文件中添加如下行也可起到设置代理的作用：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
http_proxy=http://127.0.0.1:10809&lt;br /&gt;
https_proxy=http://127.0.0.1:10809&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 免费证书申请 ==&lt;br /&gt;
&lt;br /&gt;
==== Let&#039;s Encrypt ====&lt;br /&gt;
在Linux下可采用&amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;工具自动申请证书。&lt;br /&gt;
&lt;br /&gt;
== 自签CA证书安装 ==&lt;br /&gt;
由于免费的证书时限太短，因此尝试使用自签证书作为ssl证书用于网站服务,不使用https证书时可采用http访问。&lt;br /&gt;
&lt;br /&gt;
注意:下列示例中的证书下载地址：http://hyhsystem.cn/hyhsystem.cn.ca.crt&lt;br /&gt;
&lt;br /&gt;
=== Windows下自签CA证书安装 ===&lt;br /&gt;
&lt;br /&gt;
* 下载待安装的证书(有些浏览器有安全提示，忽略即可)。&lt;br /&gt;
* 双击证书，点击安装按钮。&lt;br /&gt;
* 存储位置选择 &#039;&#039;&#039;本地计算机&#039;&#039;&#039; 。&lt;br /&gt;
* 证书存储选择 &#039;&#039;&#039;受信任的根证书颁发机构 。&#039;&#039;&#039;&lt;br /&gt;
* 点击下一步直到完成后退出。&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu下自签CA证书安装 ===&lt;br /&gt;
注意:其它Debian系Linux系统也可参考本段落的操作。&lt;br /&gt;
&lt;br /&gt;
* 下载待安装的证书(有些浏览器有安全提示，忽略即可)。&lt;br /&gt;
* 将证书文件放入&#039;&#039;&#039;/usr/local/share/ca-certificates&#039;&#039;&#039; (需要root权限)&lt;br /&gt;
* 使用root权限执行&amp;lt;code&amp;gt;update-ca-certificates&amp;lt;/code&amp;gt;&lt;br /&gt;
以上操作仅适用于系统的ssl证书，对类似curl、wget等应用生效。若是浏览器需查看具体浏览器的设置方法。&lt;br /&gt;
&lt;br /&gt;
=== Firefox浏览器自签CA证书的安装 ===&lt;br /&gt;
&lt;br /&gt;
* 下载待安装的证书(有些浏览器有安全提示，忽略即可)。&lt;br /&gt;
* 打开&amp;lt;code&amp;gt;about:preferences#privacy&amp;lt;/code&amp;gt;&lt;br /&gt;
* 找到查看证书选项，点击导入按钮导入相应的证书文件。&lt;br /&gt;
&lt;br /&gt;
== 当本人开源仓库同时具有github.com仓库与gitee.com仓库时自动选择gitee.com与github.com ==&lt;br /&gt;
采用[https://git.hyhsystem.cn git.hyhsystem.cn]作为仓库地址，即将github.com/gitee.com替换为git.hyhsystem.cn。&lt;br /&gt;
&lt;br /&gt;
其原理为通过HTTP 301代码自动跳转，国内跳转到gitee.com，其余跳转至github.com。&lt;br /&gt;
&lt;br /&gt;
当仓库github.com地址与gitee.com地址不一致时可采用github.com地址，由git.hyhsystem.cn的nginx自动匹配转发。&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1159</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1159"/>
		<updated>2026-02-22T13:44:56Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* IDE环境/开发环境/开发工具 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 常用项目 ==&lt;br /&gt;
&lt;br /&gt;
=== 嵌入式项目 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!简介&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
!标签&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-001     &lt;br /&gt;
|扩展板,用于扩展一个可编程通道(RS485)。&lt;br /&gt;
主要采用以下芯片:&lt;br /&gt;
&lt;br /&gt;
* CH334R:USB Hub。&lt;br /&gt;
* [[Air32F103CCT6]]:[[DAPLink]]主控芯片、Core主控芯片。&lt;br /&gt;
* MAX3485：3.3V电源驱动的RS485收发芯片。&lt;br /&gt;
|[[ExtBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[DAPLink]]&lt;br /&gt;
* [[Air32F103]]&lt;br /&gt;
|-&lt;br /&gt;
|CoreBoard-001&lt;br /&gt;
|核心板。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* HLK-7688A:[[MT7688AN]]核心板。&lt;br /&gt;
* DS1307：实时时钟&lt;br /&gt;
|[[CoreBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-002&lt;br /&gt;
|扩展板。使用USB提供4G联网功能。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|[[ExtBoad-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-003&lt;br /&gt;
|扩展板。USB CAN适配器，复刻[[candleLight]]。&lt;br /&gt;
|[[ExtBoard-003]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-001&lt;br /&gt;
|模块电路，用于验证廉价PY32单片机&lt;br /&gt;
|[[ExtModule-001]]&lt;br /&gt;
|&lt;br /&gt;
* PY32&lt;br /&gt;
* [[Modbus]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-002&lt;br /&gt;
|模块电路，用于验证ST17H66 蓝牙SOC&lt;br /&gt;
|[[ExtModule-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[ST17H66]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-003&lt;br /&gt;
|模块电路，用于验证XL2409 廉价2.4G无线SOC&lt;br /&gt;
|[[ExtModule-003]]&lt;br /&gt;
|&lt;br /&gt;
* [[XL2409]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-004&lt;br /&gt;
|模块电路，用于验证CH32V208 SOC.&lt;br /&gt;
|[[ExtModule-004]]&lt;br /&gt;
|&lt;br /&gt;
* [[CH32V208]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用技术栈 ==&lt;br /&gt;
&lt;br /&gt;
=== 使用低成本无线连接的设备 ===&lt;br /&gt;
通常情况下，除了直接接入网络，通常还可以使用网关代为接入网络，此时大致可分为网关设备（例如ZigBee网络的协调器）与子设备（例如ZigBee的路由器与终端设备）。&lt;br /&gt;
&lt;br /&gt;
网关设备通常用于协议的转换，通常使用性能相对强大的设备担任。&lt;br /&gt;
&lt;br /&gt;
子设备一般用于实际的应用，对设备的性能的要求相对较低。&lt;br /&gt;
&lt;br /&gt;
使用网关设备+子设备的模式优点如下：&lt;br /&gt;
&lt;br /&gt;
* 在节点较多时可节约成本。&lt;br /&gt;
* 某些场所无法直接接入网络。&lt;br /&gt;
&lt;br /&gt;
网关设备与子设备之间的连接可以使用有线连接（如[[CAN]]、[[Modbus|Modbus RTU]]等），也可以使用无线连接。&lt;br /&gt;
&lt;br /&gt;
使用无线连接时，主要使用以下方案:&lt;br /&gt;
&lt;br /&gt;
* [[NRF24L01+|NRF24L01]]及其兼容方案：实现简单，由用户自行定义协议，网关设备与子设备均需要自行开发。&lt;br /&gt;
* [[XL2409]]无线方案:其操作类似[[NRF24L01+|NRF24L01]]及其兼容方案,只是XL2409是一个SOC芯片，可编程。&lt;br /&gt;
* [[BLE]]：低功耗蓝牙，用户不能自定义协议，只能按照蓝牙定义的协议去开发，对于硬件而言，一般主要开发外围外设，中心设备可使用已有的硬件方案，调试使用可使用PC、手机调试。&lt;br /&gt;
&lt;br /&gt;
==== NRF24L01及其兼容方案 ====&lt;br /&gt;
采用[[NRF24L01+]]及兼容方案，直接收发数据，网络协议栈由用户自行实现。&lt;br /&gt;
&lt;br /&gt;
==== [[XL2409]]无线方案 ====&lt;br /&gt;
其操作类似[[NRF24L01+|NRF24L01]]及其兼容方案,只是XL2409是一个SOC芯片，可编程。直接收发数据，网络协议栈由用户自行实现。&lt;br /&gt;
&lt;br /&gt;
==== [[BLE]] ====&lt;br /&gt;
很多SOC方案支持开发中心设备，也支持开发外围设备，但一般只开发外围设备（通常用于子设备）的硬件（调试使用PC、手机），中心设备的硬件可使用支持BLE的现成方案。&lt;br /&gt;
&lt;br /&gt;
主要使用的BLE方案如下：&lt;br /&gt;
&lt;br /&gt;
* [[ST17H66]]: 低成本[[BLE]] SOC。&lt;br /&gt;
&lt;br /&gt;
=== 可连接TCP/IP的物联网设备 ===&lt;br /&gt;
开发物联网设备时,无论设备是通过WiFi、2G/3G/4G/5G或以太网连接网络,如设备支持TCP/IP,通常采用[[MQTT]]作为主要通信协议。&lt;br /&gt;
&lt;br /&gt;
除了主要通信协议,通常物联网设备还需要支持NTP对时，有时还需要使用到Http作为辅助协议。&lt;br /&gt;
&lt;br /&gt;
主要使用的协议如下：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!协议名称&lt;br /&gt;
!说明&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|[[MQTT]]&lt;br /&gt;
|MQTT是专门针对物联网开发的轻量级传输协议。&lt;br /&gt;
|通常采用TCP，可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[LwM2M]]&lt;br /&gt;
|LwM2M是一种轻量级的、标准通用的物联网设备管理协议，可用于快速部署客户端/服务器模式的物联网业务&lt;br /&gt;
|通常采用UDP，常见于NB-IOT模块。&lt;br /&gt;
由于UDP的在公网上的老化（公网的NAT转换机制），在公网上不能实现实时控制，只能应用于周期上报的设备。&lt;br /&gt;
&lt;br /&gt;
在专网或者局域网内可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[CoAP]]&lt;br /&gt;
|CoAP是一种用于受限节点与受限网络的web传输协议，由IETF提出。&lt;br /&gt;
|通常采用UDP，可使用DTLS加密，一般情况下用于在受限环境中替代http。&lt;br /&gt;
|-&lt;br /&gt;
|Http/Https&lt;br /&gt;
|超文本传输协议（Hypertext Transfer Protocol，HTTP）是一个简单的请求-响应协议。&lt;br /&gt;
|通常用于调用后端服务器的api接口。&lt;br /&gt;
|-&lt;br /&gt;
|NTP&lt;br /&gt;
|NTP是用来使计算机时间同步化的一种协议。&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[CSA Matter|Matter]]&lt;br /&gt;
|Matter是一个统一的、开源的应用层连接标准，旨在使开发人员和设备制造商能够连接和构建可靠的、安全的生态系统，并增加智能家具设备之间的兼容性。&lt;br /&gt;
|按照其架构，可使用TCP/UDP,基于[[IPV6]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 低成本方案 ====&lt;br /&gt;
低成本方案主要是指硬件采用SOC方案并且操作系统采用嵌入式操作系统的方案或者外设方案:&lt;br /&gt;
&lt;br /&gt;
* [[Air724UG]] :4G模块，可使用C/C++进行二次开发。&lt;br /&gt;
* [[Air780E]]:4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价。&lt;br /&gt;
* [[ESP8266]] ： WIFI模块。&lt;br /&gt;
* [[ESP32]] : WIFI模块,可接以太网PHY实现以太网上网。&lt;br /&gt;
* [[W600]] ： WIFI模块。&lt;br /&gt;
* [[W800]] ： WIFI模块。&lt;br /&gt;
* [[CH579]] ： 自带以太网PHY,可实现以太网上网。&lt;br /&gt;
*[[W5500]] :全硬件以太网外设芯片，需配合主控使用。&lt;br /&gt;
&lt;br /&gt;
==== 一般方案 ====&lt;br /&gt;
一般方案主要指资源相对充足的方案,一般采用Linux作为内核:&lt;br /&gt;
&lt;br /&gt;
* [[MT7688]] :可采用以太网或者WIFI联网,通过USB可接4G上网模块通过RNDIS上网。&lt;br /&gt;
&lt;br /&gt;
=== 带交流计量功能的设备 ===&lt;br /&gt;
==== 单相SOC方案 ====&lt;br /&gt;
对于单相计量（即常见的家用电）设备,通常采用SOC方案:&lt;br /&gt;
* [[RN8211B]]&lt;br /&gt;
* [[HT502X]]&lt;br /&gt;
此类SOC通常可以使用内置的模块完成包括计量功能在内的大部分需求,在某些情况下也可开发高精度的直流计量设备。&amp;lt;br&amp;gt;&lt;br /&gt;
如需与其它设备进行交互，通常还需要添加通信模块或者使用串口通信。&amp;lt;br&amp;gt;&lt;br /&gt;
若使用串口通信,本人常用[[Modbus]] RTU作为具体协议,将具体的硬件资源映射为线圈(可读写的位)、输入线圈(只读的位)、保持寄存器(可读写)、输入寄存器(只读)。&amp;lt;br&amp;gt;&lt;br /&gt;
* [[SimpleModbusRTUPacket]]&lt;br /&gt;
==== 单相非SOC方案 ====&lt;br /&gt;
若由于需要采用低成本导致计量部分相对于强电非隔离,而设备上又需要输出隔离接口时,通常采用非SOC方案+串口/SPI口隔离,常用芯片方案:&lt;br /&gt;
* [[RN8209]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&lt;br /&gt;
==== 三相非SOC方案 ====&lt;br /&gt;
若待计量的电路为三相电路,常用芯片方案:&lt;br /&gt;
* [[RN8302B]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&amp;lt;br&amp;gt;&lt;br /&gt;
注意:截至编辑时,尚未发现三相SOC方案。&lt;br /&gt;
=== 带有特殊功能的路由器/WIFI网关 ===&lt;br /&gt;
芯片方案：&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
软件开发方案:&lt;br /&gt;
* [[ openwrt ]]&lt;br /&gt;
在内核[[Devicetree|设备树(dts)]]配置中使能需要使用的标准接口，并在openwrt的[[Kconfig|menuconfig]]中选中对应的kmod包后,即可使用[[Linux]]用户程序(非内核模块)操作硬件设备。&amp;lt;br&amp;gt;&lt;br /&gt;
对于SPI、I2C与UART而言,用户可通过打开/dev目录下的相应字符设备即可使用。&amp;lt;br&amp;gt;&lt;br /&gt;
对于GPIO而言,可使用sysfs文件系统目录:/sys/class/gpio目录进行GPIO操作。&lt;br /&gt;
&lt;br /&gt;
=== 基于[[USB]]的外设扩展 ===&lt;br /&gt;
对于使用Linux内核的设备的外设扩展,本人较为推崇使用[[USB]]作为外设总线,其优点如下:&lt;br /&gt;
&lt;br /&gt;
* 支持热插拔与子设备枚举，无需在设备树中配置所挂接的子设备。&lt;br /&gt;
* 可使用hub扩展较多接口。&lt;br /&gt;
* 支持[[USB]]的转换芯片较多。&lt;br /&gt;
&lt;br /&gt;
一般来讲，对于少量控制数据的传输，[[USB]] 2.0的传输速度就足够了。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] HUB ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH334/CH335&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH334.html&lt;br /&gt;
|-&lt;br /&gt;
|CH338&lt;br /&gt;
|7口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH338.html&lt;br /&gt;
|-&lt;br /&gt;
|FE1.1s&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HS8836A&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 转换芯片 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH340&lt;br /&gt;
|USB转串口/打印口&lt;br /&gt;
|https://www.wch.cn/products/CH340.html&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 上位机软件开发 ====&lt;br /&gt;
&lt;br /&gt;
* 对于标准外设，可按照标准外设的使用方法，如[[USB]]转串口按照串口的方式使用。&lt;br /&gt;
* 对于[[USB]]原生的应用(直接通过端点发送接收数据),可使用[https://libusb.info/ libusb]开发。&lt;br /&gt;
* 对于基于[[USB]]的HID设备，若未被其它内核驱动使用，可使用[https://github.com/signal11/hidapi hidapi]开发。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 嵌入式开发 ====&lt;br /&gt;
若未具体说明，本章节中的[[USB]]嵌入式开发指Device端的嵌入式开发，即[[USB]]外设开发。&lt;br /&gt;
&lt;br /&gt;
除了各个芯片厂商提供的[[USB]]栈，还可使用以下USB栈用于USB外设开发：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!USB库&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
!tinyusb&lt;br /&gt;
!开源、跨平台的USB HOST/DEVICE栈&lt;br /&gt;
!https://www.tinyusb.org/&lt;br /&gt;
|-&lt;br /&gt;
!CherryUSB&lt;br /&gt;
!小而美的、可移植性高的、用于嵌入式系统的 USB 主从协议栈&lt;br /&gt;
!https://cherryusb.readthedocs.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子线连接器 ===&lt;br /&gt;
很多时候一个产品可由多个PCB组成，而PCB之间除了直接焊线，还可以由电子线连接器（包括插头、插座）连接。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+常用电子线连接器&lt;br /&gt;
!引脚间距(mm)&lt;br /&gt;
!类型&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
* SH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.25&lt;br /&gt;
|&lt;br /&gt;
* GH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.50&lt;br /&gt;
|&lt;br /&gt;
* ZH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.00&lt;br /&gt;
|&lt;br /&gt;
* PH&lt;br /&gt;
* HY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.50/2.54&lt;br /&gt;
|&lt;br /&gt;
* EH&lt;br /&gt;
* XH&lt;br /&gt;
* SM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.96&lt;br /&gt;
|&lt;br /&gt;
* VH&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
注意：&lt;br /&gt;
&lt;br /&gt;
# 以上所指的类型可能只是实际连接器的型号的一部分,一般用于搜索相应器件。如在淘宝上搜索&#039;&#039;&#039;PH 连接器&#039;&#039;&#039; 即可获取类型为PH的连接器。&lt;br /&gt;
# 同一个引脚间距可能有多个类型，这些不同的类型一般有其它差异（如材料、结构等）。&lt;br /&gt;
# 如需某个类型的双排连接器，可在类型中添加D(仅适用于部分类型),如需要类型为PH的连接器,则搜索&#039;&#039;&#039;PHD 连接器&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
=== 外壳方案 ===&lt;br /&gt;
&lt;br /&gt;
==== 可采用导轨安装的外壳方案 ====&lt;br /&gt;
对于电气控制柜、仪表柜、配电箱等，安装导轨是一个极其常见的配件。&lt;br /&gt;
&lt;br /&gt;
常用的安装导轨方案如下:&lt;br /&gt;
&lt;br /&gt;
* DIN TS35:35×7.5 安装导轨,宽度35mm,深度7.5mm,材质形式为钢、铝、铜等，表现形式为横条状金属片&lt;br /&gt;
&lt;br /&gt;
若未特殊说明，导轨均指DIN TS35安装导轨。&lt;br /&gt;
&lt;br /&gt;
对于带计量的产品而言,除了设计成插座样式，还可以设计成导轨安装并安放在配电箱里。&lt;br /&gt;
&lt;br /&gt;
对于需要安装至导轨的产品而言，主要有以下方案:&lt;br /&gt;
&lt;br /&gt;
* 直接使用可用于导轨安装的外壳。&lt;br /&gt;
* 采用导轨安装卡扣,卡扣上通常有螺丝孔位，可通过螺丝安装产品。&lt;br /&gt;
&lt;br /&gt;
==== 廉价铝壳外壳方案 ====&lt;br /&gt;
作为物联网产品(尤其是具有RTU/DTU角色的物联网产品)，通常需要一个外壳。一般情况下，可使用铁壳或者铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
为减小成本,本人一般采用成品铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
注意:本段落中的铝壳主要指主要外形为长方体，两侧或者顶部具有可拆卸的盖子的壳体，并不泛指所有采用铝作为主要材料的壳体。&lt;br /&gt;
&lt;br /&gt;
一般情况下,通常需要给铝壳开孔以引出接口，常用方案如下:&lt;br /&gt;
&lt;br /&gt;
* 正面开孔，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 侧盖开孔(一面或两面)，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 采用PCB作为侧盖(一般使用黑色的壳体配合黑色PCB),使用PCB制造开孔。仅试样的情况下,价格相对便宜。&lt;br /&gt;
* 一侧不要侧盖。适用于直接引出导线的产品,一般配合灌胶工艺。一般直接用于量产产品。&lt;br /&gt;
如需使用导轨安装，可使用导轨安装卡扣固定铝壳。&lt;br /&gt;
&lt;br /&gt;
===== 常用尺寸1 =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+铝壳参数&lt;br /&gt;
!长&lt;br /&gt;
!宽&lt;br /&gt;
!高&lt;br /&gt;
!PCB块数&lt;br /&gt;
!PCB最大厚度&lt;br /&gt;
!PCB最大宽度&lt;br /&gt;
!PCB最大长度&lt;br /&gt;
|-&lt;br /&gt;
|100mm&lt;br /&gt;
|66mm&lt;br /&gt;
|27mm&lt;br /&gt;
|2(一块顶部PCB板，一块底部PCB板)&lt;br /&gt;
|2mm&lt;br /&gt;
|60.3mm(不能小太多)&lt;br /&gt;
|100mm(取决于铝壳长度，一般可定制)&lt;br /&gt;
|}&lt;br /&gt;
[[文件:ALUMINUM SHELL 66x27x100.png|居中|有框]]&lt;br /&gt;
&lt;br /&gt;
==== 接线盒(家庭) ====&lt;br /&gt;
此处所指接线盒主要指家庭中用于开关/插座的接线盒,并不指广义接线盒。&lt;br /&gt;
&lt;br /&gt;
接线盒主要由底盒与面板组成。&lt;br /&gt;
&lt;br /&gt;
其中底盒的种类多种多样，根据可分为明装与暗装，一般底盒均为提前安装好的，不可简单增加与减少。&lt;br /&gt;
&lt;br /&gt;
面板一般是嵌入式开发中常用的壳体，只要保证安装孔距正确，即可安装在提前安装的底盒上。&lt;br /&gt;
&lt;br /&gt;
接线盒可根据面板尺寸进行分类，主要有以下型号：&lt;br /&gt;
&lt;br /&gt;
* 86型&lt;br /&gt;
* 118型&lt;br /&gt;
* 120型&lt;br /&gt;
&lt;br /&gt;
采用接线盒进行嵌入式开发主要开发以下设备（与传统开关、传统插座有一定相似之处）：&lt;br /&gt;
&lt;br /&gt;
* 智能家居控制面板:可进行联网操作，控制智能家居设备。可显示一些信息（如时间、天气、场景等信息）。可连接到其它智能设备（如智能音箱）&lt;br /&gt;
* 智能家居开关：功能与传统开关类似，可通过无线（如BLE、Zigbee等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
* 智能家居插座：功能与传统插座类似，可远程控制、数据采集（电量、电压、电流等）。可通过无线（如BLE、Zigbee、WiFi等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
&lt;br /&gt;
===== 86型接线盒 =====&lt;br /&gt;
86型接线盒作为较常用的接线盒，俗称86盒，其面板尺寸86mmX86mm。&lt;br /&gt;
&lt;br /&gt;
许多厂商也提供采用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寸开发板]。&lt;br /&gt;
&lt;br /&gt;
== 常用芯片及模块 ==&lt;br /&gt;
=== 常用芯片及核心模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 常用芯片及核心模块&lt;br /&gt;
|-&lt;br /&gt;
! 芯片/模块名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8211B || 单相计量SOC || [[RN8211B]]&lt;br /&gt;
|-&lt;br /&gt;
| HT502X || 单相计量SOC || [[HT502X]]&lt;br /&gt;
|-&lt;br /&gt;
| Air724UG || 4G模块,进行C语言开发 || [[Air724UG]]&lt;br /&gt;
|-&lt;br /&gt;
|Air780E&lt;br /&gt;
|4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价&lt;br /&gt;
|[[Air780E]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-12F || WIFI透传模块，可支持二次开发，主芯片为ESP8266 || [[ESP8266]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-32S || ESP32模块，可支持WIFI、蓝牙、以太网,可采用esp-idf开发 || [[ESP32]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-01 || W600开发板，WIFI SOC，Cortex-M3内核 || [[W600]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-08 || W800开发板，WIFI/蓝牙 SOC， XT804内核 || [[W800]]&lt;br /&gt;
|-&lt;br /&gt;
| CH579|| 以太网、蓝牙、USB SOC，Cortex-M0内核MCU || [[CH579]]&lt;br /&gt;
|-&lt;br /&gt;
| HLK-7688A|| MT7688芯片核心模块，可采用openwrt开发 || [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
| E18-MS1|| CC2530芯片核心模块，可采用contiki开发或者Z-Stack开发 || [[CC2530]]&lt;br /&gt;
|-&lt;br /&gt;
|Air105&lt;br /&gt;
|廉价大内存mcu,4M flash,640K SRAM,Cortex-M4F&lt;br /&gt;
|[[Air105]]&lt;br /&gt;
|-&lt;br /&gt;
|Lichee Zero&lt;br /&gt;
|全志V3s开发板，64M DRAM，廉价Linux开发板，V3s芯片可手贴&lt;br /&gt;
|[[V3s]]   [https://wiki.sipeed.com/hardware/zh/lichee/Zero/Zero.html Lichee Zero]&lt;br /&gt;
|-&lt;br /&gt;
|Air32F103&lt;br /&gt;
|96K RAM,兼容STM32F103&lt;br /&gt;
|[[Air32F103]] http://air32.cn&lt;br /&gt;
|-&lt;br /&gt;
|ST17H66&lt;br /&gt;
|64K RAM，256K Flash,廉价蓝牙SOC&lt;br /&gt;
|[[ST17H66]]&lt;br /&gt;
|}&lt;br /&gt;
注意:此章节可能不包含资料较多，应用极其成熟的芯片系列。&lt;br /&gt;
=== 外设芯片及外设模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 外设芯片及外设模块&lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! 接口 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8302B || 三相计量芯片 || SPI || [[RN8302B]]&lt;br /&gt;
|-&lt;br /&gt;
| RN8209C/RN8209D || 单相计量芯片 ||&lt;br /&gt;
* UART&lt;br /&gt;
* SPI&lt;br /&gt;
| [[RN8209]]&lt;br /&gt;
|-&lt;br /&gt;
| NRF24L01+ || 2.4G无线芯片,具有众多兼容替代(如Si24R1) || SPI+GPIO(中断、CE) || [[NRF24L01+]]&lt;br /&gt;
|-&lt;br /&gt;
|W5500&lt;br /&gt;
|全硬件栈以太网芯片&lt;br /&gt;
|SPI&lt;br /&gt;
|[[W5500]]&lt;br /&gt;
|-&lt;br /&gt;
|中景园0.96寸OLED点阵屏&lt;br /&gt;
|分辨率128x64,显示驱动（控制）芯片SSD1306&lt;br /&gt;
|&lt;br /&gt;
* IIC&lt;br /&gt;
* SPI+GPIO(DC、RES)&lt;br /&gt;
|[[SSD1306]] [[中景园0.96寸OLED点阵屏]]&lt;br /&gt;
|-&lt;br /&gt;
|AHT20&lt;br /&gt;
|温湿度传感器&lt;br /&gt;
|IIC&lt;br /&gt;
|[[AHT20]]&lt;br /&gt;
|-&lt;br /&gt;
|DS1307&lt;br /&gt;
|RTC（实时时钟）&lt;br /&gt;
|IIC&lt;br /&gt;
|[[DS1307]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用嵌入式操作系统、BootLoader、嵌入式固件及嵌入式软件库 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| FreeRTOS || 嵌入式操作系统 || [[FreeRTOS]]&lt;br /&gt;
|-&lt;br /&gt;
| rt-thread || 物联网嵌入式操作系统 || [[ rt-thread ]] &lt;br /&gt;
|-&lt;br /&gt;
|nuttx||嵌入式操作系统||[[nuttx]]&lt;br /&gt;
|-&lt;br /&gt;
|paho.mqtt.embedded-c|| MQTT客户端，可移植到各种芯片平台||[[paho.mqtt.embedded-c]]&lt;br /&gt;
|-&lt;br /&gt;
|openwrt||操作系统，嵌入式Linux构建工具||[[ openwrt | openwrt]]&lt;br /&gt;
|-&lt;br /&gt;
|u8g2&lt;br /&gt;
|单色/点阵屏驱动库&lt;br /&gt;
|[[u8g2]]&lt;br /&gt;
|-&lt;br /&gt;
|U-Boot&lt;br /&gt;
|通用引导加载器。通常用于加载[[Linux]]。&lt;br /&gt;
|[[U-Boot]]&lt;br /&gt;
|-&lt;br /&gt;
|Newlib&lt;br /&gt;
|嵌入式C运行库（通常配合GCC使用）&lt;br /&gt;
|[[Newlib]]&lt;br /&gt;
|-&lt;br /&gt;
|printf&lt;br /&gt;
|printf, sprintf and (v)snprintf 实现&lt;br /&gt;
|[[printf]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==常用工具==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+常用工具&lt;br /&gt;
|-&lt;br /&gt;
!名称!!说明!!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|easy-rsa||使用SSL/TLS时,自签证书制作/管理工具||[[easy-rsa]]&lt;br /&gt;
|-&lt;br /&gt;
|buildroot||嵌入式Linux构建工具||[[buildroot]]&lt;br /&gt;
|-&lt;br /&gt;
|debootstrap||Linux系统根文件系统创建工具,可创建Debian系Linux系统根文件系统||[[debootstrap]]&lt;br /&gt;
|-&lt;br /&gt;
|crosstool-ng||交叉编译工具链创建工具||[[crosstool-ng]]&lt;br /&gt;
|-&lt;br /&gt;
|ScreenToGif&lt;br /&gt;
|在Windows下录屏制作gif的工具&lt;br /&gt;
|https://github.com/NickeManarin/ScreenToGif.git&lt;br /&gt;
|-&lt;br /&gt;
|Xfel&lt;br /&gt;
|全志SOC的FEL工具（可下载固件等）&lt;br /&gt;
|[[Xfel]]&lt;br /&gt;
|-&lt;br /&gt;
|busybox&lt;br /&gt;
|unix工具箱，可用于创建体积极小的rootfs&lt;br /&gt;
|[[busybox]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 操作系统 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|ubuntu&lt;br /&gt;
|基于Linux的操作系统&lt;br /&gt;
|https://ubuntu.com/&lt;br /&gt;
|-&lt;br /&gt;
|windows&lt;br /&gt;
|&lt;br /&gt;
|https://www.microsoft.com&lt;br /&gt;
|-&lt;br /&gt;
|xigmanas&lt;br /&gt;
|基于FreeBSD的NAS系统&lt;br /&gt;
|https://sourceforge.net/projects/xigmanas/&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD&lt;br /&gt;
|&lt;br /&gt;
|https://www.freebsd.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===IDE环境/开发环境/开发工具===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|codeblocks&lt;br /&gt;
|免费的C/C++ IDE,可开发多种C/C++程序。本人只要将它用作基于CMake构建的工程的代码编写。&lt;br /&gt;
|http://www.codeblocks.org/&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Visual Studio&lt;br /&gt;
|微软的开发工具集。本人主要用于开发WIN32程序。本人优先使用codeblocks作为C/C++开发环境,VS占用的空间太大,但有些第三方库在Windows上可能只支持MSVC,故而必须使用VS。&lt;br /&gt;
|https://visualstudio.microsoft.com/zh-hans/&lt;br /&gt;
|-&lt;br /&gt;
|keil5&lt;br /&gt;
|用于ARM嵌入式芯片的开发。注意:keil5不是免费的。&lt;br /&gt;
|https://www.keil.com/&lt;br /&gt;
|-&lt;br /&gt;
|IAR&lt;br /&gt;
|本人主要使用针对ARM嵌入式芯片的开发。注意:IAR不是免费的。&lt;br /&gt;
|https://www.iar.com/&lt;br /&gt;
|-&lt;br /&gt;
|QtCreator&lt;br /&gt;
|用于创建基于Qt的程序。&lt;br /&gt;
|https://www.qt.io/product/development-tools&lt;br /&gt;
|-&lt;br /&gt;
|MounRiver&lt;br /&gt;
|基于Eclipse的嵌入式ARM/RISC-V的集成开发环境。本人主要用于测试[https://www.wch.cn/ WCH]的单片机。&lt;br /&gt;
|http://www.mounriver.com/&lt;br /&gt;
|-&lt;br /&gt;
|RT-Thread Studio&lt;br /&gt;
|一站式的 RT-Thread 开发工具，通过简单易用的图形化配置系统以及丰富的软件包和组件资源，让物联网开发变得简单和高效。本人主要用于开发与rt-thread相关设备。&lt;br /&gt;
|https://www.rt-thread.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子硬件设计(原理图绘制/PCB绘制/其它相关工具) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|立创EDA&lt;br /&gt;
|高效的国产PCB设计工具，永久免费。可在线使用。&lt;br /&gt;
|https://lceda.cn/&lt;br /&gt;
|-&lt;br /&gt;
|KiCad&lt;br /&gt;
|跨平台开源电子设计套装。&lt;br /&gt;
|https://www.kicad.org/&lt;br /&gt;
|-&lt;br /&gt;
|freerouting&lt;br /&gt;
|自动布线工具。可配合立创EDA或KiCad使用。本人用于替代立创EDA自带的自动布线。&lt;br /&gt;
|https://www.freerouting.app/&lt;br /&gt;
https://github.com/freerouting/freerouting.git&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 测试工具 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Apipost&lt;br /&gt;
|Apipost-API 文档、设计、调试、自动化测试一体化协作平台。具有免费版本。&lt;br /&gt;
|https://www.apipost.cn/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 编译器 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|sdcc&lt;br /&gt;
|用于8位/16位单片机(如MCS51、DS80C390 、HC08、Z80、STM8, MOS 6502 、WDC 65C02等)的C编译器&lt;br /&gt;
|https://sdcc.sourceforge.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 流程图/框图绘制 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|dia&lt;br /&gt;
|跨平台开源流程图绘制工具&lt;br /&gt;
|http://dia-installer.de/&lt;br /&gt;
https://sourceforge.net/projects/dia/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 图像处理 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|GIMP&lt;br /&gt;
|免费开源图像编辑器&lt;br /&gt;
|https://www.gimp.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 作曲工具(MIDI制作) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|LMMS&lt;br /&gt;
|免费自由开源并且跨平台的作曲工具&lt;br /&gt;
|https://lmms.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 字体编辑 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|FontForge&lt;br /&gt;
|免费字体编辑器&lt;br /&gt;
|https://fontforge.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 国际化/本地化 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Poedit&lt;br /&gt;
|.po编辑工具。可编辑使用 [[xgettext]] 生成的翻译文件&lt;br /&gt;
|https://poedit.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 压缩/解压缩 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|7-zip&lt;br /&gt;
|开源免费的压缩/解压缩软件。Windows下有GUI程序，Linux下只有控制台版本。&lt;br /&gt;
|http://www.7-zip.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 虚拟磁盘/磁盘驱动 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;s&amp;gt;imdisk&amp;lt;/s&amp;gt;&lt;br /&gt;
|Windows下开源虚拟磁盘工具,可方便挂载内存盘（存放临时文件）。&lt;br /&gt;
|https://sourceforge.net/projects/imdisk-toolkit&lt;br /&gt;
|-&lt;br /&gt;
|aim-toolkit&lt;br /&gt;
|Windows下开源虚拟磁盘工具,可方便挂载内存盘（存放临时文件）,替代imdisk。&lt;br /&gt;
|https://sourceforge.net/projects/aim-toolkit/&lt;br /&gt;
|-&lt;br /&gt;
|Ext2fsd&lt;br /&gt;
|Windows下访问Ext2/Ext3/Ext4文件系统驱动。&lt;br /&gt;
|https://sourceforge.net/projects/ext2fsd/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 安装/卸载 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Geek Uninstaller&lt;br /&gt;
|Windows下程序卸载工具,具有免费的版本。&lt;br /&gt;
|https://geekuninstaller.com/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===小工具(自写/修改/组合)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki&lt;br /&gt;
!支持平台&lt;br /&gt;
|-&lt;br /&gt;
|CC3200_GangGenerator&lt;br /&gt;
|生成用于烧录CC3200 SPI Flash的工具&lt;br /&gt;
|[[CC3200_GangGenerator]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
|-&lt;br /&gt;
|WMToolHelper&lt;br /&gt;
| W600烧录工具&lt;br /&gt;
|[[WMToolHelper]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|WinBleTool&lt;br /&gt;
| Windows下调试BLE的工具&lt;br /&gt;
|[[WinBleTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10(及以上)&lt;br /&gt;
|-&lt;br /&gt;
|SimpleBLETool&lt;br /&gt;
|调试BLE的工具&lt;br /&gt;
| [[SimpleBLETool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10+&lt;br /&gt;
*Linux(ubuntu 20.04+)&lt;br /&gt;
|-&lt;br /&gt;
|cutecom-ng&lt;br /&gt;
|基于Qt5的串口工具。个人修改版。&lt;br /&gt;
|[[cutecom-ng]]&lt;br /&gt;
|只要是Qt5支持的桌面平台均支持。&lt;br /&gt;
|-&lt;br /&gt;
|OneNETTool&lt;br /&gt;
|开发OneNET辅助工具&lt;br /&gt;
|[[OneNETTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|QGDW12184Tool&lt;br /&gt;
|开发Q/GDW 12184辅助工具&lt;br /&gt;
|[[QGDW12184Tool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|XServerForWSL1&lt;br /&gt;
|利用cygwin中的X服务对WSL提供X服务&lt;br /&gt;
|[[XServerForWSL1]]&lt;br /&gt;
|支持WSL1的Windows&lt;br /&gt;
|-&lt;br /&gt;
|linux_binfmt_pe&lt;br /&gt;
|使用[[wine]]直接执行PE可执行文件的Linux内核模块&lt;br /&gt;
|[[linux_binfmt_pe]]&lt;br /&gt;
|&lt;br /&gt;
* Linux内核&lt;br /&gt;
|-&lt;br /&gt;
|Win32Redirector&lt;br /&gt;
|重定向win32控制台应用至MSYS2或者Cygwin中的程序。&lt;br /&gt;
|[[Win32Redirector]]&lt;br /&gt;
|&lt;br /&gt;
* Windows&lt;br /&gt;
|-&lt;br /&gt;
|HEnvBox&lt;br /&gt;
|快速搭建本人常用的开发环境。&lt;br /&gt;
|[[HEnvBox]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 10及更新版&lt;br /&gt;
* Ubuntu 22.04&lt;br /&gt;
* Debian&lt;br /&gt;
* Deepin&lt;br /&gt;
|-&lt;br /&gt;
|HVCP&lt;br /&gt;
|Windows下虚拟串口&lt;br /&gt;
|[[HVCP]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 7 及更新系统&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用库 ==&lt;br /&gt;
此章节主要对使用的比较多的库做一个整理。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!官网&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki&lt;br /&gt;
|-&lt;br /&gt;
|wxWidgets&lt;br /&gt;
|https://www.wxwidgets.org/&lt;br /&gt;
|跨平台GUI库&lt;br /&gt;
|[[wxWidgets]]&lt;br /&gt;
|-&lt;br /&gt;
|Qt&lt;br /&gt;
|https://www.qt.io/&lt;br /&gt;
|跨平台库（包括GUI）&lt;br /&gt;
|[[Qt]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 工具/库（自写/修改） ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|DeployWin&lt;br /&gt;
|MSYS2与CygWin下编程辅助打包库。一般配合CMake的CPack使用。&lt;br /&gt;
|[[DeployWin]]&lt;br /&gt;
|-&lt;br /&gt;
|HCppBox&lt;br /&gt;
|本人常用的C/C++代码&lt;br /&gt;
|[[HCppBox]]&lt;br /&gt;
|-&lt;br /&gt;
|SimpleModbusRTUPacket&lt;br /&gt;
|简易的[[Modbus]] RTU包解析&lt;br /&gt;
|[[SimpleModbusRTUPacket]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==常用镜像站==&lt;br /&gt;
在找各种源码资源时，经常遇到国外网站下载较慢的情况下，此时通常需要更换镜像站。&lt;br /&gt;
&lt;br /&gt;
例如:&lt;br /&gt;
&lt;br /&gt;
*ubuntu系统的软件包(包括使用deboostrap的镜像源)&lt;br /&gt;
*python软件包&lt;br /&gt;
*gnu软件源码包&lt;br /&gt;
*linux源码&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!地址&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.ustc.edu.cn/&lt;br /&gt;
|中国科学技术大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.tuna.tsinghua.edu.cn/&lt;br /&gt;
|清华大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.163.com/&lt;br /&gt;
|网易开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.aliyun.com/&lt;br /&gt;
|阿里开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.cernet.edu.cn&lt;br /&gt;
|校园网联合镜像站&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 静态文档网站 ==&lt;br /&gt;
一些静态的网页文档,如[https://www.doxygen.nl/ doxygen]生成的帮助文档与[https://docsify.js.org/#/ docsify]制作的静态说明文档。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!类型&lt;br /&gt;
!URL&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|静态文档仓库&lt;br /&gt;
|https://heyahong.github.io/#/&lt;br /&gt;
|采用github pages托管,源代码仓库:https://github.com/HEYAHONG/HEYAHONG.github.io.git&lt;br /&gt;
|-&lt;br /&gt;
|网站&lt;br /&gt;
|http://docs.hyhsystem.cn&lt;br /&gt;
|采用nginx服务器,运行于云服务器&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==相关链接==&lt;br /&gt;
&lt;br /&gt;
*[[测试资源]]&lt;br /&gt;
*[[第三方资源]]&lt;br /&gt;
*[[方案发现与探索]]&lt;br /&gt;
*[[杂项笔记与测试代码]]&lt;br /&gt;
*[[常见问题]]&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1158</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1158"/>
		<updated>2026-02-22T08:49:57Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 虚拟磁盘/磁盘驱动 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 常用项目 ==&lt;br /&gt;
&lt;br /&gt;
=== 嵌入式项目 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!简介&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
!标签&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-001     &lt;br /&gt;
|扩展板,用于扩展一个可编程通道(RS485)。&lt;br /&gt;
主要采用以下芯片:&lt;br /&gt;
&lt;br /&gt;
* CH334R:USB Hub。&lt;br /&gt;
* [[Air32F103CCT6]]:[[DAPLink]]主控芯片、Core主控芯片。&lt;br /&gt;
* MAX3485：3.3V电源驱动的RS485收发芯片。&lt;br /&gt;
|[[ExtBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[DAPLink]]&lt;br /&gt;
* [[Air32F103]]&lt;br /&gt;
|-&lt;br /&gt;
|CoreBoard-001&lt;br /&gt;
|核心板。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* HLK-7688A:[[MT7688AN]]核心板。&lt;br /&gt;
* DS1307：实时时钟&lt;br /&gt;
|[[CoreBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-002&lt;br /&gt;
|扩展板。使用USB提供4G联网功能。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|[[ExtBoad-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-003&lt;br /&gt;
|扩展板。USB CAN适配器，复刻[[candleLight]]。&lt;br /&gt;
|[[ExtBoard-003]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-001&lt;br /&gt;
|模块电路，用于验证廉价PY32单片机&lt;br /&gt;
|[[ExtModule-001]]&lt;br /&gt;
|&lt;br /&gt;
* PY32&lt;br /&gt;
* [[Modbus]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-002&lt;br /&gt;
|模块电路，用于验证ST17H66 蓝牙SOC&lt;br /&gt;
|[[ExtModule-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[ST17H66]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-003&lt;br /&gt;
|模块电路，用于验证XL2409 廉价2.4G无线SOC&lt;br /&gt;
|[[ExtModule-003]]&lt;br /&gt;
|&lt;br /&gt;
* [[XL2409]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-004&lt;br /&gt;
|模块电路，用于验证CH32V208 SOC.&lt;br /&gt;
|[[ExtModule-004]]&lt;br /&gt;
|&lt;br /&gt;
* [[CH32V208]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用技术栈 ==&lt;br /&gt;
&lt;br /&gt;
=== 使用低成本无线连接的设备 ===&lt;br /&gt;
通常情况下，除了直接接入网络，通常还可以使用网关代为接入网络，此时大致可分为网关设备（例如ZigBee网络的协调器）与子设备（例如ZigBee的路由器与终端设备）。&lt;br /&gt;
&lt;br /&gt;
网关设备通常用于协议的转换，通常使用性能相对强大的设备担任。&lt;br /&gt;
&lt;br /&gt;
子设备一般用于实际的应用，对设备的性能的要求相对较低。&lt;br /&gt;
&lt;br /&gt;
使用网关设备+子设备的模式优点如下：&lt;br /&gt;
&lt;br /&gt;
* 在节点较多时可节约成本。&lt;br /&gt;
* 某些场所无法直接接入网络。&lt;br /&gt;
&lt;br /&gt;
网关设备与子设备之间的连接可以使用有线连接（如[[CAN]]、[[Modbus|Modbus RTU]]等），也可以使用无线连接。&lt;br /&gt;
&lt;br /&gt;
使用无线连接时，主要使用以下方案:&lt;br /&gt;
&lt;br /&gt;
* [[NRF24L01+|NRF24L01]]及其兼容方案：实现简单，由用户自行定义协议，网关设备与子设备均需要自行开发。&lt;br /&gt;
* [[XL2409]]无线方案:其操作类似[[NRF24L01+|NRF24L01]]及其兼容方案,只是XL2409是一个SOC芯片，可编程。&lt;br /&gt;
* [[BLE]]：低功耗蓝牙，用户不能自定义协议，只能按照蓝牙定义的协议去开发，对于硬件而言，一般主要开发外围外设，中心设备可使用已有的硬件方案，调试使用可使用PC、手机调试。&lt;br /&gt;
&lt;br /&gt;
==== NRF24L01及其兼容方案 ====&lt;br /&gt;
采用[[NRF24L01+]]及兼容方案，直接收发数据，网络协议栈由用户自行实现。&lt;br /&gt;
&lt;br /&gt;
==== [[XL2409]]无线方案 ====&lt;br /&gt;
其操作类似[[NRF24L01+|NRF24L01]]及其兼容方案,只是XL2409是一个SOC芯片，可编程。直接收发数据，网络协议栈由用户自行实现。&lt;br /&gt;
&lt;br /&gt;
==== [[BLE]] ====&lt;br /&gt;
很多SOC方案支持开发中心设备，也支持开发外围设备，但一般只开发外围设备（通常用于子设备）的硬件（调试使用PC、手机），中心设备的硬件可使用支持BLE的现成方案。&lt;br /&gt;
&lt;br /&gt;
主要使用的BLE方案如下：&lt;br /&gt;
&lt;br /&gt;
* [[ST17H66]]: 低成本[[BLE]] SOC。&lt;br /&gt;
&lt;br /&gt;
=== 可连接TCP/IP的物联网设备 ===&lt;br /&gt;
开发物联网设备时,无论设备是通过WiFi、2G/3G/4G/5G或以太网连接网络,如设备支持TCP/IP,通常采用[[MQTT]]作为主要通信协议。&lt;br /&gt;
&lt;br /&gt;
除了主要通信协议,通常物联网设备还需要支持NTP对时，有时还需要使用到Http作为辅助协议。&lt;br /&gt;
&lt;br /&gt;
主要使用的协议如下：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!协议名称&lt;br /&gt;
!说明&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|[[MQTT]]&lt;br /&gt;
|MQTT是专门针对物联网开发的轻量级传输协议。&lt;br /&gt;
|通常采用TCP，可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[LwM2M]]&lt;br /&gt;
|LwM2M是一种轻量级的、标准通用的物联网设备管理协议，可用于快速部署客户端/服务器模式的物联网业务&lt;br /&gt;
|通常采用UDP，常见于NB-IOT模块。&lt;br /&gt;
由于UDP的在公网上的老化（公网的NAT转换机制），在公网上不能实现实时控制，只能应用于周期上报的设备。&lt;br /&gt;
&lt;br /&gt;
在专网或者局域网内可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[CoAP]]&lt;br /&gt;
|CoAP是一种用于受限节点与受限网络的web传输协议，由IETF提出。&lt;br /&gt;
|通常采用UDP，可使用DTLS加密，一般情况下用于在受限环境中替代http。&lt;br /&gt;
|-&lt;br /&gt;
|Http/Https&lt;br /&gt;
|超文本传输协议（Hypertext Transfer Protocol，HTTP）是一个简单的请求-响应协议。&lt;br /&gt;
|通常用于调用后端服务器的api接口。&lt;br /&gt;
|-&lt;br /&gt;
|NTP&lt;br /&gt;
|NTP是用来使计算机时间同步化的一种协议。&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[CSA Matter|Matter]]&lt;br /&gt;
|Matter是一个统一的、开源的应用层连接标准，旨在使开发人员和设备制造商能够连接和构建可靠的、安全的生态系统，并增加智能家具设备之间的兼容性。&lt;br /&gt;
|按照其架构，可使用TCP/UDP,基于[[IPV6]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 低成本方案 ====&lt;br /&gt;
低成本方案主要是指硬件采用SOC方案并且操作系统采用嵌入式操作系统的方案或者外设方案:&lt;br /&gt;
&lt;br /&gt;
* [[Air724UG]] :4G模块，可使用C/C++进行二次开发。&lt;br /&gt;
* [[Air780E]]:4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价。&lt;br /&gt;
* [[ESP8266]] ： WIFI模块。&lt;br /&gt;
* [[ESP32]] : WIFI模块,可接以太网PHY实现以太网上网。&lt;br /&gt;
* [[W600]] ： WIFI模块。&lt;br /&gt;
* [[W800]] ： WIFI模块。&lt;br /&gt;
* [[CH579]] ： 自带以太网PHY,可实现以太网上网。&lt;br /&gt;
*[[W5500]] :全硬件以太网外设芯片，需配合主控使用。&lt;br /&gt;
&lt;br /&gt;
==== 一般方案 ====&lt;br /&gt;
一般方案主要指资源相对充足的方案,一般采用Linux作为内核:&lt;br /&gt;
&lt;br /&gt;
* [[MT7688]] :可采用以太网或者WIFI联网,通过USB可接4G上网模块通过RNDIS上网。&lt;br /&gt;
&lt;br /&gt;
=== 带交流计量功能的设备 ===&lt;br /&gt;
==== 单相SOC方案 ====&lt;br /&gt;
对于单相计量（即常见的家用电）设备,通常采用SOC方案:&lt;br /&gt;
* [[RN8211B]]&lt;br /&gt;
* [[HT502X]]&lt;br /&gt;
此类SOC通常可以使用内置的模块完成包括计量功能在内的大部分需求,在某些情况下也可开发高精度的直流计量设备。&amp;lt;br&amp;gt;&lt;br /&gt;
如需与其它设备进行交互，通常还需要添加通信模块或者使用串口通信。&amp;lt;br&amp;gt;&lt;br /&gt;
若使用串口通信,本人常用[[Modbus]] RTU作为具体协议,将具体的硬件资源映射为线圈(可读写的位)、输入线圈(只读的位)、保持寄存器(可读写)、输入寄存器(只读)。&amp;lt;br&amp;gt;&lt;br /&gt;
* [[SimpleModbusRTUPacket]]&lt;br /&gt;
==== 单相非SOC方案 ====&lt;br /&gt;
若由于需要采用低成本导致计量部分相对于强电非隔离,而设备上又需要输出隔离接口时,通常采用非SOC方案+串口/SPI口隔离,常用芯片方案:&lt;br /&gt;
* [[RN8209]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&lt;br /&gt;
==== 三相非SOC方案 ====&lt;br /&gt;
若待计量的电路为三相电路,常用芯片方案:&lt;br /&gt;
* [[RN8302B]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&amp;lt;br&amp;gt;&lt;br /&gt;
注意:截至编辑时,尚未发现三相SOC方案。&lt;br /&gt;
=== 带有特殊功能的路由器/WIFI网关 ===&lt;br /&gt;
芯片方案：&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
软件开发方案:&lt;br /&gt;
* [[ openwrt ]]&lt;br /&gt;
在内核[[Devicetree|设备树(dts)]]配置中使能需要使用的标准接口，并在openwrt的[[Kconfig|menuconfig]]中选中对应的kmod包后,即可使用[[Linux]]用户程序(非内核模块)操作硬件设备。&amp;lt;br&amp;gt;&lt;br /&gt;
对于SPI、I2C与UART而言,用户可通过打开/dev目录下的相应字符设备即可使用。&amp;lt;br&amp;gt;&lt;br /&gt;
对于GPIO而言,可使用sysfs文件系统目录:/sys/class/gpio目录进行GPIO操作。&lt;br /&gt;
&lt;br /&gt;
=== 基于[[USB]]的外设扩展 ===&lt;br /&gt;
对于使用Linux内核的设备的外设扩展,本人较为推崇使用[[USB]]作为外设总线,其优点如下:&lt;br /&gt;
&lt;br /&gt;
* 支持热插拔与子设备枚举，无需在设备树中配置所挂接的子设备。&lt;br /&gt;
* 可使用hub扩展较多接口。&lt;br /&gt;
* 支持[[USB]]的转换芯片较多。&lt;br /&gt;
&lt;br /&gt;
一般来讲，对于少量控制数据的传输，[[USB]] 2.0的传输速度就足够了。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] HUB ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH334/CH335&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH334.html&lt;br /&gt;
|-&lt;br /&gt;
|CH338&lt;br /&gt;
|7口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH338.html&lt;br /&gt;
|-&lt;br /&gt;
|FE1.1s&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HS8836A&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 转换芯片 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH340&lt;br /&gt;
|USB转串口/打印口&lt;br /&gt;
|https://www.wch.cn/products/CH340.html&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 上位机软件开发 ====&lt;br /&gt;
&lt;br /&gt;
* 对于标准外设，可按照标准外设的使用方法，如[[USB]]转串口按照串口的方式使用。&lt;br /&gt;
* 对于[[USB]]原生的应用(直接通过端点发送接收数据),可使用[https://libusb.info/ libusb]开发。&lt;br /&gt;
* 对于基于[[USB]]的HID设备，若未被其它内核驱动使用，可使用[https://github.com/signal11/hidapi hidapi]开发。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 嵌入式开发 ====&lt;br /&gt;
若未具体说明，本章节中的[[USB]]嵌入式开发指Device端的嵌入式开发，即[[USB]]外设开发。&lt;br /&gt;
&lt;br /&gt;
除了各个芯片厂商提供的[[USB]]栈，还可使用以下USB栈用于USB外设开发：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!USB库&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
!tinyusb&lt;br /&gt;
!开源、跨平台的USB HOST/DEVICE栈&lt;br /&gt;
!https://www.tinyusb.org/&lt;br /&gt;
|-&lt;br /&gt;
!CherryUSB&lt;br /&gt;
!小而美的、可移植性高的、用于嵌入式系统的 USB 主从协议栈&lt;br /&gt;
!https://cherryusb.readthedocs.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子线连接器 ===&lt;br /&gt;
很多时候一个产品可由多个PCB组成，而PCB之间除了直接焊线，还可以由电子线连接器（包括插头、插座）连接。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+常用电子线连接器&lt;br /&gt;
!引脚间距(mm)&lt;br /&gt;
!类型&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
* SH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.25&lt;br /&gt;
|&lt;br /&gt;
* GH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.50&lt;br /&gt;
|&lt;br /&gt;
* ZH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.00&lt;br /&gt;
|&lt;br /&gt;
* PH&lt;br /&gt;
* HY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.50/2.54&lt;br /&gt;
|&lt;br /&gt;
* EH&lt;br /&gt;
* XH&lt;br /&gt;
* SM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.96&lt;br /&gt;
|&lt;br /&gt;
* VH&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
注意：&lt;br /&gt;
&lt;br /&gt;
# 以上所指的类型可能只是实际连接器的型号的一部分,一般用于搜索相应器件。如在淘宝上搜索&#039;&#039;&#039;PH 连接器&#039;&#039;&#039; 即可获取类型为PH的连接器。&lt;br /&gt;
# 同一个引脚间距可能有多个类型，这些不同的类型一般有其它差异（如材料、结构等）。&lt;br /&gt;
# 如需某个类型的双排连接器，可在类型中添加D(仅适用于部分类型),如需要类型为PH的连接器,则搜索&#039;&#039;&#039;PHD 连接器&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
=== 外壳方案 ===&lt;br /&gt;
&lt;br /&gt;
==== 可采用导轨安装的外壳方案 ====&lt;br /&gt;
对于电气控制柜、仪表柜、配电箱等，安装导轨是一个极其常见的配件。&lt;br /&gt;
&lt;br /&gt;
常用的安装导轨方案如下:&lt;br /&gt;
&lt;br /&gt;
* DIN TS35:35×7.5 安装导轨,宽度35mm,深度7.5mm,材质形式为钢、铝、铜等，表现形式为横条状金属片&lt;br /&gt;
&lt;br /&gt;
若未特殊说明，导轨均指DIN TS35安装导轨。&lt;br /&gt;
&lt;br /&gt;
对于带计量的产品而言,除了设计成插座样式，还可以设计成导轨安装并安放在配电箱里。&lt;br /&gt;
&lt;br /&gt;
对于需要安装至导轨的产品而言，主要有以下方案:&lt;br /&gt;
&lt;br /&gt;
* 直接使用可用于导轨安装的外壳。&lt;br /&gt;
* 采用导轨安装卡扣,卡扣上通常有螺丝孔位，可通过螺丝安装产品。&lt;br /&gt;
&lt;br /&gt;
==== 廉价铝壳外壳方案 ====&lt;br /&gt;
作为物联网产品(尤其是具有RTU/DTU角色的物联网产品)，通常需要一个外壳。一般情况下，可使用铁壳或者铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
为减小成本,本人一般采用成品铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
注意:本段落中的铝壳主要指主要外形为长方体，两侧或者顶部具有可拆卸的盖子的壳体，并不泛指所有采用铝作为主要材料的壳体。&lt;br /&gt;
&lt;br /&gt;
一般情况下,通常需要给铝壳开孔以引出接口，常用方案如下:&lt;br /&gt;
&lt;br /&gt;
* 正面开孔，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 侧盖开孔(一面或两面)，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 采用PCB作为侧盖(一般使用黑色的壳体配合黑色PCB),使用PCB制造开孔。仅试样的情况下,价格相对便宜。&lt;br /&gt;
* 一侧不要侧盖。适用于直接引出导线的产品,一般配合灌胶工艺。一般直接用于量产产品。&lt;br /&gt;
如需使用导轨安装，可使用导轨安装卡扣固定铝壳。&lt;br /&gt;
&lt;br /&gt;
===== 常用尺寸1 =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+铝壳参数&lt;br /&gt;
!长&lt;br /&gt;
!宽&lt;br /&gt;
!高&lt;br /&gt;
!PCB块数&lt;br /&gt;
!PCB最大厚度&lt;br /&gt;
!PCB最大宽度&lt;br /&gt;
!PCB最大长度&lt;br /&gt;
|-&lt;br /&gt;
|100mm&lt;br /&gt;
|66mm&lt;br /&gt;
|27mm&lt;br /&gt;
|2(一块顶部PCB板，一块底部PCB板)&lt;br /&gt;
|2mm&lt;br /&gt;
|60.3mm(不能小太多)&lt;br /&gt;
|100mm(取决于铝壳长度，一般可定制)&lt;br /&gt;
|}&lt;br /&gt;
[[文件:ALUMINUM SHELL 66x27x100.png|居中|有框]]&lt;br /&gt;
&lt;br /&gt;
==== 接线盒(家庭) ====&lt;br /&gt;
此处所指接线盒主要指家庭中用于开关/插座的接线盒,并不指广义接线盒。&lt;br /&gt;
&lt;br /&gt;
接线盒主要由底盒与面板组成。&lt;br /&gt;
&lt;br /&gt;
其中底盒的种类多种多样，根据可分为明装与暗装，一般底盒均为提前安装好的，不可简单增加与减少。&lt;br /&gt;
&lt;br /&gt;
面板一般是嵌入式开发中常用的壳体，只要保证安装孔距正确，即可安装在提前安装的底盒上。&lt;br /&gt;
&lt;br /&gt;
接线盒可根据面板尺寸进行分类，主要有以下型号：&lt;br /&gt;
&lt;br /&gt;
* 86型&lt;br /&gt;
* 118型&lt;br /&gt;
* 120型&lt;br /&gt;
&lt;br /&gt;
采用接线盒进行嵌入式开发主要开发以下设备（与传统开关、传统插座有一定相似之处）：&lt;br /&gt;
&lt;br /&gt;
* 智能家居控制面板:可进行联网操作，控制智能家居设备。可显示一些信息（如时间、天气、场景等信息）。可连接到其它智能设备（如智能音箱）&lt;br /&gt;
* 智能家居开关：功能与传统开关类似，可通过无线（如BLE、Zigbee等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
* 智能家居插座：功能与传统插座类似，可远程控制、数据采集（电量、电压、电流等）。可通过无线（如BLE、Zigbee、WiFi等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
&lt;br /&gt;
===== 86型接线盒 =====&lt;br /&gt;
86型接线盒作为较常用的接线盒，俗称86盒，其面板尺寸86mmX86mm。&lt;br /&gt;
&lt;br /&gt;
许多厂商也提供采用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寸开发板]。&lt;br /&gt;
&lt;br /&gt;
== 常用芯片及模块 ==&lt;br /&gt;
=== 常用芯片及核心模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 常用芯片及核心模块&lt;br /&gt;
|-&lt;br /&gt;
! 芯片/模块名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8211B || 单相计量SOC || [[RN8211B]]&lt;br /&gt;
|-&lt;br /&gt;
| HT502X || 单相计量SOC || [[HT502X]]&lt;br /&gt;
|-&lt;br /&gt;
| Air724UG || 4G模块,进行C语言开发 || [[Air724UG]]&lt;br /&gt;
|-&lt;br /&gt;
|Air780E&lt;br /&gt;
|4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价&lt;br /&gt;
|[[Air780E]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-12F || WIFI透传模块，可支持二次开发，主芯片为ESP8266 || [[ESP8266]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-32S || ESP32模块，可支持WIFI、蓝牙、以太网,可采用esp-idf开发 || [[ESP32]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-01 || W600开发板，WIFI SOC，Cortex-M3内核 || [[W600]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-08 || W800开发板，WIFI/蓝牙 SOC， XT804内核 || [[W800]]&lt;br /&gt;
|-&lt;br /&gt;
| CH579|| 以太网、蓝牙、USB SOC，Cortex-M0内核MCU || [[CH579]]&lt;br /&gt;
|-&lt;br /&gt;
| HLK-7688A|| MT7688芯片核心模块，可采用openwrt开发 || [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
| E18-MS1|| CC2530芯片核心模块，可采用contiki开发或者Z-Stack开发 || [[CC2530]]&lt;br /&gt;
|-&lt;br /&gt;
|Air105&lt;br /&gt;
|廉价大内存mcu,4M flash,640K SRAM,Cortex-M4F&lt;br /&gt;
|[[Air105]]&lt;br /&gt;
|-&lt;br /&gt;
|Lichee Zero&lt;br /&gt;
|全志V3s开发板，64M DRAM，廉价Linux开发板，V3s芯片可手贴&lt;br /&gt;
|[[V3s]]   [https://wiki.sipeed.com/hardware/zh/lichee/Zero/Zero.html Lichee Zero]&lt;br /&gt;
|-&lt;br /&gt;
|Air32F103&lt;br /&gt;
|96K RAM,兼容STM32F103&lt;br /&gt;
|[[Air32F103]] http://air32.cn&lt;br /&gt;
|-&lt;br /&gt;
|ST17H66&lt;br /&gt;
|64K RAM，256K Flash,廉价蓝牙SOC&lt;br /&gt;
|[[ST17H66]]&lt;br /&gt;
|}&lt;br /&gt;
注意:此章节可能不包含资料较多，应用极其成熟的芯片系列。&lt;br /&gt;
=== 外设芯片及外设模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 外设芯片及外设模块&lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! 接口 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8302B || 三相计量芯片 || SPI || [[RN8302B]]&lt;br /&gt;
|-&lt;br /&gt;
| RN8209C/RN8209D || 单相计量芯片 ||&lt;br /&gt;
* UART&lt;br /&gt;
* SPI&lt;br /&gt;
| [[RN8209]]&lt;br /&gt;
|-&lt;br /&gt;
| NRF24L01+ || 2.4G无线芯片,具有众多兼容替代(如Si24R1) || SPI+GPIO(中断、CE) || [[NRF24L01+]]&lt;br /&gt;
|-&lt;br /&gt;
|W5500&lt;br /&gt;
|全硬件栈以太网芯片&lt;br /&gt;
|SPI&lt;br /&gt;
|[[W5500]]&lt;br /&gt;
|-&lt;br /&gt;
|中景园0.96寸OLED点阵屏&lt;br /&gt;
|分辨率128x64,显示驱动（控制）芯片SSD1306&lt;br /&gt;
|&lt;br /&gt;
* IIC&lt;br /&gt;
* SPI+GPIO(DC、RES)&lt;br /&gt;
|[[SSD1306]] [[中景园0.96寸OLED点阵屏]]&lt;br /&gt;
|-&lt;br /&gt;
|AHT20&lt;br /&gt;
|温湿度传感器&lt;br /&gt;
|IIC&lt;br /&gt;
|[[AHT20]]&lt;br /&gt;
|-&lt;br /&gt;
|DS1307&lt;br /&gt;
|RTC（实时时钟）&lt;br /&gt;
|IIC&lt;br /&gt;
|[[DS1307]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用嵌入式操作系统、BootLoader、嵌入式固件及嵌入式软件库 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| FreeRTOS || 嵌入式操作系统 || [[FreeRTOS]]&lt;br /&gt;
|-&lt;br /&gt;
| rt-thread || 物联网嵌入式操作系统 || [[ rt-thread ]] &lt;br /&gt;
|-&lt;br /&gt;
|nuttx||嵌入式操作系统||[[nuttx]]&lt;br /&gt;
|-&lt;br /&gt;
|paho.mqtt.embedded-c|| MQTT客户端，可移植到各种芯片平台||[[paho.mqtt.embedded-c]]&lt;br /&gt;
|-&lt;br /&gt;
|openwrt||操作系统，嵌入式Linux构建工具||[[ openwrt | openwrt]]&lt;br /&gt;
|-&lt;br /&gt;
|u8g2&lt;br /&gt;
|单色/点阵屏驱动库&lt;br /&gt;
|[[u8g2]]&lt;br /&gt;
|-&lt;br /&gt;
|U-Boot&lt;br /&gt;
|通用引导加载器。通常用于加载[[Linux]]。&lt;br /&gt;
|[[U-Boot]]&lt;br /&gt;
|-&lt;br /&gt;
|Newlib&lt;br /&gt;
|嵌入式C运行库（通常配合GCC使用）&lt;br /&gt;
|[[Newlib]]&lt;br /&gt;
|-&lt;br /&gt;
|printf&lt;br /&gt;
|printf, sprintf and (v)snprintf 实现&lt;br /&gt;
|[[printf]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==常用工具==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+常用工具&lt;br /&gt;
|-&lt;br /&gt;
!名称!!说明!!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|easy-rsa||使用SSL/TLS时,自签证书制作/管理工具||[[easy-rsa]]&lt;br /&gt;
|-&lt;br /&gt;
|buildroot||嵌入式Linux构建工具||[[buildroot]]&lt;br /&gt;
|-&lt;br /&gt;
|debootstrap||Linux系统根文件系统创建工具,可创建Debian系Linux系统根文件系统||[[debootstrap]]&lt;br /&gt;
|-&lt;br /&gt;
|crosstool-ng||交叉编译工具链创建工具||[[crosstool-ng]]&lt;br /&gt;
|-&lt;br /&gt;
|ScreenToGif&lt;br /&gt;
|在Windows下录屏制作gif的工具&lt;br /&gt;
|https://github.com/NickeManarin/ScreenToGif.git&lt;br /&gt;
|-&lt;br /&gt;
|Xfel&lt;br /&gt;
|全志SOC的FEL工具（可下载固件等）&lt;br /&gt;
|[[Xfel]]&lt;br /&gt;
|-&lt;br /&gt;
|busybox&lt;br /&gt;
|unix工具箱，可用于创建体积极小的rootfs&lt;br /&gt;
|[[busybox]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===IDE环境/开发环境/开发工具===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|codeblocks&lt;br /&gt;
|免费的C/C++ IDE,可开发多种C/C++程序。本人只要将它用作基于CMake构建的工程的代码编写。&lt;br /&gt;
|http://www.codeblocks.org/&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Visual Studio&lt;br /&gt;
|微软的开发工具集。本人主要用于开发WIN32程序。本人优先使用codeblocks作为C/C++开发环境,VS占用的空间太大,但有些第三方库在Windows上可能只支持MSVC,故而必须使用VS。&lt;br /&gt;
|https://visualstudio.microsoft.com/zh-hans/&lt;br /&gt;
|-&lt;br /&gt;
|keil5&lt;br /&gt;
|用于ARM嵌入式芯片的开发。注意:keil5不是免费的。&lt;br /&gt;
|https://www.keil.com/&lt;br /&gt;
|-&lt;br /&gt;
|IAR&lt;br /&gt;
|本人主要使用针对ARM嵌入式芯片的开发。注意:IAR不是免费的。&lt;br /&gt;
|https://www.iar.com/&lt;br /&gt;
|-&lt;br /&gt;
|QtCreator&lt;br /&gt;
|用于创建基于Qt的程序。&lt;br /&gt;
|https://www.qt.io/product/development-tools&lt;br /&gt;
|-&lt;br /&gt;
|MounRiver&lt;br /&gt;
|基于Eclipse的嵌入式ARM/RISC-V的集成开发环境。本人主要用于测试[https://www.wch.cn/ WCH]的单片机。&lt;br /&gt;
|http://www.mounriver.com/&lt;br /&gt;
|-&lt;br /&gt;
|RT-Thread Studio&lt;br /&gt;
|一站式的 RT-Thread 开发工具，通过简单易用的图形化配置系统以及丰富的软件包和组件资源，让物联网开发变得简单和高效。本人主要用于开发与rt-thread相关设备。&lt;br /&gt;
|https://www.rt-thread.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子硬件设计(原理图绘制/PCB绘制/其它相关工具) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|立创EDA&lt;br /&gt;
|高效的国产PCB设计工具，永久免费。可在线使用。&lt;br /&gt;
|https://lceda.cn/&lt;br /&gt;
|-&lt;br /&gt;
|KiCad&lt;br /&gt;
|跨平台开源电子设计套装。&lt;br /&gt;
|https://www.kicad.org/&lt;br /&gt;
|-&lt;br /&gt;
|freerouting&lt;br /&gt;
|自动布线工具。可配合立创EDA或KiCad使用。本人用于替代立创EDA自带的自动布线。&lt;br /&gt;
|https://www.freerouting.app/&lt;br /&gt;
https://github.com/freerouting/freerouting.git&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 测试工具 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Apipost&lt;br /&gt;
|Apipost-API 文档、设计、调试、自动化测试一体化协作平台。具有免费版本。&lt;br /&gt;
|https://www.apipost.cn/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 编译器 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|sdcc&lt;br /&gt;
|用于8位/16位单片机(如MCS51、DS80C390 、HC08、Z80、STM8, MOS 6502 、WDC 65C02等)的C编译器&lt;br /&gt;
|https://sdcc.sourceforge.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 流程图/框图绘制 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|dia&lt;br /&gt;
|跨平台开源流程图绘制工具&lt;br /&gt;
|http://dia-installer.de/&lt;br /&gt;
https://sourceforge.net/projects/dia/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 图像处理 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|GIMP&lt;br /&gt;
|免费开源图像编辑器&lt;br /&gt;
|https://www.gimp.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 作曲工具(MIDI制作) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|LMMS&lt;br /&gt;
|免费自由开源并且跨平台的作曲工具&lt;br /&gt;
|https://lmms.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 字体编辑 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|FontForge&lt;br /&gt;
|免费字体编辑器&lt;br /&gt;
|https://fontforge.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 国际化/本地化 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Poedit&lt;br /&gt;
|.po编辑工具。可编辑使用 [[xgettext]] 生成的翻译文件&lt;br /&gt;
|https://poedit.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 压缩/解压缩 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|7-zip&lt;br /&gt;
|开源免费的压缩/解压缩软件。Windows下有GUI程序，Linux下只有控制台版本。&lt;br /&gt;
|http://www.7-zip.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 虚拟磁盘/磁盘驱动 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;s&amp;gt;imdisk&amp;lt;/s&amp;gt;&lt;br /&gt;
|Windows下开源虚拟磁盘工具,可方便挂载内存盘（存放临时文件）。&lt;br /&gt;
|https://sourceforge.net/projects/imdisk-toolkit&lt;br /&gt;
|-&lt;br /&gt;
|aim-toolkit&lt;br /&gt;
|Windows下开源虚拟磁盘工具,可方便挂载内存盘（存放临时文件）,替代imdisk。&lt;br /&gt;
|https://sourceforge.net/projects/aim-toolkit/&lt;br /&gt;
|-&lt;br /&gt;
|Ext2fsd&lt;br /&gt;
|Windows下访问Ext2/Ext3/Ext4文件系统驱动。&lt;br /&gt;
|https://sourceforge.net/projects/ext2fsd/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 安装/卸载 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Geek Uninstaller&lt;br /&gt;
|Windows下程序卸载工具,具有免费的版本。&lt;br /&gt;
|https://geekuninstaller.com/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===小工具(自写/修改/组合)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki&lt;br /&gt;
!支持平台&lt;br /&gt;
|-&lt;br /&gt;
|CC3200_GangGenerator&lt;br /&gt;
|生成用于烧录CC3200 SPI Flash的工具&lt;br /&gt;
|[[CC3200_GangGenerator]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
|-&lt;br /&gt;
|WMToolHelper&lt;br /&gt;
| W600烧录工具&lt;br /&gt;
|[[WMToolHelper]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|WinBleTool&lt;br /&gt;
| Windows下调试BLE的工具&lt;br /&gt;
|[[WinBleTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10(及以上)&lt;br /&gt;
|-&lt;br /&gt;
|SimpleBLETool&lt;br /&gt;
|调试BLE的工具&lt;br /&gt;
| [[SimpleBLETool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10+&lt;br /&gt;
*Linux(ubuntu 20.04+)&lt;br /&gt;
|-&lt;br /&gt;
|cutecom-ng&lt;br /&gt;
|基于Qt5的串口工具。个人修改版。&lt;br /&gt;
|[[cutecom-ng]]&lt;br /&gt;
|只要是Qt5支持的桌面平台均支持。&lt;br /&gt;
|-&lt;br /&gt;
|OneNETTool&lt;br /&gt;
|开发OneNET辅助工具&lt;br /&gt;
|[[OneNETTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|QGDW12184Tool&lt;br /&gt;
|开发Q/GDW 12184辅助工具&lt;br /&gt;
|[[QGDW12184Tool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|XServerForWSL1&lt;br /&gt;
|利用cygwin中的X服务对WSL提供X服务&lt;br /&gt;
|[[XServerForWSL1]]&lt;br /&gt;
|支持WSL1的Windows&lt;br /&gt;
|-&lt;br /&gt;
|linux_binfmt_pe&lt;br /&gt;
|使用[[wine]]直接执行PE可执行文件的Linux内核模块&lt;br /&gt;
|[[linux_binfmt_pe]]&lt;br /&gt;
|&lt;br /&gt;
* Linux内核&lt;br /&gt;
|-&lt;br /&gt;
|Win32Redirector&lt;br /&gt;
|重定向win32控制台应用至MSYS2或者Cygwin中的程序。&lt;br /&gt;
|[[Win32Redirector]]&lt;br /&gt;
|&lt;br /&gt;
* Windows&lt;br /&gt;
|-&lt;br /&gt;
|HEnvBox&lt;br /&gt;
|快速搭建本人常用的开发环境。&lt;br /&gt;
|[[HEnvBox]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 10及更新版&lt;br /&gt;
* Ubuntu 22.04&lt;br /&gt;
* Debian&lt;br /&gt;
* Deepin&lt;br /&gt;
|-&lt;br /&gt;
|HVCP&lt;br /&gt;
|Windows下虚拟串口&lt;br /&gt;
|[[HVCP]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 7 及更新系统&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用库 ==&lt;br /&gt;
此章节主要对使用的比较多的库做一个整理。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!官网&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki&lt;br /&gt;
|-&lt;br /&gt;
|wxWidgets&lt;br /&gt;
|https://www.wxwidgets.org/&lt;br /&gt;
|跨平台GUI库&lt;br /&gt;
|[[wxWidgets]]&lt;br /&gt;
|-&lt;br /&gt;
|Qt&lt;br /&gt;
|https://www.qt.io/&lt;br /&gt;
|跨平台库（包括GUI）&lt;br /&gt;
|[[Qt]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 工具/库（自写/修改） ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|DeployWin&lt;br /&gt;
|MSYS2与CygWin下编程辅助打包库。一般配合CMake的CPack使用。&lt;br /&gt;
|[[DeployWin]]&lt;br /&gt;
|-&lt;br /&gt;
|HCppBox&lt;br /&gt;
|本人常用的C/C++代码&lt;br /&gt;
|[[HCppBox]]&lt;br /&gt;
|-&lt;br /&gt;
|SimpleModbusRTUPacket&lt;br /&gt;
|简易的[[Modbus]] RTU包解析&lt;br /&gt;
|[[SimpleModbusRTUPacket]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==常用镜像站==&lt;br /&gt;
在找各种源码资源时，经常遇到国外网站下载较慢的情况下，此时通常需要更换镜像站。&lt;br /&gt;
&lt;br /&gt;
例如:&lt;br /&gt;
&lt;br /&gt;
*ubuntu系统的软件包(包括使用deboostrap的镜像源)&lt;br /&gt;
*python软件包&lt;br /&gt;
*gnu软件源码包&lt;br /&gt;
*linux源码&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!地址&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.ustc.edu.cn/&lt;br /&gt;
|中国科学技术大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.tuna.tsinghua.edu.cn/&lt;br /&gt;
|清华大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.163.com/&lt;br /&gt;
|网易开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.aliyun.com/&lt;br /&gt;
|阿里开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.cernet.edu.cn&lt;br /&gt;
|校园网联合镜像站&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 静态文档网站 ==&lt;br /&gt;
一些静态的网页文档,如[https://www.doxygen.nl/ doxygen]生成的帮助文档与[https://docsify.js.org/#/ docsify]制作的静态说明文档。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!类型&lt;br /&gt;
!URL&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|静态文档仓库&lt;br /&gt;
|https://heyahong.github.io/#/&lt;br /&gt;
|采用github pages托管,源代码仓库:https://github.com/HEYAHONG/HEYAHONG.github.io.git&lt;br /&gt;
|-&lt;br /&gt;
|网站&lt;br /&gt;
|http://docs.hyhsystem.cn&lt;br /&gt;
|采用nginx服务器,运行于云服务器&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==相关链接==&lt;br /&gt;
&lt;br /&gt;
*[[测试资源]]&lt;br /&gt;
*[[第三方资源]]&lt;br /&gt;
*[[方案发现与探索]]&lt;br /&gt;
*[[杂项笔记与测试代码]]&lt;br /&gt;
*[[常见问题]]&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E6%B5%8B%E8%AF%95%E8%B5%84%E6%BA%90&amp;diff=1157</id>
		<title>测试资源</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E6%B5%8B%E8%AF%95%E8%B5%84%E6%BA%90&amp;diff=1157"/>
		<updated>2025-10-30T13:32:52Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* V2Ray隧道 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==服务器资源==&lt;br /&gt;
通常本章的服务器资源只用于测试和编写Demo使用，不用于实际生产。&amp;lt;br&amp;gt;&lt;br /&gt;
===MQTT Broker===&lt;br /&gt;
MQTT采用EMQX，采用docker容器的方式运行，docker-compose.yml示例如下:&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
version: &#039;3&#039;&lt;br /&gt;
&lt;br /&gt;
networks:&lt;br /&gt;
  emqx:&lt;br /&gt;
    external: false&lt;br /&gt;
&lt;br /&gt;
services:&lt;br /&gt;
  emqx:&lt;br /&gt;
    image: emqx/emqx&lt;br /&gt;
    container_name: emqx&lt;br /&gt;
    restart: always&lt;br /&gt;
    networks:&lt;br /&gt;
      - emqx&lt;br /&gt;
    ports:&lt;br /&gt;
      - &amp;quot;1883:1883&amp;quot;&lt;br /&gt;
      - &amp;quot;8883:8883&amp;quot;&lt;br /&gt;
      - &amp;quot;18083:18083&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;地址:mqtt.hyhsystem.cn &amp;lt;br&amp;gt;&lt;br /&gt;
端口:1883、8883（SSL）&amp;lt;br&amp;gt;&lt;br /&gt;
若连接启用SSL的端口，客户端需要使用SSL证书。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SSL证书====&lt;br /&gt;
[[文件:MQTT BROKER Certs.zip|缩略图]] &amp;lt;br&amp;gt;&lt;br /&gt;
对于物联网设备，测试时仅需要 cacert.pem、client-cert.pem、client-key.pem三个文件。&amp;lt;br&amp;gt;&lt;br /&gt;
由于证书为测试证书，故客户端需要把SSL/TLS中校验服务器名称的代码关闭，否则会出现TLS错误。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====CA =====&lt;br /&gt;
证书:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIDUTCCAjmgAwIBAgIJAPPYCjTmxdt/MA0GCSqGSIb3DQEBCwUAMD8xCzAJBgNV&lt;br /&gt;
BAYTAkNOMREwDwYDVQQIDAhoYW5nemhvdTEMMAoGA1UECgwDRU1RMQ8wDQYDVQQD&lt;br /&gt;
DAZSb290Q0EwHhcNMjAwNTA4MDgwNjUyWhcNMzAwNTA2MDgwNjUyWjA/MQswCQYD&lt;br /&gt;
VQQGEwJDTjERMA8GA1UECAwIaGFuZ3pob3UxDDAKBgNVBAoMA0VNUTEPMA0GA1UE&lt;br /&gt;
AwwGUm9vdENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzcgVLex1&lt;br /&gt;
EZ9ON64EX8v+wcSjzOZpiEOsAOuSXOEN3wb8FKUxCdsGrsJYB7a5VM/Jot25Mod2&lt;br /&gt;
juS3OBMg6r85k2TWjdxUoUs+HiUB/pP/ARaaW6VntpAEokpij/przWMPgJnBF3Ur&lt;br /&gt;
MjtbLayH9hGmpQrI5c2vmHQ2reRZnSFbY+2b8SXZ+3lZZgz9+BaQYWdQWfaUWEHZ&lt;br /&gt;
uDaNiViVO0OT8DRjCuiDp3yYDj3iLWbTA/gDL6Tf5XuHuEwcOQUrd+h0hyIphO8D&lt;br /&gt;
tsrsHZ14j4AWYLk1CPA6pq1HIUvEl2rANx2lVUNv+nt64K/Mr3RnVQd9s8bK+TXQ&lt;br /&gt;
KGHd2Lv/PALYuwIDAQABo1AwTjAdBgNVHQ4EFgQUGBmW+iDzxctWAWxmhgdlE8Pj&lt;br /&gt;
EbQwHwYDVR0jBBgwFoAUGBmW+iDzxctWAWxmhgdlE8PjEbQwDAYDVR0TBAUwAwEB&lt;br /&gt;
/zANBgkqhkiG9w0BAQsFAAOCAQEAGbhRUjpIred4cFAFJ7bbYD9hKu/yzWPWkMRa&lt;br /&gt;
ErlCKHmuYsYk+5d16JQhJaFy6MGXfLgo3KV2itl0d+OWNH0U9ULXcglTxy6+njo5&lt;br /&gt;
CFqdUBPwN1jxhzo9yteDMKF4+AHIxbvCAJa17qcwUKR5MKNvv09C6pvQDJLzid7y&lt;br /&gt;
E2dkgSuggik3oa0427KvctFf8uhOV94RvEDyqvT5+pgNYZ2Yfga9pD/jjpoHEUlo&lt;br /&gt;
88IGU8/wJCx3Ds2yc8+oBg/ynxG8f/HmCC1ET6EHHoe2jlo8FpU/SgGtghS1YL30&lt;br /&gt;
IWxNsPrUP+XsZpBJy/mvOhE5QXo6Y35zDqqj8tI7AGmAWu22jg==&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====服务端=====&lt;br /&gt;
&lt;br /&gt;
服务端一般用于自建非emqx的Broker。&lt;br /&gt;
&lt;br /&gt;
证书:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIDEzCCAfugAwIBAgIBAjANBgkqhkiG9w0BAQsFADA/MQswCQYDVQQGEwJDTjER&lt;br /&gt;
MA8GA1UECAwIaGFuZ3pob3UxDDAKBgNVBAoMA0VNUTEPMA0GA1UEAwwGUm9vdENB&lt;br /&gt;
MB4XDTIwMDUwODA4MDcwNVoXDTMwMDUwNjA4MDcwNVowPzELMAkGA1UEBhMCQ04x&lt;br /&gt;
ETAPBgNVBAgMCGhhbmd6aG91MQwwCgYDVQQKDANFTVExDzANBgNVBAMMBlNlcnZl&lt;br /&gt;
cjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALNeWT3pE+QFfiRJzKmn&lt;br /&gt;
AMUrWo3K2j/Tm3+Xnl6WLz67/0rcYrJbbKvS3uyRP/stXyXEKw9CepyQ1ViBVFkW&lt;br /&gt;
Aoy8qQEOWFDsZc/5UzhXUnb6LXr3qTkFEjNmhj+7uzv/lbBxlUG1NlYzSeOB6/RT&lt;br /&gt;
8zH/lhOeKhLnWYPXdXKsa1FL6ij4X8DeDO1kY7fvAGmBn/THh1uTpDizM4YmeI+7&lt;br /&gt;
4dmayA5xXvARte5h4Vu5SIze7iC057N+vymToMk2Jgk+ZZFpyXrnq+yo6RaD3ANc&lt;br /&gt;
lrc4FbeUQZ5a5s5Sxgs9a0Y3WMG+7c5VnVXcbjBRz/aq2NtOnQQjikKKQA8GF080&lt;br /&gt;
BQkCAwEAAaMaMBgwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwDQYJKoZIhvcNAQEL&lt;br /&gt;
BQADggEBAJefnMZpaRDHQSNUIEL3iwGXE9c6PmIsQVE2ustr+CakBp3TZ4l0enLt&lt;br /&gt;
iGMfEVFju69cO4oyokWv+hl5eCMkHBf14Kv51vj448jowYnF1zmzn7SEzm5Uzlsa&lt;br /&gt;
sqjtAprnLyof69WtLU1j5rYWBuFX86yOTwRAFNjm9fvhAcrEONBsQtqipBWkMROp&lt;br /&gt;
iUYMkRqbKcQMdwxov+lHBYKq9zbWRoqLROAn54SRqgQk6c15JdEfgOOjShbsOkIH&lt;br /&gt;
UhqcwRkQic7n1zwHVGVDgNIZVgmJ2IdIWBlPEC7oLrRrBD/X1iEEXtKab6p5o22n&lt;br /&gt;
KB5mN+iQaE+Oe2cpGKZJiJRdM+IqDDQ=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
私钥:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
-----BEGIN RSA PRIVATE KEY-----&lt;br /&gt;
MIIEowIBAAKCAQEAs15ZPekT5AV+JEnMqacAxStajcraP9Obf5eeXpYvPrv/Stxi&lt;br /&gt;
sltsq9Le7JE/+y1fJcQrD0J6nJDVWIFUWRYCjLypAQ5YUOxlz/lTOFdSdvotevep&lt;br /&gt;
OQUSM2aGP7u7O/+VsHGVQbU2VjNJ44Hr9FPzMf+WE54qEudZg9d1cqxrUUvqKPhf&lt;br /&gt;
wN4M7WRjt+8AaYGf9MeHW5OkOLMzhiZ4j7vh2ZrIDnFe8BG17mHhW7lIjN7uILTn&lt;br /&gt;
s36/KZOgyTYmCT5lkWnJeuer7KjpFoPcA1yWtzgVt5RBnlrmzlLGCz1rRjdYwb7t&lt;br /&gt;
zlWdVdxuMFHP9qrY206dBCOKQopADwYXTzQFCQIDAQABAoIBAQCuvCbr7Pd3lvI/&lt;br /&gt;
n7VFQG+7pHRe1VKwAxDkx2t8cYos7y/QWcm8Ptwqtw58HzPZGWYrgGMCRpzzkRSF&lt;br /&gt;
V9g3wP1S5Scu5C6dBu5YIGc157tqNGXB+SpdZddJQ4Nc6yGHXYERllT04ffBGc3N&lt;br /&gt;
WG/oYS/1cSteiSIrsDy/91FvGRCi7FPxH3wIgHssY/tw69s1Cfvaq5lr2NTFzxIG&lt;br /&gt;
xCvpJKEdSfVfS9I7LYiymVjst3IOR/w76/ZFY9cRa8ZtmQSWWsm0TUpRC1jdcbkm&lt;br /&gt;
ZoJptYWlP+gSwx/fpMYftrkJFGOJhHJHQhwxT5X/ajAISeqjjwkWSEJLwnHQd11C&lt;br /&gt;
Zy2+29lBAoGBANlEAIK4VxCqyPXNKfoOOi5dS64NfvyH4A1v2+KaHWc7lqaqPN49&lt;br /&gt;
ezfN2n3X+KWx4cviDD914Yc2JQ1vVJjSaHci7yivocDo2OfZDmjBqzaMp/y+rX1R&lt;br /&gt;
/f3MmiTqMa468rjaxI9RRZu7vDgpTR+za1+OBCgMzjvAng8dJuN/5gjlAoGBANNY&lt;br /&gt;
uYPKtearBmkqdrSV7eTUe49Nhr0XotLaVBH37TCW0Xv9wjO2xmbm5Ga/DCtPIsBb&lt;br /&gt;
yPeYwX9FjoasuadUD7hRvbFu6dBa0HGLmkXRJZTcD7MEX2Lhu4BuC72yDLLFd0r+&lt;br /&gt;
Ep9WP7F5iJyagYqIZtz+4uf7gBvUDdmvXz3sGr1VAoGAdXTD6eeKeiI6PlhKBztF&lt;br /&gt;
zOb3EQOO0SsLv3fnodu7ZaHbUgLaoTMPuB17r2jgrYM7FKQCBxTNdfGZmmfDjlLB&lt;br /&gt;
0xZ5wL8ibU30ZXL8zTlWPElST9sto4B+FYVVF/vcG9sWeUUb2ncPcJ/Po3UAktDG&lt;br /&gt;
jYQTTyuNGtSJHpad/YOZctkCgYBtWRaC7bq3of0rJGFOhdQT9SwItN/lrfj8hyHA&lt;br /&gt;
OjpqTV4NfPmhsAtu6j96OZaeQc+FHvgXwt06cE6Rt4RG4uNPRluTFgO7XYFDfitP&lt;br /&gt;
vCppnoIw6S5BBvHwPP+uIhUX2bsi/dm8vu8tb+gSvo4PkwtFhEr6I9HglBKmcmog&lt;br /&gt;
q6waEQKBgHyecFBeM6Ls11Cd64vborwJPAuxIW7HBAFj/BS99oeG4TjBx4Sz2dFd&lt;br /&gt;
rzUibJt4ndnHIvCN8JQkjNG14i9hJln+H3mRss8fbZ9vQdqG+2vOWADYSzzsNI55&lt;br /&gt;
RFY7JjluKcVkp/zCDeUxTU3O6sS+v6/3VE11Cob6OYQx3lN5wrZ3&lt;br /&gt;
-----END RSA PRIVATE KEY-----&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====客户端=====&lt;br /&gt;
客户端一般用于嵌入到设备中。&lt;br /&gt;
&lt;br /&gt;
证书:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIIDEzCCAfugAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MQswCQYDVQQGEwJDTjER&lt;br /&gt;
MA8GA1UECAwIaGFuZ3pob3UxDDAKBgNVBAoMA0VNUTEPMA0GA1UEAwwGUm9vdENB&lt;br /&gt;
MB4XDTIwMDUwODA4MDY1N1oXDTMwMDUwNjA4MDY1N1owPzELMAkGA1UEBhMCQ04x&lt;br /&gt;
ETAPBgNVBAgMCGhhbmd6aG91MQwwCgYDVQQKDANFTVExDzANBgNVBAMMBkNsaWVu&lt;br /&gt;
dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMy4hoksKcZBDbY680u6&lt;br /&gt;
TS25U51nuB1FBcGMlF9B/t057wPOlxF/OcmbxY5MwepS41JDGPgulE1V7fpsXkiW&lt;br /&gt;
1LUimYV/tsqBfymIe0mlY7oORahKji7zKQ2UBIVFhdlvQxunlIDnw6F9popUgyHt&lt;br /&gt;
dMhtlgZK8oqRwHxO5dbfoukYd6J/r+etS5q26sgVkf3C6dt0Td7B25H9qW+f7oLV&lt;br /&gt;
PbcHYCa+i73u9670nrpXsC+Qc7Mygwa2Kq/jwU+ftyLQnOeW07DuzOwsziC/fQZa&lt;br /&gt;
nbxR+8U9FNftgRcC3uP/JMKYUqsiRAuaDokARZxVTV5hUElfpO6z6/NItSDvvh3i&lt;br /&gt;
eikCAwEAAaMaMBgwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwDQYJKoZIhvcNAQEL&lt;br /&gt;
BQADggEBABchYxKo0YMma7g1qDswJXsR5s56Czx/I+B41YcpMBMTrRqpUC0nHtLk&lt;br /&gt;
M7/tZp592u/tT8gzEnQjZLKBAhFeZaR3aaKyknLqwiPqJIgg0pgsBGITrAK3Pv4z&lt;br /&gt;
5/YvAJJKgTe5UdeTz6U4lvNEux/4juZ4pmqH4qSFJTOzQS7LmgSmNIdd072rwXBd&lt;br /&gt;
UzcSHzsJgEMb88u/LDLjj1pQ7AtZ4Tta8JZTvcgBFmjB0QUi6fgkHY6oGat/W4kR&lt;br /&gt;
jSRUBlMUbM/drr2PVzRc2dwbFIl3X+ZE6n5Sl3ZwRAC/s92JU6CPMRW02muVu6xl&lt;br /&gt;
goraNgPISnrbpR6KjxLZkVembXzjNNc=&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;私钥:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
-----BEGIN RSA PRIVATE KEY-----&lt;br /&gt;
MIIEpAIBAAKCAQEAzLiGiSwpxkENtjrzS7pNLblTnWe4HUUFwYyUX0H+3TnvA86X&lt;br /&gt;
EX85yZvFjkzB6lLjUkMY+C6UTVXt+mxeSJbUtSKZhX+2yoF/KYh7SaVjug5FqEqO&lt;br /&gt;
LvMpDZQEhUWF2W9DG6eUgOfDoX2milSDIe10yG2WBkryipHAfE7l1t+i6Rh3on+v&lt;br /&gt;
561LmrbqyBWR/cLp23RN3sHbkf2pb5/ugtU9twdgJr6Lve73rvSeulewL5BzszKD&lt;br /&gt;
BrYqr+PBT5+3ItCc55bTsO7M7CzOIL99BlqdvFH7xT0U1+2BFwLe4/8kwphSqyJE&lt;br /&gt;
C5oOiQBFnFVNXmFQSV+k7rPr80i1IO++HeJ6KQIDAQABAoIBAGWgvPjfuaU3qizq&lt;br /&gt;
uti/FY07USz0zkuJdkANH6LiSjlchzDmn8wJ0pApCjuIE0PV/g9aS8z4opp5q/gD&lt;br /&gt;
UBLM/a8mC/xf2EhTXOMrY7i9p/I3H5FZ4ZehEqIw9sWKK9YzC6dw26HabB2BGOnW&lt;br /&gt;
5nozPSQ6cp2RGzJ7BIkxSZwPzPnVTgy3OAuPOiJytvK+hGLhsNaT+Y9bNDvplVT2&lt;br /&gt;
ZwYTV8GlHZC+4b2wNROILm0O86v96O+Qd8nn3fXjGHbMsAnONBq10bZS16L4fvkH&lt;br /&gt;
5G+W/1PeSXmtZFppdRRDxIW+DWcXK0D48WRliuxcV4eOOxI+a9N2ZJZZiNLQZGwg&lt;br /&gt;
w3A8+mECgYEA8HuJFrlRvdoBe2U/EwUtG74dcyy30L4yEBnN5QscXmEEikhaQCfX&lt;br /&gt;
Wm6EieMcIB/5I5TQmSw0cmBMeZjSXYoFdoI16/X6yMMuATdxpvhOZGdUGXxhAH+x&lt;br /&gt;
xoTUavWZnEqW3fkUU71kT5E2f2i+0zoatFESXHeslJyz85aAYpP92H0CgYEA2e5A&lt;br /&gt;
Yozt5eaA1Gyhd8SeptkEU4xPirNUnVQHStpMWUb1kzTNXrPmNWccQ7JpfpG6DcYl&lt;br /&gt;
zUF6p6mlzY+zkMiyPQjwEJlhiHM2NlL1QS7td0R8ewgsFoyn8WsBI4RejWrEG9td&lt;br /&gt;
EDniuIw+pBFkcWthnTLHwECHdzgquToyTMjrBB0CgYEA28tdGbrZXhcyAZEhHAZA&lt;br /&gt;
Gzog+pKlkpEzeonLKIuGKzCrEKRecIK5jrqyQsCjhS0T7ZRnL4g6i0s+umiV5M5w&lt;br /&gt;
fcc292pEA1h45L3DD6OlKplSQVTv55/OYS4oY3YEJtf5mfm8vWi9lQeY8sxOlQpn&lt;br /&gt;
O+VZTdBHmTC8PGeTAgZXHZUCgYA6Tyv88lYowB7SN2qQgBQu8jvdGtqhcs/99GCr&lt;br /&gt;
H3N0I69LPsKAR0QeH8OJPXBKhDUywESXAaEOwS5yrLNP1tMRz5Vj65YUCzeDG3kx&lt;br /&gt;
gpvY4IMp7ArX0bSRvJ6mYSFnVxy3k174G3TVCfksrtagHioVBGQ7xUg5ltafjrms&lt;br /&gt;
n8l55QKBgQDVzU8tQvBVqY8/1lnw11Vj4fkE/drZHJ5UkdC1eenOfSWhlSLfUJ8j&lt;br /&gt;
ds7vEWpRPPoVuPZYeR1y78cyxKe1GBx6Wa2lF5c7xjmiu0xbRnrxYeLolce9/ntp&lt;br /&gt;
asClqpnHT8/VJYTD7Kqj0fouTTZf0zkig/y+2XERppd8k+pSKjUCPQ==&lt;br /&gt;
-----END RSA PRIVATE KEY-----&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===NTP===&lt;br /&gt;
====主要====&lt;br /&gt;
&lt;br /&gt;
* 国家授时中心 NTP服务器地址:ntp.ntsc.ac.cn&lt;br /&gt;
* 0.cn.pool.ntp.org&lt;br /&gt;
* 1.cn.pool.ntp.org&lt;br /&gt;
* 2.cn.pool.ntp.org&lt;br /&gt;
* 3.cn.pool.ntp.org&amp;lt;br&amp;gt; &lt;br /&gt;
====备用====&lt;br /&gt;
地址:ntp.hyhsystem.cn&lt;br /&gt;
&lt;br /&gt;
采用ntp作为服务软件,其官网为&amp;lt;nowiki/&amp;gt;http://ntp.org&amp;lt;nowiki/&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
为开放时钟查询，需要去掉默认restrict配置的noquery选项。&lt;br /&gt;
&lt;br /&gt;
==V2Ray隧道==&lt;br /&gt;
&lt;br /&gt;
=== 国外轻量级服务器（腾讯云-硅谷） ===&lt;br /&gt;
&lt;br /&gt;
用于在网络不良时访问github.com。速度不高。&amp;lt;br&amp;gt;&lt;br /&gt;
注意：上网行为可能会被记录。&lt;br /&gt;
&lt;br /&gt;
== FTP代理 ==&lt;br /&gt;
ftp 代理采用ftp.proxy,主要用于[[buildroot]]或者[[openwrt]] 的编译。注意：要使用ftp代理，必须使用wget。&lt;br /&gt;
&lt;br /&gt;
代理地址如下：ftp://proxy.hyhsystem.cn:2121&lt;br /&gt;
&lt;br /&gt;
设置ftp代理的方式如下:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export ftp_proxy=ftp://proxy.hyhsystem.cn:2121&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==源代码仓库及CI/CD==&lt;br /&gt;
=== Jenkins ===&lt;br /&gt;
http://jenkins.hyhsystem.cn:8080&lt;br /&gt;
&lt;br /&gt;
用户名:HYH&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!任务名称&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|[[rt-thread-no-bsp]]&lt;br /&gt;
|每天从rt-thread官方源代码仓库更新源代码&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E7%AC%AC%E4%B8%89%E6%96%B9%E8%B5%84%E6%BA%90&amp;diff=1156</id>
		<title>第三方资源</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E7%AC%AC%E4%B8%89%E6%96%B9%E8%B5%84%E6%BA%90&amp;diff=1156"/>
		<updated>2025-10-13T01:05:19Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 开源IP核社区平台/开源硬件项目 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;本页面主要记录需要使用的一些第三方资源。通常用于编程时的参考。&lt;br /&gt;
&lt;br /&gt;
== OneNET Studio(中国移动物联网平台) ==&lt;br /&gt;
&lt;br /&gt;
=== 平台地址 ===&lt;br /&gt;
https://open.iot.10086.cn&lt;br /&gt;
&lt;br /&gt;
=== MQTT ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!协议&lt;br /&gt;
!地址&lt;br /&gt;
!端口&lt;br /&gt;
|-&lt;br /&gt;
|MQTT&lt;br /&gt;
|studio-mqtt.heclouds.com&lt;br /&gt;
|1883&lt;br /&gt;
|-&lt;br /&gt;
|MQTTS&lt;br /&gt;
|studio-mqtts.heclouds.com&lt;br /&gt;
|8883&lt;br /&gt;
|}&lt;br /&gt;
参考地址：https://open.iot.10086.cn/doc/v5/develop/detail/638&lt;br /&gt;
&lt;br /&gt;
== V86(在浏览器运行的x86虚拟机) ==&lt;br /&gt;
http://copy.sh/v86&lt;br /&gt;
&lt;br /&gt;
可以使用此链接测试x86镜像,体验某些古老的操作系统。&lt;br /&gt;
&lt;br /&gt;
== 开源IP核社区平台/开源硬件项目 ==&lt;br /&gt;
&lt;br /&gt;
* https://opencores.org&amp;lt;nowiki/&amp;gt;:开源IP核社区&lt;br /&gt;
* https://freecores.github.io/&amp;lt;nowiki/&amp;gt;(opencores的克隆分支)：开源硬件项目&lt;br /&gt;
* https://openrisc.io/&amp;lt;nowiki/&amp;gt;：开源嵌入式系统&amp;lt;nowiki/&amp;gt;处理器&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E7%AC%AC%E4%B8%89%E6%96%B9%E8%B5%84%E6%BA%90&amp;diff=1155</id>
		<title>第三方资源</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E7%AC%AC%E4%B8%89%E6%96%B9%E8%B5%84%E6%BA%90&amp;diff=1155"/>
		<updated>2025-10-13T00:58:57Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 开源IP核社区平台 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;本页面主要记录需要使用的一些第三方资源。通常用于编程时的参考。&lt;br /&gt;
&lt;br /&gt;
== OneNET Studio(中国移动物联网平台) ==&lt;br /&gt;
&lt;br /&gt;
=== 平台地址 ===&lt;br /&gt;
https://open.iot.10086.cn&lt;br /&gt;
&lt;br /&gt;
=== MQTT ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!协议&lt;br /&gt;
!地址&lt;br /&gt;
!端口&lt;br /&gt;
|-&lt;br /&gt;
|MQTT&lt;br /&gt;
|studio-mqtt.heclouds.com&lt;br /&gt;
|1883&lt;br /&gt;
|-&lt;br /&gt;
|MQTTS&lt;br /&gt;
|studio-mqtts.heclouds.com&lt;br /&gt;
|8883&lt;br /&gt;
|}&lt;br /&gt;
参考地址：https://open.iot.10086.cn/doc/v5/develop/detail/638&lt;br /&gt;
&lt;br /&gt;
== V86(在浏览器运行的x86虚拟机) ==&lt;br /&gt;
http://copy.sh/v86&lt;br /&gt;
&lt;br /&gt;
可以使用此链接测试x86镜像,体验某些古老的操作系统。&lt;br /&gt;
&lt;br /&gt;
== 开源IP核社区平台/开源硬件项目 ==&lt;br /&gt;
&lt;br /&gt;
* https://opencores.org&lt;br /&gt;
* https://freecores.github.io/&amp;lt;nowiki/&amp;gt;(opencores的克隆分支)&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E7%AC%AC%E4%B8%89%E6%96%B9%E8%B5%84%E6%BA%90&amp;diff=1154</id>
		<title>第三方资源</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E7%AC%AC%E4%B8%89%E6%96%B9%E8%B5%84%E6%BA%90&amp;diff=1154"/>
		<updated>2025-09-29T09:04:02Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;本页面主要记录需要使用的一些第三方资源。通常用于编程时的参考。&lt;br /&gt;
&lt;br /&gt;
== OneNET Studio(中国移动物联网平台) ==&lt;br /&gt;
&lt;br /&gt;
=== 平台地址 ===&lt;br /&gt;
https://open.iot.10086.cn&lt;br /&gt;
&lt;br /&gt;
=== MQTT ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!协议&lt;br /&gt;
!地址&lt;br /&gt;
!端口&lt;br /&gt;
|-&lt;br /&gt;
|MQTT&lt;br /&gt;
|studio-mqtt.heclouds.com&lt;br /&gt;
|1883&lt;br /&gt;
|-&lt;br /&gt;
|MQTTS&lt;br /&gt;
|studio-mqtts.heclouds.com&lt;br /&gt;
|8883&lt;br /&gt;
|}&lt;br /&gt;
参考地址：https://open.iot.10086.cn/doc/v5/develop/detail/638&lt;br /&gt;
&lt;br /&gt;
== V86(在浏览器运行的x86虚拟机) ==&lt;br /&gt;
http://copy.sh/v86&lt;br /&gt;
&lt;br /&gt;
可以使用此链接测试x86镜像,体验某些古老的操作系统。&lt;br /&gt;
&lt;br /&gt;
== 开源IP核社区平台 ==&lt;br /&gt;
https://opencores.org&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98&amp;diff=1153</id>
		<title>常见问题</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98&amp;diff=1153"/>
		<updated>2025-08-22T06:36:45Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 自签CA证书安装 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 烧录固件时，/dev/ttyUSB0没有权限。 ==&lt;br /&gt;
在很多时候,在Linux下需要使用USB串口调试烧录固件,如果不是使用root用户,极有可能遇到权限问题。&lt;br /&gt;
&lt;br /&gt;
比较野蛮的方法是使用chmod 修改权限(缺点是USB重新插拔后将失效),代码如下:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo chmod 777 /dev/ttyUSB0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;第二种方法为查看/dev/ttyUSB0的所属用户组(通过ls -al /dev/ttyUSB0查看，ubuntu22.04下为dialout)，将当前用户添加至该用户组，重新登陆生效。代码如下：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#在ubuntu 22.04下测试通过。添加一次，始终有效&lt;br /&gt;
sudo adduser `id -nu` dialout&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Windows与Linux双系统切换时时间改变。 ==&lt;br /&gt;
主要是Windows与Linux对待硬件时钟的方式不一样。将Windows改为UTC时间,注册表如下:&amp;lt;syntaxhighlight lang=&amp;quot;registry&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Windows Registry Editor Version 5.00&lt;br /&gt;
&lt;br /&gt;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;RealTimeIsUniversal&amp;quot;=dword:00000001&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Windows11硬件兼容性设置 ==&lt;br /&gt;
众所周知，Windows11对硬件有了较多要求，如TPM,为了在相对老旧(性能尚可但不符合Windows11官方安装程序要求)的平台上安装Windows11,注册表如下:&amp;lt;syntaxhighlight lang=&amp;quot;registry&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Windows Registry Editor Version 5.00&lt;br /&gt;
&lt;br /&gt;
[HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig]&lt;br /&gt;
&amp;quot;BypassTPMCheck&amp;quot;=dword:00000001&lt;br /&gt;
&amp;quot;BypassSecureBootCheck&amp;quot;=dword:00000001&lt;br /&gt;
&amp;quot;BypassRAMCheck&amp;quot;=dword:00000001&lt;br /&gt;
&amp;quot;BypassStorageCheck&amp;quot;=dword:00000001&lt;br /&gt;
&amp;quot;BypassCPUCheck&amp;quot;=dword:00000001&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux(如ubuntu)下设置代理。 ==&lt;br /&gt;
在编译[[openwrt]]或者[[buildroot]]时,需要下载大量的源代码，此过程及其容易因为网速问题而失败（如只有几KB的网速）。&lt;br /&gt;
&lt;br /&gt;
如果设置代理到国外（如硅谷），则能极大提高编译成功率。&lt;br /&gt;
&lt;br /&gt;
openwrt/buildroot通常采用wget/curl作为下载工具。&lt;br /&gt;
&lt;br /&gt;
下列为通过环境变量设置代理的方式（视情况不止wget或curl支持）。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Wget支持的环境变量&lt;br /&gt;
!变量名称&lt;br /&gt;
!说明&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|http_proxy&lt;br /&gt;
|http代理&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|https_proxy&lt;br /&gt;
|https代理&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ftp_proxy&lt;br /&gt;
|ftp代理&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|no_proxy&lt;br /&gt;
|不代理的地址&lt;br /&gt;
|多个地址采用逗号分割，支持域名。如.cn表示中国的域名不使用代理&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+curl支持的环境变量&lt;br /&gt;
!变量名称&lt;br /&gt;
!说明&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|http_proxy&lt;br /&gt;
|http代理&lt;br /&gt;
|唯一为小写的环境变量&lt;br /&gt;
|-&lt;br /&gt;
|HTTPS_PROXY&lt;br /&gt;
|https代理&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[url-protocol]_PROXY&lt;br /&gt;
|其它协议代理&lt;br /&gt;
|[url-protocol]为协议，如HTTPS则为https代理。&lt;br /&gt;
|-&lt;br /&gt;
|ALL_PROXY&lt;br /&gt;
|默认代理&lt;br /&gt;
|如某个协议未设置代理，则使用此值&lt;br /&gt;
|-&lt;br /&gt;
|NO_PROXY&lt;br /&gt;
|不代理的地址&lt;br /&gt;
|多个地址采用逗号分割，支持域名。如.cn表示中国的域名不使用代理&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 在Linux终端中使用与文件后缀关联的程序打开文件 ==&lt;br /&gt;
在Windows的cmd窗口中，可使用文件名直接打开非可执行文件。而在Linux的终端中却没有此功能（Linux不靠文件后缀名判断文件类型）。&lt;br /&gt;
&lt;br /&gt;
* 要在Linux的终端中要通过文件后缀名使用相应程序打开文件，可使用&amp;lt;code&amp;gt;mimeopen&amp;lt;/code&amp;gt;命令,具体用法可使用&amp;lt;code&amp;gt;man mimeopen&amp;lt;/code&amp;gt;命令查看帮助。&lt;br /&gt;
* 在桌面环境中，针对桌面应用可使用xdg-utils包的&amp;lt;code&amp;gt;xdg-open&amp;lt;/code&amp;gt;工具,&lt;br /&gt;
&lt;br /&gt;
== 在Linux中不使用docker exec 进入容器 ==&lt;br /&gt;
使用docker exec可方便进入容器, 但也有其缺点，即不能使用容器外的工具。有时需要排查网络，但容器中又无相关工具,便可以使用nsenter命令。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#在使用nsenter命令前,需要获取目标容器中进程的pid,可通过ps -ef查看，下面使用pid代指目标容器的pid。&lt;br /&gt;
&lt;br /&gt;
#进入容器（基本等于docker exec）&lt;br /&gt;
nsenter -a -t pid 程序名及参数&lt;br /&gt;
&lt;br /&gt;
#只使用容器网络&lt;br /&gt;
nsenter -n -t pid 程序名及参数&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 在WSL2中启动systemd ==&lt;br /&gt;
通常为了使用docker,需要启动systemd,但systemd作为系统管理程序必须在pid为1时启动，因此可以使用unshare命令启动一个新的namespace绕过pid检测。&lt;br /&gt;
&lt;br /&gt;
可使用以下命令启动systemd(在ubuntu 22.04中测试通过)。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#启用systemd，只能启动一次(电脑重启或者wsl2闪退需要重新执行)&lt;br /&gt;
sudo setsid unshare --fork -p --mount-proc /lib/systemd/systemd &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;当systemd启动成功后,即可拉取镜像,测试镜像了。如需自启动可尝试修改/etc/profile或者添加脚本到/etc/profile.d/目录。&lt;br /&gt;
&lt;br /&gt;
注意:此方法主要解决了启动systemd的问题，由于使用了namespace,需要使用nsenter进入namespace才能使用systemctl等命令。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#使用nsenter需要获取systemd的进程pid,请使用ps -ef获取相关pid&lt;br /&gt;
sudo nsenter -p -t pid 命令&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WSL1中libQt5Core.so.5无效 ==&lt;br /&gt;
直接使用strip移除.note.ABI-tag即可.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo strip -R .note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TCP/UDP 端口分配 ==&lt;br /&gt;
INNA端口分配:https://www.iana.org/assignments/service-names-port-numbers&lt;br /&gt;
&lt;br /&gt;
== 使用代理访问github.com ==&lt;br /&gt;
由于网络原因，有时访问github.com时断时续且速度极慢，可通过代理访问github.com加快速度。&lt;br /&gt;
&lt;br /&gt;
此处不展开描述代理服务的搭建，在进行下面的操作时需要有效的http/https代理服务器，否则操作完成后可能无法正常访问github.com。&lt;br /&gt;
&lt;br /&gt;
=== HTTP/HTTPS代理 ===&lt;br /&gt;
HTTP/HTTPS代理均可使用git配置完成，如下:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
git config --global http.proxy http://代理服务器:端口&lt;br /&gt;
git config --global https.proxy http://代理服务器:端口&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SSH代理 ===&lt;br /&gt;
SSH代理与HTTP/HTTPS代理不同，并非修改git配置而是修改ssh配置，利用ProxyCommand执行一个程序用于转发通信使用。&lt;br /&gt;
&lt;br /&gt;
一般情况下，ssh全局配置的路径为/etc/ssh/ssh_config。&lt;br /&gt;
&lt;br /&gt;
==== MSYS2/Cygwin环境 ====&lt;br /&gt;
ssh_config配置新增配置如下:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Host github.com&lt;br /&gt;
    Port 22&lt;br /&gt;
    ProxyCommand /usr/bin/connect.exe -H 代理服务器:端口 %h %p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;其中,connect命令需要手动下载并放入/usr/bin目录中。&lt;br /&gt;
[[文件:Connect.zip|居中]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
connect源代码:https://github.com/gotoh/ssh-connect.git&lt;br /&gt;
&lt;br /&gt;
==== Linux环境 ====&lt;br /&gt;
ssh_config配置新增配置如下:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Host github.com&lt;br /&gt;
    Port 22&lt;br /&gt;
    ProxyCommand /usr/bin/nc -X connect -x 代理服务器:端口 %h %p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;通过nc(netcat)命令转发数据。&lt;br /&gt;
&lt;br /&gt;
== 不使用root用户操作docker ==&lt;br /&gt;
通常情况下，使用sudo直接操作docker,但sudo会切换到root用户，当使用virtualenv解决docker-compose的兼容问题时比较麻烦。&lt;br /&gt;
&lt;br /&gt;
如果将当前用户加入docker用户组（在安装docker时创建）即可实现不使用sudo进行docker操作。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#在ubuntu 24.04下测试通过。添加一次，重新登陆用户有效。&lt;br /&gt;
sudo adduser `id -nu` docker&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== docker使用代理拉取镜像 ==&lt;br /&gt;
由于种种原因，docker拉取镜像时速度极慢且极其容易失败，使用代理可提高拉取速度（另一种方法是使用docker镜像网站）。&lt;br /&gt;
&lt;br /&gt;
注意：此方法需要先手动搭建代理，示例地址：&amp;lt;code&amp;gt;http://127.0.0.1:10809&amp;lt;/code&amp;gt;需要替换为实际http代理地址。&lt;br /&gt;
&lt;br /&gt;
docker与其它Linux程序一样，可通过以下环境变量设置代理:&lt;br /&gt;
&lt;br /&gt;
* http_proxy:设置http使用的代理。&lt;br /&gt;
* https_proxy:设置https使用的代理。&lt;br /&gt;
* no_proxy:设置不使用代理的地址。&lt;br /&gt;
&lt;br /&gt;
由于实例的网络操作是由守护进程完成，因此环境变量需要在守护进程启动时设置（终端上的设置无效）。&lt;br /&gt;
&lt;br /&gt;
若只需要修改docker守护进程，对于系统自带的docker可修改&amp;lt;code&amp;gt;/lib/systemd/system/docker.service，在Service节添加如下内容：&amp;lt;/code&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# 在[Service]下添加如下内容&lt;br /&gt;
Environment=&amp;quot;http_proxy=http://127.0.0.1:10809&amp;quot;&lt;br /&gt;
Environment=&amp;quot;https_proxy=http://127.0.0.1:10809&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;修改完成后使用以下命令重启docker：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl restart docker&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;除了使用上述方法，若系统中有如下环境变量文件：&lt;br /&gt;
&lt;br /&gt;
* /etc/default/docker：仅修改docker默认设置&lt;br /&gt;
* /etc/environment：修改整个系统的环境变量，会影响除了docker之外的程序。&lt;br /&gt;
&lt;br /&gt;
在环境变量文件中添加如下行也可起到设置代理的作用：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
http_proxy=http://127.0.0.1:10809&lt;br /&gt;
https_proxy=http://127.0.0.1:10809&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 免费证书申请 ==&lt;br /&gt;
&lt;br /&gt;
==== Let&#039;s Encrypt ====&lt;br /&gt;
在Linux下可采用&amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;工具自动申请证书。&lt;br /&gt;
&lt;br /&gt;
== 自签CA证书安装 ==&lt;br /&gt;
由于免费的证书时限太短，因此尝试使用自签证书作为ssl证书用于网站服务,不使用https证书时可采用http访问。&lt;br /&gt;
&lt;br /&gt;
注意:下列示例中的证书下载地址：http://hyhsystem.cn/hyhsystem.cn.ca.crt&lt;br /&gt;
&lt;br /&gt;
=== Windows下自签CA证书安装 ===&lt;br /&gt;
&lt;br /&gt;
* 下载待安装的证书(有些浏览器有安全提示，忽略即可)。&lt;br /&gt;
* 双击证书，点击安装按钮。&lt;br /&gt;
* 存储位置选择 &#039;&#039;&#039;本地计算机&#039;&#039;&#039; 。&lt;br /&gt;
* 证书存储选择 &#039;&#039;&#039;受信任的根证书颁发机构 。&#039;&#039;&#039;&lt;br /&gt;
* 点击下一步直到完成后退出。&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu下自签CA证书安装 ===&lt;br /&gt;
注意:其它Debian系Linux系统也可参考本段落的操作。&lt;br /&gt;
&lt;br /&gt;
* 下载待安装的证书(有些浏览器有安全提示，忽略即可)。&lt;br /&gt;
* 将证书文件放入&#039;&#039;&#039;/usr/local/share/ca-certificates&#039;&#039;&#039; (需要root权限)&lt;br /&gt;
* 使用root权限执行&amp;lt;code&amp;gt;update-ca-certificates&amp;lt;/code&amp;gt;&lt;br /&gt;
以上操作仅适用于系统的ssl证书，对类似curl、wget等应用生效。若是浏览器需查看具体浏览器的设置方法。&lt;br /&gt;
&lt;br /&gt;
=== Firefox浏览器自签CA证书的安装 ===&lt;br /&gt;
&lt;br /&gt;
* 下载待安装的证书(有些浏览器有安全提示，忽略即可)。&lt;br /&gt;
* 打开&amp;lt;code&amp;gt;about:preferences#privacy&amp;lt;/code&amp;gt;&lt;br /&gt;
* 找到查看证书选项，点击导入按钮导入相应的证书文件。&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=Modbus&amp;diff=1152</id>
		<title>Modbus</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=Modbus&amp;diff=1152"/>
		<updated>2025-08-08T16:50:37Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 相关文件 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 说明 ==&lt;br /&gt;
Modbus是一种串行通信协议，是Modicon公司（现在的施耐德电气 Schneider Electric）于1979年为使用可编程逻辑控制器（PLC）通信而发表。Modbus已经成为工业领域通信协议的业界标准（De facto），并且现在是工业电子设备之间常用的连接方式。&lt;br /&gt;
&lt;br /&gt;
=== 个人说明 ===&lt;br /&gt;
本人常用Modbus RTU模式。&lt;br /&gt;
&lt;br /&gt;
相关WIKI：&lt;br /&gt;
&lt;br /&gt;
[[SimpleModbusRTUPacket]]&lt;br /&gt;
&lt;br /&gt;
== 相关文件 ==&lt;br /&gt;
[[文件:Modbus Application Protocol V1 1b3.pdf|居中|缩略图]]&lt;br /&gt;
&lt;br /&gt;
[[文件:MB-TCP-Security-v36 2021-07-30.pdf|居中|缩略图]]&lt;br /&gt;
&lt;br /&gt;
[[文件:Modbus over serial line V1 02.pdf|居中|缩略图]]&lt;br /&gt;
&lt;br /&gt;
[[文件:Modbus Messaging Implementation Guide V1 0b.pdf|居中|缩略图]]&lt;br /&gt;
&lt;br /&gt;
[[文件:PI MBUS 300.pdf|居中|缩略图]]&lt;br /&gt;
&lt;br /&gt;
== 官网 ==&lt;br /&gt;
https://modbus.org/&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:PI_MBUS_300.pdf&amp;diff=1151</id>
		<title>文件:PI MBUS 300.pdf</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:PI_MBUS_300.pdf&amp;diff=1151"/>
		<updated>2025-08-08T16:49:56Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PI MBUS 300&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:Modbus_Messaging_Implementation_Guide_V1_0b.pdf&amp;diff=1150</id>
		<title>文件:Modbus Messaging Implementation Guide V1 0b.pdf</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:Modbus_Messaging_Implementation_Guide_V1_0b.pdf&amp;diff=1150"/>
		<updated>2025-08-08T16:49:27Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Modbus Messaging Implementation Guide V1 0b&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:Modbus_over_serial_line_V1_02.pdf&amp;diff=1149</id>
		<title>文件:Modbus over serial line V1 02.pdf</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:Modbus_over_serial_line_V1_02.pdf&amp;diff=1149"/>
		<updated>2025-08-08T16:48:57Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Modbus over serial line V1 02&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:MB-TCP-Security-v36_2021-07-30.pdf&amp;diff=1148</id>
		<title>文件:MB-TCP-Security-v36 2021-07-30.pdf</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:MB-TCP-Security-v36_2021-07-30.pdf&amp;diff=1148"/>
		<updated>2025-08-08T16:48:04Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MB-TCP-Security-v36 2021-07-30&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=Lwip&amp;diff=1147</id>
		<title>Lwip</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=Lwip&amp;diff=1147"/>
		<updated>2025-07-16T09:45:05Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​创建页面，内容为“== 说明 == 一个轻量级 TCP/IP 栈  == 官网 == 网址:https://savannah.nongnu.org/projects/lwip/  === 参考手册 === 缩略图”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 说明 ==&lt;br /&gt;
一个轻量级 TCP/IP 栈&lt;br /&gt;
&lt;br /&gt;
== 官网 ==&lt;br /&gt;
网址:https://savannah.nongnu.org/projects/lwip/&lt;br /&gt;
&lt;br /&gt;
=== 参考手册 ===&lt;br /&gt;
[[文件:Lwip master.pdf|左|缩略图]]&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:Lwip_master.pdf&amp;diff=1146</id>
		<title>文件:Lwip master.pdf</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:Lwip_master.pdf&amp;diff=1146"/>
		<updated>2025-07-16T09:44:42Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lwip master&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=ExtModule-004&amp;diff=1145</id>
		<title>ExtModule-004</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=ExtModule-004&amp;diff=1145"/>
		<updated>2025-07-15T08:29:18Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​创建页面，内容为“== 仓库 ==  === 主要 === https://github.com/HEYAHONG/ExtModule-004  === 备用 === https://gitee.com/HEYAHONG/ExtModule-004  == 说明 == 用于验证CH32V208 SOC。”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 仓库 ==&lt;br /&gt;
&lt;br /&gt;
=== 主要 ===&lt;br /&gt;
https://github.com/HEYAHONG/ExtModule-004&lt;br /&gt;
&lt;br /&gt;
=== 备用 ===&lt;br /&gt;
https://gitee.com/HEYAHONG/ExtModule-004&lt;br /&gt;
&lt;br /&gt;
== 说明 ==&lt;br /&gt;
用于验证[[CH32V208]] SOC。&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1144</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1144"/>
		<updated>2025-07-15T08:26:13Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 嵌入式项目 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 常用项目 ==&lt;br /&gt;
&lt;br /&gt;
=== 嵌入式项目 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!简介&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
!标签&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-001     &lt;br /&gt;
|扩展板,用于扩展一个可编程通道(RS485)。&lt;br /&gt;
主要采用以下芯片:&lt;br /&gt;
&lt;br /&gt;
* CH334R:USB Hub。&lt;br /&gt;
* [[Air32F103CCT6]]:[[DAPLink]]主控芯片、Core主控芯片。&lt;br /&gt;
* MAX3485：3.3V电源驱动的RS485收发芯片。&lt;br /&gt;
|[[ExtBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[DAPLink]]&lt;br /&gt;
* [[Air32F103]]&lt;br /&gt;
|-&lt;br /&gt;
|CoreBoard-001&lt;br /&gt;
|核心板。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* HLK-7688A:[[MT7688AN]]核心板。&lt;br /&gt;
* DS1307：实时时钟&lt;br /&gt;
|[[CoreBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-002&lt;br /&gt;
|扩展板。使用USB提供4G联网功能。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|[[ExtBoad-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-003&lt;br /&gt;
|扩展板。USB CAN适配器，复刻[[candleLight]]。&lt;br /&gt;
|[[ExtBoard-003]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-001&lt;br /&gt;
|模块电路，用于验证廉价PY32单片机&lt;br /&gt;
|[[ExtModule-001]]&lt;br /&gt;
|&lt;br /&gt;
* PY32&lt;br /&gt;
* [[Modbus]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-002&lt;br /&gt;
|模块电路，用于验证ST17H66 蓝牙SOC&lt;br /&gt;
|[[ExtModule-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[ST17H66]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-003&lt;br /&gt;
|模块电路，用于验证XL2409 廉价2.4G无线SOC&lt;br /&gt;
|[[ExtModule-003]]&lt;br /&gt;
|&lt;br /&gt;
* [[XL2409]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-004&lt;br /&gt;
|模块电路，用于验证CH32V208 SOC.&lt;br /&gt;
|[[ExtModule-004]]&lt;br /&gt;
|&lt;br /&gt;
* [[CH32V208]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用技术栈 ==&lt;br /&gt;
&lt;br /&gt;
=== 使用低成本无线连接的设备 ===&lt;br /&gt;
通常情况下，除了直接接入网络，通常还可以使用网关代为接入网络，此时大致可分为网关设备（例如ZigBee网络的协调器）与子设备（例如ZigBee的路由器与终端设备）。&lt;br /&gt;
&lt;br /&gt;
网关设备通常用于协议的转换，通常使用性能相对强大的设备担任。&lt;br /&gt;
&lt;br /&gt;
子设备一般用于实际的应用，对设备的性能的要求相对较低。&lt;br /&gt;
&lt;br /&gt;
使用网关设备+子设备的模式优点如下：&lt;br /&gt;
&lt;br /&gt;
* 在节点较多时可节约成本。&lt;br /&gt;
* 某些场所无法直接接入网络。&lt;br /&gt;
&lt;br /&gt;
网关设备与子设备之间的连接可以使用有线连接（如[[CAN]]、[[Modbus|Modbus RTU]]等），也可以使用无线连接。&lt;br /&gt;
&lt;br /&gt;
使用无线连接时，主要使用以下方案:&lt;br /&gt;
&lt;br /&gt;
* [[NRF24L01+|NRF24L01]]及其兼容方案：实现简单，由用户自行定义协议，网关设备与子设备均需要自行开发。&lt;br /&gt;
* [[XL2409]]无线方案:其操作类似[[NRF24L01+|NRF24L01]]及其兼容方案,只是XL2409是一个SOC芯片，可编程。&lt;br /&gt;
* [[BLE]]：低功耗蓝牙，用户不能自定义协议，只能按照蓝牙定义的协议去开发，对于硬件而言，一般主要开发外围外设，中心设备可使用已有的硬件方案，调试使用可使用PC、手机调试。&lt;br /&gt;
&lt;br /&gt;
==== NRF24L01及其兼容方案 ====&lt;br /&gt;
采用[[NRF24L01+]]及兼容方案，直接收发数据，网络协议栈由用户自行实现。&lt;br /&gt;
&lt;br /&gt;
==== [[XL2409]]无线方案 ====&lt;br /&gt;
其操作类似[[NRF24L01+|NRF24L01]]及其兼容方案,只是XL2409是一个SOC芯片，可编程。直接收发数据，网络协议栈由用户自行实现。&lt;br /&gt;
&lt;br /&gt;
==== [[BLE]] ====&lt;br /&gt;
很多SOC方案支持开发中心设备，也支持开发外围设备，但一般只开发外围设备（通常用于子设备）的硬件（调试使用PC、手机），中心设备的硬件可使用支持BLE的现成方案。&lt;br /&gt;
&lt;br /&gt;
主要使用的BLE方案如下：&lt;br /&gt;
&lt;br /&gt;
* [[ST17H66]]: 低成本[[BLE]] SOC。&lt;br /&gt;
&lt;br /&gt;
=== 可连接TCP/IP的物联网设备 ===&lt;br /&gt;
开发物联网设备时,无论设备是通过WiFi、2G/3G/4G/5G或以太网连接网络,如设备支持TCP/IP,通常采用[[MQTT]]作为主要通信协议。&lt;br /&gt;
&lt;br /&gt;
除了主要通信协议,通常物联网设备还需要支持NTP对时，有时还需要使用到Http作为辅助协议。&lt;br /&gt;
&lt;br /&gt;
主要使用的协议如下：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!协议名称&lt;br /&gt;
!说明&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|[[MQTT]]&lt;br /&gt;
|MQTT是专门针对物联网开发的轻量级传输协议。&lt;br /&gt;
|通常采用TCP，可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[LwM2M]]&lt;br /&gt;
|LwM2M是一种轻量级的、标准通用的物联网设备管理协议，可用于快速部署客户端/服务器模式的物联网业务&lt;br /&gt;
|通常采用UDP，常见于NB-IOT模块。&lt;br /&gt;
由于UDP的在公网上的老化（公网的NAT转换机制），在公网上不能实现实时控制，只能应用于周期上报的设备。&lt;br /&gt;
&lt;br /&gt;
在专网或者局域网内可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[CoAP]]&lt;br /&gt;
|CoAP是一种用于受限节点与受限网络的web传输协议，由IETF提出。&lt;br /&gt;
|通常采用UDP，可使用DTLS加密，一般情况下用于在受限环境中替代http。&lt;br /&gt;
|-&lt;br /&gt;
|Http/Https&lt;br /&gt;
|超文本传输协议（Hypertext Transfer Protocol，HTTP）是一个简单的请求-响应协议。&lt;br /&gt;
|通常用于调用后端服务器的api接口。&lt;br /&gt;
|-&lt;br /&gt;
|NTP&lt;br /&gt;
|NTP是用来使计算机时间同步化的一种协议。&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[CSA Matter|Matter]]&lt;br /&gt;
|Matter是一个统一的、开源的应用层连接标准，旨在使开发人员和设备制造商能够连接和构建可靠的、安全的生态系统，并增加智能家具设备之间的兼容性。&lt;br /&gt;
|按照其架构，可使用TCP/UDP,基于[[IPV6]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 低成本方案 ====&lt;br /&gt;
低成本方案主要是指硬件采用SOC方案并且操作系统采用嵌入式操作系统的方案或者外设方案:&lt;br /&gt;
&lt;br /&gt;
* [[Air724UG]] :4G模块，可使用C/C++进行二次开发。&lt;br /&gt;
* [[Air780E]]:4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价。&lt;br /&gt;
* [[ESP8266]] ： WIFI模块。&lt;br /&gt;
* [[ESP32]] : WIFI模块,可接以太网PHY实现以太网上网。&lt;br /&gt;
* [[W600]] ： WIFI模块。&lt;br /&gt;
* [[W800]] ： WIFI模块。&lt;br /&gt;
* [[CH579]] ： 自带以太网PHY,可实现以太网上网。&lt;br /&gt;
*[[W5500]] :全硬件以太网外设芯片，需配合主控使用。&lt;br /&gt;
&lt;br /&gt;
==== 一般方案 ====&lt;br /&gt;
一般方案主要指资源相对充足的方案,一般采用Linux作为内核:&lt;br /&gt;
&lt;br /&gt;
* [[MT7688]] :可采用以太网或者WIFI联网,通过USB可接4G上网模块通过RNDIS上网。&lt;br /&gt;
&lt;br /&gt;
=== 带交流计量功能的设备 ===&lt;br /&gt;
==== 单相SOC方案 ====&lt;br /&gt;
对于单相计量（即常见的家用电）设备,通常采用SOC方案:&lt;br /&gt;
* [[RN8211B]]&lt;br /&gt;
* [[HT502X]]&lt;br /&gt;
此类SOC通常可以使用内置的模块完成包括计量功能在内的大部分需求,在某些情况下也可开发高精度的直流计量设备。&amp;lt;br&amp;gt;&lt;br /&gt;
如需与其它设备进行交互，通常还需要添加通信模块或者使用串口通信。&amp;lt;br&amp;gt;&lt;br /&gt;
若使用串口通信,本人常用[[Modbus]] RTU作为具体协议,将具体的硬件资源映射为线圈(可读写的位)、输入线圈(只读的位)、保持寄存器(可读写)、输入寄存器(只读)。&amp;lt;br&amp;gt;&lt;br /&gt;
* [[SimpleModbusRTUPacket]]&lt;br /&gt;
==== 单相非SOC方案 ====&lt;br /&gt;
若由于需要采用低成本导致计量部分相对于强电非隔离,而设备上又需要输出隔离接口时,通常采用非SOC方案+串口/SPI口隔离,常用芯片方案:&lt;br /&gt;
* [[RN8209]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&lt;br /&gt;
==== 三相非SOC方案 ====&lt;br /&gt;
若待计量的电路为三相电路,常用芯片方案:&lt;br /&gt;
* [[RN8302B]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&amp;lt;br&amp;gt;&lt;br /&gt;
注意:截至编辑时,尚未发现三相SOC方案。&lt;br /&gt;
=== 带有特殊功能的路由器/WIFI网关 ===&lt;br /&gt;
芯片方案：&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
软件开发方案:&lt;br /&gt;
* [[ openwrt ]]&lt;br /&gt;
在内核[[Devicetree|设备树(dts)]]配置中使能需要使用的标准接口，并在openwrt的[[Kconfig|menuconfig]]中选中对应的kmod包后,即可使用[[Linux]]用户程序(非内核模块)操作硬件设备。&amp;lt;br&amp;gt;&lt;br /&gt;
对于SPI、I2C与UART而言,用户可通过打开/dev目录下的相应字符设备即可使用。&amp;lt;br&amp;gt;&lt;br /&gt;
对于GPIO而言,可使用sysfs文件系统目录:/sys/class/gpio目录进行GPIO操作。&lt;br /&gt;
&lt;br /&gt;
=== 基于[[USB]]的外设扩展 ===&lt;br /&gt;
对于使用Linux内核的设备的外设扩展,本人较为推崇使用[[USB]]作为外设总线,其优点如下:&lt;br /&gt;
&lt;br /&gt;
* 支持热插拔与子设备枚举，无需在设备树中配置所挂接的子设备。&lt;br /&gt;
* 可使用hub扩展较多接口。&lt;br /&gt;
* 支持[[USB]]的转换芯片较多。&lt;br /&gt;
&lt;br /&gt;
一般来讲，对于少量控制数据的传输，[[USB]] 2.0的传输速度就足够了。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] HUB ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH334/CH335&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH334.html&lt;br /&gt;
|-&lt;br /&gt;
|CH338&lt;br /&gt;
|7口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH338.html&lt;br /&gt;
|-&lt;br /&gt;
|FE1.1s&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HS8836A&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 转换芯片 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH340&lt;br /&gt;
|USB转串口/打印口&lt;br /&gt;
|https://www.wch.cn/products/CH340.html&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 上位机软件开发 ====&lt;br /&gt;
&lt;br /&gt;
* 对于标准外设，可按照标准外设的使用方法，如[[USB]]转串口按照串口的方式使用。&lt;br /&gt;
* 对于[[USB]]原生的应用(直接通过端点发送接收数据),可使用[https://libusb.info/ libusb]开发。&lt;br /&gt;
* 对于基于[[USB]]的HID设备，若未被其它内核驱动使用，可使用[https://github.com/signal11/hidapi hidapi]开发。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 嵌入式开发 ====&lt;br /&gt;
若未具体说明，本章节中的[[USB]]嵌入式开发指Device端的嵌入式开发，即[[USB]]外设开发。&lt;br /&gt;
&lt;br /&gt;
除了各个芯片厂商提供的[[USB]]栈，还可使用以下USB栈用于USB外设开发：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!USB库&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
!tinyusb&lt;br /&gt;
!开源、跨平台的USB HOST/DEVICE栈&lt;br /&gt;
!https://www.tinyusb.org/&lt;br /&gt;
|-&lt;br /&gt;
!CherryUSB&lt;br /&gt;
!小而美的、可移植性高的、用于嵌入式系统的 USB 主从协议栈&lt;br /&gt;
!https://cherryusb.readthedocs.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子线连接器 ===&lt;br /&gt;
很多时候一个产品可由多个PCB组成，而PCB之间除了直接焊线，还可以由电子线连接器（包括插头、插座）连接。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+常用电子线连接器&lt;br /&gt;
!引脚间距(mm)&lt;br /&gt;
!类型&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
* SH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.25&lt;br /&gt;
|&lt;br /&gt;
* GH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.50&lt;br /&gt;
|&lt;br /&gt;
* ZH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.00&lt;br /&gt;
|&lt;br /&gt;
* PH&lt;br /&gt;
* HY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.50/2.54&lt;br /&gt;
|&lt;br /&gt;
* EH&lt;br /&gt;
* XH&lt;br /&gt;
* SM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.96&lt;br /&gt;
|&lt;br /&gt;
* VH&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
注意：&lt;br /&gt;
&lt;br /&gt;
# 以上所指的类型可能只是实际连接器的型号的一部分,一般用于搜索相应器件。如在淘宝上搜索&#039;&#039;&#039;PH 连接器&#039;&#039;&#039; 即可获取类型为PH的连接器。&lt;br /&gt;
# 同一个引脚间距可能有多个类型，这些不同的类型一般有其它差异（如材料、结构等）。&lt;br /&gt;
# 如需某个类型的双排连接器，可在类型中添加D(仅适用于部分类型),如需要类型为PH的连接器,则搜索&#039;&#039;&#039;PHD 连接器&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
=== 外壳方案 ===&lt;br /&gt;
&lt;br /&gt;
==== 可采用导轨安装的外壳方案 ====&lt;br /&gt;
对于电气控制柜、仪表柜、配电箱等，安装导轨是一个极其常见的配件。&lt;br /&gt;
&lt;br /&gt;
常用的安装导轨方案如下:&lt;br /&gt;
&lt;br /&gt;
* DIN TS35:35×7.5 安装导轨,宽度35mm,深度7.5mm,材质形式为钢、铝、铜等，表现形式为横条状金属片&lt;br /&gt;
&lt;br /&gt;
若未特殊说明，导轨均指DIN TS35安装导轨。&lt;br /&gt;
&lt;br /&gt;
对于带计量的产品而言,除了设计成插座样式，还可以设计成导轨安装并安放在配电箱里。&lt;br /&gt;
&lt;br /&gt;
对于需要安装至导轨的产品而言，主要有以下方案:&lt;br /&gt;
&lt;br /&gt;
* 直接使用可用于导轨安装的外壳。&lt;br /&gt;
* 采用导轨安装卡扣,卡扣上通常有螺丝孔位，可通过螺丝安装产品。&lt;br /&gt;
&lt;br /&gt;
==== 廉价铝壳外壳方案 ====&lt;br /&gt;
作为物联网产品(尤其是具有RTU/DTU角色的物联网产品)，通常需要一个外壳。一般情况下，可使用铁壳或者铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
为减小成本,本人一般采用成品铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
注意:本段落中的铝壳主要指主要外形为长方体，两侧或者顶部具有可拆卸的盖子的壳体，并不泛指所有采用铝作为主要材料的壳体。&lt;br /&gt;
&lt;br /&gt;
一般情况下,通常需要给铝壳开孔以引出接口，常用方案如下:&lt;br /&gt;
&lt;br /&gt;
* 正面开孔，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 侧盖开孔(一面或两面)，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 采用PCB作为侧盖(一般使用黑色的壳体配合黑色PCB),使用PCB制造开孔。仅试样的情况下,价格相对便宜。&lt;br /&gt;
* 一侧不要侧盖。适用于直接引出导线的产品,一般配合灌胶工艺。一般直接用于量产产品。&lt;br /&gt;
如需使用导轨安装，可使用导轨安装卡扣固定铝壳。&lt;br /&gt;
&lt;br /&gt;
===== 常用尺寸1 =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+铝壳参数&lt;br /&gt;
!长&lt;br /&gt;
!宽&lt;br /&gt;
!高&lt;br /&gt;
!PCB块数&lt;br /&gt;
!PCB最大厚度&lt;br /&gt;
!PCB最大宽度&lt;br /&gt;
!PCB最大长度&lt;br /&gt;
|-&lt;br /&gt;
|100mm&lt;br /&gt;
|66mm&lt;br /&gt;
|27mm&lt;br /&gt;
|2(一块顶部PCB板，一块底部PCB板)&lt;br /&gt;
|2mm&lt;br /&gt;
|60.3mm(不能小太多)&lt;br /&gt;
|100mm(取决于铝壳长度，一般可定制)&lt;br /&gt;
|}&lt;br /&gt;
[[文件:ALUMINUM SHELL 66x27x100.png|居中|有框]]&lt;br /&gt;
&lt;br /&gt;
==== 接线盒(家庭) ====&lt;br /&gt;
此处所指接线盒主要指家庭中用于开关/插座的接线盒,并不指广义接线盒。&lt;br /&gt;
&lt;br /&gt;
接线盒主要由底盒与面板组成。&lt;br /&gt;
&lt;br /&gt;
其中底盒的种类多种多样，根据可分为明装与暗装，一般底盒均为提前安装好的，不可简单增加与减少。&lt;br /&gt;
&lt;br /&gt;
面板一般是嵌入式开发中常用的壳体，只要保证安装孔距正确，即可安装在提前安装的底盒上。&lt;br /&gt;
&lt;br /&gt;
接线盒可根据面板尺寸进行分类，主要有以下型号：&lt;br /&gt;
&lt;br /&gt;
* 86型&lt;br /&gt;
* 118型&lt;br /&gt;
* 120型&lt;br /&gt;
&lt;br /&gt;
采用接线盒进行嵌入式开发主要开发以下设备（与传统开关、传统插座有一定相似之处）：&lt;br /&gt;
&lt;br /&gt;
* 智能家居控制面板:可进行联网操作，控制智能家居设备。可显示一些信息（如时间、天气、场景等信息）。可连接到其它智能设备（如智能音箱）&lt;br /&gt;
* 智能家居开关：功能与传统开关类似，可通过无线（如BLE、Zigbee等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
* 智能家居插座：功能与传统插座类似，可远程控制、数据采集（电量、电压、电流等）。可通过无线（如BLE、Zigbee、WiFi等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
&lt;br /&gt;
===== 86型接线盒 =====&lt;br /&gt;
86型接线盒作为较常用的接线盒，俗称86盒，其面板尺寸86mmX86mm。&lt;br /&gt;
&lt;br /&gt;
许多厂商也提供采用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寸开发板]。&lt;br /&gt;
&lt;br /&gt;
== 常用芯片及模块 ==&lt;br /&gt;
=== 常用芯片及核心模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 常用芯片及核心模块&lt;br /&gt;
|-&lt;br /&gt;
! 芯片/模块名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8211B || 单相计量SOC || [[RN8211B]]&lt;br /&gt;
|-&lt;br /&gt;
| HT502X || 单相计量SOC || [[HT502X]]&lt;br /&gt;
|-&lt;br /&gt;
| Air724UG || 4G模块,进行C语言开发 || [[Air724UG]]&lt;br /&gt;
|-&lt;br /&gt;
|Air780E&lt;br /&gt;
|4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价&lt;br /&gt;
|[[Air780E]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-12F || WIFI透传模块，可支持二次开发，主芯片为ESP8266 || [[ESP8266]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-32S || ESP32模块，可支持WIFI、蓝牙、以太网,可采用esp-idf开发 || [[ESP32]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-01 || W600开发板，WIFI SOC，Cortex-M3内核 || [[W600]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-08 || W800开发板，WIFI/蓝牙 SOC， XT804内核 || [[W800]]&lt;br /&gt;
|-&lt;br /&gt;
| CH579|| 以太网、蓝牙、USB SOC，Cortex-M0内核MCU || [[CH579]]&lt;br /&gt;
|-&lt;br /&gt;
| HLK-7688A|| MT7688芯片核心模块，可采用openwrt开发 || [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
| E18-MS1|| CC2530芯片核心模块，可采用contiki开发或者Z-Stack开发 || [[CC2530]]&lt;br /&gt;
|-&lt;br /&gt;
|Air105&lt;br /&gt;
|廉价大内存mcu,4M flash,640K SRAM,Cortex-M4F&lt;br /&gt;
|[[Air105]]&lt;br /&gt;
|-&lt;br /&gt;
|Lichee Zero&lt;br /&gt;
|全志V3s开发板，64M DRAM，廉价Linux开发板，V3s芯片可手贴&lt;br /&gt;
|[[V3s]]   [https://wiki.sipeed.com/hardware/zh/lichee/Zero/Zero.html Lichee Zero]&lt;br /&gt;
|-&lt;br /&gt;
|Air32F103&lt;br /&gt;
|96K RAM,兼容STM32F103&lt;br /&gt;
|[[Air32F103]] http://air32.cn&lt;br /&gt;
|-&lt;br /&gt;
|ST17H66&lt;br /&gt;
|64K RAM，256K Flash,廉价蓝牙SOC&lt;br /&gt;
|[[ST17H66]]&lt;br /&gt;
|}&lt;br /&gt;
注意:此章节可能不包含资料较多，应用极其成熟的芯片系列。&lt;br /&gt;
=== 外设芯片及外设模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 外设芯片及外设模块&lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! 接口 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8302B || 三相计量芯片 || SPI || [[RN8302B]]&lt;br /&gt;
|-&lt;br /&gt;
| RN8209C/RN8209D || 单相计量芯片 ||&lt;br /&gt;
* UART&lt;br /&gt;
* SPI&lt;br /&gt;
| [[RN8209]]&lt;br /&gt;
|-&lt;br /&gt;
| NRF24L01+ || 2.4G无线芯片,具有众多兼容替代(如Si24R1) || SPI+GPIO(中断、CE) || [[NRF24L01+]]&lt;br /&gt;
|-&lt;br /&gt;
|W5500&lt;br /&gt;
|全硬件栈以太网芯片&lt;br /&gt;
|SPI&lt;br /&gt;
|[[W5500]]&lt;br /&gt;
|-&lt;br /&gt;
|中景园0.96寸OLED点阵屏&lt;br /&gt;
|分辨率128x64,显示驱动（控制）芯片SSD1306&lt;br /&gt;
|&lt;br /&gt;
* IIC&lt;br /&gt;
* SPI+GPIO(DC、RES)&lt;br /&gt;
|[[SSD1306]] [[中景园0.96寸OLED点阵屏]]&lt;br /&gt;
|-&lt;br /&gt;
|AHT20&lt;br /&gt;
|温湿度传感器&lt;br /&gt;
|IIC&lt;br /&gt;
|[[AHT20]]&lt;br /&gt;
|-&lt;br /&gt;
|DS1307&lt;br /&gt;
|RTC（实时时钟）&lt;br /&gt;
|IIC&lt;br /&gt;
|[[DS1307]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用嵌入式操作系统、BootLoader、嵌入式固件及嵌入式软件库 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| FreeRTOS || 嵌入式操作系统 || [[FreeRTOS]]&lt;br /&gt;
|-&lt;br /&gt;
| rt-thread || 物联网嵌入式操作系统 || [[ rt-thread ]] &lt;br /&gt;
|-&lt;br /&gt;
|nuttx||嵌入式操作系统||[[nuttx]]&lt;br /&gt;
|-&lt;br /&gt;
|paho.mqtt.embedded-c|| MQTT客户端，可移植到各种芯片平台||[[paho.mqtt.embedded-c]]&lt;br /&gt;
|-&lt;br /&gt;
|openwrt||操作系统，嵌入式Linux构建工具||[[ openwrt | openwrt]]&lt;br /&gt;
|-&lt;br /&gt;
|u8g2&lt;br /&gt;
|单色/点阵屏驱动库&lt;br /&gt;
|[[u8g2]]&lt;br /&gt;
|-&lt;br /&gt;
|U-Boot&lt;br /&gt;
|通用引导加载器。通常用于加载[[Linux]]。&lt;br /&gt;
|[[U-Boot]]&lt;br /&gt;
|-&lt;br /&gt;
|Newlib&lt;br /&gt;
|嵌入式C运行库（通常配合GCC使用）&lt;br /&gt;
|[[Newlib]]&lt;br /&gt;
|-&lt;br /&gt;
|printf&lt;br /&gt;
|printf, sprintf and (v)snprintf 实现&lt;br /&gt;
|[[printf]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==常用工具==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+常用工具&lt;br /&gt;
|-&lt;br /&gt;
!名称!!说明!!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|easy-rsa||使用SSL/TLS时,自签证书制作/管理工具||[[easy-rsa]]&lt;br /&gt;
|-&lt;br /&gt;
|buildroot||嵌入式Linux构建工具||[[buildroot]]&lt;br /&gt;
|-&lt;br /&gt;
|debootstrap||Linux系统根文件系统创建工具,可创建Debian系Linux系统根文件系统||[[debootstrap]]&lt;br /&gt;
|-&lt;br /&gt;
|crosstool-ng||交叉编译工具链创建工具||[[crosstool-ng]]&lt;br /&gt;
|-&lt;br /&gt;
|ScreenToGif&lt;br /&gt;
|在Windows下录屏制作gif的工具&lt;br /&gt;
|https://github.com/NickeManarin/ScreenToGif.git&lt;br /&gt;
|-&lt;br /&gt;
|Xfel&lt;br /&gt;
|全志SOC的FEL工具（可下载固件等）&lt;br /&gt;
|[[Xfel]]&lt;br /&gt;
|-&lt;br /&gt;
|busybox&lt;br /&gt;
|unix工具箱，可用于创建体积极小的rootfs&lt;br /&gt;
|[[busybox]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===IDE环境/开发环境/开发工具===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|codeblocks&lt;br /&gt;
|免费的C/C++ IDE,可开发多种C/C++程序。本人只要将它用作基于CMake构建的工程的代码编写。&lt;br /&gt;
|http://www.codeblocks.org/&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Visual Studio&lt;br /&gt;
|微软的开发工具集。本人主要用于开发WIN32程序。本人优先使用codeblocks作为C/C++开发环境,VS占用的空间太大,但有些第三方库在Windows上可能只支持MSVC,故而必须使用VS。&lt;br /&gt;
|https://visualstudio.microsoft.com/zh-hans/&lt;br /&gt;
|-&lt;br /&gt;
|keil5&lt;br /&gt;
|用于ARM嵌入式芯片的开发。注意:keil5不是免费的。&lt;br /&gt;
|https://www.keil.com/&lt;br /&gt;
|-&lt;br /&gt;
|IAR&lt;br /&gt;
|本人主要使用针对ARM嵌入式芯片的开发。注意:IAR不是免费的。&lt;br /&gt;
|https://www.iar.com/&lt;br /&gt;
|-&lt;br /&gt;
|QtCreator&lt;br /&gt;
|用于创建基于Qt的程序。&lt;br /&gt;
|https://www.qt.io/product/development-tools&lt;br /&gt;
|-&lt;br /&gt;
|MounRiver&lt;br /&gt;
|基于Eclipse的嵌入式ARM/RISC-V的集成开发环境。本人主要用于测试[https://www.wch.cn/ WCH]的单片机。&lt;br /&gt;
|http://www.mounriver.com/&lt;br /&gt;
|-&lt;br /&gt;
|RT-Thread Studio&lt;br /&gt;
|一站式的 RT-Thread 开发工具，通过简单易用的图形化配置系统以及丰富的软件包和组件资源，让物联网开发变得简单和高效。本人主要用于开发与rt-thread相关设备。&lt;br /&gt;
|https://www.rt-thread.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子硬件设计(原理图绘制/PCB绘制/其它相关工具) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|立创EDA&lt;br /&gt;
|高效的国产PCB设计工具，永久免费。可在线使用。&lt;br /&gt;
|https://lceda.cn/&lt;br /&gt;
|-&lt;br /&gt;
|KiCad&lt;br /&gt;
|跨平台开源电子设计套装。&lt;br /&gt;
|https://www.kicad.org/&lt;br /&gt;
|-&lt;br /&gt;
|freerouting&lt;br /&gt;
|自动布线工具。可配合立创EDA或KiCad使用。本人用于替代立创EDA自带的自动布线。&lt;br /&gt;
|https://www.freerouting.app/&lt;br /&gt;
https://github.com/freerouting/freerouting.git&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 测试工具 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Apipost&lt;br /&gt;
|Apipost-API 文档、设计、调试、自动化测试一体化协作平台。具有免费版本。&lt;br /&gt;
|https://www.apipost.cn/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 编译器 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|sdcc&lt;br /&gt;
|用于8位/16位单片机(如MCS51、DS80C390 、HC08、Z80、STM8, MOS 6502 、WDC 65C02等)的C编译器&lt;br /&gt;
|https://sdcc.sourceforge.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 流程图/框图绘制 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|dia&lt;br /&gt;
|跨平台开源流程图绘制工具&lt;br /&gt;
|http://dia-installer.de/&lt;br /&gt;
https://sourceforge.net/projects/dia/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 图像处理 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|GIMP&lt;br /&gt;
|免费开源图像编辑器&lt;br /&gt;
|https://www.gimp.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 作曲工具(MIDI制作) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|LMMS&lt;br /&gt;
|免费自由开源并且跨平台的作曲工具&lt;br /&gt;
|https://lmms.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 字体编辑 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|FontForge&lt;br /&gt;
|免费字体编辑器&lt;br /&gt;
|https://fontforge.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 国际化/本地化 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Poedit&lt;br /&gt;
|.po编辑工具。可编辑使用 [[xgettext]] 生成的翻译文件&lt;br /&gt;
|https://poedit.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 压缩/解压缩 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|7-zip&lt;br /&gt;
|开源免费的压缩/解压缩软件。Windows下有GUI程序，Linux下只有控制台版本。&lt;br /&gt;
|http://www.7-zip.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 虚拟磁盘/磁盘驱动 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|imdisk&lt;br /&gt;
|Windows下开源虚拟磁盘工具,可方便挂载内存盘（存放临时文件）。&lt;br /&gt;
|https://sourceforge.net/projects/imdisk-toolkit&lt;br /&gt;
|-&lt;br /&gt;
|Ext2fsd&lt;br /&gt;
|Windows下访问Ext2/Ext3/Ext4文件系统驱动。&lt;br /&gt;
|https://sourceforge.net/projects/ext2fsd/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 安装/卸载 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Geek Uninstaller&lt;br /&gt;
|Windows下程序卸载工具,具有免费的版本。&lt;br /&gt;
|https://geekuninstaller.com/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===小工具(自写/修改/组合)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki&lt;br /&gt;
!支持平台&lt;br /&gt;
|-&lt;br /&gt;
|CC3200_GangGenerator&lt;br /&gt;
|生成用于烧录CC3200 SPI Flash的工具&lt;br /&gt;
|[[CC3200_GangGenerator]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
|-&lt;br /&gt;
|WMToolHelper&lt;br /&gt;
| W600烧录工具&lt;br /&gt;
|[[WMToolHelper]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|WinBleTool&lt;br /&gt;
| Windows下调试BLE的工具&lt;br /&gt;
|[[WinBleTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10(及以上)&lt;br /&gt;
|-&lt;br /&gt;
|SimpleBLETool&lt;br /&gt;
|调试BLE的工具&lt;br /&gt;
| [[SimpleBLETool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10+&lt;br /&gt;
*Linux(ubuntu 20.04+)&lt;br /&gt;
|-&lt;br /&gt;
|cutecom-ng&lt;br /&gt;
|基于Qt5的串口工具。个人修改版。&lt;br /&gt;
|[[cutecom-ng]]&lt;br /&gt;
|只要是Qt5支持的桌面平台均支持。&lt;br /&gt;
|-&lt;br /&gt;
|OneNETTool&lt;br /&gt;
|开发OneNET辅助工具&lt;br /&gt;
|[[OneNETTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|QGDW12184Tool&lt;br /&gt;
|开发Q/GDW 12184辅助工具&lt;br /&gt;
|[[QGDW12184Tool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|XServerForWSL1&lt;br /&gt;
|利用cygwin中的X服务对WSL提供X服务&lt;br /&gt;
|[[XServerForWSL1]]&lt;br /&gt;
|支持WSL1的Windows&lt;br /&gt;
|-&lt;br /&gt;
|linux_binfmt_pe&lt;br /&gt;
|使用[[wine]]直接执行PE可执行文件的Linux内核模块&lt;br /&gt;
|[[linux_binfmt_pe]]&lt;br /&gt;
|&lt;br /&gt;
* Linux内核&lt;br /&gt;
|-&lt;br /&gt;
|Win32Redirector&lt;br /&gt;
|重定向win32控制台应用至MSYS2或者Cygwin中的程序。&lt;br /&gt;
|[[Win32Redirector]]&lt;br /&gt;
|&lt;br /&gt;
* Windows&lt;br /&gt;
|-&lt;br /&gt;
|HEnvBox&lt;br /&gt;
|快速搭建本人常用的开发环境。&lt;br /&gt;
|[[HEnvBox]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 10及更新版&lt;br /&gt;
* Ubuntu 22.04&lt;br /&gt;
* Debian&lt;br /&gt;
* Deepin&lt;br /&gt;
|-&lt;br /&gt;
|HVCP&lt;br /&gt;
|Windows下虚拟串口&lt;br /&gt;
|[[HVCP]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 7 及更新系统&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用库 ==&lt;br /&gt;
此章节主要对使用的比较多的库做一个整理。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!官网&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki&lt;br /&gt;
|-&lt;br /&gt;
|wxWidgets&lt;br /&gt;
|https://www.wxwidgets.org/&lt;br /&gt;
|跨平台GUI库&lt;br /&gt;
|[[wxWidgets]]&lt;br /&gt;
|-&lt;br /&gt;
|Qt&lt;br /&gt;
|https://www.qt.io/&lt;br /&gt;
|跨平台库（包括GUI）&lt;br /&gt;
|[[Qt]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 工具/库（自写/修改） ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|DeployWin&lt;br /&gt;
|MSYS2与CygWin下编程辅助打包库。一般配合CMake的CPack使用。&lt;br /&gt;
|[[DeployWin]]&lt;br /&gt;
|-&lt;br /&gt;
|HCppBox&lt;br /&gt;
|本人常用的C/C++代码&lt;br /&gt;
|[[HCppBox]]&lt;br /&gt;
|-&lt;br /&gt;
|SimpleModbusRTUPacket&lt;br /&gt;
|简易的[[Modbus]] RTU包解析&lt;br /&gt;
|[[SimpleModbusRTUPacket]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==常用镜像站==&lt;br /&gt;
在找各种源码资源时，经常遇到国外网站下载较慢的情况下，此时通常需要更换镜像站。&lt;br /&gt;
&lt;br /&gt;
例如:&lt;br /&gt;
&lt;br /&gt;
*ubuntu系统的软件包(包括使用deboostrap的镜像源)&lt;br /&gt;
*python软件包&lt;br /&gt;
*gnu软件源码包&lt;br /&gt;
*linux源码&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!地址&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.ustc.edu.cn/&lt;br /&gt;
|中国科学技术大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.tuna.tsinghua.edu.cn/&lt;br /&gt;
|清华大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.163.com/&lt;br /&gt;
|网易开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.aliyun.com/&lt;br /&gt;
|阿里开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.cernet.edu.cn&lt;br /&gt;
|校园网联合镜像站&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 静态文档网站 ==&lt;br /&gt;
一些静态的网页文档,如[https://www.doxygen.nl/ doxygen]生成的帮助文档与[https://docsify.js.org/#/ docsify]制作的静态说明文档。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!类型&lt;br /&gt;
!URL&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|静态文档仓库&lt;br /&gt;
|https://heyahong.github.io/#/&lt;br /&gt;
|采用github pages托管,源代码仓库:https://github.com/HEYAHONG/HEYAHONG.github.io.git&lt;br /&gt;
|-&lt;br /&gt;
|网站&lt;br /&gt;
|http://docs.hyhsystem.cn&lt;br /&gt;
|采用nginx服务器,运行于云服务器&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==相关链接==&lt;br /&gt;
&lt;br /&gt;
*[[测试资源]]&lt;br /&gt;
*[[第三方资源]]&lt;br /&gt;
*[[方案发现与探索]]&lt;br /&gt;
*[[杂项笔记与测试代码]]&lt;br /&gt;
*[[常见问题]]&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=CH32V208&amp;diff=1143</id>
		<title>CH32V208</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=CH32V208&amp;diff=1143"/>
		<updated>2025-07-15T08:24:13Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 说明 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 说明 ==&lt;br /&gt;
[https://www.wch.cn/products/CH32V208.html CH32V208]系列是基于32位RISC-V设计的无线型微控制器，配备了硬件堆栈区、快速中断入口，在标准RISC-V基础上大大提高了中断响应速度。搭载V4C内核，加入内存保护单元，同时降低硬件除法周期，支持144MHz主频零等待运行。片上集成2Mbps低功耗蓝牙BLE通讯模块、10M以太网MAC+PHY模块、USB2.0全速设备+主机/设备接口、CAN控制器等。&lt;br /&gt;
[[文件:639e6803-d28f-408c-8b72-053e1ca4405f.jpg|居中|有框]]&lt;br /&gt;
&lt;br /&gt;
== 官方资料 ==&lt;br /&gt;
网址：https://www.wch.cn&lt;br /&gt;
&lt;br /&gt;
=== 相关数据手册 ===&lt;br /&gt;
&lt;br /&gt;
* [[文件:CH32FV2x_V3xRM.pdf|左|缩略图]]&lt;br /&gt;
&lt;br /&gt;
* [[文件:CH32V208DS0.pdf|左|缩略图]]&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=CH32V208&amp;diff=1142</id>
		<title>CH32V208</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=CH32V208&amp;diff=1142"/>
		<updated>2025-07-15T08:23:11Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​创建页面，内容为“== 说明 == CH32V208系列是基于32位RISC-V设计的无线型微控制器，配备了硬件堆栈区、快速中断入口，在标准RISC-V基础上大大提高了中断响应速度。搭载V4C内核，加入内存保护单元，同时降低硬件除法周期，支持144MHz主频零等待运行。片上集成2Mbps低功耗蓝牙BLE通讯模块、10M以太网MAC+PHY模块、USB2.0全速设备+主机/设备接口、CAN控制器等。 文件:639e6803-d28f-40…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 说明 ==&lt;br /&gt;
CH32V208系列是基于32位RISC-V设计的无线型微控制器，配备了硬件堆栈区、快速中断入口，在标准RISC-V基础上大大提高了中断响应速度。搭载V4C内核，加入内存保护单元，同时降低硬件除法周期，支持144MHz主频零等待运行。片上集成2Mbps低功耗蓝牙BLE通讯模块、10M以太网MAC+PHY模块、USB2.0全速设备+主机/设备接口、CAN控制器等。&lt;br /&gt;
[[文件:639e6803-d28f-408c-8b72-053e1ca4405f.jpg|居中|有框]]&lt;br /&gt;
&lt;br /&gt;
== 官方资料 ==&lt;br /&gt;
网址：https://www.wch.cn&lt;br /&gt;
&lt;br /&gt;
=== 相关数据手册 ===&lt;br /&gt;
&lt;br /&gt;
* [[文件:CH32FV2x_V3xRM.pdf|左|缩略图]]&lt;br /&gt;
&lt;br /&gt;
* [[文件:CH32V208DS0.pdf|左|缩略图]]&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:639e6803-d28f-408c-8b72-053e1ca4405f.jpg&amp;diff=1141</id>
		<title>文件:639e6803-d28f-408c-8b72-053e1ca4405f.jpg</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:639e6803-d28f-408c-8b72-053e1ca4405f.jpg&amp;diff=1141"/>
		<updated>2025-07-15T08:16:37Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;639e6803-d28f-408c-8b72-053e1ca4405f&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:CH32FV2x_V3xRM.pdf&amp;diff=1140</id>
		<title>文件:CH32FV2x V3xRM.pdf</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:CH32FV2x_V3xRM.pdf&amp;diff=1140"/>
		<updated>2025-07-15T08:15:18Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CH32FV2x V3xRM&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:CH32V208DS0.pdf&amp;diff=1139</id>
		<title>文件:CH32V208DS0.pdf</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:CH32V208DS0.pdf&amp;diff=1139"/>
		<updated>2025-07-15T08:14:43Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CH32V208DS0&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1138</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1138"/>
		<updated>2025-07-03T09:27:53Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 使用低成本无线连接的设备 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 常用项目 ==&lt;br /&gt;
&lt;br /&gt;
=== 嵌入式项目 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!简介&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
!标签&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-001     &lt;br /&gt;
|扩展板,用于扩展一个可编程通道(RS485)。&lt;br /&gt;
主要采用以下芯片:&lt;br /&gt;
&lt;br /&gt;
* CH334R:USB Hub。&lt;br /&gt;
* [[Air32F103CCT6]]:[[DAPLink]]主控芯片、Core主控芯片。&lt;br /&gt;
* MAX3485：3.3V电源驱动的RS485收发芯片。&lt;br /&gt;
|[[ExtBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[DAPLink]]&lt;br /&gt;
* [[Air32F103]]&lt;br /&gt;
|-&lt;br /&gt;
|CoreBoard-001&lt;br /&gt;
|核心板。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* HLK-7688A:[[MT7688AN]]核心板。&lt;br /&gt;
* DS1307：实时时钟&lt;br /&gt;
|[[CoreBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-002&lt;br /&gt;
|扩展板。使用USB提供4G联网功能。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|[[ExtBoad-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-003&lt;br /&gt;
|扩展板。USB CAN适配器，复刻[[candleLight]]。&lt;br /&gt;
|[[ExtBoard-003]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-001&lt;br /&gt;
|模块电路，用于验证廉价PY32单片机&lt;br /&gt;
|[[ExtModule-001]]&lt;br /&gt;
|&lt;br /&gt;
* PY32&lt;br /&gt;
* [[Modbus]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-002&lt;br /&gt;
|模块电路，用于验证ST17H66 蓝牙SOC&lt;br /&gt;
|[[ExtModule-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[ST17H66]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-003&lt;br /&gt;
|模块电路，用于验证XL2409 廉价2.4G无线SOC&lt;br /&gt;
|[[ExtModule-003]]&lt;br /&gt;
|&lt;br /&gt;
* [[XL2409]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用技术栈 ==&lt;br /&gt;
&lt;br /&gt;
=== 使用低成本无线连接的设备 ===&lt;br /&gt;
通常情况下，除了直接接入网络，通常还可以使用网关代为接入网络，此时大致可分为网关设备（例如ZigBee网络的协调器）与子设备（例如ZigBee的路由器与终端设备）。&lt;br /&gt;
&lt;br /&gt;
网关设备通常用于协议的转换，通常使用性能相对强大的设备担任。&lt;br /&gt;
&lt;br /&gt;
子设备一般用于实际的应用，对设备的性能的要求相对较低。&lt;br /&gt;
&lt;br /&gt;
使用网关设备+子设备的模式优点如下：&lt;br /&gt;
&lt;br /&gt;
* 在节点较多时可节约成本。&lt;br /&gt;
* 某些场所无法直接接入网络。&lt;br /&gt;
&lt;br /&gt;
网关设备与子设备之间的连接可以使用有线连接（如[[CAN]]、[[Modbus|Modbus RTU]]等），也可以使用无线连接。&lt;br /&gt;
&lt;br /&gt;
使用无线连接时，主要使用以下方案:&lt;br /&gt;
&lt;br /&gt;
* [[NRF24L01+|NRF24L01]]及其兼容方案：实现简单，由用户自行定义协议，网关设备与子设备均需要自行开发。&lt;br /&gt;
* [[XL2409]]无线方案:其操作类似[[NRF24L01+|NRF24L01]]及其兼容方案,只是XL2409是一个SOC芯片，可编程。&lt;br /&gt;
* [[BLE]]：低功耗蓝牙，用户不能自定义协议，只能按照蓝牙定义的协议去开发，对于硬件而言，一般主要开发外围外设，中心设备可使用已有的硬件方案，调试使用可使用PC、手机调试。&lt;br /&gt;
&lt;br /&gt;
==== NRF24L01及其兼容方案 ====&lt;br /&gt;
采用[[NRF24L01+]]及兼容方案，直接收发数据，网络协议栈由用户自行实现。&lt;br /&gt;
&lt;br /&gt;
==== [[XL2409]]无线方案 ====&lt;br /&gt;
其操作类似[[NRF24L01+|NRF24L01]]及其兼容方案,只是XL2409是一个SOC芯片，可编程。直接收发数据，网络协议栈由用户自行实现。&lt;br /&gt;
&lt;br /&gt;
==== [[BLE]] ====&lt;br /&gt;
很多SOC方案支持开发中心设备，也支持开发外围设备，但一般只开发外围设备（通常用于子设备）的硬件（调试使用PC、手机），中心设备的硬件可使用支持BLE的现成方案。&lt;br /&gt;
&lt;br /&gt;
主要使用的BLE方案如下：&lt;br /&gt;
&lt;br /&gt;
* [[ST17H66]]: 低成本[[BLE]] SOC。&lt;br /&gt;
&lt;br /&gt;
=== 可连接TCP/IP的物联网设备 ===&lt;br /&gt;
开发物联网设备时,无论设备是通过WiFi、2G/3G/4G/5G或以太网连接网络,如设备支持TCP/IP,通常采用[[MQTT]]作为主要通信协议。&lt;br /&gt;
&lt;br /&gt;
除了主要通信协议,通常物联网设备还需要支持NTP对时，有时还需要使用到Http作为辅助协议。&lt;br /&gt;
&lt;br /&gt;
主要使用的协议如下：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!协议名称&lt;br /&gt;
!说明&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|[[MQTT]]&lt;br /&gt;
|MQTT是专门针对物联网开发的轻量级传输协议。&lt;br /&gt;
|通常采用TCP，可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[LwM2M]]&lt;br /&gt;
|LwM2M是一种轻量级的、标准通用的物联网设备管理协议，可用于快速部署客户端/服务器模式的物联网业务&lt;br /&gt;
|通常采用UDP，常见于NB-IOT模块。&lt;br /&gt;
由于UDP的在公网上的老化（公网的NAT转换机制），在公网上不能实现实时控制，只能应用于周期上报的设备。&lt;br /&gt;
&lt;br /&gt;
在专网或者局域网内可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[CoAP]]&lt;br /&gt;
|CoAP是一种用于受限节点与受限网络的web传输协议，由IETF提出。&lt;br /&gt;
|通常采用UDP，可使用DTLS加密，一般情况下用于在受限环境中替代http。&lt;br /&gt;
|-&lt;br /&gt;
|Http/Https&lt;br /&gt;
|超文本传输协议（Hypertext Transfer Protocol，HTTP）是一个简单的请求-响应协议。&lt;br /&gt;
|通常用于调用后端服务器的api接口。&lt;br /&gt;
|-&lt;br /&gt;
|NTP&lt;br /&gt;
|NTP是用来使计算机时间同步化的一种协议。&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[CSA Matter|Matter]]&lt;br /&gt;
|Matter是一个统一的、开源的应用层连接标准，旨在使开发人员和设备制造商能够连接和构建可靠的、安全的生态系统，并增加智能家具设备之间的兼容性。&lt;br /&gt;
|按照其架构，可使用TCP/UDP,基于[[IPV6]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 低成本方案 ====&lt;br /&gt;
低成本方案主要是指硬件采用SOC方案并且操作系统采用嵌入式操作系统的方案或者外设方案:&lt;br /&gt;
&lt;br /&gt;
* [[Air724UG]] :4G模块，可使用C/C++进行二次开发。&lt;br /&gt;
* [[Air780E]]:4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价。&lt;br /&gt;
* [[ESP8266]] ： WIFI模块。&lt;br /&gt;
* [[ESP32]] : WIFI模块,可接以太网PHY实现以太网上网。&lt;br /&gt;
* [[W600]] ： WIFI模块。&lt;br /&gt;
* [[W800]] ： WIFI模块。&lt;br /&gt;
* [[CH579]] ： 自带以太网PHY,可实现以太网上网。&lt;br /&gt;
*[[W5500]] :全硬件以太网外设芯片，需配合主控使用。&lt;br /&gt;
&lt;br /&gt;
==== 一般方案 ====&lt;br /&gt;
一般方案主要指资源相对充足的方案,一般采用Linux作为内核:&lt;br /&gt;
&lt;br /&gt;
* [[MT7688]] :可采用以太网或者WIFI联网,通过USB可接4G上网模块通过RNDIS上网。&lt;br /&gt;
&lt;br /&gt;
=== 带交流计量功能的设备 ===&lt;br /&gt;
==== 单相SOC方案 ====&lt;br /&gt;
对于单相计量（即常见的家用电）设备,通常采用SOC方案:&lt;br /&gt;
* [[RN8211B]]&lt;br /&gt;
* [[HT502X]]&lt;br /&gt;
此类SOC通常可以使用内置的模块完成包括计量功能在内的大部分需求,在某些情况下也可开发高精度的直流计量设备。&amp;lt;br&amp;gt;&lt;br /&gt;
如需与其它设备进行交互，通常还需要添加通信模块或者使用串口通信。&amp;lt;br&amp;gt;&lt;br /&gt;
若使用串口通信,本人常用[[Modbus]] RTU作为具体协议,将具体的硬件资源映射为线圈(可读写的位)、输入线圈(只读的位)、保持寄存器(可读写)、输入寄存器(只读)。&amp;lt;br&amp;gt;&lt;br /&gt;
* [[SimpleModbusRTUPacket]]&lt;br /&gt;
==== 单相非SOC方案 ====&lt;br /&gt;
若由于需要采用低成本导致计量部分相对于强电非隔离,而设备上又需要输出隔离接口时,通常采用非SOC方案+串口/SPI口隔离,常用芯片方案:&lt;br /&gt;
* [[RN8209]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&lt;br /&gt;
==== 三相非SOC方案 ====&lt;br /&gt;
若待计量的电路为三相电路,常用芯片方案:&lt;br /&gt;
* [[RN8302B]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&amp;lt;br&amp;gt;&lt;br /&gt;
注意:截至编辑时,尚未发现三相SOC方案。&lt;br /&gt;
=== 带有特殊功能的路由器/WIFI网关 ===&lt;br /&gt;
芯片方案：&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
软件开发方案:&lt;br /&gt;
* [[ openwrt ]]&lt;br /&gt;
在内核[[Devicetree|设备树(dts)]]配置中使能需要使用的标准接口，并在openwrt的[[Kconfig|menuconfig]]中选中对应的kmod包后,即可使用[[Linux]]用户程序(非内核模块)操作硬件设备。&amp;lt;br&amp;gt;&lt;br /&gt;
对于SPI、I2C与UART而言,用户可通过打开/dev目录下的相应字符设备即可使用。&amp;lt;br&amp;gt;&lt;br /&gt;
对于GPIO而言,可使用sysfs文件系统目录:/sys/class/gpio目录进行GPIO操作。&lt;br /&gt;
&lt;br /&gt;
=== 基于[[USB]]的外设扩展 ===&lt;br /&gt;
对于使用Linux内核的设备的外设扩展,本人较为推崇使用[[USB]]作为外设总线,其优点如下:&lt;br /&gt;
&lt;br /&gt;
* 支持热插拔与子设备枚举，无需在设备树中配置所挂接的子设备。&lt;br /&gt;
* 可使用hub扩展较多接口。&lt;br /&gt;
* 支持[[USB]]的转换芯片较多。&lt;br /&gt;
&lt;br /&gt;
一般来讲，对于少量控制数据的传输，[[USB]] 2.0的传输速度就足够了。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] HUB ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH334/CH335&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH334.html&lt;br /&gt;
|-&lt;br /&gt;
|CH338&lt;br /&gt;
|7口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH338.html&lt;br /&gt;
|-&lt;br /&gt;
|FE1.1s&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HS8836A&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 转换芯片 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH340&lt;br /&gt;
|USB转串口/打印口&lt;br /&gt;
|https://www.wch.cn/products/CH340.html&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 上位机软件开发 ====&lt;br /&gt;
&lt;br /&gt;
* 对于标准外设，可按照标准外设的使用方法，如[[USB]]转串口按照串口的方式使用。&lt;br /&gt;
* 对于[[USB]]原生的应用(直接通过端点发送接收数据),可使用[https://libusb.info/ libusb]开发。&lt;br /&gt;
* 对于基于[[USB]]的HID设备，若未被其它内核驱动使用，可使用[https://github.com/signal11/hidapi hidapi]开发。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 嵌入式开发 ====&lt;br /&gt;
若未具体说明，本章节中的[[USB]]嵌入式开发指Device端的嵌入式开发，即[[USB]]外设开发。&lt;br /&gt;
&lt;br /&gt;
除了各个芯片厂商提供的[[USB]]栈，还可使用以下USB栈用于USB外设开发：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!USB库&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
!tinyusb&lt;br /&gt;
!开源、跨平台的USB HOST/DEVICE栈&lt;br /&gt;
!https://www.tinyusb.org/&lt;br /&gt;
|-&lt;br /&gt;
!CherryUSB&lt;br /&gt;
!小而美的、可移植性高的、用于嵌入式系统的 USB 主从协议栈&lt;br /&gt;
!https://cherryusb.readthedocs.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子线连接器 ===&lt;br /&gt;
很多时候一个产品可由多个PCB组成，而PCB之间除了直接焊线，还可以由电子线连接器（包括插头、插座）连接。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+常用电子线连接器&lt;br /&gt;
!引脚间距(mm)&lt;br /&gt;
!类型&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
* SH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.25&lt;br /&gt;
|&lt;br /&gt;
* GH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.50&lt;br /&gt;
|&lt;br /&gt;
* ZH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.00&lt;br /&gt;
|&lt;br /&gt;
* PH&lt;br /&gt;
* HY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.50/2.54&lt;br /&gt;
|&lt;br /&gt;
* EH&lt;br /&gt;
* XH&lt;br /&gt;
* SM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.96&lt;br /&gt;
|&lt;br /&gt;
* VH&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
注意：&lt;br /&gt;
&lt;br /&gt;
# 以上所指的类型可能只是实际连接器的型号的一部分,一般用于搜索相应器件。如在淘宝上搜索&#039;&#039;&#039;PH 连接器&#039;&#039;&#039; 即可获取类型为PH的连接器。&lt;br /&gt;
# 同一个引脚间距可能有多个类型，这些不同的类型一般有其它差异（如材料、结构等）。&lt;br /&gt;
# 如需某个类型的双排连接器，可在类型中添加D(仅适用于部分类型),如需要类型为PH的连接器,则搜索&#039;&#039;&#039;PHD 连接器&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
=== 外壳方案 ===&lt;br /&gt;
&lt;br /&gt;
==== 可采用导轨安装的外壳方案 ====&lt;br /&gt;
对于电气控制柜、仪表柜、配电箱等，安装导轨是一个极其常见的配件。&lt;br /&gt;
&lt;br /&gt;
常用的安装导轨方案如下:&lt;br /&gt;
&lt;br /&gt;
* DIN TS35:35×7.5 安装导轨,宽度35mm,深度7.5mm,材质形式为钢、铝、铜等，表现形式为横条状金属片&lt;br /&gt;
&lt;br /&gt;
若未特殊说明，导轨均指DIN TS35安装导轨。&lt;br /&gt;
&lt;br /&gt;
对于带计量的产品而言,除了设计成插座样式，还可以设计成导轨安装并安放在配电箱里。&lt;br /&gt;
&lt;br /&gt;
对于需要安装至导轨的产品而言，主要有以下方案:&lt;br /&gt;
&lt;br /&gt;
* 直接使用可用于导轨安装的外壳。&lt;br /&gt;
* 采用导轨安装卡扣,卡扣上通常有螺丝孔位，可通过螺丝安装产品。&lt;br /&gt;
&lt;br /&gt;
==== 廉价铝壳外壳方案 ====&lt;br /&gt;
作为物联网产品(尤其是具有RTU/DTU角色的物联网产品)，通常需要一个外壳。一般情况下，可使用铁壳或者铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
为减小成本,本人一般采用成品铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
注意:本段落中的铝壳主要指主要外形为长方体，两侧或者顶部具有可拆卸的盖子的壳体，并不泛指所有采用铝作为主要材料的壳体。&lt;br /&gt;
&lt;br /&gt;
一般情况下,通常需要给铝壳开孔以引出接口，常用方案如下:&lt;br /&gt;
&lt;br /&gt;
* 正面开孔，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 侧盖开孔(一面或两面)，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 采用PCB作为侧盖(一般使用黑色的壳体配合黑色PCB),使用PCB制造开孔。仅试样的情况下,价格相对便宜。&lt;br /&gt;
* 一侧不要侧盖。适用于直接引出导线的产品,一般配合灌胶工艺。一般直接用于量产产品。&lt;br /&gt;
如需使用导轨安装，可使用导轨安装卡扣固定铝壳。&lt;br /&gt;
&lt;br /&gt;
===== 常用尺寸1 =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+铝壳参数&lt;br /&gt;
!长&lt;br /&gt;
!宽&lt;br /&gt;
!高&lt;br /&gt;
!PCB块数&lt;br /&gt;
!PCB最大厚度&lt;br /&gt;
!PCB最大宽度&lt;br /&gt;
!PCB最大长度&lt;br /&gt;
|-&lt;br /&gt;
|100mm&lt;br /&gt;
|66mm&lt;br /&gt;
|27mm&lt;br /&gt;
|2(一块顶部PCB板，一块底部PCB板)&lt;br /&gt;
|2mm&lt;br /&gt;
|60.3mm(不能小太多)&lt;br /&gt;
|100mm(取决于铝壳长度，一般可定制)&lt;br /&gt;
|}&lt;br /&gt;
[[文件:ALUMINUM SHELL 66x27x100.png|居中|有框]]&lt;br /&gt;
&lt;br /&gt;
==== 接线盒(家庭) ====&lt;br /&gt;
此处所指接线盒主要指家庭中用于开关/插座的接线盒,并不指广义接线盒。&lt;br /&gt;
&lt;br /&gt;
接线盒主要由底盒与面板组成。&lt;br /&gt;
&lt;br /&gt;
其中底盒的种类多种多样，根据可分为明装与暗装，一般底盒均为提前安装好的，不可简单增加与减少。&lt;br /&gt;
&lt;br /&gt;
面板一般是嵌入式开发中常用的壳体，只要保证安装孔距正确，即可安装在提前安装的底盒上。&lt;br /&gt;
&lt;br /&gt;
接线盒可根据面板尺寸进行分类，主要有以下型号：&lt;br /&gt;
&lt;br /&gt;
* 86型&lt;br /&gt;
* 118型&lt;br /&gt;
* 120型&lt;br /&gt;
&lt;br /&gt;
采用接线盒进行嵌入式开发主要开发以下设备（与传统开关、传统插座有一定相似之处）：&lt;br /&gt;
&lt;br /&gt;
* 智能家居控制面板:可进行联网操作，控制智能家居设备。可显示一些信息（如时间、天气、场景等信息）。可连接到其它智能设备（如智能音箱）&lt;br /&gt;
* 智能家居开关：功能与传统开关类似，可通过无线（如BLE、Zigbee等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
* 智能家居插座：功能与传统插座类似，可远程控制、数据采集（电量、电压、电流等）。可通过无线（如BLE、Zigbee、WiFi等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
&lt;br /&gt;
===== 86型接线盒 =====&lt;br /&gt;
86型接线盒作为较常用的接线盒，俗称86盒，其面板尺寸86mmX86mm。&lt;br /&gt;
&lt;br /&gt;
许多厂商也提供采用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寸开发板]。&lt;br /&gt;
&lt;br /&gt;
== 常用芯片及模块 ==&lt;br /&gt;
=== 常用芯片及核心模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 常用芯片及核心模块&lt;br /&gt;
|-&lt;br /&gt;
! 芯片/模块名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8211B || 单相计量SOC || [[RN8211B]]&lt;br /&gt;
|-&lt;br /&gt;
| HT502X || 单相计量SOC || [[HT502X]]&lt;br /&gt;
|-&lt;br /&gt;
| Air724UG || 4G模块,进行C语言开发 || [[Air724UG]]&lt;br /&gt;
|-&lt;br /&gt;
|Air780E&lt;br /&gt;
|4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价&lt;br /&gt;
|[[Air780E]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-12F || WIFI透传模块，可支持二次开发，主芯片为ESP8266 || [[ESP8266]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-32S || ESP32模块，可支持WIFI、蓝牙、以太网,可采用esp-idf开发 || [[ESP32]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-01 || W600开发板，WIFI SOC，Cortex-M3内核 || [[W600]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-08 || W800开发板，WIFI/蓝牙 SOC， XT804内核 || [[W800]]&lt;br /&gt;
|-&lt;br /&gt;
| CH579|| 以太网、蓝牙、USB SOC，Cortex-M0内核MCU || [[CH579]]&lt;br /&gt;
|-&lt;br /&gt;
| HLK-7688A|| MT7688芯片核心模块，可采用openwrt开发 || [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
| E18-MS1|| CC2530芯片核心模块，可采用contiki开发或者Z-Stack开发 || [[CC2530]]&lt;br /&gt;
|-&lt;br /&gt;
|Air105&lt;br /&gt;
|廉价大内存mcu,4M flash,640K SRAM,Cortex-M4F&lt;br /&gt;
|[[Air105]]&lt;br /&gt;
|-&lt;br /&gt;
|Lichee Zero&lt;br /&gt;
|全志V3s开发板，64M DRAM，廉价Linux开发板，V3s芯片可手贴&lt;br /&gt;
|[[V3s]]   [https://wiki.sipeed.com/hardware/zh/lichee/Zero/Zero.html Lichee Zero]&lt;br /&gt;
|-&lt;br /&gt;
|Air32F103&lt;br /&gt;
|96K RAM,兼容STM32F103&lt;br /&gt;
|[[Air32F103]] http://air32.cn&lt;br /&gt;
|-&lt;br /&gt;
|ST17H66&lt;br /&gt;
|64K RAM，256K Flash,廉价蓝牙SOC&lt;br /&gt;
|[[ST17H66]]&lt;br /&gt;
|}&lt;br /&gt;
注意:此章节可能不包含资料较多，应用极其成熟的芯片系列。&lt;br /&gt;
=== 外设芯片及外设模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 外设芯片及外设模块&lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! 接口 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8302B || 三相计量芯片 || SPI || [[RN8302B]]&lt;br /&gt;
|-&lt;br /&gt;
| RN8209C/RN8209D || 单相计量芯片 ||&lt;br /&gt;
* UART&lt;br /&gt;
* SPI&lt;br /&gt;
| [[RN8209]]&lt;br /&gt;
|-&lt;br /&gt;
| NRF24L01+ || 2.4G无线芯片,具有众多兼容替代(如Si24R1) || SPI+GPIO(中断、CE) || [[NRF24L01+]]&lt;br /&gt;
|-&lt;br /&gt;
|W5500&lt;br /&gt;
|全硬件栈以太网芯片&lt;br /&gt;
|SPI&lt;br /&gt;
|[[W5500]]&lt;br /&gt;
|-&lt;br /&gt;
|中景园0.96寸OLED点阵屏&lt;br /&gt;
|分辨率128x64,显示驱动（控制）芯片SSD1306&lt;br /&gt;
|&lt;br /&gt;
* IIC&lt;br /&gt;
* SPI+GPIO(DC、RES)&lt;br /&gt;
|[[SSD1306]] [[中景园0.96寸OLED点阵屏]]&lt;br /&gt;
|-&lt;br /&gt;
|AHT20&lt;br /&gt;
|温湿度传感器&lt;br /&gt;
|IIC&lt;br /&gt;
|[[AHT20]]&lt;br /&gt;
|-&lt;br /&gt;
|DS1307&lt;br /&gt;
|RTC（实时时钟）&lt;br /&gt;
|IIC&lt;br /&gt;
|[[DS1307]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用嵌入式操作系统、BootLoader、嵌入式固件及嵌入式软件库 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| FreeRTOS || 嵌入式操作系统 || [[FreeRTOS]]&lt;br /&gt;
|-&lt;br /&gt;
| rt-thread || 物联网嵌入式操作系统 || [[ rt-thread ]] &lt;br /&gt;
|-&lt;br /&gt;
|nuttx||嵌入式操作系统||[[nuttx]]&lt;br /&gt;
|-&lt;br /&gt;
|paho.mqtt.embedded-c|| MQTT客户端，可移植到各种芯片平台||[[paho.mqtt.embedded-c]]&lt;br /&gt;
|-&lt;br /&gt;
|openwrt||操作系统，嵌入式Linux构建工具||[[ openwrt | openwrt]]&lt;br /&gt;
|-&lt;br /&gt;
|u8g2&lt;br /&gt;
|单色/点阵屏驱动库&lt;br /&gt;
|[[u8g2]]&lt;br /&gt;
|-&lt;br /&gt;
|U-Boot&lt;br /&gt;
|通用引导加载器。通常用于加载[[Linux]]。&lt;br /&gt;
|[[U-Boot]]&lt;br /&gt;
|-&lt;br /&gt;
|Newlib&lt;br /&gt;
|嵌入式C运行库（通常配合GCC使用）&lt;br /&gt;
|[[Newlib]]&lt;br /&gt;
|-&lt;br /&gt;
|printf&lt;br /&gt;
|printf, sprintf and (v)snprintf 实现&lt;br /&gt;
|[[printf]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==常用工具==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+常用工具&lt;br /&gt;
|-&lt;br /&gt;
!名称!!说明!!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|easy-rsa||使用SSL/TLS时,自签证书制作/管理工具||[[easy-rsa]]&lt;br /&gt;
|-&lt;br /&gt;
|buildroot||嵌入式Linux构建工具||[[buildroot]]&lt;br /&gt;
|-&lt;br /&gt;
|debootstrap||Linux系统根文件系统创建工具,可创建Debian系Linux系统根文件系统||[[debootstrap]]&lt;br /&gt;
|-&lt;br /&gt;
|crosstool-ng||交叉编译工具链创建工具||[[crosstool-ng]]&lt;br /&gt;
|-&lt;br /&gt;
|ScreenToGif&lt;br /&gt;
|在Windows下录屏制作gif的工具&lt;br /&gt;
|https://github.com/NickeManarin/ScreenToGif.git&lt;br /&gt;
|-&lt;br /&gt;
|Xfel&lt;br /&gt;
|全志SOC的FEL工具（可下载固件等）&lt;br /&gt;
|[[Xfel]]&lt;br /&gt;
|-&lt;br /&gt;
|busybox&lt;br /&gt;
|unix工具箱，可用于创建体积极小的rootfs&lt;br /&gt;
|[[busybox]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===IDE环境/开发环境/开发工具===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|codeblocks&lt;br /&gt;
|免费的C/C++ IDE,可开发多种C/C++程序。本人只要将它用作基于CMake构建的工程的代码编写。&lt;br /&gt;
|http://www.codeblocks.org/&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Visual Studio&lt;br /&gt;
|微软的开发工具集。本人主要用于开发WIN32程序。本人优先使用codeblocks作为C/C++开发环境,VS占用的空间太大,但有些第三方库在Windows上可能只支持MSVC,故而必须使用VS。&lt;br /&gt;
|https://visualstudio.microsoft.com/zh-hans/&lt;br /&gt;
|-&lt;br /&gt;
|keil5&lt;br /&gt;
|用于ARM嵌入式芯片的开发。注意:keil5不是免费的。&lt;br /&gt;
|https://www.keil.com/&lt;br /&gt;
|-&lt;br /&gt;
|IAR&lt;br /&gt;
|本人主要使用针对ARM嵌入式芯片的开发。注意:IAR不是免费的。&lt;br /&gt;
|https://www.iar.com/&lt;br /&gt;
|-&lt;br /&gt;
|QtCreator&lt;br /&gt;
|用于创建基于Qt的程序。&lt;br /&gt;
|https://www.qt.io/product/development-tools&lt;br /&gt;
|-&lt;br /&gt;
|MounRiver&lt;br /&gt;
|基于Eclipse的嵌入式ARM/RISC-V的集成开发环境。本人主要用于测试[https://www.wch.cn/ WCH]的单片机。&lt;br /&gt;
|http://www.mounriver.com/&lt;br /&gt;
|-&lt;br /&gt;
|RT-Thread Studio&lt;br /&gt;
|一站式的 RT-Thread 开发工具，通过简单易用的图形化配置系统以及丰富的软件包和组件资源，让物联网开发变得简单和高效。本人主要用于开发与rt-thread相关设备。&lt;br /&gt;
|https://www.rt-thread.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子硬件设计(原理图绘制/PCB绘制/其它相关工具) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|立创EDA&lt;br /&gt;
|高效的国产PCB设计工具，永久免费。可在线使用。&lt;br /&gt;
|https://lceda.cn/&lt;br /&gt;
|-&lt;br /&gt;
|KiCad&lt;br /&gt;
|跨平台开源电子设计套装。&lt;br /&gt;
|https://www.kicad.org/&lt;br /&gt;
|-&lt;br /&gt;
|freerouting&lt;br /&gt;
|自动布线工具。可配合立创EDA或KiCad使用。本人用于替代立创EDA自带的自动布线。&lt;br /&gt;
|https://www.freerouting.app/&lt;br /&gt;
https://github.com/freerouting/freerouting.git&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 测试工具 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Apipost&lt;br /&gt;
|Apipost-API 文档、设计、调试、自动化测试一体化协作平台。具有免费版本。&lt;br /&gt;
|https://www.apipost.cn/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 编译器 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|sdcc&lt;br /&gt;
|用于8位/16位单片机(如MCS51、DS80C390 、HC08、Z80、STM8, MOS 6502 、WDC 65C02等)的C编译器&lt;br /&gt;
|https://sdcc.sourceforge.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 流程图/框图绘制 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|dia&lt;br /&gt;
|跨平台开源流程图绘制工具&lt;br /&gt;
|http://dia-installer.de/&lt;br /&gt;
https://sourceforge.net/projects/dia/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 图像处理 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|GIMP&lt;br /&gt;
|免费开源图像编辑器&lt;br /&gt;
|https://www.gimp.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 作曲工具(MIDI制作) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|LMMS&lt;br /&gt;
|免费自由开源并且跨平台的作曲工具&lt;br /&gt;
|https://lmms.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 字体编辑 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|FontForge&lt;br /&gt;
|免费字体编辑器&lt;br /&gt;
|https://fontforge.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 国际化/本地化 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Poedit&lt;br /&gt;
|.po编辑工具。可编辑使用 [[xgettext]] 生成的翻译文件&lt;br /&gt;
|https://poedit.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 压缩/解压缩 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|7-zip&lt;br /&gt;
|开源免费的压缩/解压缩软件。Windows下有GUI程序，Linux下只有控制台版本。&lt;br /&gt;
|http://www.7-zip.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 虚拟磁盘/磁盘驱动 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|imdisk&lt;br /&gt;
|Windows下开源虚拟磁盘工具,可方便挂载内存盘（存放临时文件）。&lt;br /&gt;
|https://sourceforge.net/projects/imdisk-toolkit&lt;br /&gt;
|-&lt;br /&gt;
|Ext2fsd&lt;br /&gt;
|Windows下访问Ext2/Ext3/Ext4文件系统驱动。&lt;br /&gt;
|https://sourceforge.net/projects/ext2fsd/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 安装/卸载 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Geek Uninstaller&lt;br /&gt;
|Windows下程序卸载工具,具有免费的版本。&lt;br /&gt;
|https://geekuninstaller.com/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===小工具(自写/修改/组合)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki&lt;br /&gt;
!支持平台&lt;br /&gt;
|-&lt;br /&gt;
|CC3200_GangGenerator&lt;br /&gt;
|生成用于烧录CC3200 SPI Flash的工具&lt;br /&gt;
|[[CC3200_GangGenerator]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
|-&lt;br /&gt;
|WMToolHelper&lt;br /&gt;
| W600烧录工具&lt;br /&gt;
|[[WMToolHelper]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|WinBleTool&lt;br /&gt;
| Windows下调试BLE的工具&lt;br /&gt;
|[[WinBleTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10(及以上)&lt;br /&gt;
|-&lt;br /&gt;
|SimpleBLETool&lt;br /&gt;
|调试BLE的工具&lt;br /&gt;
| [[SimpleBLETool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10+&lt;br /&gt;
*Linux(ubuntu 20.04+)&lt;br /&gt;
|-&lt;br /&gt;
|cutecom-ng&lt;br /&gt;
|基于Qt5的串口工具。个人修改版。&lt;br /&gt;
|[[cutecom-ng]]&lt;br /&gt;
|只要是Qt5支持的桌面平台均支持。&lt;br /&gt;
|-&lt;br /&gt;
|OneNETTool&lt;br /&gt;
|开发OneNET辅助工具&lt;br /&gt;
|[[OneNETTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|QGDW12184Tool&lt;br /&gt;
|开发Q/GDW 12184辅助工具&lt;br /&gt;
|[[QGDW12184Tool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|XServerForWSL1&lt;br /&gt;
|利用cygwin中的X服务对WSL提供X服务&lt;br /&gt;
|[[XServerForWSL1]]&lt;br /&gt;
|支持WSL1的Windows&lt;br /&gt;
|-&lt;br /&gt;
|linux_binfmt_pe&lt;br /&gt;
|使用[[wine]]直接执行PE可执行文件的Linux内核模块&lt;br /&gt;
|[[linux_binfmt_pe]]&lt;br /&gt;
|&lt;br /&gt;
* Linux内核&lt;br /&gt;
|-&lt;br /&gt;
|Win32Redirector&lt;br /&gt;
|重定向win32控制台应用至MSYS2或者Cygwin中的程序。&lt;br /&gt;
|[[Win32Redirector]]&lt;br /&gt;
|&lt;br /&gt;
* Windows&lt;br /&gt;
|-&lt;br /&gt;
|HEnvBox&lt;br /&gt;
|快速搭建本人常用的开发环境。&lt;br /&gt;
|[[HEnvBox]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 10及更新版&lt;br /&gt;
* Ubuntu 22.04&lt;br /&gt;
* Debian&lt;br /&gt;
* Deepin&lt;br /&gt;
|-&lt;br /&gt;
|HVCP&lt;br /&gt;
|Windows下虚拟串口&lt;br /&gt;
|[[HVCP]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 7 及更新系统&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用库 ==&lt;br /&gt;
此章节主要对使用的比较多的库做一个整理。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!官网&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki&lt;br /&gt;
|-&lt;br /&gt;
|wxWidgets&lt;br /&gt;
|https://www.wxwidgets.org/&lt;br /&gt;
|跨平台GUI库&lt;br /&gt;
|[[wxWidgets]]&lt;br /&gt;
|-&lt;br /&gt;
|Qt&lt;br /&gt;
|https://www.qt.io/&lt;br /&gt;
|跨平台库（包括GUI）&lt;br /&gt;
|[[Qt]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 工具/库（自写/修改） ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|DeployWin&lt;br /&gt;
|MSYS2与CygWin下编程辅助打包库。一般配合CMake的CPack使用。&lt;br /&gt;
|[[DeployWin]]&lt;br /&gt;
|-&lt;br /&gt;
|HCppBox&lt;br /&gt;
|本人常用的C/C++代码&lt;br /&gt;
|[[HCppBox]]&lt;br /&gt;
|-&lt;br /&gt;
|SimpleModbusRTUPacket&lt;br /&gt;
|简易的[[Modbus]] RTU包解析&lt;br /&gt;
|[[SimpleModbusRTUPacket]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==常用镜像站==&lt;br /&gt;
在找各种源码资源时，经常遇到国外网站下载较慢的情况下，此时通常需要更换镜像站。&lt;br /&gt;
&lt;br /&gt;
例如:&lt;br /&gt;
&lt;br /&gt;
*ubuntu系统的软件包(包括使用deboostrap的镜像源)&lt;br /&gt;
*python软件包&lt;br /&gt;
*gnu软件源码包&lt;br /&gt;
*linux源码&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!地址&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.ustc.edu.cn/&lt;br /&gt;
|中国科学技术大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.tuna.tsinghua.edu.cn/&lt;br /&gt;
|清华大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.163.com/&lt;br /&gt;
|网易开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.aliyun.com/&lt;br /&gt;
|阿里开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.cernet.edu.cn&lt;br /&gt;
|校园网联合镜像站&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 静态文档网站 ==&lt;br /&gt;
一些静态的网页文档,如[https://www.doxygen.nl/ doxygen]生成的帮助文档与[https://docsify.js.org/#/ docsify]制作的静态说明文档。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!类型&lt;br /&gt;
!URL&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|静态文档仓库&lt;br /&gt;
|https://heyahong.github.io/#/&lt;br /&gt;
|采用github pages托管,源代码仓库:https://github.com/HEYAHONG/HEYAHONG.github.io.git&lt;br /&gt;
|-&lt;br /&gt;
|网站&lt;br /&gt;
|http://docs.hyhsystem.cn&lt;br /&gt;
|采用nginx服务器,运行于云服务器&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==相关链接==&lt;br /&gt;
&lt;br /&gt;
*[[测试资源]]&lt;br /&gt;
*[[第三方资源]]&lt;br /&gt;
*[[方案发现与探索]]&lt;br /&gt;
*[[杂项笔记与测试代码]]&lt;br /&gt;
*[[常见问题]]&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=ExtModule-003&amp;diff=1137</id>
		<title>ExtModule-003</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=ExtModule-003&amp;diff=1137"/>
		<updated>2025-05-30T17:21:41Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​创建页面，内容为“== 仓库 ==  === 主要 === https://github.com/HEYAHONG/ExtModule-003  === 备用 === https://gitee.com/HEYAHONG/ExtModule-003  == 说明 == 模块电路，用于验证XL2409 廉价2.4G无线SOC”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 仓库 ==&lt;br /&gt;
&lt;br /&gt;
=== 主要 ===&lt;br /&gt;
https://github.com/HEYAHONG/ExtModule-003&lt;br /&gt;
&lt;br /&gt;
=== 备用 ===&lt;br /&gt;
https://gitee.com/HEYAHONG/ExtModule-003&lt;br /&gt;
&lt;br /&gt;
== 说明 ==&lt;br /&gt;
模块电路，用于验证XL2409 廉价2.4G无线SOC&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1136</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1136"/>
		<updated>2025-05-30T17:19:46Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 嵌入式项目 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 常用项目 ==&lt;br /&gt;
&lt;br /&gt;
=== 嵌入式项目 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!简介&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
!标签&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-001     &lt;br /&gt;
|扩展板,用于扩展一个可编程通道(RS485)。&lt;br /&gt;
主要采用以下芯片:&lt;br /&gt;
&lt;br /&gt;
* CH334R:USB Hub。&lt;br /&gt;
* [[Air32F103CCT6]]:[[DAPLink]]主控芯片、Core主控芯片。&lt;br /&gt;
* MAX3485：3.3V电源驱动的RS485收发芯片。&lt;br /&gt;
|[[ExtBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[DAPLink]]&lt;br /&gt;
* [[Air32F103]]&lt;br /&gt;
|-&lt;br /&gt;
|CoreBoard-001&lt;br /&gt;
|核心板。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* HLK-7688A:[[MT7688AN]]核心板。&lt;br /&gt;
* DS1307：实时时钟&lt;br /&gt;
|[[CoreBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-002&lt;br /&gt;
|扩展板。使用USB提供4G联网功能。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|[[ExtBoad-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-003&lt;br /&gt;
|扩展板。USB CAN适配器，复刻[[candleLight]]。&lt;br /&gt;
|[[ExtBoard-003]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-001&lt;br /&gt;
|模块电路，用于验证廉价PY32单片机&lt;br /&gt;
|[[ExtModule-001]]&lt;br /&gt;
|&lt;br /&gt;
* PY32&lt;br /&gt;
* [[Modbus]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-002&lt;br /&gt;
|模块电路，用于验证ST17H66 蓝牙SOC&lt;br /&gt;
|[[ExtModule-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[ST17H66]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-003&lt;br /&gt;
|模块电路，用于验证XL2409 廉价2.4G无线SOC&lt;br /&gt;
|[[ExtModule-003]]&lt;br /&gt;
|&lt;br /&gt;
* [[XL2409]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用技术栈 ==&lt;br /&gt;
&lt;br /&gt;
=== 使用低成本无线连接的设备 ===&lt;br /&gt;
通常情况下，除了直接接入网络，通常还可以使用网关代为接入网络，此时大致可分为网关设备（例如ZigBee网络的协调器）与子设备（例如ZigBee的路由器与终端设备）。&lt;br /&gt;
&lt;br /&gt;
网关设备通常用于协议的转换，通常使用性能相对强大的设备担任。&lt;br /&gt;
&lt;br /&gt;
子设备一般用于实际的应用，对设备的性能的要求相对较低。&lt;br /&gt;
&lt;br /&gt;
使用网关设备+子设备的模式优点如下：&lt;br /&gt;
&lt;br /&gt;
* 在节点较多时可节约成本。&lt;br /&gt;
* 某些场所无法直接接入网络。&lt;br /&gt;
&lt;br /&gt;
网关设备与子设备之间的连接可以使用有线连接（如[[CAN]]、[[Modbus|Modbus RTU]]等），也可以使用无线连接。&lt;br /&gt;
&lt;br /&gt;
使用无线连接时，主要使用以下方案:&lt;br /&gt;
&lt;br /&gt;
* [[NRF24L01+|NRF24L01]]及其兼容方案：实现简单，由用户自行定义协议，网关设备与子设备均需要自行开发。&lt;br /&gt;
* [[BLE]]：低功耗蓝牙，用户不能自定义协议，只能按照蓝牙定义的协议去开发，对于硬件而言，一般主要开发外围外设，中心设备可使用已有的硬件方案，调试使用可使用PC、手机调试。&lt;br /&gt;
&lt;br /&gt;
==== NRF24L01及其兼容方案 ====&lt;br /&gt;
采用[[NRF24L01+]]及兼容方案，直接收发数据，网络协议栈由用户自行实现。&lt;br /&gt;
&lt;br /&gt;
==== [[BLE]] ====&lt;br /&gt;
很多SOC方案支持开发中心设备，也支持开发外围设备，但一般只开发外围设备（通常用于子设备）的硬件（调试使用PC、手机），中心设备的硬件可使用支持BLE的现成方案。&lt;br /&gt;
&lt;br /&gt;
主要使用的BLE方案如下：&lt;br /&gt;
&lt;br /&gt;
* [[ST17H66]]: 低成本[[BLE]] SOC。&lt;br /&gt;
&lt;br /&gt;
=== 可连接TCP/IP的物联网设备 ===&lt;br /&gt;
开发物联网设备时,无论设备是通过WiFi、2G/3G/4G/5G或以太网连接网络,如设备支持TCP/IP,通常采用[[MQTT]]作为主要通信协议。&lt;br /&gt;
&lt;br /&gt;
除了主要通信协议,通常物联网设备还需要支持NTP对时，有时还需要使用到Http作为辅助协议。&lt;br /&gt;
&lt;br /&gt;
主要使用的协议如下：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!协议名称&lt;br /&gt;
!说明&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|[[MQTT]]&lt;br /&gt;
|MQTT是专门针对物联网开发的轻量级传输协议。&lt;br /&gt;
|通常采用TCP，可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[LwM2M]]&lt;br /&gt;
|LwM2M是一种轻量级的、标准通用的物联网设备管理协议，可用于快速部署客户端/服务器模式的物联网业务&lt;br /&gt;
|通常采用UDP，常见于NB-IOT模块。&lt;br /&gt;
由于UDP的在公网上的老化（公网的NAT转换机制），在公网上不能实现实时控制，只能应用于周期上报的设备。&lt;br /&gt;
&lt;br /&gt;
在专网或者局域网内可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[CoAP]]&lt;br /&gt;
|CoAP是一种用于受限节点与受限网络的web传输协议，由IETF提出。&lt;br /&gt;
|通常采用UDP，可使用DTLS加密，一般情况下用于在受限环境中替代http。&lt;br /&gt;
|-&lt;br /&gt;
|Http/Https&lt;br /&gt;
|超文本传输协议（Hypertext Transfer Protocol，HTTP）是一个简单的请求-响应协议。&lt;br /&gt;
|通常用于调用后端服务器的api接口。&lt;br /&gt;
|-&lt;br /&gt;
|NTP&lt;br /&gt;
|NTP是用来使计算机时间同步化的一种协议。&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[CSA Matter|Matter]]&lt;br /&gt;
|Matter是一个统一的、开源的应用层连接标准，旨在使开发人员和设备制造商能够连接和构建可靠的、安全的生态系统，并增加智能家具设备之间的兼容性。&lt;br /&gt;
|按照其架构，可使用TCP/UDP,基于[[IPV6]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 低成本方案 ====&lt;br /&gt;
低成本方案主要是指硬件采用SOC方案并且操作系统采用嵌入式操作系统的方案或者外设方案:&lt;br /&gt;
&lt;br /&gt;
* [[Air724UG]] :4G模块，可使用C/C++进行二次开发。&lt;br /&gt;
* [[Air780E]]:4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价。&lt;br /&gt;
* [[ESP8266]] ： WIFI模块。&lt;br /&gt;
* [[ESP32]] : WIFI模块,可接以太网PHY实现以太网上网。&lt;br /&gt;
* [[W600]] ： WIFI模块。&lt;br /&gt;
* [[W800]] ： WIFI模块。&lt;br /&gt;
* [[CH579]] ： 自带以太网PHY,可实现以太网上网。&lt;br /&gt;
*[[W5500]] :全硬件以太网外设芯片，需配合主控使用。&lt;br /&gt;
&lt;br /&gt;
==== 一般方案 ====&lt;br /&gt;
一般方案主要指资源相对充足的方案,一般采用Linux作为内核:&lt;br /&gt;
&lt;br /&gt;
* [[MT7688]] :可采用以太网或者WIFI联网,通过USB可接4G上网模块通过RNDIS上网。&lt;br /&gt;
&lt;br /&gt;
=== 带交流计量功能的设备 ===&lt;br /&gt;
==== 单相SOC方案 ====&lt;br /&gt;
对于单相计量（即常见的家用电）设备,通常采用SOC方案:&lt;br /&gt;
* [[RN8211B]]&lt;br /&gt;
* [[HT502X]]&lt;br /&gt;
此类SOC通常可以使用内置的模块完成包括计量功能在内的大部分需求,在某些情况下也可开发高精度的直流计量设备。&amp;lt;br&amp;gt;&lt;br /&gt;
如需与其它设备进行交互，通常还需要添加通信模块或者使用串口通信。&amp;lt;br&amp;gt;&lt;br /&gt;
若使用串口通信,本人常用[[Modbus]] RTU作为具体协议,将具体的硬件资源映射为线圈(可读写的位)、输入线圈(只读的位)、保持寄存器(可读写)、输入寄存器(只读)。&amp;lt;br&amp;gt;&lt;br /&gt;
* [[SimpleModbusRTUPacket]]&lt;br /&gt;
==== 单相非SOC方案 ====&lt;br /&gt;
若由于需要采用低成本导致计量部分相对于强电非隔离,而设备上又需要输出隔离接口时,通常采用非SOC方案+串口/SPI口隔离,常用芯片方案:&lt;br /&gt;
* [[RN8209]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&lt;br /&gt;
==== 三相非SOC方案 ====&lt;br /&gt;
若待计量的电路为三相电路,常用芯片方案:&lt;br /&gt;
* [[RN8302B]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&amp;lt;br&amp;gt;&lt;br /&gt;
注意:截至编辑时,尚未发现三相SOC方案。&lt;br /&gt;
=== 带有特殊功能的路由器/WIFI网关 ===&lt;br /&gt;
芯片方案：&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
软件开发方案:&lt;br /&gt;
* [[ openwrt ]]&lt;br /&gt;
在内核[[Devicetree|设备树(dts)]]配置中使能需要使用的标准接口，并在openwrt的[[Kconfig|menuconfig]]中选中对应的kmod包后,即可使用[[Linux]]用户程序(非内核模块)操作硬件设备。&amp;lt;br&amp;gt;&lt;br /&gt;
对于SPI、I2C与UART而言,用户可通过打开/dev目录下的相应字符设备即可使用。&amp;lt;br&amp;gt;&lt;br /&gt;
对于GPIO而言,可使用sysfs文件系统目录:/sys/class/gpio目录进行GPIO操作。&lt;br /&gt;
&lt;br /&gt;
=== 基于[[USB]]的外设扩展 ===&lt;br /&gt;
对于使用Linux内核的设备的外设扩展,本人较为推崇使用[[USB]]作为外设总线,其优点如下:&lt;br /&gt;
&lt;br /&gt;
* 支持热插拔与子设备枚举，无需在设备树中配置所挂接的子设备。&lt;br /&gt;
* 可使用hub扩展较多接口。&lt;br /&gt;
* 支持[[USB]]的转换芯片较多。&lt;br /&gt;
&lt;br /&gt;
一般来讲，对于少量控制数据的传输，[[USB]] 2.0的传输速度就足够了。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] HUB ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH334/CH335&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH334.html&lt;br /&gt;
|-&lt;br /&gt;
|CH338&lt;br /&gt;
|7口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH338.html&lt;br /&gt;
|-&lt;br /&gt;
|FE1.1s&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HS8836A&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 转换芯片 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH340&lt;br /&gt;
|USB转串口/打印口&lt;br /&gt;
|https://www.wch.cn/products/CH340.html&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 上位机软件开发 ====&lt;br /&gt;
&lt;br /&gt;
* 对于标准外设，可按照标准外设的使用方法，如[[USB]]转串口按照串口的方式使用。&lt;br /&gt;
* 对于[[USB]]原生的应用(直接通过端点发送接收数据),可使用[https://libusb.info/ libusb]开发。&lt;br /&gt;
* 对于基于[[USB]]的HID设备，若未被其它内核驱动使用，可使用[https://github.com/signal11/hidapi hidapi]开发。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 嵌入式开发 ====&lt;br /&gt;
若未具体说明，本章节中的[[USB]]嵌入式开发指Device端的嵌入式开发，即[[USB]]外设开发。&lt;br /&gt;
&lt;br /&gt;
除了各个芯片厂商提供的[[USB]]栈，还可使用以下USB栈用于USB外设开发：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!USB库&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
!tinyusb&lt;br /&gt;
!开源、跨平台的USB HOST/DEVICE栈&lt;br /&gt;
!https://www.tinyusb.org/&lt;br /&gt;
|-&lt;br /&gt;
!CherryUSB&lt;br /&gt;
!小而美的、可移植性高的、用于嵌入式系统的 USB 主从协议栈&lt;br /&gt;
!https://cherryusb.readthedocs.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子线连接器 ===&lt;br /&gt;
很多时候一个产品可由多个PCB组成，而PCB之间除了直接焊线，还可以由电子线连接器（包括插头、插座）连接。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+常用电子线连接器&lt;br /&gt;
!引脚间距(mm)&lt;br /&gt;
!类型&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
* SH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.25&lt;br /&gt;
|&lt;br /&gt;
* GH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.50&lt;br /&gt;
|&lt;br /&gt;
* ZH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.00&lt;br /&gt;
|&lt;br /&gt;
* PH&lt;br /&gt;
* HY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.50/2.54&lt;br /&gt;
|&lt;br /&gt;
* EH&lt;br /&gt;
* XH&lt;br /&gt;
* SM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.96&lt;br /&gt;
|&lt;br /&gt;
* VH&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
注意：&lt;br /&gt;
&lt;br /&gt;
# 以上所指的类型可能只是实际连接器的型号的一部分,一般用于搜索相应器件。如在淘宝上搜索&#039;&#039;&#039;PH 连接器&#039;&#039;&#039; 即可获取类型为PH的连接器。&lt;br /&gt;
# 同一个引脚间距可能有多个类型，这些不同的类型一般有其它差异（如材料、结构等）。&lt;br /&gt;
# 如需某个类型的双排连接器，可在类型中添加D(仅适用于部分类型),如需要类型为PH的连接器,则搜索&#039;&#039;&#039;PHD 连接器&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
=== 外壳方案 ===&lt;br /&gt;
&lt;br /&gt;
==== 可采用导轨安装的外壳方案 ====&lt;br /&gt;
对于电气控制柜、仪表柜、配电箱等，安装导轨是一个极其常见的配件。&lt;br /&gt;
&lt;br /&gt;
常用的安装导轨方案如下:&lt;br /&gt;
&lt;br /&gt;
* DIN TS35:35×7.5 安装导轨,宽度35mm,深度7.5mm,材质形式为钢、铝、铜等，表现形式为横条状金属片&lt;br /&gt;
&lt;br /&gt;
若未特殊说明，导轨均指DIN TS35安装导轨。&lt;br /&gt;
&lt;br /&gt;
对于带计量的产品而言,除了设计成插座样式，还可以设计成导轨安装并安放在配电箱里。&lt;br /&gt;
&lt;br /&gt;
对于需要安装至导轨的产品而言，主要有以下方案:&lt;br /&gt;
&lt;br /&gt;
* 直接使用可用于导轨安装的外壳。&lt;br /&gt;
* 采用导轨安装卡扣,卡扣上通常有螺丝孔位，可通过螺丝安装产品。&lt;br /&gt;
&lt;br /&gt;
==== 廉价铝壳外壳方案 ====&lt;br /&gt;
作为物联网产品(尤其是具有RTU/DTU角色的物联网产品)，通常需要一个外壳。一般情况下，可使用铁壳或者铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
为减小成本,本人一般采用成品铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
注意:本段落中的铝壳主要指主要外形为长方体，两侧或者顶部具有可拆卸的盖子的壳体，并不泛指所有采用铝作为主要材料的壳体。&lt;br /&gt;
&lt;br /&gt;
一般情况下,通常需要给铝壳开孔以引出接口，常用方案如下:&lt;br /&gt;
&lt;br /&gt;
* 正面开孔，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 侧盖开孔(一面或两面)，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 采用PCB作为侧盖(一般使用黑色的壳体配合黑色PCB),使用PCB制造开孔。仅试样的情况下,价格相对便宜。&lt;br /&gt;
* 一侧不要侧盖。适用于直接引出导线的产品,一般配合灌胶工艺。一般直接用于量产产品。&lt;br /&gt;
如需使用导轨安装，可使用导轨安装卡扣固定铝壳。&lt;br /&gt;
&lt;br /&gt;
===== 常用尺寸1 =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+铝壳参数&lt;br /&gt;
!长&lt;br /&gt;
!宽&lt;br /&gt;
!高&lt;br /&gt;
!PCB块数&lt;br /&gt;
!PCB最大厚度&lt;br /&gt;
!PCB最大宽度&lt;br /&gt;
!PCB最大长度&lt;br /&gt;
|-&lt;br /&gt;
|100mm&lt;br /&gt;
|66mm&lt;br /&gt;
|27mm&lt;br /&gt;
|2(一块顶部PCB板，一块底部PCB板)&lt;br /&gt;
|2mm&lt;br /&gt;
|60.3mm(不能小太多)&lt;br /&gt;
|100mm(取决于铝壳长度，一般可定制)&lt;br /&gt;
|}&lt;br /&gt;
[[文件:ALUMINUM SHELL 66x27x100.png|居中|有框]]&lt;br /&gt;
&lt;br /&gt;
==== 接线盒(家庭) ====&lt;br /&gt;
此处所指接线盒主要指家庭中用于开关/插座的接线盒,并不指广义接线盒。&lt;br /&gt;
&lt;br /&gt;
接线盒主要由底盒与面板组成。&lt;br /&gt;
&lt;br /&gt;
其中底盒的种类多种多样，根据可分为明装与暗装，一般底盒均为提前安装好的，不可简单增加与减少。&lt;br /&gt;
&lt;br /&gt;
面板一般是嵌入式开发中常用的壳体，只要保证安装孔距正确，即可安装在提前安装的底盒上。&lt;br /&gt;
&lt;br /&gt;
接线盒可根据面板尺寸进行分类，主要有以下型号：&lt;br /&gt;
&lt;br /&gt;
* 86型&lt;br /&gt;
* 118型&lt;br /&gt;
* 120型&lt;br /&gt;
&lt;br /&gt;
采用接线盒进行嵌入式开发主要开发以下设备（与传统开关、传统插座有一定相似之处）：&lt;br /&gt;
&lt;br /&gt;
* 智能家居控制面板:可进行联网操作，控制智能家居设备。可显示一些信息（如时间、天气、场景等信息）。可连接到其它智能设备（如智能音箱）&lt;br /&gt;
* 智能家居开关：功能与传统开关类似，可通过无线（如BLE、Zigbee等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
* 智能家居插座：功能与传统插座类似，可远程控制、数据采集（电量、电压、电流等）。可通过无线（如BLE、Zigbee、WiFi等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
&lt;br /&gt;
===== 86型接线盒 =====&lt;br /&gt;
86型接线盒作为较常用的接线盒，俗称86盒，其面板尺寸86mmX86mm。&lt;br /&gt;
&lt;br /&gt;
许多厂商也提供采用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寸开发板]。&lt;br /&gt;
&lt;br /&gt;
== 常用芯片及模块 ==&lt;br /&gt;
=== 常用芯片及核心模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 常用芯片及核心模块&lt;br /&gt;
|-&lt;br /&gt;
! 芯片/模块名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8211B || 单相计量SOC || [[RN8211B]]&lt;br /&gt;
|-&lt;br /&gt;
| HT502X || 单相计量SOC || [[HT502X]]&lt;br /&gt;
|-&lt;br /&gt;
| Air724UG || 4G模块,进行C语言开发 || [[Air724UG]]&lt;br /&gt;
|-&lt;br /&gt;
|Air780E&lt;br /&gt;
|4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价&lt;br /&gt;
|[[Air780E]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-12F || WIFI透传模块，可支持二次开发，主芯片为ESP8266 || [[ESP8266]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-32S || ESP32模块，可支持WIFI、蓝牙、以太网,可采用esp-idf开发 || [[ESP32]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-01 || W600开发板，WIFI SOC，Cortex-M3内核 || [[W600]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-08 || W800开发板，WIFI/蓝牙 SOC， XT804内核 || [[W800]]&lt;br /&gt;
|-&lt;br /&gt;
| CH579|| 以太网、蓝牙、USB SOC，Cortex-M0内核MCU || [[CH579]]&lt;br /&gt;
|-&lt;br /&gt;
| HLK-7688A|| MT7688芯片核心模块，可采用openwrt开发 || [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
| E18-MS1|| CC2530芯片核心模块，可采用contiki开发或者Z-Stack开发 || [[CC2530]]&lt;br /&gt;
|-&lt;br /&gt;
|Air105&lt;br /&gt;
|廉价大内存mcu,4M flash,640K SRAM,Cortex-M4F&lt;br /&gt;
|[[Air105]]&lt;br /&gt;
|-&lt;br /&gt;
|Lichee Zero&lt;br /&gt;
|全志V3s开发板，64M DRAM，廉价Linux开发板，V3s芯片可手贴&lt;br /&gt;
|[[V3s]]   [https://wiki.sipeed.com/hardware/zh/lichee/Zero/Zero.html Lichee Zero]&lt;br /&gt;
|-&lt;br /&gt;
|Air32F103&lt;br /&gt;
|96K RAM,兼容STM32F103&lt;br /&gt;
|[[Air32F103]] http://air32.cn&lt;br /&gt;
|-&lt;br /&gt;
|ST17H66&lt;br /&gt;
|64K RAM，256K Flash,廉价蓝牙SOC&lt;br /&gt;
|[[ST17H66]]&lt;br /&gt;
|}&lt;br /&gt;
注意:此章节可能不包含资料较多，应用极其成熟的芯片系列。&lt;br /&gt;
=== 外设芯片及外设模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 外设芯片及外设模块&lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! 接口 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8302B || 三相计量芯片 || SPI || [[RN8302B]]&lt;br /&gt;
|-&lt;br /&gt;
| RN8209C/RN8209D || 单相计量芯片 ||&lt;br /&gt;
* UART&lt;br /&gt;
* SPI&lt;br /&gt;
| [[RN8209]]&lt;br /&gt;
|-&lt;br /&gt;
| NRF24L01+ || 2.4G无线芯片,具有众多兼容替代(如Si24R1) || SPI+GPIO(中断、CE) || [[NRF24L01+]]&lt;br /&gt;
|-&lt;br /&gt;
|W5500&lt;br /&gt;
|全硬件栈以太网芯片&lt;br /&gt;
|SPI&lt;br /&gt;
|[[W5500]]&lt;br /&gt;
|-&lt;br /&gt;
|中景园0.96寸OLED点阵屏&lt;br /&gt;
|分辨率128x64,显示驱动（控制）芯片SSD1306&lt;br /&gt;
|&lt;br /&gt;
* IIC&lt;br /&gt;
* SPI+GPIO(DC、RES)&lt;br /&gt;
|[[SSD1306]] [[中景园0.96寸OLED点阵屏]]&lt;br /&gt;
|-&lt;br /&gt;
|AHT20&lt;br /&gt;
|温湿度传感器&lt;br /&gt;
|IIC&lt;br /&gt;
|[[AHT20]]&lt;br /&gt;
|-&lt;br /&gt;
|DS1307&lt;br /&gt;
|RTC（实时时钟）&lt;br /&gt;
|IIC&lt;br /&gt;
|[[DS1307]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用嵌入式操作系统、BootLoader、嵌入式固件及嵌入式软件库 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| FreeRTOS || 嵌入式操作系统 || [[FreeRTOS]]&lt;br /&gt;
|-&lt;br /&gt;
| rt-thread || 物联网嵌入式操作系统 || [[ rt-thread ]] &lt;br /&gt;
|-&lt;br /&gt;
|nuttx||嵌入式操作系统||[[nuttx]]&lt;br /&gt;
|-&lt;br /&gt;
|paho.mqtt.embedded-c|| MQTT客户端，可移植到各种芯片平台||[[paho.mqtt.embedded-c]]&lt;br /&gt;
|-&lt;br /&gt;
|openwrt||操作系统，嵌入式Linux构建工具||[[ openwrt | openwrt]]&lt;br /&gt;
|-&lt;br /&gt;
|u8g2&lt;br /&gt;
|单色/点阵屏驱动库&lt;br /&gt;
|[[u8g2]]&lt;br /&gt;
|-&lt;br /&gt;
|U-Boot&lt;br /&gt;
|通用引导加载器。通常用于加载[[Linux]]。&lt;br /&gt;
|[[U-Boot]]&lt;br /&gt;
|-&lt;br /&gt;
|Newlib&lt;br /&gt;
|嵌入式C运行库（通常配合GCC使用）&lt;br /&gt;
|[[Newlib]]&lt;br /&gt;
|-&lt;br /&gt;
|printf&lt;br /&gt;
|printf, sprintf and (v)snprintf 实现&lt;br /&gt;
|[[printf]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==常用工具==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+常用工具&lt;br /&gt;
|-&lt;br /&gt;
!名称!!说明!!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|easy-rsa||使用SSL/TLS时,自签证书制作/管理工具||[[easy-rsa]]&lt;br /&gt;
|-&lt;br /&gt;
|buildroot||嵌入式Linux构建工具||[[buildroot]]&lt;br /&gt;
|-&lt;br /&gt;
|debootstrap||Linux系统根文件系统创建工具,可创建Debian系Linux系统根文件系统||[[debootstrap]]&lt;br /&gt;
|-&lt;br /&gt;
|crosstool-ng||交叉编译工具链创建工具||[[crosstool-ng]]&lt;br /&gt;
|-&lt;br /&gt;
|ScreenToGif&lt;br /&gt;
|在Windows下录屏制作gif的工具&lt;br /&gt;
|https://github.com/NickeManarin/ScreenToGif.git&lt;br /&gt;
|-&lt;br /&gt;
|Xfel&lt;br /&gt;
|全志SOC的FEL工具（可下载固件等）&lt;br /&gt;
|[[Xfel]]&lt;br /&gt;
|-&lt;br /&gt;
|busybox&lt;br /&gt;
|unix工具箱，可用于创建体积极小的rootfs&lt;br /&gt;
|[[busybox]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===IDE环境/开发环境/开发工具===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|codeblocks&lt;br /&gt;
|免费的C/C++ IDE,可开发多种C/C++程序。本人只要将它用作基于CMake构建的工程的代码编写。&lt;br /&gt;
|http://www.codeblocks.org/&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Visual Studio&lt;br /&gt;
|微软的开发工具集。本人主要用于开发WIN32程序。本人优先使用codeblocks作为C/C++开发环境,VS占用的空间太大,但有些第三方库在Windows上可能只支持MSVC,故而必须使用VS。&lt;br /&gt;
|https://visualstudio.microsoft.com/zh-hans/&lt;br /&gt;
|-&lt;br /&gt;
|keil5&lt;br /&gt;
|用于ARM嵌入式芯片的开发。注意:keil5不是免费的。&lt;br /&gt;
|https://www.keil.com/&lt;br /&gt;
|-&lt;br /&gt;
|IAR&lt;br /&gt;
|本人主要使用针对ARM嵌入式芯片的开发。注意:IAR不是免费的。&lt;br /&gt;
|https://www.iar.com/&lt;br /&gt;
|-&lt;br /&gt;
|QtCreator&lt;br /&gt;
|用于创建基于Qt的程序。&lt;br /&gt;
|https://www.qt.io/product/development-tools&lt;br /&gt;
|-&lt;br /&gt;
|MounRiver&lt;br /&gt;
|基于Eclipse的嵌入式ARM/RISC-V的集成开发环境。本人主要用于测试[https://www.wch.cn/ WCH]的单片机。&lt;br /&gt;
|http://www.mounriver.com/&lt;br /&gt;
|-&lt;br /&gt;
|RT-Thread Studio&lt;br /&gt;
|一站式的 RT-Thread 开发工具，通过简单易用的图形化配置系统以及丰富的软件包和组件资源，让物联网开发变得简单和高效。本人主要用于开发与rt-thread相关设备。&lt;br /&gt;
|https://www.rt-thread.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子硬件设计(原理图绘制/PCB绘制/其它相关工具) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|立创EDA&lt;br /&gt;
|高效的国产PCB设计工具，永久免费。可在线使用。&lt;br /&gt;
|https://lceda.cn/&lt;br /&gt;
|-&lt;br /&gt;
|KiCad&lt;br /&gt;
|跨平台开源电子设计套装。&lt;br /&gt;
|https://www.kicad.org/&lt;br /&gt;
|-&lt;br /&gt;
|freerouting&lt;br /&gt;
|自动布线工具。可配合立创EDA或KiCad使用。本人用于替代立创EDA自带的自动布线。&lt;br /&gt;
|https://www.freerouting.app/&lt;br /&gt;
https://github.com/freerouting/freerouting.git&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 测试工具 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Apipost&lt;br /&gt;
|Apipost-API 文档、设计、调试、自动化测试一体化协作平台。具有免费版本。&lt;br /&gt;
|https://www.apipost.cn/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 编译器 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|sdcc&lt;br /&gt;
|用于8位/16位单片机(如MCS51、DS80C390 、HC08、Z80、STM8, MOS 6502 、WDC 65C02等)的C编译器&lt;br /&gt;
|https://sdcc.sourceforge.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 流程图/框图绘制 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|dia&lt;br /&gt;
|跨平台开源流程图绘制工具&lt;br /&gt;
|http://dia-installer.de/&lt;br /&gt;
https://sourceforge.net/projects/dia/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 图像处理 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|GIMP&lt;br /&gt;
|免费开源图像编辑器&lt;br /&gt;
|https://www.gimp.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 作曲工具(MIDI制作) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|LMMS&lt;br /&gt;
|免费自由开源并且跨平台的作曲工具&lt;br /&gt;
|https://lmms.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 字体编辑 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|FontForge&lt;br /&gt;
|免费字体编辑器&lt;br /&gt;
|https://fontforge.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 国际化/本地化 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Poedit&lt;br /&gt;
|.po编辑工具。可编辑使用 [[xgettext]] 生成的翻译文件&lt;br /&gt;
|https://poedit.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 压缩/解压缩 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|7-zip&lt;br /&gt;
|开源免费的压缩/解压缩软件。Windows下有GUI程序，Linux下只有控制台版本。&lt;br /&gt;
|http://www.7-zip.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 虚拟磁盘/磁盘驱动 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|imdisk&lt;br /&gt;
|Windows下开源虚拟磁盘工具,可方便挂载内存盘（存放临时文件）。&lt;br /&gt;
|https://sourceforge.net/projects/imdisk-toolkit&lt;br /&gt;
|-&lt;br /&gt;
|Ext2fsd&lt;br /&gt;
|Windows下访问Ext2/Ext3/Ext4文件系统驱动。&lt;br /&gt;
|https://sourceforge.net/projects/ext2fsd/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 安装/卸载 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Geek Uninstaller&lt;br /&gt;
|Windows下程序卸载工具,具有免费的版本。&lt;br /&gt;
|https://geekuninstaller.com/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===小工具(自写/修改/组合)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki&lt;br /&gt;
!支持平台&lt;br /&gt;
|-&lt;br /&gt;
|CC3200_GangGenerator&lt;br /&gt;
|生成用于烧录CC3200 SPI Flash的工具&lt;br /&gt;
|[[CC3200_GangGenerator]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
|-&lt;br /&gt;
|WMToolHelper&lt;br /&gt;
| W600烧录工具&lt;br /&gt;
|[[WMToolHelper]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|WinBleTool&lt;br /&gt;
| Windows下调试BLE的工具&lt;br /&gt;
|[[WinBleTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10(及以上)&lt;br /&gt;
|-&lt;br /&gt;
|SimpleBLETool&lt;br /&gt;
|调试BLE的工具&lt;br /&gt;
| [[SimpleBLETool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10+&lt;br /&gt;
*Linux(ubuntu 20.04+)&lt;br /&gt;
|-&lt;br /&gt;
|cutecom-ng&lt;br /&gt;
|基于Qt5的串口工具。个人修改版。&lt;br /&gt;
|[[cutecom-ng]]&lt;br /&gt;
|只要是Qt5支持的桌面平台均支持。&lt;br /&gt;
|-&lt;br /&gt;
|OneNETTool&lt;br /&gt;
|开发OneNET辅助工具&lt;br /&gt;
|[[OneNETTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|QGDW12184Tool&lt;br /&gt;
|开发Q/GDW 12184辅助工具&lt;br /&gt;
|[[QGDW12184Tool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|XServerForWSL1&lt;br /&gt;
|利用cygwin中的X服务对WSL提供X服务&lt;br /&gt;
|[[XServerForWSL1]]&lt;br /&gt;
|支持WSL1的Windows&lt;br /&gt;
|-&lt;br /&gt;
|linux_binfmt_pe&lt;br /&gt;
|使用[[wine]]直接执行PE可执行文件的Linux内核模块&lt;br /&gt;
|[[linux_binfmt_pe]]&lt;br /&gt;
|&lt;br /&gt;
* Linux内核&lt;br /&gt;
|-&lt;br /&gt;
|Win32Redirector&lt;br /&gt;
|重定向win32控制台应用至MSYS2或者Cygwin中的程序。&lt;br /&gt;
|[[Win32Redirector]]&lt;br /&gt;
|&lt;br /&gt;
* Windows&lt;br /&gt;
|-&lt;br /&gt;
|HEnvBox&lt;br /&gt;
|快速搭建本人常用的开发环境。&lt;br /&gt;
|[[HEnvBox]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 10及更新版&lt;br /&gt;
* Ubuntu 22.04&lt;br /&gt;
* Debian&lt;br /&gt;
* Deepin&lt;br /&gt;
|-&lt;br /&gt;
|HVCP&lt;br /&gt;
|Windows下虚拟串口&lt;br /&gt;
|[[HVCP]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 7 及更新系统&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用库 ==&lt;br /&gt;
此章节主要对使用的比较多的库做一个整理。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!官网&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki&lt;br /&gt;
|-&lt;br /&gt;
|wxWidgets&lt;br /&gt;
|https://www.wxwidgets.org/&lt;br /&gt;
|跨平台GUI库&lt;br /&gt;
|[[wxWidgets]]&lt;br /&gt;
|-&lt;br /&gt;
|Qt&lt;br /&gt;
|https://www.qt.io/&lt;br /&gt;
|跨平台库（包括GUI）&lt;br /&gt;
|[[Qt]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 工具/库（自写/修改） ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|DeployWin&lt;br /&gt;
|MSYS2与CygWin下编程辅助打包库。一般配合CMake的CPack使用。&lt;br /&gt;
|[[DeployWin]]&lt;br /&gt;
|-&lt;br /&gt;
|HCppBox&lt;br /&gt;
|本人常用的C/C++代码&lt;br /&gt;
|[[HCppBox]]&lt;br /&gt;
|-&lt;br /&gt;
|SimpleModbusRTUPacket&lt;br /&gt;
|简易的[[Modbus]] RTU包解析&lt;br /&gt;
|[[SimpleModbusRTUPacket]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==常用镜像站==&lt;br /&gt;
在找各种源码资源时，经常遇到国外网站下载较慢的情况下，此时通常需要更换镜像站。&lt;br /&gt;
&lt;br /&gt;
例如:&lt;br /&gt;
&lt;br /&gt;
*ubuntu系统的软件包(包括使用deboostrap的镜像源)&lt;br /&gt;
*python软件包&lt;br /&gt;
*gnu软件源码包&lt;br /&gt;
*linux源码&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!地址&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.ustc.edu.cn/&lt;br /&gt;
|中国科学技术大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.tuna.tsinghua.edu.cn/&lt;br /&gt;
|清华大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.163.com/&lt;br /&gt;
|网易开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.aliyun.com/&lt;br /&gt;
|阿里开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.cernet.edu.cn&lt;br /&gt;
|校园网联合镜像站&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 静态文档网站 ==&lt;br /&gt;
一些静态的网页文档,如[https://www.doxygen.nl/ doxygen]生成的帮助文档与[https://docsify.js.org/#/ docsify]制作的静态说明文档。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!类型&lt;br /&gt;
!URL&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|静态文档仓库&lt;br /&gt;
|https://heyahong.github.io/#/&lt;br /&gt;
|采用github pages托管,源代码仓库:https://github.com/HEYAHONG/HEYAHONG.github.io.git&lt;br /&gt;
|-&lt;br /&gt;
|网站&lt;br /&gt;
|http://docs.hyhsystem.cn&lt;br /&gt;
|采用nginx服务器,运行于云服务器&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==相关链接==&lt;br /&gt;
&lt;br /&gt;
*[[测试资源]]&lt;br /&gt;
*[[第三方资源]]&lt;br /&gt;
*[[方案发现与探索]]&lt;br /&gt;
*[[杂项笔记与测试代码]]&lt;br /&gt;
*[[常见问题]]&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=XL2409&amp;diff=1135</id>
		<title>XL2409</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=XL2409&amp;diff=1135"/>
		<updated>2025-05-30T17:16:57Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 相关数据手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 说明 ==&lt;br /&gt;
XL2409芯片是一款高性能低功耗的SOC集成无线收发芯片,集成M0核MCU,工作在2.400~2.483GHz世界通用ISM频段。&lt;br /&gt;
&lt;br /&gt;
=== 相关链接 ===&lt;br /&gt;
在官方例程(XL2409的串口打印通讯例程)中，MCU部分采用PY32F003X8驱动库，RF射频部分采用该公司的XL2400P，当找不到相关资料时可尝试直接当作PY32F003X8+XL2400P的封装芯片。&lt;br /&gt;
&lt;br /&gt;
* PY32F003X8：http://www.puyasemi.com/cpzx3/info_267_aid_242_kid_235.html&lt;br /&gt;
* XL2400:http://www.xinlinggo.com/pd.jsp?id=1&lt;br /&gt;
注:在某些例程中，MCU部分选择的是PY32F030X8，故可基本确定的是MCU是一个64Flash与8KSRAM的PY32单片机，将MCU部分与RF射频部分进行了合封。&lt;br /&gt;
&lt;br /&gt;
== 官方资料 ==&lt;br /&gt;
网址:http://www.xinlinggo.com/&lt;br /&gt;
&lt;br /&gt;
=== 相关数据手册 ===&lt;br /&gt;
[[文件:XL2409 规格书v1.2a.pdf|左|缩略图]]&lt;br /&gt;
&lt;br /&gt;
[[文件:XL2400P Register Map V1.1.pdf|缩略图|左]]&lt;br /&gt;
&lt;br /&gt;
[[文件:XL2400P规格书V1.0a 1.pdf|缩略图]]&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:XL2400P%E8%A7%84%E6%A0%BC%E4%B9%A6V1.0a_1.pdf&amp;diff=1134</id>
		<title>文件:XL2400P规格书V1.0a 1.pdf</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:XL2400P%E8%A7%84%E6%A0%BC%E4%B9%A6V1.0a_1.pdf&amp;diff=1134"/>
		<updated>2025-05-30T17:16:40Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XL2400P规格书V1.0a 1&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=XL2409&amp;diff=1133</id>
		<title>XL2409</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=XL2409&amp;diff=1133"/>
		<updated>2025-05-30T17:03:19Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 相关数据手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 说明 ==&lt;br /&gt;
XL2409芯片是一款高性能低功耗的SOC集成无线收发芯片,集成M0核MCU,工作在2.400~2.483GHz世界通用ISM频段。&lt;br /&gt;
&lt;br /&gt;
=== 相关链接 ===&lt;br /&gt;
在官方例程(XL2409的串口打印通讯例程)中，MCU部分采用PY32F003X8驱动库，RF射频部分采用该公司的XL2400P，当找不到相关资料时可尝试直接当作PY32F003X8+XL2400P的封装芯片。&lt;br /&gt;
&lt;br /&gt;
* PY32F003X8：http://www.puyasemi.com/cpzx3/info_267_aid_242_kid_235.html&lt;br /&gt;
* XL2400:http://www.xinlinggo.com/pd.jsp?id=1&lt;br /&gt;
注:在某些例程中，MCU部分选择的是PY32F030X8，故可基本确定的是MCU是一个64Flash与8KSRAM的PY32单片机，将MCU部分与RF射频部分进行了合封。&lt;br /&gt;
&lt;br /&gt;
== 官方资料 ==&lt;br /&gt;
网址:http://www.xinlinggo.com/&lt;br /&gt;
&lt;br /&gt;
=== 相关数据手册 ===&lt;br /&gt;
[[文件:XL2409 规格书v1.2a.pdf|左|缩略图]]&lt;br /&gt;
&lt;br /&gt;
[[文件:XL2400P Register Map V1.1.pdf|缩略图|左]]&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:XL2400P_Register_Map_V1.1.pdf&amp;diff=1132</id>
		<title>文件:XL2400P Register Map V1.1.pdf</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:XL2400P_Register_Map_V1.1.pdf&amp;diff=1132"/>
		<updated>2025-05-30T17:01:50Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XL2400P Register Map V1.1&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%B9%E6%A1%88%E5%8F%91%E7%8E%B0%E4%B8%8E%E6%8E%A2%E7%B4%A2&amp;diff=1131</id>
		<title>方案发现与探索</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%B9%E6%A1%88%E5%8F%91%E7%8E%B0%E4%B8%8E%E6%8E%A2%E7%B4%A2&amp;diff=1131"/>
		<updated>2025-04-22T06:52:48Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 嵌入式操作系统及嵌入式软件库 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 部分测试的资源 ==&lt;br /&gt;
此章的内容为部分功能正常。&amp;lt;br&amp;gt;&lt;br /&gt;
若是自己写的代码，可能出现不可忽视的缺陷的资源。&amp;lt;br&amp;gt;&lt;br /&gt;
若是第三方代码,可能是不常用的资源。&amp;lt;br&amp;gt;若是芯片/模块,则说明只是进行了初步测试。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===芯片及模块===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+芯片记录&lt;br /&gt;
|-&lt;br /&gt;
!芯片/模块名称!!说明!!链接!!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|XT-BL10||BL602模块，WIFI/蓝牙 SOC，RISC-V内核 || [http://bouffalolab.com/ 博流智能科技]||&lt;br /&gt;
|-&lt;br /&gt;
|CH32V307V-R1&lt;br /&gt;
|CH32V307VCT6,互联型RISC-V单片机，集成10M 以太网PHY&lt;br /&gt;
|https://www.wch.cn&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 嵌入式操作系统及嵌入式软件库 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 软件&lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! 链接 !! Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| contiki|| 嵌入式操作系统 || http://www.contiki-os.org/ || [[contiki]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==尚未测试的资源==&lt;br /&gt;
===芯片及模块===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+芯片记录&lt;br /&gt;
|-&lt;br /&gt;
!芯片/模块名称!!说明!!链接!!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|HT501X||单相计量SOC,Cortex-M0内核||[http://www.hitrendtech.com 钜泉光电] ||&lt;br /&gt;
|-&lt;br /&gt;
|HLK-M50||RDA5981模块，WIFI SOC，Cortex-M4内核 ||[https://www.unisoc.com 紫光展锐]||&lt;br /&gt;
|-&lt;br /&gt;
|XR806 ||WIFI/蓝牙 SOC，Arm-Star ARMv8-M MCU||[https://xr806.docs.aw-ol.com/ XR806]||&lt;br /&gt;
|-&lt;br /&gt;
|PB-02||PHY6212模块，蓝牙 SOC，Cortex-M0内核||[http://phyplusinc.com/ 奉加微电子]||&lt;br /&gt;
|-&lt;br /&gt;
|TB-02||TLSR8258模块，蓝牙 SOC,TC32内核||[http://www.telink-semi.cn/ 泰凌微电子]||&lt;br /&gt;
|-&lt;br /&gt;
|Sipeed M0P&lt;br /&gt;
|BL618 模组,2,4G WIFI6,BLE+BT,Zigbee/IEEE 802.15.4,480K SRAM,4M pSRAM(内置)&lt;br /&gt;
|[http://www.bouffalolab.com/ 博流智能] [https://wiki.sipeed.com sipeed wiki] [https://wiki.sipeed.com/hardware/zh/maixzero/m0p/m0p.html M0P模组]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PY32F002/PY32F003/PY32F030&lt;br /&gt;
|超廉价Cortex-M0+单片机&lt;br /&gt;
|[http://www.puyasemi.com 普冉半导体] [http://www.puyasemi.com/cpzx3/info_267_aid_242_kid_235.html PY32]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Luckfox Pico Plus&lt;br /&gt;
|RV1103，64MB RAM，廉价Linux开发板，RV1103 QFN88封装可手贴&lt;br /&gt;
|[https://www.waveshare.net/ 微雪电子(代理)]  [https://www.luckfox.com/ Luckfox]&lt;br /&gt;
|[[RV1103]]&lt;br /&gt;
|-&lt;br /&gt;
|XL2409&lt;br /&gt;
|廉价2.4G无线(类似[[NRF24L01+]]),Cortex-M0+内核 SOC。&lt;br /&gt;
|[http://www.xinlinggo.com 深圳市芯岭技术有限公司]&lt;br /&gt;
|[[XL2409]]&lt;br /&gt;
|-&lt;br /&gt;
|SSD202D&lt;br /&gt;
|智能显示器控制器，双核Cortex-A7 SOC,128MB RAM&lt;br /&gt;
|[https://comake.online 星宸科技股份有限公司]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|D1s&lt;br /&gt;
|64MB RAM，廉价Linux开发板,RISC-V SOC&lt;br /&gt;
|[https://www.allwinnertech.com/ 珠海全志科技股份有限公司]&lt;br /&gt;
|[[D1s]]&lt;br /&gt;
|-&lt;br /&gt;
|APM32E103&lt;br /&gt;
|大容量类STM32F103芯片，最大SRAM为128KB.&lt;br /&gt;
|[https://www.geehy.com 珠海极海半导体有限公司]&lt;br /&gt;
|[[APM32E103]]&lt;br /&gt;
|-&lt;br /&gt;
|RP2040&lt;br /&gt;
|双核 Arm Cortex-M0 +&lt;br /&gt;
|[https://www.raspberrypi.com/ 树莓派基金会]&lt;br /&gt;
|[[RP2040]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===嵌入式操作系统及嵌入式软件库===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+软件&lt;br /&gt;
|-&lt;br /&gt;
!名称!! 说明&lt;br /&gt;
!链接!!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|micropython||嵌入式操作系统,Python3在嵌入式设备的实现。||https://micropython.org/&amp;lt;nowiki/&amp;gt;||&lt;br /&gt;
|-&lt;br /&gt;
|NodeMcu&lt;br /&gt;
|基于Lua的ESP8266固件&lt;br /&gt;
|http://www.nodemcu.com&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|sylixos||嵌入式操作系统||https://www.sylixos.com/&amp;lt;nowiki/&amp;gt;||&lt;br /&gt;
|-&lt;br /&gt;
|mbed-os||嵌入式操作系统||https://os.mbed.com/&amp;lt;nowiki/&amp;gt;||&lt;br /&gt;
|-&lt;br /&gt;
|LiteOS||物联网操作系统,OpenHarmony内核之一。||http://www.huawei.com/liteos&amp;lt;nowiki/&amp;gt;||&lt;br /&gt;
|-&lt;br /&gt;
|LuatOS&lt;br /&gt;
|IoT设备的嵌入式Lua引擎。&lt;br /&gt;
|https://luatos.com&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ChibiOS&lt;br /&gt;
|嵌入式应用开发环境&lt;br /&gt;
|https://www.chibios.org&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 工具 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!链接&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|yocto&lt;br /&gt;
|一个帮助开发者定制基于Linux的系统的协作项目&lt;br /&gt;
|https://www.yoctoproject.org/&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|t2&lt;br /&gt;
|t2系统开发环境（元发行版）可自动创建使用最先进、最新的包及集成交叉编译支持的定制化OS&lt;br /&gt;
|http://www.t2sde.org&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 推荐网站 ==&lt;br /&gt;
&lt;br /&gt;
=== SocXin ===&lt;br /&gt;
&lt;br /&gt;
* http://www.soc.xin/&lt;br /&gt;
* https://github.com/SoCXin/&lt;br /&gt;
* https://doc.soc.xin&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=BLE&amp;diff=1130</id>
		<title>BLE</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=BLE&amp;diff=1130"/>
		<updated>2025-04-12T05:18:21Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 说明 ==&lt;br /&gt;
蓝牙低能耗（Bluetooth Low Energy，或称Bluetooth LE、BLE，旧商标Bluetooth Smart）也称低功耗蓝牙，是蓝牙技术联盟设计和销售的一种个人局域网技术，旨在用于医疗保健、运动健身、信标、安防、家庭娱乐等领域的新兴应用。相较经典蓝牙，低功耗蓝牙旨在保持同等通信范围的同时显著降低功耗和成本。&lt;br /&gt;
&lt;br /&gt;
== UUID ==&lt;br /&gt;
&lt;br /&gt;
UUID为通用唯一识别码,用于标识资源。&lt;br /&gt;
&lt;br /&gt;
UUID通常为128位，其组成为32位无符号整数+16位无符号整数+16位无符号整数+8位无符号整数+8位无符号整数+6字节（共48位）数据，其字符串格式为&amp;lt;code&amp;gt;32位无符号整数-16位无符号整数-16位无符号整数-16位无符号整数(8位无符号整数+8位无符号整数)-6字节（共48位）数据&amp;lt;/code&amp;gt;，如&amp;lt;code&amp;gt;6ba7b811-9dad-11d1-80b4-00c04fd430c8&amp;lt;/code&amp;gt;其组成为32位无符号整数&amp;lt;code&amp;gt;0x6ba7b811&amp;lt;/code&amp;gt;、16位无符号整数&amp;lt;code&amp;gt;0x9dad&amp;lt;/code&amp;gt;、16位无符号整数&amp;lt;code&amp;gt;0x11d1&amp;lt;/code&amp;gt;、8位无符号整数&amp;lt;code&amp;gt;0x80&amp;lt;/code&amp;gt;,8位无符号整数 &amp;lt;code&amp;gt;0xb4&amp;lt;/code&amp;gt;,6字节（共48位）数据 &amp;lt;code&amp;gt;0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
但128位的UUID空间占用比较大，一般采用16位的短UUID（也称蓝牙UUID）。16位短UUID与128位UUID可相互转化。一般情况下，16位短UUID是128位UUID的一部分。对于蓝牙而言，16位短UUID可填充至&amp;lt;code&amp;gt;00000000-0000-1000-8000-00805f9b34fb&amp;lt;/code&amp;gt;的第一个32位整数部分,如短UUID&amp;lt;code&amp;gt;0x180f&amp;lt;/code&amp;gt;对应的长UUID为&amp;lt;code&amp;gt;0000180f-0000-1000-8000-00805f9b34fb&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
对于同一种类型的资源而言，UUID值类似C语言枚举值，均是通过数字标识具体的资源。&lt;br /&gt;
&lt;br /&gt;
蓝牙相关的数字分配可见：https://www.bluetooth.com/specifications/assigned-numbers/&lt;br /&gt;
&lt;br /&gt;
[[文件:BLE Assigned Numbers.pdf|缩略图|居中|129x129像素]]&lt;br /&gt;
&lt;br /&gt;
若处于Linux环境或者WSL环境，可使用&amp;lt;code&amp;gt;uuidgen&amp;lt;/code&amp;gt;生成128位UUID。当使用128位UUID作为标识时，推荐使用随机数或者时间生成一个基础UUID，再以此为基础改动其中某一部分（根据需求确定改动的位数，一般8位足够）定义一些UUID，这样可方便判断与识别。&lt;br /&gt;
&lt;br /&gt;
== 广播包与扫描响应包 ==&lt;br /&gt;
对于基于BLE的设备而言,最简单的应用就是使用广播包发送信息，实际应用的例子如某某TAG使用蓝牙进行追踪。&lt;br /&gt;
&lt;br /&gt;
扫描响应包（有时也称广播响应包），在另外的设备进行主动扫描时响应，用于扩展广播数据的大小（如未特殊说明，后文所指广播数据也包括扫描响应包中的数据）。通常固定的数据由扫描响应包传输，变化的数据用广播包传输(广播包可一直发送)。&lt;br /&gt;
&lt;br /&gt;
无论是广播包还是扫描响应包，所携带的广播数据长度最长为31字节。&lt;br /&gt;
&lt;br /&gt;
广播数据由一个或者多个广播结构体组成，所有广播结构体的长度之和不能超过广播包与扫描响应包可携带数据的最大长度。&lt;br /&gt;
&lt;br /&gt;
广播结构体由一字节长度+一字节广播类型+多字节广播结构体数据，其中长度指广播类型+广播结构体数据的长度，广播结构体数据由广播类型决定。&lt;br /&gt;
&lt;br /&gt;
通常情况下，广播包的广播数据的第一个广播结构体为广播标志(广播类型为0x01)，占3个字节。&lt;br /&gt;
&lt;br /&gt;
用户可使用厂商自定义数据类型的广播结构体发送自定义数据（对于上位机而言，比较容易获取广播数据中的厂商自定义数据），其余类型的广播结构体主要用于向外发送BLE相关配置。&lt;br /&gt;
&lt;br /&gt;
== 设备名称 ==&lt;br /&gt;
对于上位机而言，设备名称是区分不同自定义设备类型的方式之一(标准设备（如音频设备、HID设备）的区分类型的方式由BLE标准规定)。&lt;br /&gt;
&lt;br /&gt;
对于BLE而言，设备名称主要可在以下场景中使用:&lt;br /&gt;
&lt;br /&gt;
* 广播数据:广播数据中可携带设备名称信息。一般情况下，设备名称通常放在扫描响应包且在上位机扫描时显示。&lt;br /&gt;
* GAP服务(0x1800)的设备名称特征(0x2A00):此处的设备名称可与广播数据不同（也可以相同）。&lt;br /&gt;
&lt;br /&gt;
== profile ==&lt;br /&gt;
BLE规定了一系列规范(在BLE标准中称profile)，用户遵循这些标准即可实现对相应蓝牙功能的开发，而无需再对上位机进行二次开发（标准服务的驱动一般无需用户开发，操作系统或者蓝牙栈会自动实现对标准服务的访问）。&lt;br /&gt;
&lt;br /&gt;
一个profile可包含一个或多个服务，最终上位机与BLE设备之间的交互都是通过对服务的访问实现的。&lt;br /&gt;
&lt;br /&gt;
一个服务可包含一个或多个特征，这些特征就是一个个数据点，上位机可通过访问特征获取具体的数据。&lt;br /&gt;
&lt;br /&gt;
注意:此处只描述常用的profile/服务。&lt;br /&gt;
&lt;br /&gt;
=== GAP服务 ===&lt;br /&gt;
GAP服务的UUID为0x1800。&lt;br /&gt;
&lt;br /&gt;
GAP服务是BLE必须实现的服务，主要用于管理广播和连接事件的有关参数。&lt;br /&gt;
&lt;br /&gt;
=== GATT服务 ===&lt;br /&gt;
GATT服务的UUID为0x1801。&lt;br /&gt;
&lt;br /&gt;
GATT服务是BLE必须实现的服务。&lt;br /&gt;
&lt;br /&gt;
=== 设备信息服务 ===&lt;br /&gt;
设备信息服务的UUID为 0x180A。&lt;br /&gt;
&lt;br /&gt;
设备信息服务的实现是可选的，用户可通过设备信息服务提供以下信息:&lt;br /&gt;
&lt;br /&gt;
* SYSTEM_ID&lt;br /&gt;
* MODEL_NUMBER&lt;br /&gt;
* SERIAL_NUMBER：序列号可用于区分同一型号的不同设备，通常情况下，序列号是唯一的。&lt;br /&gt;
* FIRMWARE_REV&lt;br /&gt;
* HARDWARE_REV&lt;br /&gt;
* SOFTWARE_REV&lt;br /&gt;
* MANUFACTURER_NAME&lt;br /&gt;
* 11073_CERT_DATA&lt;br /&gt;
* PNP_ID&lt;br /&gt;
&lt;br /&gt;
=== 电池服务 ===&lt;br /&gt;
电池服务的UUID为 0x180F。&lt;br /&gt;
&lt;br /&gt;
电池服务的实现是可选的，用户可通过此服务提供电池信息（如电量）。&lt;br /&gt;
&lt;br /&gt;
=== SimpleProfile服务 ===&lt;br /&gt;
设备信息服务的UUID为 0xFFF0。&lt;br /&gt;
&lt;br /&gt;
SimpleProfile服务的实现是可选的。SimpleProfile服务通常用于自定义服务，通常情况下，其特征（自定义数据）的UUID从0xFFF1起。&lt;br /&gt;
&lt;br /&gt;
与其它的profile不同，此服务通常不会被操作系统/蓝牙栈使用，因此用户需要手动编写上位机程序。&lt;br /&gt;
&lt;br /&gt;
除了用户自行分配服务UUID（通常是长UUID，用于避免重复）创建非标准设备外，用户还可使用此服务创建非标准设备。&lt;br /&gt;
&lt;br /&gt;
== 软件 ==&lt;br /&gt;
&lt;br /&gt;
==== 上位机库 ====&lt;br /&gt;
蓝牙通常可以使用各个操作系统的原生API开发，也可以使用第三方开发库：&lt;br /&gt;
&lt;br /&gt;
* [https://www.simpleble.org/ simpleble]&lt;br /&gt;
&lt;br /&gt;
===== simpleble =====&lt;br /&gt;
跨平台BLE库。&lt;br /&gt;
&lt;br /&gt;
本人开发了[[SimpleBLETool]]用于测试此库。&lt;br /&gt;
&lt;br /&gt;
== 官方资料 ==&lt;br /&gt;
https://www.bluetooth.com/&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=BLE&amp;diff=1129</id>
		<title>BLE</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=BLE&amp;diff=1129"/>
		<updated>2025-04-12T05:08:12Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* UUID */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 说明 ==&lt;br /&gt;
蓝牙低能耗（Bluetooth Low Energy，或称Bluetooth LE、BLE，旧商标Bluetooth Smart）也称低功耗蓝牙，是蓝牙技术联盟设计和销售的一种个人局域网技术，旨在用于医疗保健、运动健身、信标、安防、家庭娱乐等领域的新兴应用。相较经典蓝牙，低功耗蓝牙旨在保持同等通信范围的同时显著降低功耗和成本。&lt;br /&gt;
&lt;br /&gt;
== UUID ==&lt;br /&gt;
&lt;br /&gt;
UUID为通用唯一识别码,用于标识资源。&lt;br /&gt;
&lt;br /&gt;
UUID通常为128位，其组成为32位无符号整数+16位无符号整数+16位无符号整数+8位无符号整数+8位无符号整数+6字节（共48位）数据，其字符串格式为&amp;lt;code&amp;gt;32位无符号整数-16位无符号整数-16位无符号整数-16位无符号整数(8位无符号整数+8位无符号整数)-6字节（共48位）数据&amp;lt;/code&amp;gt;，如&amp;lt;code&amp;gt;6ba7b811-9dad-11d1-80b4-00c04fd430c8&amp;lt;/code&amp;gt;其组成为32位无符号整数&amp;lt;code&amp;gt;0x6ba7b811&amp;lt;/code&amp;gt;、16位无符号整数&amp;lt;code&amp;gt;0x9dad&amp;lt;/code&amp;gt;、16位无符号整数&amp;lt;code&amp;gt;0x11d1&amp;lt;/code&amp;gt;、8位无符号整数&amp;lt;code&amp;gt;0x80&amp;lt;/code&amp;gt;,8位无符号整数 &amp;lt;code&amp;gt;0xb4&amp;lt;/code&amp;gt;,6字节（共48位）数据 &amp;lt;code&amp;gt;0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
但128位的UUID空间占用比较大，一般采用16位的短UUID（也称蓝牙UUID）。16位短UUID与128位UUID可相互转化。一般情况下，16位短UUID是128位UUID的一部分。对于蓝牙而言，16位短UUID可填充至&amp;lt;code&amp;gt;00000000-0000-1000-8000-00805f9b34fb&amp;lt;/code&amp;gt;的第一个32位整数部分,如短UUID&amp;lt;code&amp;gt;0x180f&amp;lt;/code&amp;gt;对应的长UUID为&amp;lt;code&amp;gt;0000180f-0000-1000-8000-00805f9b34fb&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
对于同一种类型的资源而言，UUID值类似C语言枚举值，均是通过数字标识具体的资源。&lt;br /&gt;
&lt;br /&gt;
蓝牙相关的数字分配可见：https://www.bluetooth.com/specifications/assigned-numbers/&lt;br /&gt;
[[文件:BLE Assigned Numbers.pdf|缩略图|居中|129x129像素]]&lt;br /&gt;
若处于Linux环境或者WSL环境，可使用&amp;lt;code&amp;gt;uuidgen&amp;lt;/code&amp;gt;生成128位UUID。当使用128位UUID作为标识时，推荐使用随机数或者时间生成一个基础UUID，再以此为基础改动其中某一部分（根据需求确定改动的位数，一般8位足够）定义一些UUID，这样可方便判断与识别。&lt;br /&gt;
&lt;br /&gt;
== 广播包与扫描响应包 ==&lt;br /&gt;
对于基于BLE的设备而言,最简单的应用就是使用广播包发送信息，实际应用的例子如某某TAG使用蓝牙进行追踪。&lt;br /&gt;
&lt;br /&gt;
扫描响应包（有时也称广播响应包），在另外的设备进行主动扫描时响应，用于扩展广播数据的大小（如未特殊说明，后文所指广播数据也包括扫描响应包中的数据）。通常固定的数据由扫描响应包传输，变化的数据用广播包传输(广播包可一直发送)。&lt;br /&gt;
&lt;br /&gt;
无论是广播包还是扫描响应包，所携带的广播数据长度最长为31字节。&lt;br /&gt;
&lt;br /&gt;
广播数据由一个或者多个广播结构体组成，所有广播结构体的长度之和不能超过广播包与扫描响应包可携带数据的最大长度。&lt;br /&gt;
&lt;br /&gt;
广播结构体由一字节长度+一字节广播类型+多字节广播结构体数据，其中长度指广播类型+广播结构体数据的长度，广播结构体数据由广播类型决定。&lt;br /&gt;
&lt;br /&gt;
通常情况下，广播包的广播数据的第一个广播结构体为广播标志(广播类型为0x01)，占3个字节。&lt;br /&gt;
&lt;br /&gt;
用户可使用厂商自定义数据类型的广播结构体发送自定义数据（对于上位机而言，比较容易获取广播数据中的厂商自定义数据），其余类型的广播结构体主要用于向外发送BLE相关配置。&lt;br /&gt;
&lt;br /&gt;
== 设备名称 ==&lt;br /&gt;
对于上位机而言，设备名称是区分不同自定义设备类型的方式之一(标准设备（如音频设备、HID设备）的区分类型的方式由BLE标准规定)。&lt;br /&gt;
&lt;br /&gt;
对于BLE而言，设备名称主要可在以下场景中使用:&lt;br /&gt;
&lt;br /&gt;
* 广播数据:广播数据中可携带设备名称信息。一般情况下，设备名称通常放在扫描响应包且在上位机扫描时显示。&lt;br /&gt;
* GAP服务(0x1800)的设备名称特征(0x2A00):此处的设备名称可与广播数据不同（也可以相同）。&lt;br /&gt;
&lt;br /&gt;
== profile ==&lt;br /&gt;
BLE规定了一系列规范(在BLE标准中称profile)，用户遵循这些标准即可实现对相应蓝牙功能的开发，而无需再对上位机进行二次开发（标准服务的驱动一般无需用户开发，操作系统或者蓝牙栈会自动实现对标准服务的访问）。&lt;br /&gt;
&lt;br /&gt;
一个profile可包含一个或多个服务，最终上位机与BLE设备之间的交互都是通过对服务的访问实现的。&lt;br /&gt;
&lt;br /&gt;
一个服务可包含一个或多个特征，这些特征就是一个个数据点，上位机可通过访问特征获取具体的数据。&lt;br /&gt;
&lt;br /&gt;
注意:此处只描述常用的profile/服务。&lt;br /&gt;
&lt;br /&gt;
=== GAP服务 ===&lt;br /&gt;
GAP服务的UUID为0x1800。&lt;br /&gt;
&lt;br /&gt;
GAP服务是BLE必须实现的服务，主要用于管理广播和连接事件的有关参数。&lt;br /&gt;
&lt;br /&gt;
=== GATT服务 ===&lt;br /&gt;
GATT服务的UUID为0x1801。&lt;br /&gt;
&lt;br /&gt;
GATT服务是BLE必须实现的服务。&lt;br /&gt;
&lt;br /&gt;
=== 设备信息服务 ===&lt;br /&gt;
设备信息服务的UUID为 0x180A。&lt;br /&gt;
&lt;br /&gt;
设备信息服务的实现是可选的，用户可通过设备信息服务提供以下信息:&lt;br /&gt;
&lt;br /&gt;
* SYSTEM_ID&lt;br /&gt;
* MODEL_NUMBER&lt;br /&gt;
* SERIAL_NUMBER：序列号可用于区分同一型号的不同设备，通常情况下，序列号是唯一的。&lt;br /&gt;
* FIRMWARE_REV&lt;br /&gt;
* HARDWARE_REV&lt;br /&gt;
* SOFTWARE_REV&lt;br /&gt;
* MANUFACTURER_NAME&lt;br /&gt;
* 11073_CERT_DATA&lt;br /&gt;
* PNP_ID&lt;br /&gt;
&lt;br /&gt;
=== 电池服务 ===&lt;br /&gt;
电池服务的UUID为 0x180F。&lt;br /&gt;
&lt;br /&gt;
电池服务的实现是可选的，用户可通过此服务提供电池信息（如电量）。&lt;br /&gt;
&lt;br /&gt;
=== SimpleProfile服务 ===&lt;br /&gt;
设备信息服务的UUID为 0xFFF0。&lt;br /&gt;
&lt;br /&gt;
SimpleProfile服务的实现是可选的。SimpleProfile服务通常用于自定义服务，通常情况下，其特征（自定义数据）的UUID从0xFFF1起。&lt;br /&gt;
&lt;br /&gt;
与其它的profile不同，此服务通常不会被操作系统/蓝牙栈使用，因此用户需要手动编写上位机程序。&lt;br /&gt;
&lt;br /&gt;
除了用户自行分配服务UUID（通常是长UUID，用于避免重复）创建非标准设备外，用户还可使用此服务创建非标准设备。&lt;br /&gt;
&lt;br /&gt;
== 软件 ==&lt;br /&gt;
&lt;br /&gt;
==== 上位机库 ====&lt;br /&gt;
蓝牙通常可以使用各个操作系统的原生API开发，也可以使用第三方开发库：&lt;br /&gt;
&lt;br /&gt;
* [https://www.simpleble.org/ simpleble]&lt;br /&gt;
&lt;br /&gt;
===== simpleble =====&lt;br /&gt;
跨平台BLE库。&lt;br /&gt;
&lt;br /&gt;
本人开发了[[SimpleBLETool]]用于测试此库。&lt;br /&gt;
&lt;br /&gt;
== 官方资料 ==&lt;br /&gt;
https://www.bluetooth.com/&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:BLE_Assigned_Numbers.pdf&amp;diff=1128</id>
		<title>文件:BLE Assigned Numbers.pdf</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%87%E4%BB%B6:BLE_Assigned_Numbers.pdf&amp;diff=1128"/>
		<updated>2025-04-12T05:04:33Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BLE Assigned Numbers&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=BLE&amp;diff=1127</id>
		<title>BLE</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=BLE&amp;diff=1127"/>
		<updated>2025-04-12T04:54:26Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* simpleble */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 说明 ==&lt;br /&gt;
蓝牙低能耗（Bluetooth Low Energy，或称Bluetooth LE、BLE，旧商标Bluetooth Smart）也称低功耗蓝牙，是蓝牙技术联盟设计和销售的一种个人局域网技术，旨在用于医疗保健、运动健身、信标、安防、家庭娱乐等领域的新兴应用。相较经典蓝牙，低功耗蓝牙旨在保持同等通信范围的同时显著降低功耗和成本。&lt;br /&gt;
&lt;br /&gt;
== UUID ==&lt;br /&gt;
UUID为通用唯一识别码,用于标识资源。&lt;br /&gt;
&lt;br /&gt;
UUID通常为128位，其组成为32位无符号整数+16位无符号整数+16位无符号整数+8位无符号整数+8位无符号整数+6字节（共48位）数据，其字符串格式为&amp;lt;code&amp;gt;32位无符号整数-16位无符号整数-16位无符号整数-16位无符号整数(8位无符号整数+8位无符号整数)-6字节（共48位）数据&amp;lt;/code&amp;gt;，如&amp;lt;code&amp;gt;6ba7b811-9dad-11d1-80b4-00c04fd430c8&amp;lt;/code&amp;gt;其组成为32位无符号整数&amp;lt;code&amp;gt;0x6ba7b811&amp;lt;/code&amp;gt;、16位无符号整数&amp;lt;code&amp;gt;0x9dad&amp;lt;/code&amp;gt;、16位无符号整数&amp;lt;code&amp;gt;0x11d1&amp;lt;/code&amp;gt;、8位无符号整数&amp;lt;code&amp;gt;0x80&amp;lt;/code&amp;gt;,8位无符号整数 &amp;lt;code&amp;gt;0xb4&amp;lt;/code&amp;gt;,6字节（共48位）数据 &amp;lt;code&amp;gt;0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
但128位的UUID空间占用比较大，一般采用16位的短UUID（也称蓝牙UUID）。16位短UUID与128位UUID可相互转化。一般情况下，16位短UUID是128位UUID的一部分。对于蓝牙而言，16位短UUID可填充至&amp;lt;code&amp;gt;00000000-0000-1000-8000-00805f9b34fb&amp;lt;/code&amp;gt;的第一个32位整数部分,如短UUID&amp;lt;code&amp;gt;0x180f&amp;lt;/code&amp;gt;对应的长UUID为&amp;lt;code&amp;gt;0000180f-0000-1000-8000-00805f9b34fb&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
对于同一种类型的资源而言，UUID值类似C语言枚举值，均是通过数字标识具体的资源。&lt;br /&gt;
&lt;br /&gt;
蓝牙相关的数字分配可见：https://www.bluetooth.com/specifications/assigned-numbers/&lt;br /&gt;
&lt;br /&gt;
若处于Linux环境或者WSL环境，可使用&amp;lt;code&amp;gt;uuidgen&amp;lt;/code&amp;gt;生成128位UUID。当使用128位UUID作为标识时，推荐使用随机数或者时间生成一个基础UUID，再以此为基础改动其中某一部分（根据需求确定改动的位数，一般8位足够）定义一些UUID，这样可方便判断与识别。&lt;br /&gt;
&lt;br /&gt;
== 广播包与扫描响应包 ==&lt;br /&gt;
对于基于BLE的设备而言,最简单的应用就是使用广播包发送信息，实际应用的例子如某某TAG使用蓝牙进行追踪。&lt;br /&gt;
&lt;br /&gt;
扫描响应包（有时也称广播响应包），在另外的设备进行主动扫描时响应，用于扩展广播数据的大小（如未特殊说明，后文所指广播数据也包括扫描响应包中的数据）。通常固定的数据由扫描响应包传输，变化的数据用广播包传输(广播包可一直发送)。&lt;br /&gt;
&lt;br /&gt;
无论是广播包还是扫描响应包，所携带的广播数据长度最长为31字节。&lt;br /&gt;
&lt;br /&gt;
广播数据由一个或者多个广播结构体组成，所有广播结构体的长度之和不能超过广播包与扫描响应包可携带数据的最大长度。&lt;br /&gt;
&lt;br /&gt;
广播结构体由一字节长度+一字节广播类型+多字节广播结构体数据，其中长度指广播类型+广播结构体数据的长度，广播结构体数据由广播类型决定。&lt;br /&gt;
&lt;br /&gt;
通常情况下，广播包的广播数据的第一个广播结构体为广播标志(广播类型为0x01)，占3个字节。&lt;br /&gt;
&lt;br /&gt;
用户可使用厂商自定义数据类型的广播结构体发送自定义数据（对于上位机而言，比较容易获取广播数据中的厂商自定义数据），其余类型的广播结构体主要用于向外发送BLE相关配置。&lt;br /&gt;
&lt;br /&gt;
== 设备名称 ==&lt;br /&gt;
对于上位机而言，设备名称是区分不同自定义设备类型的方式之一(标准设备（如音频设备、HID设备）的区分类型的方式由BLE标准规定)。&lt;br /&gt;
&lt;br /&gt;
对于BLE而言，设备名称主要可在以下场景中使用:&lt;br /&gt;
&lt;br /&gt;
* 广播数据:广播数据中可携带设备名称信息。一般情况下，设备名称通常放在扫描响应包且在上位机扫描时显示。&lt;br /&gt;
* GAP服务(0x1800)的设备名称特征(0x2A00):此处的设备名称可与广播数据不同（也可以相同）。&lt;br /&gt;
&lt;br /&gt;
== profile ==&lt;br /&gt;
BLE规定了一系列规范(在BLE标准中称profile)，用户遵循这些标准即可实现对相应蓝牙功能的开发，而无需再对上位机进行二次开发（标准服务的驱动一般无需用户开发，操作系统或者蓝牙栈会自动实现对标准服务的访问）。&lt;br /&gt;
&lt;br /&gt;
一个profile可包含一个或多个服务，最终上位机与BLE设备之间的交互都是通过对服务的访问实现的。&lt;br /&gt;
&lt;br /&gt;
一个服务可包含一个或多个特征，这些特征就是一个个数据点，上位机可通过访问特征获取具体的数据。&lt;br /&gt;
&lt;br /&gt;
注意:此处只描述常用的profile/服务。&lt;br /&gt;
&lt;br /&gt;
=== GAP服务 ===&lt;br /&gt;
GAP服务的UUID为0x1800。&lt;br /&gt;
&lt;br /&gt;
GAP服务是BLE必须实现的服务，主要用于管理广播和连接事件的有关参数。&lt;br /&gt;
&lt;br /&gt;
=== GATT服务 ===&lt;br /&gt;
GATT服务的UUID为0x1801。&lt;br /&gt;
&lt;br /&gt;
GATT服务是BLE必须实现的服务。&lt;br /&gt;
&lt;br /&gt;
=== 设备信息服务 ===&lt;br /&gt;
设备信息服务的UUID为 0x180A。&lt;br /&gt;
&lt;br /&gt;
设备信息服务的实现是可选的，用户可通过设备信息服务提供以下信息:&lt;br /&gt;
&lt;br /&gt;
* SYSTEM_ID&lt;br /&gt;
* MODEL_NUMBER&lt;br /&gt;
* SERIAL_NUMBER：序列号可用于区分同一型号的不同设备，通常情况下，序列号是唯一的。&lt;br /&gt;
* FIRMWARE_REV&lt;br /&gt;
* HARDWARE_REV&lt;br /&gt;
* SOFTWARE_REV&lt;br /&gt;
* MANUFACTURER_NAME&lt;br /&gt;
* 11073_CERT_DATA&lt;br /&gt;
* PNP_ID&lt;br /&gt;
&lt;br /&gt;
=== 电池服务 ===&lt;br /&gt;
电池服务的UUID为 0x180F。&lt;br /&gt;
&lt;br /&gt;
电池服务的实现是可选的，用户可通过此服务提供电池信息（如电量）。&lt;br /&gt;
&lt;br /&gt;
=== SimpleProfile服务 ===&lt;br /&gt;
设备信息服务的UUID为 0xFFF0。&lt;br /&gt;
&lt;br /&gt;
SimpleProfile服务的实现是可选的。SimpleProfile服务通常用于自定义服务，通常情况下，其特征（自定义数据）的UUID从0xFFF1起。&lt;br /&gt;
&lt;br /&gt;
与其它的profile不同，此服务通常不会被操作系统/蓝牙栈使用，因此用户需要手动编写上位机程序。&lt;br /&gt;
&lt;br /&gt;
除了用户自行分配服务UUID（通常是长UUID，用于避免重复）创建非标准设备外，用户还可使用此服务创建非标准设备。&lt;br /&gt;
&lt;br /&gt;
== 软件 ==&lt;br /&gt;
&lt;br /&gt;
==== 上位机库 ====&lt;br /&gt;
蓝牙通常可以使用各个操作系统的原生API开发，也可以使用第三方开发库：&lt;br /&gt;
&lt;br /&gt;
* [https://www.simpleble.org/ simpleble]&lt;br /&gt;
&lt;br /&gt;
===== simpleble =====&lt;br /&gt;
跨平台BLE库。&lt;br /&gt;
&lt;br /&gt;
本人开发了[[SimpleBLETool]]用于测试此库。&lt;br /&gt;
&lt;br /&gt;
== 官方资料 ==&lt;br /&gt;
https://www.bluetooth.com/&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=BLE&amp;diff=1126</id>
		<title>BLE</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=BLE&amp;diff=1126"/>
		<updated>2025-04-12T04:54:01Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* SimpleProfile服务 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 说明 ==&lt;br /&gt;
蓝牙低能耗（Bluetooth Low Energy，或称Bluetooth LE、BLE，旧商标Bluetooth Smart）也称低功耗蓝牙，是蓝牙技术联盟设计和销售的一种个人局域网技术，旨在用于医疗保健、运动健身、信标、安防、家庭娱乐等领域的新兴应用。相较经典蓝牙，低功耗蓝牙旨在保持同等通信范围的同时显著降低功耗和成本。&lt;br /&gt;
&lt;br /&gt;
== UUID ==&lt;br /&gt;
UUID为通用唯一识别码,用于标识资源。&lt;br /&gt;
&lt;br /&gt;
UUID通常为128位，其组成为32位无符号整数+16位无符号整数+16位无符号整数+8位无符号整数+8位无符号整数+6字节（共48位）数据，其字符串格式为&amp;lt;code&amp;gt;32位无符号整数-16位无符号整数-16位无符号整数-16位无符号整数(8位无符号整数+8位无符号整数)-6字节（共48位）数据&amp;lt;/code&amp;gt;，如&amp;lt;code&amp;gt;6ba7b811-9dad-11d1-80b4-00c04fd430c8&amp;lt;/code&amp;gt;其组成为32位无符号整数&amp;lt;code&amp;gt;0x6ba7b811&amp;lt;/code&amp;gt;、16位无符号整数&amp;lt;code&amp;gt;0x9dad&amp;lt;/code&amp;gt;、16位无符号整数&amp;lt;code&amp;gt;0x11d1&amp;lt;/code&amp;gt;、8位无符号整数&amp;lt;code&amp;gt;0x80&amp;lt;/code&amp;gt;,8位无符号整数 &amp;lt;code&amp;gt;0xb4&amp;lt;/code&amp;gt;,6字节（共48位）数据 &amp;lt;code&amp;gt;0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
但128位的UUID空间占用比较大，一般采用16位的短UUID（也称蓝牙UUID）。16位短UUID与128位UUID可相互转化。一般情况下，16位短UUID是128位UUID的一部分。对于蓝牙而言，16位短UUID可填充至&amp;lt;code&amp;gt;00000000-0000-1000-8000-00805f9b34fb&amp;lt;/code&amp;gt;的第一个32位整数部分,如短UUID&amp;lt;code&amp;gt;0x180f&amp;lt;/code&amp;gt;对应的长UUID为&amp;lt;code&amp;gt;0000180f-0000-1000-8000-00805f9b34fb&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
对于同一种类型的资源而言，UUID值类似C语言枚举值，均是通过数字标识具体的资源。&lt;br /&gt;
&lt;br /&gt;
蓝牙相关的数字分配可见：https://www.bluetooth.com/specifications/assigned-numbers/&lt;br /&gt;
&lt;br /&gt;
若处于Linux环境或者WSL环境，可使用&amp;lt;code&amp;gt;uuidgen&amp;lt;/code&amp;gt;生成128位UUID。当使用128位UUID作为标识时，推荐使用随机数或者时间生成一个基础UUID，再以此为基础改动其中某一部分（根据需求确定改动的位数，一般8位足够）定义一些UUID，这样可方便判断与识别。&lt;br /&gt;
&lt;br /&gt;
== 广播包与扫描响应包 ==&lt;br /&gt;
对于基于BLE的设备而言,最简单的应用就是使用广播包发送信息，实际应用的例子如某某TAG使用蓝牙进行追踪。&lt;br /&gt;
&lt;br /&gt;
扫描响应包（有时也称广播响应包），在另外的设备进行主动扫描时响应，用于扩展广播数据的大小（如未特殊说明，后文所指广播数据也包括扫描响应包中的数据）。通常固定的数据由扫描响应包传输，变化的数据用广播包传输(广播包可一直发送)。&lt;br /&gt;
&lt;br /&gt;
无论是广播包还是扫描响应包，所携带的广播数据长度最长为31字节。&lt;br /&gt;
&lt;br /&gt;
广播数据由一个或者多个广播结构体组成，所有广播结构体的长度之和不能超过广播包与扫描响应包可携带数据的最大长度。&lt;br /&gt;
&lt;br /&gt;
广播结构体由一字节长度+一字节广播类型+多字节广播结构体数据，其中长度指广播类型+广播结构体数据的长度，广播结构体数据由广播类型决定。&lt;br /&gt;
&lt;br /&gt;
通常情况下，广播包的广播数据的第一个广播结构体为广播标志(广播类型为0x01)，占3个字节。&lt;br /&gt;
&lt;br /&gt;
用户可使用厂商自定义数据类型的广播结构体发送自定义数据（对于上位机而言，比较容易获取广播数据中的厂商自定义数据），其余类型的广播结构体主要用于向外发送BLE相关配置。&lt;br /&gt;
&lt;br /&gt;
== 设备名称 ==&lt;br /&gt;
对于上位机而言，设备名称是区分不同自定义设备类型的方式之一(标准设备（如音频设备、HID设备）的区分类型的方式由BLE标准规定)。&lt;br /&gt;
&lt;br /&gt;
对于BLE而言，设备名称主要可在以下场景中使用:&lt;br /&gt;
&lt;br /&gt;
* 广播数据:广播数据中可携带设备名称信息。一般情况下，设备名称通常放在扫描响应包且在上位机扫描时显示。&lt;br /&gt;
* GAP服务(0x1800)的设备名称特征(0x2A00):此处的设备名称可与广播数据不同（也可以相同）。&lt;br /&gt;
&lt;br /&gt;
== profile ==&lt;br /&gt;
BLE规定了一系列规范(在BLE标准中称profile)，用户遵循这些标准即可实现对相应蓝牙功能的开发，而无需再对上位机进行二次开发（标准服务的驱动一般无需用户开发，操作系统或者蓝牙栈会自动实现对标准服务的访问）。&lt;br /&gt;
&lt;br /&gt;
一个profile可包含一个或多个服务，最终上位机与BLE设备之间的交互都是通过对服务的访问实现的。&lt;br /&gt;
&lt;br /&gt;
一个服务可包含一个或多个特征，这些特征就是一个个数据点，上位机可通过访问特征获取具体的数据。&lt;br /&gt;
&lt;br /&gt;
注意:此处只描述常用的profile/服务。&lt;br /&gt;
&lt;br /&gt;
=== GAP服务 ===&lt;br /&gt;
GAP服务的UUID为0x1800。&lt;br /&gt;
&lt;br /&gt;
GAP服务是BLE必须实现的服务，主要用于管理广播和连接事件的有关参数。&lt;br /&gt;
&lt;br /&gt;
=== GATT服务 ===&lt;br /&gt;
GATT服务的UUID为0x1801。&lt;br /&gt;
&lt;br /&gt;
GATT服务是BLE必须实现的服务。&lt;br /&gt;
&lt;br /&gt;
=== 设备信息服务 ===&lt;br /&gt;
设备信息服务的UUID为 0x180A。&lt;br /&gt;
&lt;br /&gt;
设备信息服务的实现是可选的，用户可通过设备信息服务提供以下信息:&lt;br /&gt;
&lt;br /&gt;
* SYSTEM_ID&lt;br /&gt;
* MODEL_NUMBER&lt;br /&gt;
* SERIAL_NUMBER：序列号可用于区分同一型号的不同设备，通常情况下，序列号是唯一的。&lt;br /&gt;
* FIRMWARE_REV&lt;br /&gt;
* HARDWARE_REV&lt;br /&gt;
* SOFTWARE_REV&lt;br /&gt;
* MANUFACTURER_NAME&lt;br /&gt;
* 11073_CERT_DATA&lt;br /&gt;
* PNP_ID&lt;br /&gt;
&lt;br /&gt;
=== 电池服务 ===&lt;br /&gt;
电池服务的UUID为 0x180F。&lt;br /&gt;
&lt;br /&gt;
电池服务的实现是可选的，用户可通过此服务提供电池信息（如电量）。&lt;br /&gt;
&lt;br /&gt;
=== SimpleProfile服务 ===&lt;br /&gt;
设备信息服务的UUID为 0xFFF0。&lt;br /&gt;
&lt;br /&gt;
SimpleProfile服务的实现是可选的。SimpleProfile服务通常用于自定义服务，通常情况下，其特征（自定义数据）的UUID从0xFFF1起。&lt;br /&gt;
&lt;br /&gt;
与其它的profile不同，此服务通常不会被操作系统/蓝牙栈使用，因此用户需要手动编写上位机程序。&lt;br /&gt;
&lt;br /&gt;
除了用户自行分配服务UUID（通常是长UUID，用于避免重复）创建非标准设备外，用户还可使用此服务创建非标准设备。&lt;br /&gt;
&lt;br /&gt;
== 软件 ==&lt;br /&gt;
&lt;br /&gt;
==== 上位机库 ====&lt;br /&gt;
蓝牙通常可以使用各个操作系统的原生API开发，也可以使用第三方开发库：&lt;br /&gt;
&lt;br /&gt;
* [https://www.simpleble.org/ simpleble]&lt;br /&gt;
&lt;br /&gt;
==== simpleble ====&lt;br /&gt;
跨平台BLE库。&lt;br /&gt;
&lt;br /&gt;
本人开发了[[SimpleBLETool]]用于测试此库。&lt;br /&gt;
&lt;br /&gt;
== 官方资料 ==&lt;br /&gt;
https://www.bluetooth.com/&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1125</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1125"/>
		<updated>2025-04-12T04:47:49Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* BLE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 常用项目 ==&lt;br /&gt;
&lt;br /&gt;
=== 嵌入式项目 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!简介&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
!标签&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-001     &lt;br /&gt;
|扩展板,用于扩展一个可编程通道(RS485)。&lt;br /&gt;
主要采用以下芯片:&lt;br /&gt;
&lt;br /&gt;
* CH334R:USB Hub。&lt;br /&gt;
* [[Air32F103CCT6]]:[[DAPLink]]主控芯片、Core主控芯片。&lt;br /&gt;
* MAX3485：3.3V电源驱动的RS485收发芯片。&lt;br /&gt;
|[[ExtBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[DAPLink]]&lt;br /&gt;
* [[Air32F103]]&lt;br /&gt;
|-&lt;br /&gt;
|CoreBoard-001&lt;br /&gt;
|核心板。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* HLK-7688A:[[MT7688AN]]核心板。&lt;br /&gt;
* DS1307：实时时钟&lt;br /&gt;
|[[CoreBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-002&lt;br /&gt;
|扩展板。使用USB提供4G联网功能。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|[[ExtBoad-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-003&lt;br /&gt;
|扩展板。USB CAN适配器，复刻[[candleLight]]。&lt;br /&gt;
|[[ExtBoard-003]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-001&lt;br /&gt;
|模块电路，用于验证廉价PY32单片机&lt;br /&gt;
|[[ExtModule-001]]&lt;br /&gt;
|&lt;br /&gt;
* PY32&lt;br /&gt;
* [[Modbus]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-002&lt;br /&gt;
|模块电路，用于验证ST17H66 蓝牙SOC&lt;br /&gt;
|[[ExtModule-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[ST17H66]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用技术栈 ==&lt;br /&gt;
&lt;br /&gt;
=== 使用低成本无线连接的设备 ===&lt;br /&gt;
通常情况下，除了直接接入网络，通常还可以使用网关代为接入网络，此时大致可分为网关设备（例如ZigBee网络的协调器）与子设备（例如ZigBee的路由器与终端设备）。&lt;br /&gt;
&lt;br /&gt;
网关设备通常用于协议的转换，通常使用性能相对强大的设备担任。&lt;br /&gt;
&lt;br /&gt;
子设备一般用于实际的应用，对设备的性能的要求相对较低。&lt;br /&gt;
&lt;br /&gt;
使用网关设备+子设备的模式优点如下：&lt;br /&gt;
&lt;br /&gt;
* 在节点较多时可节约成本。&lt;br /&gt;
* 某些场所无法直接接入网络。&lt;br /&gt;
&lt;br /&gt;
网关设备与子设备之间的连接可以使用有线连接（如[[CAN]]、[[Modbus|Modbus RTU]]等），也可以使用无线连接。&lt;br /&gt;
&lt;br /&gt;
使用无线连接时，主要使用以下方案:&lt;br /&gt;
&lt;br /&gt;
* [[NRF24L01+|NRF24L01]]及其兼容方案：实现简单，由用户自行定义协议，网关设备与子设备均需要自行开发。&lt;br /&gt;
* [[BLE]]：低功耗蓝牙，用户不能自定义协议，只能按照蓝牙定义的协议去开发，对于硬件而言，一般主要开发外围外设，中心设备可使用已有的硬件方案，调试使用可使用PC、手机调试。&lt;br /&gt;
&lt;br /&gt;
==== NRF24L01及其兼容方案 ====&lt;br /&gt;
采用[[NRF24L01+]]及兼容方案，直接收发数据，网络协议栈由用户自行实现。&lt;br /&gt;
&lt;br /&gt;
==== [[BLE]] ====&lt;br /&gt;
很多SOC方案支持开发中心设备，也支持开发外围设备，但一般只开发外围设备（通常用于子设备）的硬件（调试使用PC、手机），中心设备的硬件可使用支持BLE的现成方案。&lt;br /&gt;
&lt;br /&gt;
主要使用的BLE方案如下：&lt;br /&gt;
&lt;br /&gt;
* [[ST17H66]]: 低成本[[BLE]] SOC。&lt;br /&gt;
&lt;br /&gt;
=== 可连接TCP/IP的物联网设备 ===&lt;br /&gt;
开发物联网设备时,无论设备是通过WiFi、2G/3G/4G/5G或以太网连接网络,如设备支持TCP/IP,通常采用[[MQTT]]作为主要通信协议。&lt;br /&gt;
&lt;br /&gt;
除了主要通信协议,通常物联网设备还需要支持NTP对时，有时还需要使用到Http作为辅助协议。&lt;br /&gt;
&lt;br /&gt;
主要使用的协议如下：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!协议名称&lt;br /&gt;
!说明&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|[[MQTT]]&lt;br /&gt;
|MQTT是专门针对物联网开发的轻量级传输协议。&lt;br /&gt;
|通常采用TCP，可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[LwM2M]]&lt;br /&gt;
|LwM2M是一种轻量级的、标准通用的物联网设备管理协议，可用于快速部署客户端/服务器模式的物联网业务&lt;br /&gt;
|通常采用UDP，常见于NB-IOT模块。&lt;br /&gt;
由于UDP的在公网上的老化（公网的NAT转换机制），在公网上不能实现实时控制，只能应用于周期上报的设备。&lt;br /&gt;
&lt;br /&gt;
在专网或者局域网内可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[CoAP]]&lt;br /&gt;
|CoAP是一种用于受限节点与受限网络的web传输协议，由IETF提出。&lt;br /&gt;
|通常采用UDP，可使用DTLS加密，一般情况下用于在受限环境中替代http。&lt;br /&gt;
|-&lt;br /&gt;
|Http/Https&lt;br /&gt;
|超文本传输协议（Hypertext Transfer Protocol，HTTP）是一个简单的请求-响应协议。&lt;br /&gt;
|通常用于调用后端服务器的api接口。&lt;br /&gt;
|-&lt;br /&gt;
|NTP&lt;br /&gt;
|NTP是用来使计算机时间同步化的一种协议。&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[CSA Matter|Matter]]&lt;br /&gt;
|Matter是一个统一的、开源的应用层连接标准，旨在使开发人员和设备制造商能够连接和构建可靠的、安全的生态系统，并增加智能家具设备之间的兼容性。&lt;br /&gt;
|按照其架构，可使用TCP/UDP,基于[[IPV6]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 低成本方案 ====&lt;br /&gt;
低成本方案主要是指硬件采用SOC方案并且操作系统采用嵌入式操作系统的方案或者外设方案:&lt;br /&gt;
&lt;br /&gt;
* [[Air724UG]] :4G模块，可使用C/C++进行二次开发。&lt;br /&gt;
* [[Air780E]]:4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价。&lt;br /&gt;
* [[ESP8266]] ： WIFI模块。&lt;br /&gt;
* [[ESP32]] : WIFI模块,可接以太网PHY实现以太网上网。&lt;br /&gt;
* [[W600]] ： WIFI模块。&lt;br /&gt;
* [[W800]] ： WIFI模块。&lt;br /&gt;
* [[CH579]] ： 自带以太网PHY,可实现以太网上网。&lt;br /&gt;
*[[W5500]] :全硬件以太网外设芯片，需配合主控使用。&lt;br /&gt;
&lt;br /&gt;
==== 一般方案 ====&lt;br /&gt;
一般方案主要指资源相对充足的方案,一般采用Linux作为内核:&lt;br /&gt;
&lt;br /&gt;
* [[MT7688]] :可采用以太网或者WIFI联网,通过USB可接4G上网模块通过RNDIS上网。&lt;br /&gt;
&lt;br /&gt;
=== 带交流计量功能的设备 ===&lt;br /&gt;
==== 单相SOC方案 ====&lt;br /&gt;
对于单相计量（即常见的家用电）设备,通常采用SOC方案:&lt;br /&gt;
* [[RN8211B]]&lt;br /&gt;
* [[HT502X]]&lt;br /&gt;
此类SOC通常可以使用内置的模块完成包括计量功能在内的大部分需求,在某些情况下也可开发高精度的直流计量设备。&amp;lt;br&amp;gt;&lt;br /&gt;
如需与其它设备进行交互，通常还需要添加通信模块或者使用串口通信。&amp;lt;br&amp;gt;&lt;br /&gt;
若使用串口通信,本人常用[[Modbus]] RTU作为具体协议,将具体的硬件资源映射为线圈(可读写的位)、输入线圈(只读的位)、保持寄存器(可读写)、输入寄存器(只读)。&amp;lt;br&amp;gt;&lt;br /&gt;
* [[SimpleModbusRTUPacket]]&lt;br /&gt;
==== 单相非SOC方案 ====&lt;br /&gt;
若由于需要采用低成本导致计量部分相对于强电非隔离,而设备上又需要输出隔离接口时,通常采用非SOC方案+串口/SPI口隔离,常用芯片方案:&lt;br /&gt;
* [[RN8209]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&lt;br /&gt;
==== 三相非SOC方案 ====&lt;br /&gt;
若待计量的电路为三相电路,常用芯片方案:&lt;br /&gt;
* [[RN8302B]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&amp;lt;br&amp;gt;&lt;br /&gt;
注意:截至编辑时,尚未发现三相SOC方案。&lt;br /&gt;
=== 带有特殊功能的路由器/WIFI网关 ===&lt;br /&gt;
芯片方案：&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
软件开发方案:&lt;br /&gt;
* [[ openwrt ]]&lt;br /&gt;
在内核[[Devicetree|设备树(dts)]]配置中使能需要使用的标准接口，并在openwrt的[[Kconfig|menuconfig]]中选中对应的kmod包后,即可使用[[Linux]]用户程序(非内核模块)操作硬件设备。&amp;lt;br&amp;gt;&lt;br /&gt;
对于SPI、I2C与UART而言,用户可通过打开/dev目录下的相应字符设备即可使用。&amp;lt;br&amp;gt;&lt;br /&gt;
对于GPIO而言,可使用sysfs文件系统目录:/sys/class/gpio目录进行GPIO操作。&lt;br /&gt;
&lt;br /&gt;
=== 基于[[USB]]的外设扩展 ===&lt;br /&gt;
对于使用Linux内核的设备的外设扩展,本人较为推崇使用[[USB]]作为外设总线,其优点如下:&lt;br /&gt;
&lt;br /&gt;
* 支持热插拔与子设备枚举，无需在设备树中配置所挂接的子设备。&lt;br /&gt;
* 可使用hub扩展较多接口。&lt;br /&gt;
* 支持[[USB]]的转换芯片较多。&lt;br /&gt;
&lt;br /&gt;
一般来讲，对于少量控制数据的传输，[[USB]] 2.0的传输速度就足够了。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] HUB ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH334/CH335&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH334.html&lt;br /&gt;
|-&lt;br /&gt;
|CH338&lt;br /&gt;
|7口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH338.html&lt;br /&gt;
|-&lt;br /&gt;
|FE1.1s&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HS8836A&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 转换芯片 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH340&lt;br /&gt;
|USB转串口/打印口&lt;br /&gt;
|https://www.wch.cn/products/CH340.html&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 上位机软件开发 ====&lt;br /&gt;
&lt;br /&gt;
* 对于标准外设，可按照标准外设的使用方法，如[[USB]]转串口按照串口的方式使用。&lt;br /&gt;
* 对于[[USB]]原生的应用(直接通过端点发送接收数据),可使用[https://libusb.info/ libusb]开发。&lt;br /&gt;
* 对于基于[[USB]]的HID设备，若未被其它内核驱动使用，可使用[https://github.com/signal11/hidapi hidapi]开发。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 嵌入式开发 ====&lt;br /&gt;
若未具体说明，本章节中的[[USB]]嵌入式开发指Device端的嵌入式开发，即[[USB]]外设开发。&lt;br /&gt;
&lt;br /&gt;
除了各个芯片厂商提供的[[USB]]栈，还可使用以下USB栈用于USB外设开发：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!USB库&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
!tinyusb&lt;br /&gt;
!开源、跨平台的USB HOST/DEVICE栈&lt;br /&gt;
!https://www.tinyusb.org/&lt;br /&gt;
|-&lt;br /&gt;
!CherryUSB&lt;br /&gt;
!小而美的、可移植性高的、用于嵌入式系统的 USB 主从协议栈&lt;br /&gt;
!https://cherryusb.readthedocs.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子线连接器 ===&lt;br /&gt;
很多时候一个产品可由多个PCB组成，而PCB之间除了直接焊线，还可以由电子线连接器（包括插头、插座）连接。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+常用电子线连接器&lt;br /&gt;
!引脚间距(mm)&lt;br /&gt;
!类型&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
* SH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.25&lt;br /&gt;
|&lt;br /&gt;
* GH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.50&lt;br /&gt;
|&lt;br /&gt;
* ZH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.00&lt;br /&gt;
|&lt;br /&gt;
* PH&lt;br /&gt;
* HY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.50/2.54&lt;br /&gt;
|&lt;br /&gt;
* EH&lt;br /&gt;
* XH&lt;br /&gt;
* SM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.96&lt;br /&gt;
|&lt;br /&gt;
* VH&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
注意：&lt;br /&gt;
&lt;br /&gt;
# 以上所指的类型可能只是实际连接器的型号的一部分,一般用于搜索相应器件。如在淘宝上搜索&#039;&#039;&#039;PH 连接器&#039;&#039;&#039; 即可获取类型为PH的连接器。&lt;br /&gt;
# 同一个引脚间距可能有多个类型，这些不同的类型一般有其它差异（如材料、结构等）。&lt;br /&gt;
# 如需某个类型的双排连接器，可在类型中添加D(仅适用于部分类型),如需要类型为PH的连接器,则搜索&#039;&#039;&#039;PHD 连接器&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
=== 外壳方案 ===&lt;br /&gt;
&lt;br /&gt;
==== 可采用导轨安装的外壳方案 ====&lt;br /&gt;
对于电气控制柜、仪表柜、配电箱等，安装导轨是一个极其常见的配件。&lt;br /&gt;
&lt;br /&gt;
常用的安装导轨方案如下:&lt;br /&gt;
&lt;br /&gt;
* DIN TS35:35×7.5 安装导轨,宽度35mm,深度7.5mm,材质形式为钢、铝、铜等，表现形式为横条状金属片&lt;br /&gt;
&lt;br /&gt;
若未特殊说明，导轨均指DIN TS35安装导轨。&lt;br /&gt;
&lt;br /&gt;
对于带计量的产品而言,除了设计成插座样式，还可以设计成导轨安装并安放在配电箱里。&lt;br /&gt;
&lt;br /&gt;
对于需要安装至导轨的产品而言，主要有以下方案:&lt;br /&gt;
&lt;br /&gt;
* 直接使用可用于导轨安装的外壳。&lt;br /&gt;
* 采用导轨安装卡扣,卡扣上通常有螺丝孔位，可通过螺丝安装产品。&lt;br /&gt;
&lt;br /&gt;
==== 廉价铝壳外壳方案 ====&lt;br /&gt;
作为物联网产品(尤其是具有RTU/DTU角色的物联网产品)，通常需要一个外壳。一般情况下，可使用铁壳或者铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
为减小成本,本人一般采用成品铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
注意:本段落中的铝壳主要指主要外形为长方体，两侧或者顶部具有可拆卸的盖子的壳体，并不泛指所有采用铝作为主要材料的壳体。&lt;br /&gt;
&lt;br /&gt;
一般情况下,通常需要给铝壳开孔以引出接口，常用方案如下:&lt;br /&gt;
&lt;br /&gt;
* 正面开孔，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 侧盖开孔(一面或两面)，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 采用PCB作为侧盖(一般使用黑色的壳体配合黑色PCB),使用PCB制造开孔。仅试样的情况下,价格相对便宜。&lt;br /&gt;
* 一侧不要侧盖。适用于直接引出导线的产品,一般配合灌胶工艺。一般直接用于量产产品。&lt;br /&gt;
如需使用导轨安装，可使用导轨安装卡扣固定铝壳。&lt;br /&gt;
&lt;br /&gt;
===== 常用尺寸1 =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+铝壳参数&lt;br /&gt;
!长&lt;br /&gt;
!宽&lt;br /&gt;
!高&lt;br /&gt;
!PCB块数&lt;br /&gt;
!PCB最大厚度&lt;br /&gt;
!PCB最大宽度&lt;br /&gt;
!PCB最大长度&lt;br /&gt;
|-&lt;br /&gt;
|100mm&lt;br /&gt;
|66mm&lt;br /&gt;
|27mm&lt;br /&gt;
|2(一块顶部PCB板，一块底部PCB板)&lt;br /&gt;
|2mm&lt;br /&gt;
|60.3mm(不能小太多)&lt;br /&gt;
|100mm(取决于铝壳长度，一般可定制)&lt;br /&gt;
|}&lt;br /&gt;
[[文件:ALUMINUM SHELL 66x27x100.png|居中|有框]]&lt;br /&gt;
&lt;br /&gt;
==== 接线盒(家庭) ====&lt;br /&gt;
此处所指接线盒主要指家庭中用于开关/插座的接线盒,并不指广义接线盒。&lt;br /&gt;
&lt;br /&gt;
接线盒主要由底盒与面板组成。&lt;br /&gt;
&lt;br /&gt;
其中底盒的种类多种多样，根据可分为明装与暗装，一般底盒均为提前安装好的，不可简单增加与减少。&lt;br /&gt;
&lt;br /&gt;
面板一般是嵌入式开发中常用的壳体，只要保证安装孔距正确，即可安装在提前安装的底盒上。&lt;br /&gt;
&lt;br /&gt;
接线盒可根据面板尺寸进行分类，主要有以下型号：&lt;br /&gt;
&lt;br /&gt;
* 86型&lt;br /&gt;
* 118型&lt;br /&gt;
* 120型&lt;br /&gt;
&lt;br /&gt;
采用接线盒进行嵌入式开发主要开发以下设备（与传统开关、传统插座有一定相似之处）：&lt;br /&gt;
&lt;br /&gt;
* 智能家居控制面板:可进行联网操作，控制智能家居设备。可显示一些信息（如时间、天气、场景等信息）。可连接到其它智能设备（如智能音箱）&lt;br /&gt;
* 智能家居开关：功能与传统开关类似，可通过无线（如BLE、Zigbee等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
* 智能家居插座：功能与传统插座类似，可远程控制、数据采集（电量、电压、电流等）。可通过无线（如BLE、Zigbee、WiFi等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
&lt;br /&gt;
===== 86型接线盒 =====&lt;br /&gt;
86型接线盒作为较常用的接线盒，俗称86盒，其面板尺寸86mmX86mm。&lt;br /&gt;
&lt;br /&gt;
许多厂商也提供采用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寸开发板]。&lt;br /&gt;
&lt;br /&gt;
== 常用芯片及模块 ==&lt;br /&gt;
=== 常用芯片及核心模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 常用芯片及核心模块&lt;br /&gt;
|-&lt;br /&gt;
! 芯片/模块名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8211B || 单相计量SOC || [[RN8211B]]&lt;br /&gt;
|-&lt;br /&gt;
| HT502X || 单相计量SOC || [[HT502X]]&lt;br /&gt;
|-&lt;br /&gt;
| Air724UG || 4G模块,进行C语言开发 || [[Air724UG]]&lt;br /&gt;
|-&lt;br /&gt;
|Air780E&lt;br /&gt;
|4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价&lt;br /&gt;
|[[Air780E]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-12F || WIFI透传模块，可支持二次开发，主芯片为ESP8266 || [[ESP8266]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-32S || ESP32模块，可支持WIFI、蓝牙、以太网,可采用esp-idf开发 || [[ESP32]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-01 || W600开发板，WIFI SOC，Cortex-M3内核 || [[W600]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-08 || W800开发板，WIFI/蓝牙 SOC， XT804内核 || [[W800]]&lt;br /&gt;
|-&lt;br /&gt;
| CH579|| 以太网、蓝牙、USB SOC，Cortex-M0内核MCU || [[CH579]]&lt;br /&gt;
|-&lt;br /&gt;
| HLK-7688A|| MT7688芯片核心模块，可采用openwrt开发 || [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
| E18-MS1|| CC2530芯片核心模块，可采用contiki开发或者Z-Stack开发 || [[CC2530]]&lt;br /&gt;
|-&lt;br /&gt;
|Air105&lt;br /&gt;
|廉价大内存mcu,4M flash,640K SRAM,Cortex-M4F&lt;br /&gt;
|[[Air105]]&lt;br /&gt;
|-&lt;br /&gt;
|Lichee Zero&lt;br /&gt;
|全志V3s开发板，64M DRAM，廉价Linux开发板，V3s芯片可手贴&lt;br /&gt;
|[[V3s]]   [https://wiki.sipeed.com/hardware/zh/lichee/Zero/Zero.html Lichee Zero]&lt;br /&gt;
|-&lt;br /&gt;
|Air32F103&lt;br /&gt;
|96K RAM,兼容STM32F103&lt;br /&gt;
|[[Air32F103]] http://air32.cn&lt;br /&gt;
|-&lt;br /&gt;
|ST17H66&lt;br /&gt;
|64K RAM，256K Flash,廉价蓝牙SOC&lt;br /&gt;
|[[ST17H66]]&lt;br /&gt;
|}&lt;br /&gt;
注意:此章节可能不包含资料较多，应用极其成熟的芯片系列。&lt;br /&gt;
=== 外设芯片及外设模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 外设芯片及外设模块&lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! 接口 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8302B || 三相计量芯片 || SPI || [[RN8302B]]&lt;br /&gt;
|-&lt;br /&gt;
| RN8209C/RN8209D || 单相计量芯片 ||&lt;br /&gt;
* UART&lt;br /&gt;
* SPI&lt;br /&gt;
| [[RN8209]]&lt;br /&gt;
|-&lt;br /&gt;
| NRF24L01+ || 2.4G无线芯片,具有众多兼容替代(如Si24R1) || SPI+GPIO(中断、CE) || [[NRF24L01+]]&lt;br /&gt;
|-&lt;br /&gt;
|W5500&lt;br /&gt;
|全硬件栈以太网芯片&lt;br /&gt;
|SPI&lt;br /&gt;
|[[W5500]]&lt;br /&gt;
|-&lt;br /&gt;
|中景园0.96寸OLED点阵屏&lt;br /&gt;
|分辨率128x64,显示驱动（控制）芯片SSD1306&lt;br /&gt;
|&lt;br /&gt;
* IIC&lt;br /&gt;
* SPI+GPIO(DC、RES)&lt;br /&gt;
|[[SSD1306]] [[中景园0.96寸OLED点阵屏]]&lt;br /&gt;
|-&lt;br /&gt;
|AHT20&lt;br /&gt;
|温湿度传感器&lt;br /&gt;
|IIC&lt;br /&gt;
|[[AHT20]]&lt;br /&gt;
|-&lt;br /&gt;
|DS1307&lt;br /&gt;
|RTC（实时时钟）&lt;br /&gt;
|IIC&lt;br /&gt;
|[[DS1307]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用嵌入式操作系统、BootLoader、嵌入式固件及嵌入式软件库 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| FreeRTOS || 嵌入式操作系统 || [[FreeRTOS]]&lt;br /&gt;
|-&lt;br /&gt;
| rt-thread || 物联网嵌入式操作系统 || [[ rt-thread ]] &lt;br /&gt;
|-&lt;br /&gt;
|nuttx||嵌入式操作系统||[[nuttx]]&lt;br /&gt;
|-&lt;br /&gt;
|paho.mqtt.embedded-c|| MQTT客户端，可移植到各种芯片平台||[[paho.mqtt.embedded-c]]&lt;br /&gt;
|-&lt;br /&gt;
|openwrt||操作系统，嵌入式Linux构建工具||[[ openwrt | openwrt]]&lt;br /&gt;
|-&lt;br /&gt;
|u8g2&lt;br /&gt;
|单色/点阵屏驱动库&lt;br /&gt;
|[[u8g2]]&lt;br /&gt;
|-&lt;br /&gt;
|U-Boot&lt;br /&gt;
|通用引导加载器。通常用于加载[[Linux]]。&lt;br /&gt;
|[[U-Boot]]&lt;br /&gt;
|-&lt;br /&gt;
|Newlib&lt;br /&gt;
|嵌入式C运行库（通常配合GCC使用）&lt;br /&gt;
|[[Newlib]]&lt;br /&gt;
|-&lt;br /&gt;
|printf&lt;br /&gt;
|printf, sprintf and (v)snprintf 实现&lt;br /&gt;
|[[printf]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==常用工具==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+常用工具&lt;br /&gt;
|-&lt;br /&gt;
!名称!!说明!!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|easy-rsa||使用SSL/TLS时,自签证书制作/管理工具||[[easy-rsa]]&lt;br /&gt;
|-&lt;br /&gt;
|buildroot||嵌入式Linux构建工具||[[buildroot]]&lt;br /&gt;
|-&lt;br /&gt;
|debootstrap||Linux系统根文件系统创建工具,可创建Debian系Linux系统根文件系统||[[debootstrap]]&lt;br /&gt;
|-&lt;br /&gt;
|crosstool-ng||交叉编译工具链创建工具||[[crosstool-ng]]&lt;br /&gt;
|-&lt;br /&gt;
|ScreenToGif&lt;br /&gt;
|在Windows下录屏制作gif的工具&lt;br /&gt;
|https://github.com/NickeManarin/ScreenToGif.git&lt;br /&gt;
|-&lt;br /&gt;
|Xfel&lt;br /&gt;
|全志SOC的FEL工具（可下载固件等）&lt;br /&gt;
|[[Xfel]]&lt;br /&gt;
|-&lt;br /&gt;
|busybox&lt;br /&gt;
|unix工具箱，可用于创建体积极小的rootfs&lt;br /&gt;
|[[busybox]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===IDE环境/开发环境/开发工具===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|codeblocks&lt;br /&gt;
|免费的C/C++ IDE,可开发多种C/C++程序。本人只要将它用作基于CMake构建的工程的代码编写。&lt;br /&gt;
|http://www.codeblocks.org/&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Visual Studio&lt;br /&gt;
|微软的开发工具集。本人主要用于开发WIN32程序。本人优先使用codeblocks作为C/C++开发环境,VS占用的空间太大,但有些第三方库在Windows上可能只支持MSVC,故而必须使用VS。&lt;br /&gt;
|https://visualstudio.microsoft.com/zh-hans/&lt;br /&gt;
|-&lt;br /&gt;
|keil5&lt;br /&gt;
|用于ARM嵌入式芯片的开发。注意:keil5不是免费的。&lt;br /&gt;
|https://www.keil.com/&lt;br /&gt;
|-&lt;br /&gt;
|IAR&lt;br /&gt;
|本人主要使用针对ARM嵌入式芯片的开发。注意:IAR不是免费的。&lt;br /&gt;
|https://www.iar.com/&lt;br /&gt;
|-&lt;br /&gt;
|QtCreator&lt;br /&gt;
|用于创建基于Qt的程序。&lt;br /&gt;
|https://www.qt.io/product/development-tools&lt;br /&gt;
|-&lt;br /&gt;
|MounRiver&lt;br /&gt;
|基于Eclipse的嵌入式ARM/RISC-V的集成开发环境。本人主要用于测试[https://www.wch.cn/ WCH]的单片机。&lt;br /&gt;
|http://www.mounriver.com/&lt;br /&gt;
|-&lt;br /&gt;
|RT-Thread Studio&lt;br /&gt;
|一站式的 RT-Thread 开发工具，通过简单易用的图形化配置系统以及丰富的软件包和组件资源，让物联网开发变得简单和高效。本人主要用于开发与rt-thread相关设备。&lt;br /&gt;
|https://www.rt-thread.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子硬件设计(原理图绘制/PCB绘制/其它相关工具) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|立创EDA&lt;br /&gt;
|高效的国产PCB设计工具，永久免费。可在线使用。&lt;br /&gt;
|https://lceda.cn/&lt;br /&gt;
|-&lt;br /&gt;
|KiCad&lt;br /&gt;
|跨平台开源电子设计套装。&lt;br /&gt;
|https://www.kicad.org/&lt;br /&gt;
|-&lt;br /&gt;
|freerouting&lt;br /&gt;
|自动布线工具。可配合立创EDA或KiCad使用。本人用于替代立创EDA自带的自动布线。&lt;br /&gt;
|https://www.freerouting.app/&lt;br /&gt;
https://github.com/freerouting/freerouting.git&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 测试工具 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Apipost&lt;br /&gt;
|Apipost-API 文档、设计、调试、自动化测试一体化协作平台。具有免费版本。&lt;br /&gt;
|https://www.apipost.cn/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 编译器 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|sdcc&lt;br /&gt;
|用于8位/16位单片机(如MCS51、DS80C390 、HC08、Z80、STM8, MOS 6502 、WDC 65C02等)的C编译器&lt;br /&gt;
|https://sdcc.sourceforge.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 流程图/框图绘制 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|dia&lt;br /&gt;
|跨平台开源流程图绘制工具&lt;br /&gt;
|http://dia-installer.de/&lt;br /&gt;
https://sourceforge.net/projects/dia/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 图像处理 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|GIMP&lt;br /&gt;
|免费开源图像编辑器&lt;br /&gt;
|https://www.gimp.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 作曲工具(MIDI制作) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|LMMS&lt;br /&gt;
|免费自由开源并且跨平台的作曲工具&lt;br /&gt;
|https://lmms.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 字体编辑 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|FontForge&lt;br /&gt;
|免费字体编辑器&lt;br /&gt;
|https://fontforge.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 国际化/本地化 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Poedit&lt;br /&gt;
|.po编辑工具。可编辑使用 [[xgettext]] 生成的翻译文件&lt;br /&gt;
|https://poedit.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 压缩/解压缩 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|7-zip&lt;br /&gt;
|开源免费的压缩/解压缩软件。Windows下有GUI程序，Linux下只有控制台版本。&lt;br /&gt;
|http://www.7-zip.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 虚拟磁盘/磁盘驱动 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|imdisk&lt;br /&gt;
|Windows下开源虚拟磁盘工具,可方便挂载内存盘（存放临时文件）。&lt;br /&gt;
|https://sourceforge.net/projects/imdisk-toolkit&lt;br /&gt;
|-&lt;br /&gt;
|Ext2fsd&lt;br /&gt;
|Windows下访问Ext2/Ext3/Ext4文件系统驱动。&lt;br /&gt;
|https://sourceforge.net/projects/ext2fsd/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 安装/卸载 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Geek Uninstaller&lt;br /&gt;
|Windows下程序卸载工具,具有免费的版本。&lt;br /&gt;
|https://geekuninstaller.com/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===小工具(自写/修改/组合)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki&lt;br /&gt;
!支持平台&lt;br /&gt;
|-&lt;br /&gt;
|CC3200_GangGenerator&lt;br /&gt;
|生成用于烧录CC3200 SPI Flash的工具&lt;br /&gt;
|[[CC3200_GangGenerator]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
|-&lt;br /&gt;
|WMToolHelper&lt;br /&gt;
| W600烧录工具&lt;br /&gt;
|[[WMToolHelper]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|WinBleTool&lt;br /&gt;
| Windows下调试BLE的工具&lt;br /&gt;
|[[WinBleTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10(及以上)&lt;br /&gt;
|-&lt;br /&gt;
|SimpleBLETool&lt;br /&gt;
|调试BLE的工具&lt;br /&gt;
| [[SimpleBLETool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10+&lt;br /&gt;
*Linux(ubuntu 20.04+)&lt;br /&gt;
|-&lt;br /&gt;
|cutecom-ng&lt;br /&gt;
|基于Qt5的串口工具。个人修改版。&lt;br /&gt;
|[[cutecom-ng]]&lt;br /&gt;
|只要是Qt5支持的桌面平台均支持。&lt;br /&gt;
|-&lt;br /&gt;
|OneNETTool&lt;br /&gt;
|开发OneNET辅助工具&lt;br /&gt;
|[[OneNETTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|QGDW12184Tool&lt;br /&gt;
|开发Q/GDW 12184辅助工具&lt;br /&gt;
|[[QGDW12184Tool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|XServerForWSL1&lt;br /&gt;
|利用cygwin中的X服务对WSL提供X服务&lt;br /&gt;
|[[XServerForWSL1]]&lt;br /&gt;
|支持WSL1的Windows&lt;br /&gt;
|-&lt;br /&gt;
|linux_binfmt_pe&lt;br /&gt;
|使用[[wine]]直接执行PE可执行文件的Linux内核模块&lt;br /&gt;
|[[linux_binfmt_pe]]&lt;br /&gt;
|&lt;br /&gt;
* Linux内核&lt;br /&gt;
|-&lt;br /&gt;
|Win32Redirector&lt;br /&gt;
|重定向win32控制台应用至MSYS2或者Cygwin中的程序。&lt;br /&gt;
|[[Win32Redirector]]&lt;br /&gt;
|&lt;br /&gt;
* Windows&lt;br /&gt;
|-&lt;br /&gt;
|HEnvBox&lt;br /&gt;
|快速搭建本人常用的开发环境。&lt;br /&gt;
|[[HEnvBox]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 10及更新版&lt;br /&gt;
* Ubuntu 22.04&lt;br /&gt;
* Debian&lt;br /&gt;
* Deepin&lt;br /&gt;
|-&lt;br /&gt;
|HVCP&lt;br /&gt;
|Windows下虚拟串口&lt;br /&gt;
|[[HVCP]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 7 及更新系统&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用库 ==&lt;br /&gt;
此章节主要对使用的比较多的库做一个整理。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!官网&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki&lt;br /&gt;
|-&lt;br /&gt;
|wxWidgets&lt;br /&gt;
|https://www.wxwidgets.org/&lt;br /&gt;
|跨平台GUI库&lt;br /&gt;
|[[wxWidgets]]&lt;br /&gt;
|-&lt;br /&gt;
|Qt&lt;br /&gt;
|https://www.qt.io/&lt;br /&gt;
|跨平台库（包括GUI）&lt;br /&gt;
|[[Qt]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 工具/库（自写/修改） ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|DeployWin&lt;br /&gt;
|MSYS2与CygWin下编程辅助打包库。一般配合CMake的CPack使用。&lt;br /&gt;
|[[DeployWin]]&lt;br /&gt;
|-&lt;br /&gt;
|HCppBox&lt;br /&gt;
|本人常用的C/C++代码&lt;br /&gt;
|[[HCppBox]]&lt;br /&gt;
|-&lt;br /&gt;
|SimpleModbusRTUPacket&lt;br /&gt;
|简易的[[Modbus]] RTU包解析&lt;br /&gt;
|[[SimpleModbusRTUPacket]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==常用镜像站==&lt;br /&gt;
在找各种源码资源时，经常遇到国外网站下载较慢的情况下，此时通常需要更换镜像站。&lt;br /&gt;
&lt;br /&gt;
例如:&lt;br /&gt;
&lt;br /&gt;
*ubuntu系统的软件包(包括使用deboostrap的镜像源)&lt;br /&gt;
*python软件包&lt;br /&gt;
*gnu软件源码包&lt;br /&gt;
*linux源码&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!地址&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.ustc.edu.cn/&lt;br /&gt;
|中国科学技术大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.tuna.tsinghua.edu.cn/&lt;br /&gt;
|清华大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.163.com/&lt;br /&gt;
|网易开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.aliyun.com/&lt;br /&gt;
|阿里开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.cernet.edu.cn&lt;br /&gt;
|校园网联合镜像站&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 静态文档网站 ==&lt;br /&gt;
一些静态的网页文档,如[https://www.doxygen.nl/ doxygen]生成的帮助文档与[https://docsify.js.org/#/ docsify]制作的静态说明文档。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!类型&lt;br /&gt;
!URL&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|静态文档仓库&lt;br /&gt;
|https://heyahong.github.io/#/&lt;br /&gt;
|采用github pages托管,源代码仓库:https://github.com/HEYAHONG/HEYAHONG.github.io.git&lt;br /&gt;
|-&lt;br /&gt;
|网站&lt;br /&gt;
|http://docs.hyhsystem.cn&lt;br /&gt;
|采用nginx服务器,运行于云服务器&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==相关链接==&lt;br /&gt;
&lt;br /&gt;
*[[测试资源]]&lt;br /&gt;
*[[第三方资源]]&lt;br /&gt;
*[[方案发现与探索]]&lt;br /&gt;
*[[杂项笔记与测试代码]]&lt;br /&gt;
*[[常见问题]]&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=BLE&amp;diff=1124</id>
		<title>BLE</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=BLE&amp;diff=1124"/>
		<updated>2025-04-12T04:44:36Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* UUID */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 说明 ==&lt;br /&gt;
蓝牙低能耗（Bluetooth Low Energy，或称Bluetooth LE、BLE，旧商标Bluetooth Smart）也称低功耗蓝牙，是蓝牙技术联盟设计和销售的一种个人局域网技术，旨在用于医疗保健、运动健身、信标、安防、家庭娱乐等领域的新兴应用。相较经典蓝牙，低功耗蓝牙旨在保持同等通信范围的同时显著降低功耗和成本。&lt;br /&gt;
&lt;br /&gt;
== UUID ==&lt;br /&gt;
UUID为通用唯一识别码,用于标识资源。&lt;br /&gt;
&lt;br /&gt;
UUID通常为128位，其组成为32位无符号整数+16位无符号整数+16位无符号整数+8位无符号整数+8位无符号整数+6字节（共48位）数据，其字符串格式为&amp;lt;code&amp;gt;32位无符号整数-16位无符号整数-16位无符号整数-16位无符号整数(8位无符号整数+8位无符号整数)-6字节（共48位）数据&amp;lt;/code&amp;gt;，如&amp;lt;code&amp;gt;6ba7b811-9dad-11d1-80b4-00c04fd430c8&amp;lt;/code&amp;gt;其组成为32位无符号整数&amp;lt;code&amp;gt;0x6ba7b811&amp;lt;/code&amp;gt;、16位无符号整数&amp;lt;code&amp;gt;0x9dad&amp;lt;/code&amp;gt;、16位无符号整数&amp;lt;code&amp;gt;0x11d1&amp;lt;/code&amp;gt;、8位无符号整数&amp;lt;code&amp;gt;0x80&amp;lt;/code&amp;gt;,8位无符号整数 &amp;lt;code&amp;gt;0xb4&amp;lt;/code&amp;gt;,6字节（共48位）数据 &amp;lt;code&amp;gt;0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
但128位的UUID空间占用比较大，一般采用16位的短UUID（也称蓝牙UUID）。16位短UUID与128位UUID可相互转化。一般情况下，16位短UUID是128位UUID的一部分。对于蓝牙而言，16位短UUID可填充至&amp;lt;code&amp;gt;00000000-0000-1000-8000-00805f9b34fb&amp;lt;/code&amp;gt;的第一个32位整数部分,如短UUID&amp;lt;code&amp;gt;0x180f&amp;lt;/code&amp;gt;对应的长UUID为&amp;lt;code&amp;gt;0000180f-0000-1000-8000-00805f9b34fb&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
对于同一种类型的资源而言，UUID值类似C语言枚举值，均是通过数字标识具体的资源。&lt;br /&gt;
&lt;br /&gt;
蓝牙相关的数字分配可见：https://www.bluetooth.com/specifications/assigned-numbers/&lt;br /&gt;
&lt;br /&gt;
若处于Linux环境或者WSL环境，可使用&amp;lt;code&amp;gt;uuidgen&amp;lt;/code&amp;gt;生成128位UUID。当使用128位UUID作为标识时，推荐使用随机数或者时间生成一个基础UUID，再以此为基础改动其中某一部分（根据需求确定改动的位数，一般8位足够）定义一些UUID，这样可方便判断与识别。&lt;br /&gt;
&lt;br /&gt;
== 广播包与扫描响应包 ==&lt;br /&gt;
对于基于BLE的设备而言,最简单的应用就是使用广播包发送信息，实际应用的例子如某某TAG使用蓝牙进行追踪。&lt;br /&gt;
&lt;br /&gt;
扫描响应包（有时也称广播响应包），在另外的设备进行主动扫描时响应，用于扩展广播数据的大小（如未特殊说明，后文所指广播数据也包括扫描响应包中的数据）。通常固定的数据由扫描响应包传输，变化的数据用广播包传输(广播包可一直发送)。&lt;br /&gt;
&lt;br /&gt;
无论是广播包还是扫描响应包，所携带的广播数据长度最长为31字节。&lt;br /&gt;
&lt;br /&gt;
广播数据由一个或者多个广播结构体组成，所有广播结构体的长度之和不能超过广播包与扫描响应包可携带数据的最大长度。&lt;br /&gt;
&lt;br /&gt;
广播结构体由一字节长度+一字节广播类型+多字节广播结构体数据，其中长度指广播类型+广播结构体数据的长度，广播结构体数据由广播类型决定。&lt;br /&gt;
&lt;br /&gt;
通常情况下，广播包的广播数据的第一个广播结构体为广播标志(广播类型为0x01)，占3个字节。&lt;br /&gt;
&lt;br /&gt;
用户可使用厂商自定义数据类型的广播结构体发送自定义数据（对于上位机而言，比较容易获取广播数据中的厂商自定义数据），其余类型的广播结构体主要用于向外发送BLE相关配置。&lt;br /&gt;
&lt;br /&gt;
== 设备名称 ==&lt;br /&gt;
对于上位机而言，设备名称是区分不同自定义设备类型的方式之一(标准设备（如音频设备、HID设备）的区分类型的方式由BLE标准规定)。&lt;br /&gt;
&lt;br /&gt;
对于BLE而言，设备名称主要可在以下场景中使用:&lt;br /&gt;
&lt;br /&gt;
* 广播数据:广播数据中可携带设备名称信息。一般情况下，设备名称通常放在扫描响应包且在上位机扫描时显示。&lt;br /&gt;
* GAP服务(0x1800)的设备名称特征(0x2A00):此处的设备名称可与广播数据不同（也可以相同）。&lt;br /&gt;
&lt;br /&gt;
== profile ==&lt;br /&gt;
BLE规定了一系列规范(在BLE标准中称profile)，用户遵循这些标准即可实现对相应蓝牙功能的开发，而无需再对上位机进行二次开发（标准服务的驱动一般无需用户开发，操作系统或者蓝牙栈会自动实现对标准服务的访问）。&lt;br /&gt;
&lt;br /&gt;
一个profile可包含一个或多个服务，最终上位机与BLE设备之间的交互都是通过对服务的访问实现的。&lt;br /&gt;
&lt;br /&gt;
一个服务可包含一个或多个特征，这些特征就是一个个数据点，上位机可通过访问特征获取具体的数据。&lt;br /&gt;
&lt;br /&gt;
注意:此处只描述常用的profile/服务。&lt;br /&gt;
&lt;br /&gt;
=== GAP服务 ===&lt;br /&gt;
GAP服务的UUID为0x1800。&lt;br /&gt;
&lt;br /&gt;
GAP服务是BLE必须实现的服务，主要用于管理广播和连接事件的有关参数。&lt;br /&gt;
&lt;br /&gt;
=== GATT服务 ===&lt;br /&gt;
GATT服务的UUID为0x1801。&lt;br /&gt;
&lt;br /&gt;
GATT服务是BLE必须实现的服务。&lt;br /&gt;
&lt;br /&gt;
=== 设备信息服务 ===&lt;br /&gt;
设备信息服务的UUID为 0x180A。&lt;br /&gt;
&lt;br /&gt;
设备信息服务的实现是可选的，用户可通过设备信息服务提供以下信息:&lt;br /&gt;
&lt;br /&gt;
* SYSTEM_ID&lt;br /&gt;
* MODEL_NUMBER&lt;br /&gt;
* SERIAL_NUMBER：序列号可用于区分同一型号的不同设备，通常情况下，序列号是唯一的。&lt;br /&gt;
* FIRMWARE_REV&lt;br /&gt;
* HARDWARE_REV&lt;br /&gt;
* SOFTWARE_REV&lt;br /&gt;
* MANUFACTURER_NAME&lt;br /&gt;
* 11073_CERT_DATA&lt;br /&gt;
* PNP_ID&lt;br /&gt;
&lt;br /&gt;
=== 电池服务 ===&lt;br /&gt;
电池服务的UUID为 0x180F。&lt;br /&gt;
&lt;br /&gt;
电池服务的实现是可选的，用户可通过此服务提供电池信息（如电量）。&lt;br /&gt;
&lt;br /&gt;
=== SimpleProfile服务 ===&lt;br /&gt;
设备信息服务的UUID为 0xFFF0。&lt;br /&gt;
&lt;br /&gt;
SimpleProfile服务的实现是可选的。SimpleProfile服务通常用于自定义服务，通常情况下，其特征（自定义数据）的UUID从0xFFF1起。&lt;br /&gt;
&lt;br /&gt;
与其它的profile不同，此服务通常不会被操作系统/蓝牙栈使用，因此用户需要手动编写上位机程序。&lt;br /&gt;
&lt;br /&gt;
除了用户自行分配服务UUID（通常是长UUID，用于避免重复）创建非标准设备外，用户还可使用此服务创建非标准设备。&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1123</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1123"/>
		<updated>2025-04-11T17:07:23Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 常用技术栈 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 常用项目 ==&lt;br /&gt;
&lt;br /&gt;
=== 嵌入式项目 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!简介&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
!标签&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-001     &lt;br /&gt;
|扩展板,用于扩展一个可编程通道(RS485)。&lt;br /&gt;
主要采用以下芯片:&lt;br /&gt;
&lt;br /&gt;
* CH334R:USB Hub。&lt;br /&gt;
* [[Air32F103CCT6]]:[[DAPLink]]主控芯片、Core主控芯片。&lt;br /&gt;
* MAX3485：3.3V电源驱动的RS485收发芯片。&lt;br /&gt;
|[[ExtBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[DAPLink]]&lt;br /&gt;
* [[Air32F103]]&lt;br /&gt;
|-&lt;br /&gt;
|CoreBoard-001&lt;br /&gt;
|核心板。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* HLK-7688A:[[MT7688AN]]核心板。&lt;br /&gt;
* DS1307：实时时钟&lt;br /&gt;
|[[CoreBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-002&lt;br /&gt;
|扩展板。使用USB提供4G联网功能。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|[[ExtBoad-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-003&lt;br /&gt;
|扩展板。USB CAN适配器，复刻[[candleLight]]。&lt;br /&gt;
|[[ExtBoard-003]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-001&lt;br /&gt;
|模块电路，用于验证廉价PY32单片机&lt;br /&gt;
|[[ExtModule-001]]&lt;br /&gt;
|&lt;br /&gt;
* PY32&lt;br /&gt;
* [[Modbus]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-002&lt;br /&gt;
|模块电路，用于验证ST17H66 蓝牙SOC&lt;br /&gt;
|[[ExtModule-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[ST17H66]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用技术栈 ==&lt;br /&gt;
&lt;br /&gt;
=== 使用低成本无线连接的设备 ===&lt;br /&gt;
通常情况下，除了直接接入网络，通常还可以使用网关代为接入网络，此时大致可分为网关设备（例如ZigBee网络的协调器）与子设备（例如ZigBee的路由器与终端设备）。&lt;br /&gt;
&lt;br /&gt;
网关设备通常用于协议的转换，通常使用性能相对强大的设备担任。&lt;br /&gt;
&lt;br /&gt;
子设备一般用于实际的应用，对设备的性能的要求相对较低。&lt;br /&gt;
&lt;br /&gt;
使用网关设备+子设备的模式优点如下：&lt;br /&gt;
&lt;br /&gt;
* 在节点较多时可节约成本。&lt;br /&gt;
* 某些场所无法直接接入网络。&lt;br /&gt;
&lt;br /&gt;
网关设备与子设备之间的连接可以使用有线连接（如[[CAN]]、[[Modbus|Modbus RTU]]等），也可以使用无线连接。&lt;br /&gt;
&lt;br /&gt;
使用无线连接时，主要使用以下方案:&lt;br /&gt;
&lt;br /&gt;
* [[NRF24L01+|NRF24L01]]及其兼容方案：实现简单，由用户自行定义协议，网关设备与子设备均需要自行开发。&lt;br /&gt;
* [[BLE]]：低功耗蓝牙，用户不能自定义协议，只能按照蓝牙定义的协议去开发，对于硬件而言，一般主要开发外围外设，中心设备可使用已有的硬件方案，调试使用可使用PC、手机调试。&lt;br /&gt;
&lt;br /&gt;
==== NRF24L01及其兼容方案 ====&lt;br /&gt;
采用[[NRF24L01+]]及兼容方案，直接收发数据，网络协议栈由用户自行实现。&lt;br /&gt;
&lt;br /&gt;
==== BLE ====&lt;br /&gt;
很多SOC方案支持开发中心设备，也支持开发外围设备，但一般只开发外围设备（通常用于子设备）的硬件（调试使用PC、手机），中心设备的硬件可使用支持BLE的现成方案。&lt;br /&gt;
&lt;br /&gt;
主要使用的BLE方案如下：&lt;br /&gt;
&lt;br /&gt;
* [[ST17H66]]: 低成本BLE SOC。&lt;br /&gt;
&lt;br /&gt;
=== 可连接TCP/IP的物联网设备 ===&lt;br /&gt;
开发物联网设备时,无论设备是通过WiFi、2G/3G/4G/5G或以太网连接网络,如设备支持TCP/IP,通常采用[[MQTT]]作为主要通信协议。&lt;br /&gt;
&lt;br /&gt;
除了主要通信协议,通常物联网设备还需要支持NTP对时，有时还需要使用到Http作为辅助协议。&lt;br /&gt;
&lt;br /&gt;
主要使用的协议如下：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!协议名称&lt;br /&gt;
!说明&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|[[MQTT]]&lt;br /&gt;
|MQTT是专门针对物联网开发的轻量级传输协议。&lt;br /&gt;
|通常采用TCP，可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[LwM2M]]&lt;br /&gt;
|LwM2M是一种轻量级的、标准通用的物联网设备管理协议，可用于快速部署客户端/服务器模式的物联网业务&lt;br /&gt;
|通常采用UDP，常见于NB-IOT模块。&lt;br /&gt;
由于UDP的在公网上的老化（公网的NAT转换机制），在公网上不能实现实时控制，只能应用于周期上报的设备。&lt;br /&gt;
&lt;br /&gt;
在专网或者局域网内可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[CoAP]]&lt;br /&gt;
|CoAP是一种用于受限节点与受限网络的web传输协议，由IETF提出。&lt;br /&gt;
|通常采用UDP，可使用DTLS加密，一般情况下用于在受限环境中替代http。&lt;br /&gt;
|-&lt;br /&gt;
|Http/Https&lt;br /&gt;
|超文本传输协议（Hypertext Transfer Protocol，HTTP）是一个简单的请求-响应协议。&lt;br /&gt;
|通常用于调用后端服务器的api接口。&lt;br /&gt;
|-&lt;br /&gt;
|NTP&lt;br /&gt;
|NTP是用来使计算机时间同步化的一种协议。&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[CSA Matter|Matter]]&lt;br /&gt;
|Matter是一个统一的、开源的应用层连接标准，旨在使开发人员和设备制造商能够连接和构建可靠的、安全的生态系统，并增加智能家具设备之间的兼容性。&lt;br /&gt;
|按照其架构，可使用TCP/UDP,基于[[IPV6]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 低成本方案 ====&lt;br /&gt;
低成本方案主要是指硬件采用SOC方案并且操作系统采用嵌入式操作系统的方案或者外设方案:&lt;br /&gt;
&lt;br /&gt;
* [[Air724UG]] :4G模块，可使用C/C++进行二次开发。&lt;br /&gt;
* [[Air780E]]:4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价。&lt;br /&gt;
* [[ESP8266]] ： WIFI模块。&lt;br /&gt;
* [[ESP32]] : WIFI模块,可接以太网PHY实现以太网上网。&lt;br /&gt;
* [[W600]] ： WIFI模块。&lt;br /&gt;
* [[W800]] ： WIFI模块。&lt;br /&gt;
* [[CH579]] ： 自带以太网PHY,可实现以太网上网。&lt;br /&gt;
*[[W5500]] :全硬件以太网外设芯片，需配合主控使用。&lt;br /&gt;
&lt;br /&gt;
==== 一般方案 ====&lt;br /&gt;
一般方案主要指资源相对充足的方案,一般采用Linux作为内核:&lt;br /&gt;
&lt;br /&gt;
* [[MT7688]] :可采用以太网或者WIFI联网,通过USB可接4G上网模块通过RNDIS上网。&lt;br /&gt;
&lt;br /&gt;
=== 带交流计量功能的设备 ===&lt;br /&gt;
==== 单相SOC方案 ====&lt;br /&gt;
对于单相计量（即常见的家用电）设备,通常采用SOC方案:&lt;br /&gt;
* [[RN8211B]]&lt;br /&gt;
* [[HT502X]]&lt;br /&gt;
此类SOC通常可以使用内置的模块完成包括计量功能在内的大部分需求,在某些情况下也可开发高精度的直流计量设备。&amp;lt;br&amp;gt;&lt;br /&gt;
如需与其它设备进行交互，通常还需要添加通信模块或者使用串口通信。&amp;lt;br&amp;gt;&lt;br /&gt;
若使用串口通信,本人常用[[Modbus]] RTU作为具体协议,将具体的硬件资源映射为线圈(可读写的位)、输入线圈(只读的位)、保持寄存器(可读写)、输入寄存器(只读)。&amp;lt;br&amp;gt;&lt;br /&gt;
* [[SimpleModbusRTUPacket]]&lt;br /&gt;
==== 单相非SOC方案 ====&lt;br /&gt;
若由于需要采用低成本导致计量部分相对于强电非隔离,而设备上又需要输出隔离接口时,通常采用非SOC方案+串口/SPI口隔离,常用芯片方案:&lt;br /&gt;
* [[RN8209]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&lt;br /&gt;
==== 三相非SOC方案 ====&lt;br /&gt;
若待计量的电路为三相电路,常用芯片方案:&lt;br /&gt;
* [[RN8302B]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&amp;lt;br&amp;gt;&lt;br /&gt;
注意:截至编辑时,尚未发现三相SOC方案。&lt;br /&gt;
=== 带有特殊功能的路由器/WIFI网关 ===&lt;br /&gt;
芯片方案：&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
软件开发方案:&lt;br /&gt;
* [[ openwrt ]]&lt;br /&gt;
在内核[[Devicetree|设备树(dts)]]配置中使能需要使用的标准接口，并在openwrt的[[Kconfig|menuconfig]]中选中对应的kmod包后,即可使用[[Linux]]用户程序(非内核模块)操作硬件设备。&amp;lt;br&amp;gt;&lt;br /&gt;
对于SPI、I2C与UART而言,用户可通过打开/dev目录下的相应字符设备即可使用。&amp;lt;br&amp;gt;&lt;br /&gt;
对于GPIO而言,可使用sysfs文件系统目录:/sys/class/gpio目录进行GPIO操作。&lt;br /&gt;
&lt;br /&gt;
=== 基于[[USB]]的外设扩展 ===&lt;br /&gt;
对于使用Linux内核的设备的外设扩展,本人较为推崇使用[[USB]]作为外设总线,其优点如下:&lt;br /&gt;
&lt;br /&gt;
* 支持热插拔与子设备枚举，无需在设备树中配置所挂接的子设备。&lt;br /&gt;
* 可使用hub扩展较多接口。&lt;br /&gt;
* 支持[[USB]]的转换芯片较多。&lt;br /&gt;
&lt;br /&gt;
一般来讲，对于少量控制数据的传输，[[USB]] 2.0的传输速度就足够了。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] HUB ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH334/CH335&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH334.html&lt;br /&gt;
|-&lt;br /&gt;
|CH338&lt;br /&gt;
|7口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH338.html&lt;br /&gt;
|-&lt;br /&gt;
|FE1.1s&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HS8836A&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 转换芯片 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH340&lt;br /&gt;
|USB转串口/打印口&lt;br /&gt;
|https://www.wch.cn/products/CH340.html&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 上位机软件开发 ====&lt;br /&gt;
&lt;br /&gt;
* 对于标准外设，可按照标准外设的使用方法，如[[USB]]转串口按照串口的方式使用。&lt;br /&gt;
* 对于[[USB]]原生的应用(直接通过端点发送接收数据),可使用[https://libusb.info/ libusb]开发。&lt;br /&gt;
* 对于基于[[USB]]的HID设备，若未被其它内核驱动使用，可使用[https://github.com/signal11/hidapi hidapi]开发。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 嵌入式开发 ====&lt;br /&gt;
若未具体说明，本章节中的[[USB]]嵌入式开发指Device端的嵌入式开发，即[[USB]]外设开发。&lt;br /&gt;
&lt;br /&gt;
除了各个芯片厂商提供的[[USB]]栈，还可使用以下USB栈用于USB外设开发：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!USB库&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
!tinyusb&lt;br /&gt;
!开源、跨平台的USB HOST/DEVICE栈&lt;br /&gt;
!https://www.tinyusb.org/&lt;br /&gt;
|-&lt;br /&gt;
!CherryUSB&lt;br /&gt;
!小而美的、可移植性高的、用于嵌入式系统的 USB 主从协议栈&lt;br /&gt;
!https://cherryusb.readthedocs.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子线连接器 ===&lt;br /&gt;
很多时候一个产品可由多个PCB组成，而PCB之间除了直接焊线，还可以由电子线连接器（包括插头、插座）连接。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+常用电子线连接器&lt;br /&gt;
!引脚间距(mm)&lt;br /&gt;
!类型&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
* SH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.25&lt;br /&gt;
|&lt;br /&gt;
* GH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.50&lt;br /&gt;
|&lt;br /&gt;
* ZH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.00&lt;br /&gt;
|&lt;br /&gt;
* PH&lt;br /&gt;
* HY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.50/2.54&lt;br /&gt;
|&lt;br /&gt;
* EH&lt;br /&gt;
* XH&lt;br /&gt;
* SM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.96&lt;br /&gt;
|&lt;br /&gt;
* VH&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
注意：&lt;br /&gt;
&lt;br /&gt;
# 以上所指的类型可能只是实际连接器的型号的一部分,一般用于搜索相应器件。如在淘宝上搜索&#039;&#039;&#039;PH 连接器&#039;&#039;&#039; 即可获取类型为PH的连接器。&lt;br /&gt;
# 同一个引脚间距可能有多个类型，这些不同的类型一般有其它差异（如材料、结构等）。&lt;br /&gt;
# 如需某个类型的双排连接器，可在类型中添加D(仅适用于部分类型),如需要类型为PH的连接器,则搜索&#039;&#039;&#039;PHD 连接器&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
=== 外壳方案 ===&lt;br /&gt;
&lt;br /&gt;
==== 可采用导轨安装的外壳方案 ====&lt;br /&gt;
对于电气控制柜、仪表柜、配电箱等，安装导轨是一个极其常见的配件。&lt;br /&gt;
&lt;br /&gt;
常用的安装导轨方案如下:&lt;br /&gt;
&lt;br /&gt;
* DIN TS35:35×7.5 安装导轨,宽度35mm,深度7.5mm,材质形式为钢、铝、铜等，表现形式为横条状金属片&lt;br /&gt;
&lt;br /&gt;
若未特殊说明，导轨均指DIN TS35安装导轨。&lt;br /&gt;
&lt;br /&gt;
对于带计量的产品而言,除了设计成插座样式，还可以设计成导轨安装并安放在配电箱里。&lt;br /&gt;
&lt;br /&gt;
对于需要安装至导轨的产品而言，主要有以下方案:&lt;br /&gt;
&lt;br /&gt;
* 直接使用可用于导轨安装的外壳。&lt;br /&gt;
* 采用导轨安装卡扣,卡扣上通常有螺丝孔位，可通过螺丝安装产品。&lt;br /&gt;
&lt;br /&gt;
==== 廉价铝壳外壳方案 ====&lt;br /&gt;
作为物联网产品(尤其是具有RTU/DTU角色的物联网产品)，通常需要一个外壳。一般情况下，可使用铁壳或者铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
为减小成本,本人一般采用成品铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
注意:本段落中的铝壳主要指主要外形为长方体，两侧或者顶部具有可拆卸的盖子的壳体，并不泛指所有采用铝作为主要材料的壳体。&lt;br /&gt;
&lt;br /&gt;
一般情况下,通常需要给铝壳开孔以引出接口，常用方案如下:&lt;br /&gt;
&lt;br /&gt;
* 正面开孔，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 侧盖开孔(一面或两面)，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 采用PCB作为侧盖(一般使用黑色的壳体配合黑色PCB),使用PCB制造开孔。仅试样的情况下,价格相对便宜。&lt;br /&gt;
* 一侧不要侧盖。适用于直接引出导线的产品,一般配合灌胶工艺。一般直接用于量产产品。&lt;br /&gt;
如需使用导轨安装，可使用导轨安装卡扣固定铝壳。&lt;br /&gt;
&lt;br /&gt;
===== 常用尺寸1 =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+铝壳参数&lt;br /&gt;
!长&lt;br /&gt;
!宽&lt;br /&gt;
!高&lt;br /&gt;
!PCB块数&lt;br /&gt;
!PCB最大厚度&lt;br /&gt;
!PCB最大宽度&lt;br /&gt;
!PCB最大长度&lt;br /&gt;
|-&lt;br /&gt;
|100mm&lt;br /&gt;
|66mm&lt;br /&gt;
|27mm&lt;br /&gt;
|2(一块顶部PCB板，一块底部PCB板)&lt;br /&gt;
|2mm&lt;br /&gt;
|60.3mm(不能小太多)&lt;br /&gt;
|100mm(取决于铝壳长度，一般可定制)&lt;br /&gt;
|}&lt;br /&gt;
[[文件:ALUMINUM SHELL 66x27x100.png|居中|有框]]&lt;br /&gt;
&lt;br /&gt;
==== 接线盒(家庭) ====&lt;br /&gt;
此处所指接线盒主要指家庭中用于开关/插座的接线盒,并不指广义接线盒。&lt;br /&gt;
&lt;br /&gt;
接线盒主要由底盒与面板组成。&lt;br /&gt;
&lt;br /&gt;
其中底盒的种类多种多样，根据可分为明装与暗装，一般底盒均为提前安装好的，不可简单增加与减少。&lt;br /&gt;
&lt;br /&gt;
面板一般是嵌入式开发中常用的壳体，只要保证安装孔距正确，即可安装在提前安装的底盒上。&lt;br /&gt;
&lt;br /&gt;
接线盒可根据面板尺寸进行分类，主要有以下型号：&lt;br /&gt;
&lt;br /&gt;
* 86型&lt;br /&gt;
* 118型&lt;br /&gt;
* 120型&lt;br /&gt;
&lt;br /&gt;
采用接线盒进行嵌入式开发主要开发以下设备（与传统开关、传统插座有一定相似之处）：&lt;br /&gt;
&lt;br /&gt;
* 智能家居控制面板:可进行联网操作，控制智能家居设备。可显示一些信息（如时间、天气、场景等信息）。可连接到其它智能设备（如智能音箱）&lt;br /&gt;
* 智能家居开关：功能与传统开关类似，可通过无线（如BLE、Zigbee等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
* 智能家居插座：功能与传统插座类似，可远程控制、数据采集（电量、电压、电流等）。可通过无线（如BLE、Zigbee、WiFi等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
&lt;br /&gt;
===== 86型接线盒 =====&lt;br /&gt;
86型接线盒作为较常用的接线盒，俗称86盒，其面板尺寸86mmX86mm。&lt;br /&gt;
&lt;br /&gt;
许多厂商也提供采用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寸开发板]。&lt;br /&gt;
&lt;br /&gt;
== 常用芯片及模块 ==&lt;br /&gt;
=== 常用芯片及核心模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 常用芯片及核心模块&lt;br /&gt;
|-&lt;br /&gt;
! 芯片/模块名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8211B || 单相计量SOC || [[RN8211B]]&lt;br /&gt;
|-&lt;br /&gt;
| HT502X || 单相计量SOC || [[HT502X]]&lt;br /&gt;
|-&lt;br /&gt;
| Air724UG || 4G模块,进行C语言开发 || [[Air724UG]]&lt;br /&gt;
|-&lt;br /&gt;
|Air780E&lt;br /&gt;
|4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价&lt;br /&gt;
|[[Air780E]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-12F || WIFI透传模块，可支持二次开发，主芯片为ESP8266 || [[ESP8266]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-32S || ESP32模块，可支持WIFI、蓝牙、以太网,可采用esp-idf开发 || [[ESP32]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-01 || W600开发板，WIFI SOC，Cortex-M3内核 || [[W600]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-08 || W800开发板，WIFI/蓝牙 SOC， XT804内核 || [[W800]]&lt;br /&gt;
|-&lt;br /&gt;
| CH579|| 以太网、蓝牙、USB SOC，Cortex-M0内核MCU || [[CH579]]&lt;br /&gt;
|-&lt;br /&gt;
| HLK-7688A|| MT7688芯片核心模块，可采用openwrt开发 || [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
| E18-MS1|| CC2530芯片核心模块，可采用contiki开发或者Z-Stack开发 || [[CC2530]]&lt;br /&gt;
|-&lt;br /&gt;
|Air105&lt;br /&gt;
|廉价大内存mcu,4M flash,640K SRAM,Cortex-M4F&lt;br /&gt;
|[[Air105]]&lt;br /&gt;
|-&lt;br /&gt;
|Lichee Zero&lt;br /&gt;
|全志V3s开发板，64M DRAM，廉价Linux开发板，V3s芯片可手贴&lt;br /&gt;
|[[V3s]]   [https://wiki.sipeed.com/hardware/zh/lichee/Zero/Zero.html Lichee Zero]&lt;br /&gt;
|-&lt;br /&gt;
|Air32F103&lt;br /&gt;
|96K RAM,兼容STM32F103&lt;br /&gt;
|[[Air32F103]] http://air32.cn&lt;br /&gt;
|-&lt;br /&gt;
|ST17H66&lt;br /&gt;
|64K RAM，256K Flash,廉价蓝牙SOC&lt;br /&gt;
|[[ST17H66]]&lt;br /&gt;
|}&lt;br /&gt;
注意:此章节可能不包含资料较多，应用极其成熟的芯片系列。&lt;br /&gt;
=== 外设芯片及外设模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 外设芯片及外设模块&lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! 接口 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8302B || 三相计量芯片 || SPI || [[RN8302B]]&lt;br /&gt;
|-&lt;br /&gt;
| RN8209C/RN8209D || 单相计量芯片 ||&lt;br /&gt;
* UART&lt;br /&gt;
* SPI&lt;br /&gt;
| [[RN8209]]&lt;br /&gt;
|-&lt;br /&gt;
| NRF24L01+ || 2.4G无线芯片,具有众多兼容替代(如Si24R1) || SPI+GPIO(中断、CE) || [[NRF24L01+]]&lt;br /&gt;
|-&lt;br /&gt;
|W5500&lt;br /&gt;
|全硬件栈以太网芯片&lt;br /&gt;
|SPI&lt;br /&gt;
|[[W5500]]&lt;br /&gt;
|-&lt;br /&gt;
|中景园0.96寸OLED点阵屏&lt;br /&gt;
|分辨率128x64,显示驱动（控制）芯片SSD1306&lt;br /&gt;
|&lt;br /&gt;
* IIC&lt;br /&gt;
* SPI+GPIO(DC、RES)&lt;br /&gt;
|[[SSD1306]] [[中景园0.96寸OLED点阵屏]]&lt;br /&gt;
|-&lt;br /&gt;
|AHT20&lt;br /&gt;
|温湿度传感器&lt;br /&gt;
|IIC&lt;br /&gt;
|[[AHT20]]&lt;br /&gt;
|-&lt;br /&gt;
|DS1307&lt;br /&gt;
|RTC（实时时钟）&lt;br /&gt;
|IIC&lt;br /&gt;
|[[DS1307]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用嵌入式操作系统、BootLoader、嵌入式固件及嵌入式软件库 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| FreeRTOS || 嵌入式操作系统 || [[FreeRTOS]]&lt;br /&gt;
|-&lt;br /&gt;
| rt-thread || 物联网嵌入式操作系统 || [[ rt-thread ]] &lt;br /&gt;
|-&lt;br /&gt;
|nuttx||嵌入式操作系统||[[nuttx]]&lt;br /&gt;
|-&lt;br /&gt;
|paho.mqtt.embedded-c|| MQTT客户端，可移植到各种芯片平台||[[paho.mqtt.embedded-c]]&lt;br /&gt;
|-&lt;br /&gt;
|openwrt||操作系统，嵌入式Linux构建工具||[[ openwrt | openwrt]]&lt;br /&gt;
|-&lt;br /&gt;
|u8g2&lt;br /&gt;
|单色/点阵屏驱动库&lt;br /&gt;
|[[u8g2]]&lt;br /&gt;
|-&lt;br /&gt;
|U-Boot&lt;br /&gt;
|通用引导加载器。通常用于加载[[Linux]]。&lt;br /&gt;
|[[U-Boot]]&lt;br /&gt;
|-&lt;br /&gt;
|Newlib&lt;br /&gt;
|嵌入式C运行库（通常配合GCC使用）&lt;br /&gt;
|[[Newlib]]&lt;br /&gt;
|-&lt;br /&gt;
|printf&lt;br /&gt;
|printf, sprintf and (v)snprintf 实现&lt;br /&gt;
|[[printf]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==常用工具==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+常用工具&lt;br /&gt;
|-&lt;br /&gt;
!名称!!说明!!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|easy-rsa||使用SSL/TLS时,自签证书制作/管理工具||[[easy-rsa]]&lt;br /&gt;
|-&lt;br /&gt;
|buildroot||嵌入式Linux构建工具||[[buildroot]]&lt;br /&gt;
|-&lt;br /&gt;
|debootstrap||Linux系统根文件系统创建工具,可创建Debian系Linux系统根文件系统||[[debootstrap]]&lt;br /&gt;
|-&lt;br /&gt;
|crosstool-ng||交叉编译工具链创建工具||[[crosstool-ng]]&lt;br /&gt;
|-&lt;br /&gt;
|ScreenToGif&lt;br /&gt;
|在Windows下录屏制作gif的工具&lt;br /&gt;
|https://github.com/NickeManarin/ScreenToGif.git&lt;br /&gt;
|-&lt;br /&gt;
|Xfel&lt;br /&gt;
|全志SOC的FEL工具（可下载固件等）&lt;br /&gt;
|[[Xfel]]&lt;br /&gt;
|-&lt;br /&gt;
|busybox&lt;br /&gt;
|unix工具箱，可用于创建体积极小的rootfs&lt;br /&gt;
|[[busybox]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===IDE环境/开发环境/开发工具===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|codeblocks&lt;br /&gt;
|免费的C/C++ IDE,可开发多种C/C++程序。本人只要将它用作基于CMake构建的工程的代码编写。&lt;br /&gt;
|http://www.codeblocks.org/&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Visual Studio&lt;br /&gt;
|微软的开发工具集。本人主要用于开发WIN32程序。本人优先使用codeblocks作为C/C++开发环境,VS占用的空间太大,但有些第三方库在Windows上可能只支持MSVC,故而必须使用VS。&lt;br /&gt;
|https://visualstudio.microsoft.com/zh-hans/&lt;br /&gt;
|-&lt;br /&gt;
|keil5&lt;br /&gt;
|用于ARM嵌入式芯片的开发。注意:keil5不是免费的。&lt;br /&gt;
|https://www.keil.com/&lt;br /&gt;
|-&lt;br /&gt;
|IAR&lt;br /&gt;
|本人主要使用针对ARM嵌入式芯片的开发。注意:IAR不是免费的。&lt;br /&gt;
|https://www.iar.com/&lt;br /&gt;
|-&lt;br /&gt;
|QtCreator&lt;br /&gt;
|用于创建基于Qt的程序。&lt;br /&gt;
|https://www.qt.io/product/development-tools&lt;br /&gt;
|-&lt;br /&gt;
|MounRiver&lt;br /&gt;
|基于Eclipse的嵌入式ARM/RISC-V的集成开发环境。本人主要用于测试[https://www.wch.cn/ WCH]的单片机。&lt;br /&gt;
|http://www.mounriver.com/&lt;br /&gt;
|-&lt;br /&gt;
|RT-Thread Studio&lt;br /&gt;
|一站式的 RT-Thread 开发工具，通过简单易用的图形化配置系统以及丰富的软件包和组件资源，让物联网开发变得简单和高效。本人主要用于开发与rt-thread相关设备。&lt;br /&gt;
|https://www.rt-thread.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子硬件设计(原理图绘制/PCB绘制/其它相关工具) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|立创EDA&lt;br /&gt;
|高效的国产PCB设计工具，永久免费。可在线使用。&lt;br /&gt;
|https://lceda.cn/&lt;br /&gt;
|-&lt;br /&gt;
|KiCad&lt;br /&gt;
|跨平台开源电子设计套装。&lt;br /&gt;
|https://www.kicad.org/&lt;br /&gt;
|-&lt;br /&gt;
|freerouting&lt;br /&gt;
|自动布线工具。可配合立创EDA或KiCad使用。本人用于替代立创EDA自带的自动布线。&lt;br /&gt;
|https://www.freerouting.app/&lt;br /&gt;
https://github.com/freerouting/freerouting.git&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 测试工具 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Apipost&lt;br /&gt;
|Apipost-API 文档、设计、调试、自动化测试一体化协作平台。具有免费版本。&lt;br /&gt;
|https://www.apipost.cn/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 编译器 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|sdcc&lt;br /&gt;
|用于8位/16位单片机(如MCS51、DS80C390 、HC08、Z80、STM8, MOS 6502 、WDC 65C02等)的C编译器&lt;br /&gt;
|https://sdcc.sourceforge.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 流程图/框图绘制 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|dia&lt;br /&gt;
|跨平台开源流程图绘制工具&lt;br /&gt;
|http://dia-installer.de/&lt;br /&gt;
https://sourceforge.net/projects/dia/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 图像处理 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|GIMP&lt;br /&gt;
|免费开源图像编辑器&lt;br /&gt;
|https://www.gimp.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 作曲工具(MIDI制作) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|LMMS&lt;br /&gt;
|免费自由开源并且跨平台的作曲工具&lt;br /&gt;
|https://lmms.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 字体编辑 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|FontForge&lt;br /&gt;
|免费字体编辑器&lt;br /&gt;
|https://fontforge.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 国际化/本地化 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Poedit&lt;br /&gt;
|.po编辑工具。可编辑使用 [[xgettext]] 生成的翻译文件&lt;br /&gt;
|https://poedit.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 压缩/解压缩 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|7-zip&lt;br /&gt;
|开源免费的压缩/解压缩软件。Windows下有GUI程序，Linux下只有控制台版本。&lt;br /&gt;
|http://www.7-zip.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 虚拟磁盘/磁盘驱动 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|imdisk&lt;br /&gt;
|Windows下开源虚拟磁盘工具,可方便挂载内存盘（存放临时文件）。&lt;br /&gt;
|https://sourceforge.net/projects/imdisk-toolkit&lt;br /&gt;
|-&lt;br /&gt;
|Ext2fsd&lt;br /&gt;
|Windows下访问Ext2/Ext3/Ext4文件系统驱动。&lt;br /&gt;
|https://sourceforge.net/projects/ext2fsd/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 安装/卸载 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Geek Uninstaller&lt;br /&gt;
|Windows下程序卸载工具,具有免费的版本。&lt;br /&gt;
|https://geekuninstaller.com/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===小工具(自写/修改/组合)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki&lt;br /&gt;
!支持平台&lt;br /&gt;
|-&lt;br /&gt;
|CC3200_GangGenerator&lt;br /&gt;
|生成用于烧录CC3200 SPI Flash的工具&lt;br /&gt;
|[[CC3200_GangGenerator]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
|-&lt;br /&gt;
|WMToolHelper&lt;br /&gt;
| W600烧录工具&lt;br /&gt;
|[[WMToolHelper]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|WinBleTool&lt;br /&gt;
| Windows下调试BLE的工具&lt;br /&gt;
|[[WinBleTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10(及以上)&lt;br /&gt;
|-&lt;br /&gt;
|SimpleBLETool&lt;br /&gt;
|调试BLE的工具&lt;br /&gt;
| [[SimpleBLETool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10+&lt;br /&gt;
*Linux(ubuntu 20.04+)&lt;br /&gt;
|-&lt;br /&gt;
|cutecom-ng&lt;br /&gt;
|基于Qt5的串口工具。个人修改版。&lt;br /&gt;
|[[cutecom-ng]]&lt;br /&gt;
|只要是Qt5支持的桌面平台均支持。&lt;br /&gt;
|-&lt;br /&gt;
|OneNETTool&lt;br /&gt;
|开发OneNET辅助工具&lt;br /&gt;
|[[OneNETTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|QGDW12184Tool&lt;br /&gt;
|开发Q/GDW 12184辅助工具&lt;br /&gt;
|[[QGDW12184Tool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|XServerForWSL1&lt;br /&gt;
|利用cygwin中的X服务对WSL提供X服务&lt;br /&gt;
|[[XServerForWSL1]]&lt;br /&gt;
|支持WSL1的Windows&lt;br /&gt;
|-&lt;br /&gt;
|linux_binfmt_pe&lt;br /&gt;
|使用[[wine]]直接执行PE可执行文件的Linux内核模块&lt;br /&gt;
|[[linux_binfmt_pe]]&lt;br /&gt;
|&lt;br /&gt;
* Linux内核&lt;br /&gt;
|-&lt;br /&gt;
|Win32Redirector&lt;br /&gt;
|重定向win32控制台应用至MSYS2或者Cygwin中的程序。&lt;br /&gt;
|[[Win32Redirector]]&lt;br /&gt;
|&lt;br /&gt;
* Windows&lt;br /&gt;
|-&lt;br /&gt;
|HEnvBox&lt;br /&gt;
|快速搭建本人常用的开发环境。&lt;br /&gt;
|[[HEnvBox]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 10及更新版&lt;br /&gt;
* Ubuntu 22.04&lt;br /&gt;
* Debian&lt;br /&gt;
* Deepin&lt;br /&gt;
|-&lt;br /&gt;
|HVCP&lt;br /&gt;
|Windows下虚拟串口&lt;br /&gt;
|[[HVCP]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 7 及更新系统&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用库 ==&lt;br /&gt;
此章节主要对使用的比较多的库做一个整理。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!官网&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki&lt;br /&gt;
|-&lt;br /&gt;
|wxWidgets&lt;br /&gt;
|https://www.wxwidgets.org/&lt;br /&gt;
|跨平台GUI库&lt;br /&gt;
|[[wxWidgets]]&lt;br /&gt;
|-&lt;br /&gt;
|Qt&lt;br /&gt;
|https://www.qt.io/&lt;br /&gt;
|跨平台库（包括GUI）&lt;br /&gt;
|[[Qt]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 工具/库（自写/修改） ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|DeployWin&lt;br /&gt;
|MSYS2与CygWin下编程辅助打包库。一般配合CMake的CPack使用。&lt;br /&gt;
|[[DeployWin]]&lt;br /&gt;
|-&lt;br /&gt;
|HCppBox&lt;br /&gt;
|本人常用的C/C++代码&lt;br /&gt;
|[[HCppBox]]&lt;br /&gt;
|-&lt;br /&gt;
|SimpleModbusRTUPacket&lt;br /&gt;
|简易的[[Modbus]] RTU包解析&lt;br /&gt;
|[[SimpleModbusRTUPacket]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==常用镜像站==&lt;br /&gt;
在找各种源码资源时，经常遇到国外网站下载较慢的情况下，此时通常需要更换镜像站。&lt;br /&gt;
&lt;br /&gt;
例如:&lt;br /&gt;
&lt;br /&gt;
*ubuntu系统的软件包(包括使用deboostrap的镜像源)&lt;br /&gt;
*python软件包&lt;br /&gt;
*gnu软件源码包&lt;br /&gt;
*linux源码&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!地址&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.ustc.edu.cn/&lt;br /&gt;
|中国科学技术大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.tuna.tsinghua.edu.cn/&lt;br /&gt;
|清华大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.163.com/&lt;br /&gt;
|网易开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.aliyun.com/&lt;br /&gt;
|阿里开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.cernet.edu.cn&lt;br /&gt;
|校园网联合镜像站&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 静态文档网站 ==&lt;br /&gt;
一些静态的网页文档,如[https://www.doxygen.nl/ doxygen]生成的帮助文档与[https://docsify.js.org/#/ docsify]制作的静态说明文档。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!类型&lt;br /&gt;
!URL&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|静态文档仓库&lt;br /&gt;
|https://heyahong.github.io/#/&lt;br /&gt;
|采用github pages托管,源代码仓库:https://github.com/HEYAHONG/HEYAHONG.github.io.git&lt;br /&gt;
|-&lt;br /&gt;
|网站&lt;br /&gt;
|http://docs.hyhsystem.cn&lt;br /&gt;
|采用nginx服务器,运行于云服务器&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==相关链接==&lt;br /&gt;
&lt;br /&gt;
*[[测试资源]]&lt;br /&gt;
*[[第三方资源]]&lt;br /&gt;
*[[方案发现与探索]]&lt;br /&gt;
*[[杂项笔记与测试代码]]&lt;br /&gt;
*[[常见问题]]&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1122</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1122"/>
		<updated>2025-04-11T16:29:58Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 常用芯片及核心模块 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 常用项目 ==&lt;br /&gt;
&lt;br /&gt;
=== 嵌入式项目 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!简介&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
!标签&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-001     &lt;br /&gt;
|扩展板,用于扩展一个可编程通道(RS485)。&lt;br /&gt;
主要采用以下芯片:&lt;br /&gt;
&lt;br /&gt;
* CH334R:USB Hub。&lt;br /&gt;
* [[Air32F103CCT6]]:[[DAPLink]]主控芯片、Core主控芯片。&lt;br /&gt;
* MAX3485：3.3V电源驱动的RS485收发芯片。&lt;br /&gt;
|[[ExtBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[DAPLink]]&lt;br /&gt;
* [[Air32F103]]&lt;br /&gt;
|-&lt;br /&gt;
|CoreBoard-001&lt;br /&gt;
|核心板。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* HLK-7688A:[[MT7688AN]]核心板。&lt;br /&gt;
* DS1307：实时时钟&lt;br /&gt;
|[[CoreBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-002&lt;br /&gt;
|扩展板。使用USB提供4G联网功能。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|[[ExtBoad-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-003&lt;br /&gt;
|扩展板。USB CAN适配器，复刻[[candleLight]]。&lt;br /&gt;
|[[ExtBoard-003]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-001&lt;br /&gt;
|模块电路，用于验证廉价PY32单片机&lt;br /&gt;
|[[ExtModule-001]]&lt;br /&gt;
|&lt;br /&gt;
* PY32&lt;br /&gt;
* [[Modbus]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-002&lt;br /&gt;
|模块电路，用于验证ST17H66 蓝牙SOC&lt;br /&gt;
|[[ExtModule-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[ST17H66]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用技术栈 ==&lt;br /&gt;
=== 可连接TCP/IP的物联网设备 ===&lt;br /&gt;
开发物联网设备时,无论设备是通过WiFi、2G/3G/4G/5G或以太网连接网络,如设备支持TCP/IP,通常采用[[MQTT]]作为主要通信协议。&lt;br /&gt;
&lt;br /&gt;
除了主要通信协议,通常物联网设备还需要支持NTP对时，有时还需要使用到Http作为辅助协议。&lt;br /&gt;
&lt;br /&gt;
主要使用的协议如下：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!协议名称&lt;br /&gt;
!说明&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|[[MQTT]]&lt;br /&gt;
|MQTT是专门针对物联网开发的轻量级传输协议。&lt;br /&gt;
|通常采用TCP，可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[LwM2M]]&lt;br /&gt;
|LwM2M是一种轻量级的、标准通用的物联网设备管理协议，可用于快速部署客户端/服务器模式的物联网业务&lt;br /&gt;
|通常采用UDP，常见于NB-IOT模块。&lt;br /&gt;
由于UDP的在公网上的老化（公网的NAT转换机制），在公网上不能实现实时控制，只能应用于周期上报的设备。&lt;br /&gt;
&lt;br /&gt;
在专网或者局域网内可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[CoAP]]&lt;br /&gt;
|CoAP是一种用于受限节点与受限网络的web传输协议，由IETF提出。&lt;br /&gt;
|通常采用UDP，可使用DTLS加密，一般情况下用于在受限环境中替代http。&lt;br /&gt;
|-&lt;br /&gt;
|Http/Https&lt;br /&gt;
|超文本传输协议（Hypertext Transfer Protocol，HTTP）是一个简单的请求-响应协议。&lt;br /&gt;
|通常用于调用后端服务器的api接口。&lt;br /&gt;
|-&lt;br /&gt;
|NTP&lt;br /&gt;
|NTP是用来使计算机时间同步化的一种协议。&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[CSA Matter|Matter]]&lt;br /&gt;
|Matter是一个统一的、开源的应用层连接标准，旨在使开发人员和设备制造商能够连接和构建可靠的、安全的生态系统，并增加智能家具设备之间的兼容性。&lt;br /&gt;
|按照其架构，可使用TCP/UDP,基于[[IPV6]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 低成本方案 ====&lt;br /&gt;
低成本方案主要是指硬件采用SOC方案并且操作系统采用嵌入式操作系统的方案或者外设方案:&lt;br /&gt;
&lt;br /&gt;
* [[Air724UG]] :4G模块，可使用C/C++进行二次开发。&lt;br /&gt;
* [[Air780E]]:4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价。&lt;br /&gt;
* [[ESP8266]] ： WIFI模块。&lt;br /&gt;
* [[ESP32]] : WIFI模块,可接以太网PHY实现以太网上网。&lt;br /&gt;
* [[W600]] ： WIFI模块。&lt;br /&gt;
* [[W800]] ： WIFI模块。&lt;br /&gt;
* [[CH579]] ： 自带以太网PHY,可实现以太网上网。&lt;br /&gt;
*[[W5500]] :全硬件以太网外设芯片，需配合主控使用。&lt;br /&gt;
&lt;br /&gt;
==== 一般方案 ====&lt;br /&gt;
一般方案主要指资源相对充足的方案,一般采用Linux作为内核:&lt;br /&gt;
&lt;br /&gt;
* [[MT7688]] :可采用以太网或者WIFI联网,通过USB可接4G上网模块通过RNDIS上网。&lt;br /&gt;
&lt;br /&gt;
=== 带交流计量功能的设备 ===&lt;br /&gt;
==== 单相SOC方案 ====&lt;br /&gt;
对于单相计量（即常见的家用电）设备,通常采用SOC方案:&lt;br /&gt;
* [[RN8211B]]&lt;br /&gt;
* [[HT502X]]&lt;br /&gt;
此类SOC通常可以使用内置的模块完成包括计量功能在内的大部分需求,在某些情况下也可开发高精度的直流计量设备。&amp;lt;br&amp;gt;&lt;br /&gt;
如需与其它设备进行交互，通常还需要添加通信模块或者使用串口通信。&amp;lt;br&amp;gt;&lt;br /&gt;
若使用串口通信,本人常用[[Modbus]] RTU作为具体协议,将具体的硬件资源映射为线圈(可读写的位)、输入线圈(只读的位)、保持寄存器(可读写)、输入寄存器(只读)。&amp;lt;br&amp;gt;&lt;br /&gt;
* [[SimpleModbusRTUPacket]]&lt;br /&gt;
==== 单相非SOC方案 ====&lt;br /&gt;
若由于需要采用低成本导致计量部分相对于强电非隔离,而设备上又需要输出隔离接口时,通常采用非SOC方案+串口/SPI口隔离,常用芯片方案:&lt;br /&gt;
* [[RN8209]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&lt;br /&gt;
==== 三相非SOC方案 ====&lt;br /&gt;
若待计量的电路为三相电路,常用芯片方案:&lt;br /&gt;
* [[RN8302B]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&amp;lt;br&amp;gt;&lt;br /&gt;
注意:截至编辑时,尚未发现三相SOC方案。&lt;br /&gt;
=== 带有特殊功能的路由器/WIFI网关 ===&lt;br /&gt;
芯片方案：&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
软件开发方案:&lt;br /&gt;
* [[ openwrt ]]&lt;br /&gt;
在内核[[Devicetree|设备树(dts)]]配置中使能需要使用的标准接口，并在openwrt的[[Kconfig|menuconfig]]中选中对应的kmod包后,即可使用[[Linux]]用户程序(非内核模块)操作硬件设备。&amp;lt;br&amp;gt;&lt;br /&gt;
对于SPI、I2C与UART而言,用户可通过打开/dev目录下的相应字符设备即可使用。&amp;lt;br&amp;gt;&lt;br /&gt;
对于GPIO而言,可使用sysfs文件系统目录:/sys/class/gpio目录进行GPIO操作。&lt;br /&gt;
&lt;br /&gt;
=== 基于[[USB]]的外设扩展 ===&lt;br /&gt;
对于使用Linux内核的设备的外设扩展,本人较为推崇使用[[USB]]作为外设总线,其优点如下:&lt;br /&gt;
&lt;br /&gt;
* 支持热插拔与子设备枚举，无需在设备树中配置所挂接的子设备。&lt;br /&gt;
* 可使用hub扩展较多接口。&lt;br /&gt;
* 支持[[USB]]的转换芯片较多。&lt;br /&gt;
&lt;br /&gt;
一般来讲，对于少量控制数据的传输，[[USB]] 2.0的传输速度就足够了。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] HUB ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH334/CH335&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH334.html&lt;br /&gt;
|-&lt;br /&gt;
|CH338&lt;br /&gt;
|7口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH338.html&lt;br /&gt;
|-&lt;br /&gt;
|FE1.1s&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HS8836A&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 转换芯片 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH340&lt;br /&gt;
|USB转串口/打印口&lt;br /&gt;
|https://www.wch.cn/products/CH340.html&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 上位机软件开发 ====&lt;br /&gt;
&lt;br /&gt;
* 对于标准外设，可按照标准外设的使用方法，如[[USB]]转串口按照串口的方式使用。&lt;br /&gt;
* 对于[[USB]]原生的应用(直接通过端点发送接收数据),可使用[https://libusb.info/ libusb]开发。&lt;br /&gt;
* 对于基于[[USB]]的HID设备，若未被其它内核驱动使用，可使用[https://github.com/signal11/hidapi hidapi]开发。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 嵌入式开发 ====&lt;br /&gt;
若未具体说明，本章节中的[[USB]]嵌入式开发指Device端的嵌入式开发，即[[USB]]外设开发。&lt;br /&gt;
&lt;br /&gt;
除了各个芯片厂商提供的[[USB]]栈，还可使用以下USB栈用于USB外设开发：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!USB库&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
!tinyusb&lt;br /&gt;
!开源、跨平台的USB HOST/DEVICE栈&lt;br /&gt;
!https://www.tinyusb.org/&lt;br /&gt;
|-&lt;br /&gt;
!CherryUSB&lt;br /&gt;
!小而美的、可移植性高的、用于嵌入式系统的 USB 主从协议栈&lt;br /&gt;
!https://cherryusb.readthedocs.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子线连接器 ===&lt;br /&gt;
很多时候一个产品可由多个PCB组成，而PCB之间除了直接焊线，还可以由电子线连接器（包括插头、插座）连接。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+常用电子线连接器&lt;br /&gt;
!引脚间距(mm)&lt;br /&gt;
!类型&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
* SH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.25&lt;br /&gt;
|&lt;br /&gt;
* GH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.50&lt;br /&gt;
|&lt;br /&gt;
* ZH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.00&lt;br /&gt;
|&lt;br /&gt;
* PH&lt;br /&gt;
* HY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.50/2.54&lt;br /&gt;
|&lt;br /&gt;
* EH&lt;br /&gt;
* XH&lt;br /&gt;
* SM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.96&lt;br /&gt;
|&lt;br /&gt;
* VH&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
注意：&lt;br /&gt;
&lt;br /&gt;
# 以上所指的类型可能只是实际连接器的型号的一部分,一般用于搜索相应器件。如在淘宝上搜索&#039;&#039;&#039;PH 连接器&#039;&#039;&#039; 即可获取类型为PH的连接器。&lt;br /&gt;
# 同一个引脚间距可能有多个类型，这些不同的类型一般有其它差异（如材料、结构等）。&lt;br /&gt;
# 如需某个类型的双排连接器，可在类型中添加D(仅适用于部分类型),如需要类型为PH的连接器,则搜索&#039;&#039;&#039;PHD 连接器&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
=== 外壳方案 ===&lt;br /&gt;
&lt;br /&gt;
==== 可采用导轨安装的外壳方案 ====&lt;br /&gt;
对于电气控制柜、仪表柜、配电箱等，安装导轨是一个极其常见的配件。&lt;br /&gt;
&lt;br /&gt;
常用的安装导轨方案如下:&lt;br /&gt;
&lt;br /&gt;
* DIN TS35:35×7.5 安装导轨,宽度35mm,深度7.5mm,材质形式为钢、铝、铜等，表现形式为横条状金属片&lt;br /&gt;
&lt;br /&gt;
若未特殊说明，导轨均指DIN TS35安装导轨。&lt;br /&gt;
&lt;br /&gt;
对于带计量的产品而言,除了设计成插座样式，还可以设计成导轨安装并安放在配电箱里。&lt;br /&gt;
&lt;br /&gt;
对于需要安装至导轨的产品而言，主要有以下方案:&lt;br /&gt;
&lt;br /&gt;
* 直接使用可用于导轨安装的外壳。&lt;br /&gt;
* 采用导轨安装卡扣,卡扣上通常有螺丝孔位，可通过螺丝安装产品。&lt;br /&gt;
&lt;br /&gt;
==== 廉价铝壳外壳方案 ====&lt;br /&gt;
作为物联网产品(尤其是具有RTU/DTU角色的物联网产品)，通常需要一个外壳。一般情况下，可使用铁壳或者铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
为减小成本,本人一般采用成品铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
注意:本段落中的铝壳主要指主要外形为长方体，两侧或者顶部具有可拆卸的盖子的壳体，并不泛指所有采用铝作为主要材料的壳体。&lt;br /&gt;
&lt;br /&gt;
一般情况下,通常需要给铝壳开孔以引出接口，常用方案如下:&lt;br /&gt;
&lt;br /&gt;
* 正面开孔，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 侧盖开孔(一面或两面)，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 采用PCB作为侧盖(一般使用黑色的壳体配合黑色PCB),使用PCB制造开孔。仅试样的情况下,价格相对便宜。&lt;br /&gt;
* 一侧不要侧盖。适用于直接引出导线的产品,一般配合灌胶工艺。一般直接用于量产产品。&lt;br /&gt;
如需使用导轨安装，可使用导轨安装卡扣固定铝壳。&lt;br /&gt;
&lt;br /&gt;
===== 常用尺寸1 =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+铝壳参数&lt;br /&gt;
!长&lt;br /&gt;
!宽&lt;br /&gt;
!高&lt;br /&gt;
!PCB块数&lt;br /&gt;
!PCB最大厚度&lt;br /&gt;
!PCB最大宽度&lt;br /&gt;
!PCB最大长度&lt;br /&gt;
|-&lt;br /&gt;
|100mm&lt;br /&gt;
|66mm&lt;br /&gt;
|27mm&lt;br /&gt;
|2(一块顶部PCB板，一块底部PCB板)&lt;br /&gt;
|2mm&lt;br /&gt;
|60.3mm(不能小太多)&lt;br /&gt;
|100mm(取决于铝壳长度，一般可定制)&lt;br /&gt;
|}&lt;br /&gt;
[[文件:ALUMINUM SHELL 66x27x100.png|居中|有框]]&lt;br /&gt;
&lt;br /&gt;
==== 接线盒(家庭) ====&lt;br /&gt;
此处所指接线盒主要指家庭中用于开关/插座的接线盒,并不指广义接线盒。&lt;br /&gt;
&lt;br /&gt;
接线盒主要由底盒与面板组成。&lt;br /&gt;
&lt;br /&gt;
其中底盒的种类多种多样，根据可分为明装与暗装，一般底盒均为提前安装好的，不可简单增加与减少。&lt;br /&gt;
&lt;br /&gt;
面板一般是嵌入式开发中常用的壳体，只要保证安装孔距正确，即可安装在提前安装的底盒上。&lt;br /&gt;
&lt;br /&gt;
接线盒可根据面板尺寸进行分类，主要有以下型号：&lt;br /&gt;
&lt;br /&gt;
* 86型&lt;br /&gt;
* 118型&lt;br /&gt;
* 120型&lt;br /&gt;
&lt;br /&gt;
采用接线盒进行嵌入式开发主要开发以下设备（与传统开关、传统插座有一定相似之处）：&lt;br /&gt;
&lt;br /&gt;
* 智能家居控制面板:可进行联网操作，控制智能家居设备。可显示一些信息（如时间、天气、场景等信息）。可连接到其它智能设备（如智能音箱）&lt;br /&gt;
* 智能家居开关：功能与传统开关类似，可通过无线（如BLE、Zigbee等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
* 智能家居插座：功能与传统插座类似，可远程控制、数据采集（电量、电压、电流等）。可通过无线（如BLE、Zigbee、WiFi等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
&lt;br /&gt;
===== 86型接线盒 =====&lt;br /&gt;
86型接线盒作为较常用的接线盒，俗称86盒，其面板尺寸86mmX86mm。&lt;br /&gt;
&lt;br /&gt;
许多厂商也提供采用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寸开发板]。&lt;br /&gt;
&lt;br /&gt;
== 常用芯片及模块 ==&lt;br /&gt;
=== 常用芯片及核心模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 常用芯片及核心模块&lt;br /&gt;
|-&lt;br /&gt;
! 芯片/模块名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8211B || 单相计量SOC || [[RN8211B]]&lt;br /&gt;
|-&lt;br /&gt;
| HT502X || 单相计量SOC || [[HT502X]]&lt;br /&gt;
|-&lt;br /&gt;
| Air724UG || 4G模块,进行C语言开发 || [[Air724UG]]&lt;br /&gt;
|-&lt;br /&gt;
|Air780E&lt;br /&gt;
|4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价&lt;br /&gt;
|[[Air780E]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-12F || WIFI透传模块，可支持二次开发，主芯片为ESP8266 || [[ESP8266]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-32S || ESP32模块，可支持WIFI、蓝牙、以太网,可采用esp-idf开发 || [[ESP32]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-01 || W600开发板，WIFI SOC，Cortex-M3内核 || [[W600]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-08 || W800开发板，WIFI/蓝牙 SOC， XT804内核 || [[W800]]&lt;br /&gt;
|-&lt;br /&gt;
| CH579|| 以太网、蓝牙、USB SOC，Cortex-M0内核MCU || [[CH579]]&lt;br /&gt;
|-&lt;br /&gt;
| HLK-7688A|| MT7688芯片核心模块，可采用openwrt开发 || [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
| E18-MS1|| CC2530芯片核心模块，可采用contiki开发或者Z-Stack开发 || [[CC2530]]&lt;br /&gt;
|-&lt;br /&gt;
|Air105&lt;br /&gt;
|廉价大内存mcu,4M flash,640K SRAM,Cortex-M4F&lt;br /&gt;
|[[Air105]]&lt;br /&gt;
|-&lt;br /&gt;
|Lichee Zero&lt;br /&gt;
|全志V3s开发板，64M DRAM，廉价Linux开发板，V3s芯片可手贴&lt;br /&gt;
|[[V3s]]   [https://wiki.sipeed.com/hardware/zh/lichee/Zero/Zero.html Lichee Zero]&lt;br /&gt;
|-&lt;br /&gt;
|Air32F103&lt;br /&gt;
|96K RAM,兼容STM32F103&lt;br /&gt;
|[[Air32F103]] http://air32.cn&lt;br /&gt;
|-&lt;br /&gt;
|ST17H66&lt;br /&gt;
|64K RAM，256K Flash,廉价蓝牙SOC&lt;br /&gt;
|[[ST17H66]]&lt;br /&gt;
|}&lt;br /&gt;
注意:此章节可能不包含资料较多，应用极其成熟的芯片系列。&lt;br /&gt;
=== 外设芯片及外设模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 外设芯片及外设模块&lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! 接口 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8302B || 三相计量芯片 || SPI || [[RN8302B]]&lt;br /&gt;
|-&lt;br /&gt;
| RN8209C/RN8209D || 单相计量芯片 ||&lt;br /&gt;
* UART&lt;br /&gt;
* SPI&lt;br /&gt;
| [[RN8209]]&lt;br /&gt;
|-&lt;br /&gt;
| NRF24L01+ || 2.4G无线芯片,具有众多兼容替代(如Si24R1) || SPI+GPIO(中断、CE) || [[NRF24L01+]]&lt;br /&gt;
|-&lt;br /&gt;
|W5500&lt;br /&gt;
|全硬件栈以太网芯片&lt;br /&gt;
|SPI&lt;br /&gt;
|[[W5500]]&lt;br /&gt;
|-&lt;br /&gt;
|中景园0.96寸OLED点阵屏&lt;br /&gt;
|分辨率128x64,显示驱动（控制）芯片SSD1306&lt;br /&gt;
|&lt;br /&gt;
* IIC&lt;br /&gt;
* SPI+GPIO(DC、RES)&lt;br /&gt;
|[[SSD1306]] [[中景园0.96寸OLED点阵屏]]&lt;br /&gt;
|-&lt;br /&gt;
|AHT20&lt;br /&gt;
|温湿度传感器&lt;br /&gt;
|IIC&lt;br /&gt;
|[[AHT20]]&lt;br /&gt;
|-&lt;br /&gt;
|DS1307&lt;br /&gt;
|RTC（实时时钟）&lt;br /&gt;
|IIC&lt;br /&gt;
|[[DS1307]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用嵌入式操作系统、BootLoader、嵌入式固件及嵌入式软件库 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| FreeRTOS || 嵌入式操作系统 || [[FreeRTOS]]&lt;br /&gt;
|-&lt;br /&gt;
| rt-thread || 物联网嵌入式操作系统 || [[ rt-thread ]] &lt;br /&gt;
|-&lt;br /&gt;
|nuttx||嵌入式操作系统||[[nuttx]]&lt;br /&gt;
|-&lt;br /&gt;
|paho.mqtt.embedded-c|| MQTT客户端，可移植到各种芯片平台||[[paho.mqtt.embedded-c]]&lt;br /&gt;
|-&lt;br /&gt;
|openwrt||操作系统，嵌入式Linux构建工具||[[ openwrt | openwrt]]&lt;br /&gt;
|-&lt;br /&gt;
|u8g2&lt;br /&gt;
|单色/点阵屏驱动库&lt;br /&gt;
|[[u8g2]]&lt;br /&gt;
|-&lt;br /&gt;
|U-Boot&lt;br /&gt;
|通用引导加载器。通常用于加载[[Linux]]。&lt;br /&gt;
|[[U-Boot]]&lt;br /&gt;
|-&lt;br /&gt;
|Newlib&lt;br /&gt;
|嵌入式C运行库（通常配合GCC使用）&lt;br /&gt;
|[[Newlib]]&lt;br /&gt;
|-&lt;br /&gt;
|printf&lt;br /&gt;
|printf, sprintf and (v)snprintf 实现&lt;br /&gt;
|[[printf]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==常用工具==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+常用工具&lt;br /&gt;
|-&lt;br /&gt;
!名称!!说明!!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|easy-rsa||使用SSL/TLS时,自签证书制作/管理工具||[[easy-rsa]]&lt;br /&gt;
|-&lt;br /&gt;
|buildroot||嵌入式Linux构建工具||[[buildroot]]&lt;br /&gt;
|-&lt;br /&gt;
|debootstrap||Linux系统根文件系统创建工具,可创建Debian系Linux系统根文件系统||[[debootstrap]]&lt;br /&gt;
|-&lt;br /&gt;
|crosstool-ng||交叉编译工具链创建工具||[[crosstool-ng]]&lt;br /&gt;
|-&lt;br /&gt;
|ScreenToGif&lt;br /&gt;
|在Windows下录屏制作gif的工具&lt;br /&gt;
|https://github.com/NickeManarin/ScreenToGif.git&lt;br /&gt;
|-&lt;br /&gt;
|Xfel&lt;br /&gt;
|全志SOC的FEL工具（可下载固件等）&lt;br /&gt;
|[[Xfel]]&lt;br /&gt;
|-&lt;br /&gt;
|busybox&lt;br /&gt;
|unix工具箱，可用于创建体积极小的rootfs&lt;br /&gt;
|[[busybox]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===IDE环境/开发环境/开发工具===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|codeblocks&lt;br /&gt;
|免费的C/C++ IDE,可开发多种C/C++程序。本人只要将它用作基于CMake构建的工程的代码编写。&lt;br /&gt;
|http://www.codeblocks.org/&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Visual Studio&lt;br /&gt;
|微软的开发工具集。本人主要用于开发WIN32程序。本人优先使用codeblocks作为C/C++开发环境,VS占用的空间太大,但有些第三方库在Windows上可能只支持MSVC,故而必须使用VS。&lt;br /&gt;
|https://visualstudio.microsoft.com/zh-hans/&lt;br /&gt;
|-&lt;br /&gt;
|keil5&lt;br /&gt;
|用于ARM嵌入式芯片的开发。注意:keil5不是免费的。&lt;br /&gt;
|https://www.keil.com/&lt;br /&gt;
|-&lt;br /&gt;
|IAR&lt;br /&gt;
|本人主要使用针对ARM嵌入式芯片的开发。注意:IAR不是免费的。&lt;br /&gt;
|https://www.iar.com/&lt;br /&gt;
|-&lt;br /&gt;
|QtCreator&lt;br /&gt;
|用于创建基于Qt的程序。&lt;br /&gt;
|https://www.qt.io/product/development-tools&lt;br /&gt;
|-&lt;br /&gt;
|MounRiver&lt;br /&gt;
|基于Eclipse的嵌入式ARM/RISC-V的集成开发环境。本人主要用于测试[https://www.wch.cn/ WCH]的单片机。&lt;br /&gt;
|http://www.mounriver.com/&lt;br /&gt;
|-&lt;br /&gt;
|RT-Thread Studio&lt;br /&gt;
|一站式的 RT-Thread 开发工具，通过简单易用的图形化配置系统以及丰富的软件包和组件资源，让物联网开发变得简单和高效。本人主要用于开发与rt-thread相关设备。&lt;br /&gt;
|https://www.rt-thread.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子硬件设计(原理图绘制/PCB绘制/其它相关工具) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|立创EDA&lt;br /&gt;
|高效的国产PCB设计工具，永久免费。可在线使用。&lt;br /&gt;
|https://lceda.cn/&lt;br /&gt;
|-&lt;br /&gt;
|KiCad&lt;br /&gt;
|跨平台开源电子设计套装。&lt;br /&gt;
|https://www.kicad.org/&lt;br /&gt;
|-&lt;br /&gt;
|freerouting&lt;br /&gt;
|自动布线工具。可配合立创EDA或KiCad使用。本人用于替代立创EDA自带的自动布线。&lt;br /&gt;
|https://www.freerouting.app/&lt;br /&gt;
https://github.com/freerouting/freerouting.git&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 测试工具 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Apipost&lt;br /&gt;
|Apipost-API 文档、设计、调试、自动化测试一体化协作平台。具有免费版本。&lt;br /&gt;
|https://www.apipost.cn/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 编译器 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|sdcc&lt;br /&gt;
|用于8位/16位单片机(如MCS51、DS80C390 、HC08、Z80、STM8, MOS 6502 、WDC 65C02等)的C编译器&lt;br /&gt;
|https://sdcc.sourceforge.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 流程图/框图绘制 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|dia&lt;br /&gt;
|跨平台开源流程图绘制工具&lt;br /&gt;
|http://dia-installer.de/&lt;br /&gt;
https://sourceforge.net/projects/dia/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 图像处理 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|GIMP&lt;br /&gt;
|免费开源图像编辑器&lt;br /&gt;
|https://www.gimp.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 作曲工具(MIDI制作) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|LMMS&lt;br /&gt;
|免费自由开源并且跨平台的作曲工具&lt;br /&gt;
|https://lmms.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 字体编辑 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|FontForge&lt;br /&gt;
|免费字体编辑器&lt;br /&gt;
|https://fontforge.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 国际化/本地化 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Poedit&lt;br /&gt;
|.po编辑工具。可编辑使用 [[xgettext]] 生成的翻译文件&lt;br /&gt;
|https://poedit.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 压缩/解压缩 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|7-zip&lt;br /&gt;
|开源免费的压缩/解压缩软件。Windows下有GUI程序，Linux下只有控制台版本。&lt;br /&gt;
|http://www.7-zip.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 虚拟磁盘/磁盘驱动 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|imdisk&lt;br /&gt;
|Windows下开源虚拟磁盘工具,可方便挂载内存盘（存放临时文件）。&lt;br /&gt;
|https://sourceforge.net/projects/imdisk-toolkit&lt;br /&gt;
|-&lt;br /&gt;
|Ext2fsd&lt;br /&gt;
|Windows下访问Ext2/Ext3/Ext4文件系统驱动。&lt;br /&gt;
|https://sourceforge.net/projects/ext2fsd/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 安装/卸载 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Geek Uninstaller&lt;br /&gt;
|Windows下程序卸载工具,具有免费的版本。&lt;br /&gt;
|https://geekuninstaller.com/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===小工具(自写/修改/组合)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki&lt;br /&gt;
!支持平台&lt;br /&gt;
|-&lt;br /&gt;
|CC3200_GangGenerator&lt;br /&gt;
|生成用于烧录CC3200 SPI Flash的工具&lt;br /&gt;
|[[CC3200_GangGenerator]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
|-&lt;br /&gt;
|WMToolHelper&lt;br /&gt;
| W600烧录工具&lt;br /&gt;
|[[WMToolHelper]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|WinBleTool&lt;br /&gt;
| Windows下调试BLE的工具&lt;br /&gt;
|[[WinBleTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10(及以上)&lt;br /&gt;
|-&lt;br /&gt;
|SimpleBLETool&lt;br /&gt;
|调试BLE的工具&lt;br /&gt;
| [[SimpleBLETool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10+&lt;br /&gt;
*Linux(ubuntu 20.04+)&lt;br /&gt;
|-&lt;br /&gt;
|cutecom-ng&lt;br /&gt;
|基于Qt5的串口工具。个人修改版。&lt;br /&gt;
|[[cutecom-ng]]&lt;br /&gt;
|只要是Qt5支持的桌面平台均支持。&lt;br /&gt;
|-&lt;br /&gt;
|OneNETTool&lt;br /&gt;
|开发OneNET辅助工具&lt;br /&gt;
|[[OneNETTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|QGDW12184Tool&lt;br /&gt;
|开发Q/GDW 12184辅助工具&lt;br /&gt;
|[[QGDW12184Tool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|XServerForWSL1&lt;br /&gt;
|利用cygwin中的X服务对WSL提供X服务&lt;br /&gt;
|[[XServerForWSL1]]&lt;br /&gt;
|支持WSL1的Windows&lt;br /&gt;
|-&lt;br /&gt;
|linux_binfmt_pe&lt;br /&gt;
|使用[[wine]]直接执行PE可执行文件的Linux内核模块&lt;br /&gt;
|[[linux_binfmt_pe]]&lt;br /&gt;
|&lt;br /&gt;
* Linux内核&lt;br /&gt;
|-&lt;br /&gt;
|Win32Redirector&lt;br /&gt;
|重定向win32控制台应用至MSYS2或者Cygwin中的程序。&lt;br /&gt;
|[[Win32Redirector]]&lt;br /&gt;
|&lt;br /&gt;
* Windows&lt;br /&gt;
|-&lt;br /&gt;
|HEnvBox&lt;br /&gt;
|快速搭建本人常用的开发环境。&lt;br /&gt;
|[[HEnvBox]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 10及更新版&lt;br /&gt;
* Ubuntu 22.04&lt;br /&gt;
* Debian&lt;br /&gt;
* Deepin&lt;br /&gt;
|-&lt;br /&gt;
|HVCP&lt;br /&gt;
|Windows下虚拟串口&lt;br /&gt;
|[[HVCP]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 7 及更新系统&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用库 ==&lt;br /&gt;
此章节主要对使用的比较多的库做一个整理。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!官网&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki&lt;br /&gt;
|-&lt;br /&gt;
|wxWidgets&lt;br /&gt;
|https://www.wxwidgets.org/&lt;br /&gt;
|跨平台GUI库&lt;br /&gt;
|[[wxWidgets]]&lt;br /&gt;
|-&lt;br /&gt;
|Qt&lt;br /&gt;
|https://www.qt.io/&lt;br /&gt;
|跨平台库（包括GUI）&lt;br /&gt;
|[[Qt]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 工具/库（自写/修改） ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|DeployWin&lt;br /&gt;
|MSYS2与CygWin下编程辅助打包库。一般配合CMake的CPack使用。&lt;br /&gt;
|[[DeployWin]]&lt;br /&gt;
|-&lt;br /&gt;
|HCppBox&lt;br /&gt;
|本人常用的C/C++代码&lt;br /&gt;
|[[HCppBox]]&lt;br /&gt;
|-&lt;br /&gt;
|SimpleModbusRTUPacket&lt;br /&gt;
|简易的[[Modbus]] RTU包解析&lt;br /&gt;
|[[SimpleModbusRTUPacket]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==常用镜像站==&lt;br /&gt;
在找各种源码资源时，经常遇到国外网站下载较慢的情况下，此时通常需要更换镜像站。&lt;br /&gt;
&lt;br /&gt;
例如:&lt;br /&gt;
&lt;br /&gt;
*ubuntu系统的软件包(包括使用deboostrap的镜像源)&lt;br /&gt;
*python软件包&lt;br /&gt;
*gnu软件源码包&lt;br /&gt;
*linux源码&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!地址&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.ustc.edu.cn/&lt;br /&gt;
|中国科学技术大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.tuna.tsinghua.edu.cn/&lt;br /&gt;
|清华大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.163.com/&lt;br /&gt;
|网易开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.aliyun.com/&lt;br /&gt;
|阿里开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.cernet.edu.cn&lt;br /&gt;
|校园网联合镜像站&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 静态文档网站 ==&lt;br /&gt;
一些静态的网页文档,如[https://www.doxygen.nl/ doxygen]生成的帮助文档与[https://docsify.js.org/#/ docsify]制作的静态说明文档。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!类型&lt;br /&gt;
!URL&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|静态文档仓库&lt;br /&gt;
|https://heyahong.github.io/#/&lt;br /&gt;
|采用github pages托管,源代码仓库:https://github.com/HEYAHONG/HEYAHONG.github.io.git&lt;br /&gt;
|-&lt;br /&gt;
|网站&lt;br /&gt;
|http://docs.hyhsystem.cn&lt;br /&gt;
|采用nginx服务器,运行于云服务器&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==相关链接==&lt;br /&gt;
&lt;br /&gt;
*[[测试资源]]&lt;br /&gt;
*[[第三方资源]]&lt;br /&gt;
*[[方案发现与探索]]&lt;br /&gt;
*[[杂项笔记与测试代码]]&lt;br /&gt;
*[[常见问题]]&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%B9%E6%A1%88%E5%8F%91%E7%8E%B0%E4%B8%8E%E6%8E%A2%E7%B4%A2&amp;diff=1121</id>
		<title>方案发现与探索</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E6%96%B9%E6%A1%88%E5%8F%91%E7%8E%B0%E4%B8%8E%E6%8E%A2%E7%B4%A2&amp;diff=1121"/>
		<updated>2025-04-11T16:27:13Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 芯片及模块 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 部分测试的资源 ==&lt;br /&gt;
此章的内容为部分功能正常。&amp;lt;br&amp;gt;&lt;br /&gt;
若是自己写的代码，可能出现不可忽视的缺陷的资源。&amp;lt;br&amp;gt;&lt;br /&gt;
若是第三方代码,可能是不常用的资源。&amp;lt;br&amp;gt;若是芯片/模块,则说明只是进行了初步测试。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===芯片及模块===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+芯片记录&lt;br /&gt;
|-&lt;br /&gt;
!芯片/模块名称!!说明!!链接!!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|XT-BL10||BL602模块，WIFI/蓝牙 SOC，RISC-V内核 || [http://bouffalolab.com/ 博流智能科技]||&lt;br /&gt;
|-&lt;br /&gt;
|CH32V307V-R1&lt;br /&gt;
|CH32V307VCT6,互联型RISC-V单片机，集成10M 以太网PHY&lt;br /&gt;
|https://www.wch.cn&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 嵌入式操作系统及嵌入式软件库 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 软件&lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! 链接 !! Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| contiki|| 嵌入式操作系统 || http://www.contiki-os.org/ || [[contiki]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==尚未测试的资源==&lt;br /&gt;
===芯片及模块===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+芯片记录&lt;br /&gt;
|-&lt;br /&gt;
!芯片/模块名称!!说明!!链接!!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|HT501X||单相计量SOC,Cortex-M0内核||[http://www.hitrendtech.com 钜泉光电] ||&lt;br /&gt;
|-&lt;br /&gt;
|HLK-M50||RDA5981模块，WIFI SOC，Cortex-M4内核 ||[https://www.unisoc.com 紫光展锐]||&lt;br /&gt;
|-&lt;br /&gt;
|XR806 ||WIFI/蓝牙 SOC，Arm-Star ARMv8-M MCU||[https://xr806.docs.aw-ol.com/ XR806]||&lt;br /&gt;
|-&lt;br /&gt;
|PB-02||PHY6212模块，蓝牙 SOC，Cortex-M0内核||[http://phyplusinc.com/ 奉加微电子]||&lt;br /&gt;
|-&lt;br /&gt;
|TB-02||TLSR8258模块，蓝牙 SOC,TC32内核||[http://www.telink-semi.cn/ 泰凌微电子]||&lt;br /&gt;
|-&lt;br /&gt;
|Sipeed M0P&lt;br /&gt;
|BL618 模组,2,4G WIFI6,BLE+BT,Zigbee/IEEE 802.15.4,480K SRAM,4M pSRAM(内置)&lt;br /&gt;
|[http://www.bouffalolab.com/ 博流智能] [https://wiki.sipeed.com sipeed wiki] [https://wiki.sipeed.com/hardware/zh/maixzero/m0p/m0p.html M0P模组]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PY32F002/PY32F003/PY32F030&lt;br /&gt;
|超廉价Cortex-M0+单片机&lt;br /&gt;
|[http://www.puyasemi.com 普冉半导体] [http://www.puyasemi.com/cpzx3/info_267_aid_242_kid_235.html PY32]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Luckfox Pico Plus&lt;br /&gt;
|RV1103，64MB RAM，廉价Linux开发板，RV1103 QFN88封装可手贴&lt;br /&gt;
|[https://www.waveshare.net/ 微雪电子(代理)]  [https://www.luckfox.com/ Luckfox]&lt;br /&gt;
|[[RV1103]]&lt;br /&gt;
|-&lt;br /&gt;
|XL2409&lt;br /&gt;
|廉价2.4G无线(类似[[NRF24L01+]]),Cortex-M0+内核 SOC。&lt;br /&gt;
|[http://www.xinlinggo.com 深圳市芯岭技术有限公司]&lt;br /&gt;
|[[XL2409]]&lt;br /&gt;
|-&lt;br /&gt;
|SSD202D&lt;br /&gt;
|智能显示器控制器，双核Cortex-A7 SOC,128MB RAM&lt;br /&gt;
|[https://comake.online 星宸科技股份有限公司]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|D1s&lt;br /&gt;
|64MB RAM，廉价Linux开发板,RISC-V SOC&lt;br /&gt;
|[https://www.allwinnertech.com/ 珠海全志科技股份有限公司]&lt;br /&gt;
|[[D1s]]&lt;br /&gt;
|-&lt;br /&gt;
|APM32E103&lt;br /&gt;
|大容量类STM32F103芯片，最大SRAM为128KB.&lt;br /&gt;
|[https://www.geehy.com 珠海极海半导体有限公司]&lt;br /&gt;
|[[APM32E103]]&lt;br /&gt;
|-&lt;br /&gt;
|RP2040&lt;br /&gt;
|双核 Arm Cortex-M0 +&lt;br /&gt;
|[https://www.raspberrypi.com/ 树莓派基金会]&lt;br /&gt;
|[[RP2040]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===嵌入式操作系统及嵌入式软件库===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+软件&lt;br /&gt;
|-&lt;br /&gt;
!名称!! 说明&lt;br /&gt;
!链接!!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|micropython||嵌入式操作系统,Python3在嵌入式设备的实现。||https://micropython.org/&amp;lt;nowiki/&amp;gt;||&lt;br /&gt;
|-&lt;br /&gt;
|NodeMcu&lt;br /&gt;
|基于Lua的ESP8266固件&lt;br /&gt;
|http://www.nodemcu.com&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|sylixos||嵌入式操作系统||https://www.sylixos.com/&amp;lt;nowiki/&amp;gt;||&lt;br /&gt;
|-&lt;br /&gt;
|mbed-os||嵌入式操作系统||https://os.mbed.com/&amp;lt;nowiki/&amp;gt;||&lt;br /&gt;
|-&lt;br /&gt;
|LiteOS||物联网操作系统,OpenHarmony内核之一。||http://www.huawei.com/liteos&amp;lt;nowiki/&amp;gt;||&lt;br /&gt;
|-&lt;br /&gt;
|LuatOS&lt;br /&gt;
|IoT设备的嵌入式Lua引擎。&lt;br /&gt;
|https://luatos.com&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 工具 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!链接&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|yocto&lt;br /&gt;
|一个帮助开发者定制基于Linux的系统的协作项目&lt;br /&gt;
|https://www.yoctoproject.org/&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|t2&lt;br /&gt;
|t2系统开发环境（元发行版）可自动创建使用最先进、最新的包及集成交叉编译支持的定制化OS&lt;br /&gt;
|http://www.t2sde.org&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 推荐网站 ==&lt;br /&gt;
&lt;br /&gt;
=== SocXin ===&lt;br /&gt;
&lt;br /&gt;
* http://www.soc.xin/&lt;br /&gt;
* https://github.com/SoCXin/&lt;br /&gt;
* https://doc.soc.xin&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=ST17H66&amp;diff=1120</id>
		<title>ST17H66</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=ST17H66&amp;diff=1120"/>
		<updated>2025-04-11T16:26:39Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 相关链接 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 说明 ==&lt;br /&gt;
ST17H66搭载高性能低功耗32位处理器，具有256KB SPI NOR系统闪存，支持通用多协议SoC，蓝牙[[BLE]] 2Mbps协议。具有 11个可编程 GPIO 管脚、内置64KB SRAM，支持通过 PWM/PDM/DMA/I2C/SPI/UART 等接口，满足各类物联网产品功能需求。&lt;br /&gt;
&lt;br /&gt;
== 官方资料 ==&lt;br /&gt;
&lt;br /&gt;
=== 相关数据手册 ===&lt;br /&gt;
&lt;br /&gt;
[[文件:ST17H66(B2) BLE SoC Datasheet v1.3-2.pdf|缩略图|居中]]&lt;br /&gt;
&lt;br /&gt;
=== 相关链接 ===&lt;br /&gt;
&lt;br /&gt;
* 官网:http://lenzetech.com/&lt;br /&gt;
* 资料下载:http://doc.lenze.club/&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=BLE&amp;diff=1119</id>
		<title>BLE</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=BLE&amp;diff=1119"/>
		<updated>2025-04-09T03:18:02Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​创建页面，内容为“== 说明 == 蓝牙低能耗（Bluetooth Low Energy，或称Bluetooth LE、BLE，旧商标Bluetooth Smart）也称低功耗蓝牙，是蓝牙技术联盟设计和销售的一种个人局域网技术，旨在用于医疗保健、运动健身、信标、安防、家庭娱乐等领域的新兴应用。相较经典蓝牙，低功耗蓝牙旨在保持同等通信范围的同时显著降低功耗和成本。  == UUID == UUID为通用唯一识别码,用于标识资源…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 说明 ==&lt;br /&gt;
蓝牙低能耗（Bluetooth Low Energy，或称Bluetooth LE、BLE，旧商标Bluetooth Smart）也称低功耗蓝牙，是蓝牙技术联盟设计和销售的一种个人局域网技术，旨在用于医疗保健、运动健身、信标、安防、家庭娱乐等领域的新兴应用。相较经典蓝牙，低功耗蓝牙旨在保持同等通信范围的同时显著降低功耗和成本。&lt;br /&gt;
&lt;br /&gt;
== UUID ==&lt;br /&gt;
UUID为通用唯一识别码,用于标识资源。&lt;br /&gt;
&lt;br /&gt;
UUID通常为128位，其组成为32位无符号整数+16位无符号整数+16位无符号整数+8位无符号整数+8位无符号整数+6字节（共48位）数据，其字符串格式为&amp;lt;code&amp;gt;32位无符号整数-16位无符号整数-16位无符号整数-16位无符号整数(8位无符号整数+8位无符号整数)-6字节（共48位）数据&amp;lt;/code&amp;gt;，如&amp;lt;code&amp;gt;6ba7b811-9dad-11d1-80b4-00c04fd430c8&amp;lt;/code&amp;gt;其组成为32位无符号整数&amp;lt;code&amp;gt;0x6ba7b811&amp;lt;/code&amp;gt;、16位无符号整数&amp;lt;code&amp;gt;0x9dad&amp;lt;/code&amp;gt;、16位无符号整数&amp;lt;code&amp;gt;0x11d1&amp;lt;/code&amp;gt;、8位无符号整数&amp;lt;code&amp;gt;0x80&amp;lt;/code&amp;gt;,8位无符号整数 &amp;lt;code&amp;gt;0xb4&amp;lt;/code&amp;gt;,6字节（共48位）数据 &amp;lt;code&amp;gt;0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
但128位的UUID空间占用比较大，一般采用16位的短UUID（也称蓝牙UUID）。16位短UUID与128位UUID可相互转化。一般情况下，16位短UUID是128位UUID的一部分。对于蓝牙而言，16位短UUID可填充至&amp;lt;code&amp;gt;00000000-0000-1000-8000-00805f9b34fb&amp;lt;/code&amp;gt;的第一个32位整数部分,如短UUID&amp;lt;code&amp;gt;0x180f&amp;lt;/code&amp;gt;对应的长UUID为&amp;lt;code&amp;gt;0000180f-0000-1000-8000-00805f9b34fb&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
对于同一种类型的资源而言，UUID值类似C语言枚举值，均是通过数字标识具体的资源。&lt;br /&gt;
&lt;br /&gt;
蓝牙相关的数字分配可见：&amp;lt;nowiki&amp;gt;https://www.bluetooth.com/specifications/assigned-numbers/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
若处于Linux环境或者WSL环境，可使用&amp;lt;code&amp;gt;uuidgen&amp;lt;/code&amp;gt;生成128位UUID。当使用128位UUID作为标识时，推荐使用随机数或者时间生成一个基础UUID，再以此为基础改动其中某一部分（根据需求确定改动的位数，一般8位足够）定义一些UUID，这样可方便判断与识别。&lt;br /&gt;
&lt;br /&gt;
== 广播包与扫描响应包 ==&lt;br /&gt;
对于基于BLE的设备而言,最简单的应用就是使用广播包发送信息，实际应用的例子如某某TAG使用蓝牙进行追踪。&lt;br /&gt;
&lt;br /&gt;
扫描响应包（有时也称广播响应包），在另外的设备进行主动扫描时响应，用于扩展广播数据的大小（如未特殊说明，后文所指广播数据也包括扫描响应包中的数据）。通常固定的数据由扫描响应包传输，变化的数据用广播包传输(广播包可一直发送)。&lt;br /&gt;
&lt;br /&gt;
无论是广播包还是扫描响应包，所携带的广播数据长度最长为31字节。&lt;br /&gt;
&lt;br /&gt;
广播数据由一个或者多个广播结构体组成，所有广播结构体的长度之和不能超过广播包与扫描响应包可携带数据的最大长度。&lt;br /&gt;
&lt;br /&gt;
广播结构体由一字节长度+一字节广播类型+多字节广播结构体数据，其中长度指广播类型+广播结构体数据的长度，广播结构体数据由广播类型决定。&lt;br /&gt;
&lt;br /&gt;
通常情况下，广播包的广播数据的第一个广播结构体为广播标志(广播类型为0x01)，占3个字节。&lt;br /&gt;
&lt;br /&gt;
用户可使用厂商自定义数据类型的广播结构体发送自定义数据（对于上位机而言，比较容易获取广播数据中的厂商自定义数据），其余类型的广播结构体主要用于向外发送BLE相关配置。&lt;br /&gt;
&lt;br /&gt;
== 设备名称 ==&lt;br /&gt;
对于上位机而言，设备名称是区分不同自定义设备类型的方式之一(标准设备（如音频设备、HID设备）的区分类型的方式由BLE标准规定)。&lt;br /&gt;
&lt;br /&gt;
对于BLE而言，设备名称主要可在以下场景中使用:&lt;br /&gt;
&lt;br /&gt;
* 广播数据:广播数据中可携带设备名称信息。一般情况下，设备名称通常放在扫描响应包且在上位机扫描时显示。&lt;br /&gt;
* GAP服务(0x1800)的设备名称特征(0x2A00):此处的设备名称可与广播数据不同（也可以相同）。&lt;br /&gt;
&lt;br /&gt;
== profile ==&lt;br /&gt;
BLE规定了一系列规范(在BLE标准中称profile)，用户遵循这些标准即可实现对相应蓝牙功能的开发，而无需再对上位机进行二次开发（标准服务的驱动一般无需用户开发，操作系统或者蓝牙栈会自动实现对标准服务的访问）。&lt;br /&gt;
&lt;br /&gt;
一个profile可包含一个或多个服务，最终上位机与BLE设备之间的交互都是通过对服务的访问实现的。&lt;br /&gt;
&lt;br /&gt;
一个服务可包含一个或多个特征，这些特征就是一个个数据点，上位机可通过访问特征获取具体的数据。&lt;br /&gt;
&lt;br /&gt;
注意:此处只描述常用的profile/服务。&lt;br /&gt;
&lt;br /&gt;
=== GAP服务 ===&lt;br /&gt;
GAP服务的UUID为0x1800。&lt;br /&gt;
&lt;br /&gt;
GAP服务是BLE必须实现的服务，主要用于管理广播和连接事件的有关参数。&lt;br /&gt;
&lt;br /&gt;
=== GATT服务 ===&lt;br /&gt;
GATT服务的UUID为0x1801。&lt;br /&gt;
&lt;br /&gt;
GATT服务是BLE必须实现的服务。&lt;br /&gt;
&lt;br /&gt;
=== 设备信息服务 ===&lt;br /&gt;
设备信息服务的UUID为 0x180A。&lt;br /&gt;
&lt;br /&gt;
设备信息服务的实现是可选的，用户可通过设备信息服务提供以下信息:&lt;br /&gt;
&lt;br /&gt;
* SYSTEM_ID&lt;br /&gt;
* MODEL_NUMBER&lt;br /&gt;
* SERIAL_NUMBER：序列号可用于区分同一型号的不同设备，通常情况下，序列号是唯一的。&lt;br /&gt;
* FIRMWARE_REV&lt;br /&gt;
* HARDWARE_REV&lt;br /&gt;
* SOFTWARE_REV&lt;br /&gt;
* MANUFACTURER_NAME&lt;br /&gt;
* 11073_CERT_DATA&lt;br /&gt;
* PNP_ID&lt;br /&gt;
&lt;br /&gt;
=== 电池服务 ===&lt;br /&gt;
电池服务的UUID为 0x180F。&lt;br /&gt;
&lt;br /&gt;
电池服务的实现是可选的，用户可通过此服务提供电池信息（如电量）。&lt;br /&gt;
&lt;br /&gt;
=== SimpleProfile服务 ===&lt;br /&gt;
设备信息服务的UUID为 0xFFF0。&lt;br /&gt;
&lt;br /&gt;
SimpleProfile服务的实现是可选的。SimpleProfile服务通常用于自定义服务，通常情况下，其特征（自定义数据）的UUID从0xFFF1起。&lt;br /&gt;
&lt;br /&gt;
与其它的profile不同，此服务通常不会被操作系统/蓝牙栈使用，因此用户需要手动编写上位机程序。&lt;br /&gt;
&lt;br /&gt;
除了用户自行分配服务UUID（通常是长UUID，用于避免重复）创建非标准设备外，用户还可使用此服务创建非标准设备。&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=WinBle&amp;diff=1118</id>
		<title>WinBle</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=WinBle&amp;diff=1118"/>
		<updated>2025-04-09T03:10:53Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 说明 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==源代码==&lt;br /&gt;
===原代码===&lt;br /&gt;
https://github.com/DerekGn/WinBle.git&lt;br /&gt;
&lt;br /&gt;
===主要===&lt;br /&gt;
https://github.com/HEYAHONG/WinBle.git&lt;br /&gt;
&lt;br /&gt;
=== 备用 ===&lt;br /&gt;
https://gitee.com/HEYAHONG/WinBle.git&lt;br /&gt;
&lt;br /&gt;
===说明===&lt;br /&gt;
这是在Windows10及以上的Windows下访问[[BLE]]设备的库。&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=ST17H66&amp;diff=1117</id>
		<title>ST17H66</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=ST17H66&amp;diff=1117"/>
		<updated>2025-04-09T03:10:18Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 说明 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 说明 ==&lt;br /&gt;
ST17H66搭载高性能低功耗32位处理器，具有256KB SPI NOR系统闪存，支持通用多协议SoC，蓝牙[[BLE]] 2Mbps协议。具有 11个可编程 GPIO 管脚、内置64KB SRAM，支持通过 PWM/PDM/DMA/I2C/SPI/UART 等接口，满足各类物联网产品功能需求。&lt;br /&gt;
&lt;br /&gt;
== 官方资料 ==&lt;br /&gt;
&lt;br /&gt;
=== 相关数据手册 ===&lt;br /&gt;
&lt;br /&gt;
[[文件:ST17H66(B2) BLE SoC Datasheet v1.3-2.pdf|缩略图|居中]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 相关链接 ===&lt;br /&gt;
&lt;br /&gt;
* 官网:&amp;lt;nowiki&amp;gt;http://lenzetech.com/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* 资料下载:&amp;lt;nowiki&amp;gt;http://doc.lenze.club/&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=SimpleBLE&amp;diff=1116</id>
		<title>SimpleBLE</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=SimpleBLE&amp;diff=1116"/>
		<updated>2025-04-09T03:09:47Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 说明 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==源代码==&lt;br /&gt;
===原代码===&lt;br /&gt;
https://github.com/OpenBluetoothToolbox/SimpleBLE.git&lt;br /&gt;
===主要===&lt;br /&gt;
https://github.com/HEYAHONG/SimpleBLE.git&lt;br /&gt;
===备用===&lt;br /&gt;
https://gitee.com/HEYAHONG/SimpleBLE.git&lt;br /&gt;
===说明===&lt;br /&gt;
这是一个跨平台的访问[[BLE]]设备的库。&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1115</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=1115"/>
		<updated>2025-02-25T08:59:22Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​/* 嵌入式项目 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 常用项目 ==&lt;br /&gt;
&lt;br /&gt;
=== 嵌入式项目 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!简介&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
!标签&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-001     &lt;br /&gt;
|扩展板,用于扩展一个可编程通道(RS485)。&lt;br /&gt;
主要采用以下芯片:&lt;br /&gt;
&lt;br /&gt;
* CH334R:USB Hub。&lt;br /&gt;
* [[Air32F103CCT6]]:[[DAPLink]]主控芯片、Core主控芯片。&lt;br /&gt;
* MAX3485：3.3V电源驱动的RS485收发芯片。&lt;br /&gt;
|[[ExtBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[DAPLink]]&lt;br /&gt;
* [[Air32F103]]&lt;br /&gt;
|-&lt;br /&gt;
|CoreBoard-001&lt;br /&gt;
|核心板。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* HLK-7688A:[[MT7688AN]]核心板。&lt;br /&gt;
* DS1307：实时时钟&lt;br /&gt;
|[[CoreBoard-001]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-002&lt;br /&gt;
|扩展板。使用USB提供4G联网功能。&lt;br /&gt;
主要采用以下芯片/模块:&lt;br /&gt;
&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|[[ExtBoad-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[Air780EG]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtBoard-003&lt;br /&gt;
|扩展板。USB CAN适配器，复刻[[candleLight]]。&lt;br /&gt;
|[[ExtBoard-003]]&lt;br /&gt;
|&lt;br /&gt;
* [[USB]]&lt;br /&gt;
* [[CAN]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-001&lt;br /&gt;
|模块电路，用于验证廉价PY32单片机&lt;br /&gt;
|[[ExtModule-001]]&lt;br /&gt;
|&lt;br /&gt;
* PY32&lt;br /&gt;
* [[Modbus]]&lt;br /&gt;
|-&lt;br /&gt;
|ExtModule-002&lt;br /&gt;
|模块电路，用于验证ST17H66 蓝牙SOC&lt;br /&gt;
|[[ExtModule-002]]&lt;br /&gt;
|&lt;br /&gt;
* [[ST17H66]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用技术栈 ==&lt;br /&gt;
=== 可连接TCP/IP的物联网设备 ===&lt;br /&gt;
开发物联网设备时,无论设备是通过WiFi、2G/3G/4G/5G或以太网连接网络,如设备支持TCP/IP,通常采用[[MQTT]]作为主要通信协议。&lt;br /&gt;
&lt;br /&gt;
除了主要通信协议,通常物联网设备还需要支持NTP对时，有时还需要使用到Http作为辅助协议。&lt;br /&gt;
&lt;br /&gt;
主要使用的协议如下：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!协议名称&lt;br /&gt;
!说明&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|[[MQTT]]&lt;br /&gt;
|MQTT是专门针对物联网开发的轻量级传输协议。&lt;br /&gt;
|通常采用TCP，可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[LwM2M]]&lt;br /&gt;
|LwM2M是一种轻量级的、标准通用的物联网设备管理协议，可用于快速部署客户端/服务器模式的物联网业务&lt;br /&gt;
|通常采用UDP，常见于NB-IOT模块。&lt;br /&gt;
由于UDP的在公网上的老化（公网的NAT转换机制），在公网上不能实现实时控制，只能应用于周期上报的设备。&lt;br /&gt;
&lt;br /&gt;
在专网或者局域网内可实现实时控制。&lt;br /&gt;
|-&lt;br /&gt;
|[[CoAP]]&lt;br /&gt;
|CoAP是一种用于受限节点与受限网络的web传输协议，由IETF提出。&lt;br /&gt;
|通常采用UDP，可使用DTLS加密，一般情况下用于在受限环境中替代http。&lt;br /&gt;
|-&lt;br /&gt;
|Http/Https&lt;br /&gt;
|超文本传输协议（Hypertext Transfer Protocol，HTTP）是一个简单的请求-响应协议。&lt;br /&gt;
|通常用于调用后端服务器的api接口。&lt;br /&gt;
|-&lt;br /&gt;
|NTP&lt;br /&gt;
|NTP是用来使计算机时间同步化的一种协议。&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[CSA Matter|Matter]]&lt;br /&gt;
|Matter是一个统一的、开源的应用层连接标准，旨在使开发人员和设备制造商能够连接和构建可靠的、安全的生态系统，并增加智能家具设备之间的兼容性。&lt;br /&gt;
|按照其架构，可使用TCP/UDP,基于[[IPV6]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 低成本方案 ====&lt;br /&gt;
低成本方案主要是指硬件采用SOC方案并且操作系统采用嵌入式操作系统的方案或者外设方案:&lt;br /&gt;
&lt;br /&gt;
* [[Air724UG]] :4G模块，可使用C/C++进行二次开发。&lt;br /&gt;
* [[Air780E]]:4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价。&lt;br /&gt;
* [[ESP8266]] ： WIFI模块。&lt;br /&gt;
* [[ESP32]] : WIFI模块,可接以太网PHY实现以太网上网。&lt;br /&gt;
* [[W600]] ： WIFI模块。&lt;br /&gt;
* [[W800]] ： WIFI模块。&lt;br /&gt;
* [[CH579]] ： 自带以太网PHY,可实现以太网上网。&lt;br /&gt;
*[[W5500]] :全硬件以太网外设芯片，需配合主控使用。&lt;br /&gt;
&lt;br /&gt;
==== 一般方案 ====&lt;br /&gt;
一般方案主要指资源相对充足的方案,一般采用Linux作为内核:&lt;br /&gt;
&lt;br /&gt;
* [[MT7688]] :可采用以太网或者WIFI联网,通过USB可接4G上网模块通过RNDIS上网。&lt;br /&gt;
&lt;br /&gt;
=== 带交流计量功能的设备 ===&lt;br /&gt;
==== 单相SOC方案 ====&lt;br /&gt;
对于单相计量（即常见的家用电）设备,通常采用SOC方案:&lt;br /&gt;
* [[RN8211B]]&lt;br /&gt;
* [[HT502X]]&lt;br /&gt;
此类SOC通常可以使用内置的模块完成包括计量功能在内的大部分需求,在某些情况下也可开发高精度的直流计量设备。&amp;lt;br&amp;gt;&lt;br /&gt;
如需与其它设备进行交互，通常还需要添加通信模块或者使用串口通信。&amp;lt;br&amp;gt;&lt;br /&gt;
若使用串口通信,本人常用[[Modbus]] RTU作为具体协议,将具体的硬件资源映射为线圈(可读写的位)、输入线圈(只读的位)、保持寄存器(可读写)、输入寄存器(只读)。&amp;lt;br&amp;gt;&lt;br /&gt;
* [[SimpleModbusRTUPacket]]&lt;br /&gt;
==== 单相非SOC方案 ====&lt;br /&gt;
若由于需要采用低成本导致计量部分相对于强电非隔离,而设备上又需要输出隔离接口时,通常采用非SOC方案+串口/SPI口隔离,常用芯片方案:&lt;br /&gt;
* [[RN8209]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&lt;br /&gt;
==== 三相非SOC方案 ====&lt;br /&gt;
若待计量的电路为三相电路,常用芯片方案:&lt;br /&gt;
* [[RN8302B]]&lt;br /&gt;
此方案需要另外加一个主控芯片。&amp;lt;br&amp;gt;&lt;br /&gt;
注意:截至编辑时,尚未发现三相SOC方案。&lt;br /&gt;
=== 带有特殊功能的路由器/WIFI网关 ===&lt;br /&gt;
芯片方案：&lt;br /&gt;
* [[MT7688]]&lt;br /&gt;
软件开发方案:&lt;br /&gt;
* [[ openwrt ]]&lt;br /&gt;
在内核[[Devicetree|设备树(dts)]]配置中使能需要使用的标准接口，并在openwrt的[[Kconfig|menuconfig]]中选中对应的kmod包后,即可使用[[Linux]]用户程序(非内核模块)操作硬件设备。&amp;lt;br&amp;gt;&lt;br /&gt;
对于SPI、I2C与UART而言,用户可通过打开/dev目录下的相应字符设备即可使用。&amp;lt;br&amp;gt;&lt;br /&gt;
对于GPIO而言,可使用sysfs文件系统目录:/sys/class/gpio目录进行GPIO操作。&lt;br /&gt;
&lt;br /&gt;
=== 基于[[USB]]的外设扩展 ===&lt;br /&gt;
对于使用Linux内核的设备的外设扩展,本人较为推崇使用[[USB]]作为外设总线,其优点如下:&lt;br /&gt;
&lt;br /&gt;
* 支持热插拔与子设备枚举，无需在设备树中配置所挂接的子设备。&lt;br /&gt;
* 可使用hub扩展较多接口。&lt;br /&gt;
* 支持[[USB]]的转换芯片较多。&lt;br /&gt;
&lt;br /&gt;
一般来讲，对于少量控制数据的传输，[[USB]] 2.0的传输速度就足够了。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] HUB ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH334/CH335&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH334.html&lt;br /&gt;
|-&lt;br /&gt;
|CH338&lt;br /&gt;
|7口USB 2.0 USB Hub&lt;br /&gt;
|https://www.wch.cn/products/CH338.html&lt;br /&gt;
|-&lt;br /&gt;
|FE1.1s&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HS8836A&lt;br /&gt;
|4 口USB 2.0 USB Hub&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 转换芯片 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!芯片系列&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
|CH340&lt;br /&gt;
|USB转串口/打印口&lt;br /&gt;
|https://www.wch.cn/products/CH340.html&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 上位机软件开发 ====&lt;br /&gt;
&lt;br /&gt;
* 对于标准外设，可按照标准外设的使用方法，如[[USB]]转串口按照串口的方式使用。&lt;br /&gt;
* 对于[[USB]]原生的应用(直接通过端点发送接收数据),可使用[https://libusb.info/ libusb]开发。&lt;br /&gt;
* 对于基于[[USB]]的HID设备，若未被其它内核驱动使用，可使用[https://github.com/signal11/hidapi hidapi]开发。&lt;br /&gt;
&lt;br /&gt;
==== [[USB]] 嵌入式开发 ====&lt;br /&gt;
若未具体说明，本章节中的[[USB]]嵌入式开发指Device端的嵌入式开发，即[[USB]]外设开发。&lt;br /&gt;
&lt;br /&gt;
除了各个芯片厂商提供的[[USB]]栈，还可使用以下USB栈用于USB外设开发：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!USB库&lt;br /&gt;
!说明&lt;br /&gt;
!官网(若有)&lt;br /&gt;
|-&lt;br /&gt;
!tinyusb&lt;br /&gt;
!开源、跨平台的USB HOST/DEVICE栈&lt;br /&gt;
!https://www.tinyusb.org/&lt;br /&gt;
|-&lt;br /&gt;
!CherryUSB&lt;br /&gt;
!小而美的、可移植性高的、用于嵌入式系统的 USB 主从协议栈&lt;br /&gt;
!https://cherryusb.readthedocs.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子线连接器 ===&lt;br /&gt;
很多时候一个产品可由多个PCB组成，而PCB之间除了直接焊线，还可以由电子线连接器（包括插头、插座）连接。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+常用电子线连接器&lt;br /&gt;
!引脚间距(mm)&lt;br /&gt;
!类型&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
* SH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.25&lt;br /&gt;
|&lt;br /&gt;
* GH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1.50&lt;br /&gt;
|&lt;br /&gt;
* ZH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.00&lt;br /&gt;
|&lt;br /&gt;
* PH&lt;br /&gt;
* HY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2.50/2.54&lt;br /&gt;
|&lt;br /&gt;
* EH&lt;br /&gt;
* XH&lt;br /&gt;
* SM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.96&lt;br /&gt;
|&lt;br /&gt;
* VH&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
注意：&lt;br /&gt;
&lt;br /&gt;
# 以上所指的类型可能只是实际连接器的型号的一部分,一般用于搜索相应器件。如在淘宝上搜索&#039;&#039;&#039;PH 连接器&#039;&#039;&#039; 即可获取类型为PH的连接器。&lt;br /&gt;
# 同一个引脚间距可能有多个类型，这些不同的类型一般有其它差异（如材料、结构等）。&lt;br /&gt;
# 如需某个类型的双排连接器，可在类型中添加D(仅适用于部分类型),如需要类型为PH的连接器,则搜索&#039;&#039;&#039;PHD 连接器&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
=== 外壳方案 ===&lt;br /&gt;
&lt;br /&gt;
==== 可采用导轨安装的外壳方案 ====&lt;br /&gt;
对于电气控制柜、仪表柜、配电箱等，安装导轨是一个极其常见的配件。&lt;br /&gt;
&lt;br /&gt;
常用的安装导轨方案如下:&lt;br /&gt;
&lt;br /&gt;
* DIN TS35:35×7.5 安装导轨,宽度35mm,深度7.5mm,材质形式为钢、铝、铜等，表现形式为横条状金属片&lt;br /&gt;
&lt;br /&gt;
若未特殊说明，导轨均指DIN TS35安装导轨。&lt;br /&gt;
&lt;br /&gt;
对于带计量的产品而言,除了设计成插座样式，还可以设计成导轨安装并安放在配电箱里。&lt;br /&gt;
&lt;br /&gt;
对于需要安装至导轨的产品而言，主要有以下方案:&lt;br /&gt;
&lt;br /&gt;
* 直接使用可用于导轨安装的外壳。&lt;br /&gt;
* 采用导轨安装卡扣,卡扣上通常有螺丝孔位，可通过螺丝安装产品。&lt;br /&gt;
&lt;br /&gt;
==== 廉价铝壳外壳方案 ====&lt;br /&gt;
作为物联网产品(尤其是具有RTU/DTU角色的物联网产品)，通常需要一个外壳。一般情况下，可使用铁壳或者铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
为减小成本,本人一般采用成品铝壳作为外壳。&lt;br /&gt;
&lt;br /&gt;
注意:本段落中的铝壳主要指主要外形为长方体，两侧或者顶部具有可拆卸的盖子的壳体，并不泛指所有采用铝作为主要材料的壳体。&lt;br /&gt;
&lt;br /&gt;
一般情况下,通常需要给铝壳开孔以引出接口，常用方案如下:&lt;br /&gt;
&lt;br /&gt;
* 正面开孔，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 侧盖开孔(一面或两面)，一般通过厂家定制。仅试样的情况下，价格一般相对较高。&lt;br /&gt;
* 采用PCB作为侧盖(一般使用黑色的壳体配合黑色PCB),使用PCB制造开孔。仅试样的情况下,价格相对便宜。&lt;br /&gt;
* 一侧不要侧盖。适用于直接引出导线的产品,一般配合灌胶工艺。一般直接用于量产产品。&lt;br /&gt;
如需使用导轨安装，可使用导轨安装卡扣固定铝壳。&lt;br /&gt;
&lt;br /&gt;
===== 常用尺寸1 =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+铝壳参数&lt;br /&gt;
!长&lt;br /&gt;
!宽&lt;br /&gt;
!高&lt;br /&gt;
!PCB块数&lt;br /&gt;
!PCB最大厚度&lt;br /&gt;
!PCB最大宽度&lt;br /&gt;
!PCB最大长度&lt;br /&gt;
|-&lt;br /&gt;
|100mm&lt;br /&gt;
|66mm&lt;br /&gt;
|27mm&lt;br /&gt;
|2(一块顶部PCB板，一块底部PCB板)&lt;br /&gt;
|2mm&lt;br /&gt;
|60.3mm(不能小太多)&lt;br /&gt;
|100mm(取决于铝壳长度，一般可定制)&lt;br /&gt;
|}&lt;br /&gt;
[[文件:ALUMINUM SHELL 66x27x100.png|居中|有框]]&lt;br /&gt;
&lt;br /&gt;
==== 接线盒(家庭) ====&lt;br /&gt;
此处所指接线盒主要指家庭中用于开关/插座的接线盒,并不指广义接线盒。&lt;br /&gt;
&lt;br /&gt;
接线盒主要由底盒与面板组成。&lt;br /&gt;
&lt;br /&gt;
其中底盒的种类多种多样，根据可分为明装与暗装，一般底盒均为提前安装好的，不可简单增加与减少。&lt;br /&gt;
&lt;br /&gt;
面板一般是嵌入式开发中常用的壳体，只要保证安装孔距正确，即可安装在提前安装的底盒上。&lt;br /&gt;
&lt;br /&gt;
接线盒可根据面板尺寸进行分类，主要有以下型号：&lt;br /&gt;
&lt;br /&gt;
* 86型&lt;br /&gt;
* 118型&lt;br /&gt;
* 120型&lt;br /&gt;
&lt;br /&gt;
采用接线盒进行嵌入式开发主要开发以下设备（与传统开关、传统插座有一定相似之处）：&lt;br /&gt;
&lt;br /&gt;
* 智能家居控制面板:可进行联网操作，控制智能家居设备。可显示一些信息（如时间、天气、场景等信息）。可连接到其它智能设备（如智能音箱）&lt;br /&gt;
* 智能家居开关：功能与传统开关类似，可通过无线（如BLE、Zigbee等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
* 智能家居插座：功能与传统插座类似，可远程控制、数据采集（电量、电压、电流等）。可通过无线（如BLE、Zigbee、WiFi等）的方式连接到智能设备（如智能音箱、智能家居控制面板等）。&lt;br /&gt;
&lt;br /&gt;
===== 86型接线盒 =====&lt;br /&gt;
86型接线盒作为较常用的接线盒，俗称86盒，其面板尺寸86mmX86mm。&lt;br /&gt;
&lt;br /&gt;
许多厂商也提供采用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寸开发板]。&lt;br /&gt;
&lt;br /&gt;
== 常用芯片及模块 ==&lt;br /&gt;
=== 常用芯片及核心模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 常用芯片及核心模块&lt;br /&gt;
|-&lt;br /&gt;
! 芯片/模块名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8211B || 单相计量SOC || [[RN8211B]]&lt;br /&gt;
|-&lt;br /&gt;
| HT502X || 单相计量SOC || [[HT502X]]&lt;br /&gt;
|-&lt;br /&gt;
| Air724UG || 4G模块,进行C语言开发 || [[Air724UG]]&lt;br /&gt;
|-&lt;br /&gt;
|Air780E&lt;br /&gt;
|4G模块，EC618平台，可使用C/C++进行二次开发，较Air724UG廉价&lt;br /&gt;
|[[Air780E]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-12F || WIFI透传模块，可支持二次开发，主芯片为ESP8266 || [[ESP8266]]&lt;br /&gt;
|-&lt;br /&gt;
| ESP-32S || ESP32模块，可支持WIFI、蓝牙、以太网,可采用esp-idf开发 || [[ESP32]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-01 || W600开发板，WIFI SOC，Cortex-M3内核 || [[W600]]&lt;br /&gt;
|-&lt;br /&gt;
| TB-08 || W800开发板，WIFI/蓝牙 SOC， XT804内核 || [[W800]]&lt;br /&gt;
|-&lt;br /&gt;
| CH579|| 以太网、蓝牙、USB SOC，Cortex-M0内核MCU || [[CH579]]&lt;br /&gt;
|-&lt;br /&gt;
| HLK-7688A|| MT7688芯片核心模块，可采用openwrt开发 || [[MT7688]]&lt;br /&gt;
|-&lt;br /&gt;
| E18-MS1|| CC2530芯片核心模块，可采用contiki开发或者Z-Stack开发 || [[CC2530]]&lt;br /&gt;
|-&lt;br /&gt;
|Air105&lt;br /&gt;
|廉价大内存mcu,4M flash,640K SRAM,Cortex-M4F&lt;br /&gt;
|[[Air105]]&lt;br /&gt;
|-&lt;br /&gt;
|Lichee Zero&lt;br /&gt;
|全志V3s开发板，64M DRAM，廉价Linux开发板，V3s芯片可手贴&lt;br /&gt;
|[[V3s]]   [https://wiki.sipeed.com/hardware/zh/lichee/Zero/Zero.html Lichee Zero]&lt;br /&gt;
|-&lt;br /&gt;
|Air32F103&lt;br /&gt;
|96K RAM,兼容STM32F103&lt;br /&gt;
|[[Air32F103]] http://air32.cn&lt;br /&gt;
|}&lt;br /&gt;
注意:此章节可能不包含资料较多，应用极其成熟的芯片系列。&lt;br /&gt;
=== 外设芯片及外设模块 ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ 外设芯片及外设模块&lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! 接口 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| RN8302B || 三相计量芯片 || SPI || [[RN8302B]]&lt;br /&gt;
|-&lt;br /&gt;
| RN8209C/RN8209D || 单相计量芯片 ||&lt;br /&gt;
* UART&lt;br /&gt;
* SPI&lt;br /&gt;
| [[RN8209]]&lt;br /&gt;
|-&lt;br /&gt;
| NRF24L01+ || 2.4G无线芯片,具有众多兼容替代(如Si24R1) || SPI+GPIO(中断、CE) || [[NRF24L01+]]&lt;br /&gt;
|-&lt;br /&gt;
|W5500&lt;br /&gt;
|全硬件栈以太网芯片&lt;br /&gt;
|SPI&lt;br /&gt;
|[[W5500]]&lt;br /&gt;
|-&lt;br /&gt;
|中景园0.96寸OLED点阵屏&lt;br /&gt;
|分辨率128x64,显示驱动（控制）芯片SSD1306&lt;br /&gt;
|&lt;br /&gt;
* IIC&lt;br /&gt;
* SPI+GPIO(DC、RES)&lt;br /&gt;
|[[SSD1306]] [[中景园0.96寸OLED点阵屏]]&lt;br /&gt;
|-&lt;br /&gt;
|AHT20&lt;br /&gt;
|温湿度传感器&lt;br /&gt;
|IIC&lt;br /&gt;
|[[AHT20]]&lt;br /&gt;
|-&lt;br /&gt;
|DS1307&lt;br /&gt;
|RTC（实时时钟）&lt;br /&gt;
|IIC&lt;br /&gt;
|[[DS1307]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用嵌入式操作系统、BootLoader、嵌入式固件及嵌入式软件库 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! 名称 !! 说明 !! wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
| FreeRTOS || 嵌入式操作系统 || [[FreeRTOS]]&lt;br /&gt;
|-&lt;br /&gt;
| rt-thread || 物联网嵌入式操作系统 || [[ rt-thread ]] &lt;br /&gt;
|-&lt;br /&gt;
|nuttx||嵌入式操作系统||[[nuttx]]&lt;br /&gt;
|-&lt;br /&gt;
|paho.mqtt.embedded-c|| MQTT客户端，可移植到各种芯片平台||[[paho.mqtt.embedded-c]]&lt;br /&gt;
|-&lt;br /&gt;
|openwrt||操作系统，嵌入式Linux构建工具||[[ openwrt | openwrt]]&lt;br /&gt;
|-&lt;br /&gt;
|u8g2&lt;br /&gt;
|单色/点阵屏驱动库&lt;br /&gt;
|[[u8g2]]&lt;br /&gt;
|-&lt;br /&gt;
|U-Boot&lt;br /&gt;
|通用引导加载器。通常用于加载[[Linux]]。&lt;br /&gt;
|[[U-Boot]]&lt;br /&gt;
|-&lt;br /&gt;
|Newlib&lt;br /&gt;
|嵌入式C运行库（通常配合GCC使用）&lt;br /&gt;
|[[Newlib]]&lt;br /&gt;
|-&lt;br /&gt;
|printf&lt;br /&gt;
|printf, sprintf and (v)snprintf 实现&lt;br /&gt;
|[[printf]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==常用工具==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+常用工具&lt;br /&gt;
|-&lt;br /&gt;
!名称!!说明!!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|easy-rsa||使用SSL/TLS时,自签证书制作/管理工具||[[easy-rsa]]&lt;br /&gt;
|-&lt;br /&gt;
|buildroot||嵌入式Linux构建工具||[[buildroot]]&lt;br /&gt;
|-&lt;br /&gt;
|debootstrap||Linux系统根文件系统创建工具,可创建Debian系Linux系统根文件系统||[[debootstrap]]&lt;br /&gt;
|-&lt;br /&gt;
|crosstool-ng||交叉编译工具链创建工具||[[crosstool-ng]]&lt;br /&gt;
|-&lt;br /&gt;
|ScreenToGif&lt;br /&gt;
|在Windows下录屏制作gif的工具&lt;br /&gt;
|https://github.com/NickeManarin/ScreenToGif.git&lt;br /&gt;
|-&lt;br /&gt;
|Xfel&lt;br /&gt;
|全志SOC的FEL工具（可下载固件等）&lt;br /&gt;
|[[Xfel]]&lt;br /&gt;
|-&lt;br /&gt;
|busybox&lt;br /&gt;
|unix工具箱，可用于创建体积极小的rootfs&lt;br /&gt;
|[[busybox]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===IDE环境/开发环境/开发工具===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki(若有)/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|codeblocks&lt;br /&gt;
|免费的C/C++ IDE,可开发多种C/C++程序。本人只要将它用作基于CMake构建的工程的代码编写。&lt;br /&gt;
|http://www.codeblocks.org/&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Visual Studio&lt;br /&gt;
|微软的开发工具集。本人主要用于开发WIN32程序。本人优先使用codeblocks作为C/C++开发环境,VS占用的空间太大,但有些第三方库在Windows上可能只支持MSVC,故而必须使用VS。&lt;br /&gt;
|https://visualstudio.microsoft.com/zh-hans/&lt;br /&gt;
|-&lt;br /&gt;
|keil5&lt;br /&gt;
|用于ARM嵌入式芯片的开发。注意:keil5不是免费的。&lt;br /&gt;
|https://www.keil.com/&lt;br /&gt;
|-&lt;br /&gt;
|IAR&lt;br /&gt;
|本人主要使用针对ARM嵌入式芯片的开发。注意:IAR不是免费的。&lt;br /&gt;
|https://www.iar.com/&lt;br /&gt;
|-&lt;br /&gt;
|QtCreator&lt;br /&gt;
|用于创建基于Qt的程序。&lt;br /&gt;
|https://www.qt.io/product/development-tools&lt;br /&gt;
|-&lt;br /&gt;
|MounRiver&lt;br /&gt;
|基于Eclipse的嵌入式ARM/RISC-V的集成开发环境。本人主要用于测试[https://www.wch.cn/ WCH]的单片机。&lt;br /&gt;
|http://www.mounriver.com/&lt;br /&gt;
|-&lt;br /&gt;
|RT-Thread Studio&lt;br /&gt;
|一站式的 RT-Thread 开发工具，通过简单易用的图形化配置系统以及丰富的软件包和组件资源，让物联网开发变得简单和高效。本人主要用于开发与rt-thread相关设备。&lt;br /&gt;
|https://www.rt-thread.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 电子硬件设计(原理图绘制/PCB绘制/其它相关工具) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|立创EDA&lt;br /&gt;
|高效的国产PCB设计工具，永久免费。可在线使用。&lt;br /&gt;
|https://lceda.cn/&lt;br /&gt;
|-&lt;br /&gt;
|KiCad&lt;br /&gt;
|跨平台开源电子设计套装。&lt;br /&gt;
|https://www.kicad.org/&lt;br /&gt;
|-&lt;br /&gt;
|freerouting&lt;br /&gt;
|自动布线工具。可配合立创EDA或KiCad使用。本人用于替代立创EDA自带的自动布线。&lt;br /&gt;
|https://www.freerouting.app/&lt;br /&gt;
https://github.com/freerouting/freerouting.git&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 测试工具 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Apipost&lt;br /&gt;
|Apipost-API 文档、设计、调试、自动化测试一体化协作平台。具有免费版本。&lt;br /&gt;
|https://www.apipost.cn/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 编译器 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|sdcc&lt;br /&gt;
|用于8位/16位单片机(如MCS51、DS80C390 、HC08、Z80、STM8, MOS 6502 、WDC 65C02等)的C编译器&lt;br /&gt;
|https://sdcc.sourceforge.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 流程图/框图绘制 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|dia&lt;br /&gt;
|跨平台开源流程图绘制工具&lt;br /&gt;
|http://dia-installer.de/&lt;br /&gt;
https://sourceforge.net/projects/dia/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 图像处理 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|GIMP&lt;br /&gt;
|免费开源图像编辑器&lt;br /&gt;
|https://www.gimp.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 作曲工具(MIDI制作) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|LMMS&lt;br /&gt;
|免费自由开源并且跨平台的作曲工具&lt;br /&gt;
|https://lmms.io/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 字体编辑 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|FontForge&lt;br /&gt;
|免费字体编辑器&lt;br /&gt;
|https://fontforge.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 国际化/本地化 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Poedit&lt;br /&gt;
|.po编辑工具。可编辑使用 [[xgettext]] 生成的翻译文件&lt;br /&gt;
|https://poedit.net/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 压缩/解压缩 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|7-zip&lt;br /&gt;
|开源免费的压缩/解压缩软件。Windows下有GUI程序，Linux下只有控制台版本。&lt;br /&gt;
|http://www.7-zip.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 虚拟磁盘/磁盘驱动 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|imdisk&lt;br /&gt;
|Windows下开源虚拟磁盘工具,可方便挂载内存盘（存放临时文件）。&lt;br /&gt;
|https://sourceforge.net/projects/imdisk-toolkit&lt;br /&gt;
|-&lt;br /&gt;
|Ext2fsd&lt;br /&gt;
|Windows下访问Ext2/Ext3/Ext4文件系统驱动。&lt;br /&gt;
|https://sourceforge.net/projects/ext2fsd/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 安装/卸载 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki（若有）/链接地址&lt;br /&gt;
|-&lt;br /&gt;
|Geek Uninstaller&lt;br /&gt;
|Windows下程序卸载工具,具有免费的版本。&lt;br /&gt;
|https://geekuninstaller.com/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===小工具(自写/修改/组合)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!wiki&lt;br /&gt;
!支持平台&lt;br /&gt;
|-&lt;br /&gt;
|CC3200_GangGenerator&lt;br /&gt;
|生成用于烧录CC3200 SPI Flash的工具&lt;br /&gt;
|[[CC3200_GangGenerator]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
|-&lt;br /&gt;
|WMToolHelper&lt;br /&gt;
| W600烧录工具&lt;br /&gt;
|[[WMToolHelper]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|WinBleTool&lt;br /&gt;
| Windows下调试BLE的工具&lt;br /&gt;
|[[WinBleTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10(及以上)&lt;br /&gt;
|-&lt;br /&gt;
|SimpleBLETool&lt;br /&gt;
|调试BLE的工具&lt;br /&gt;
| [[SimpleBLETool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows 10+&lt;br /&gt;
*Linux(ubuntu 20.04+)&lt;br /&gt;
|-&lt;br /&gt;
|cutecom-ng&lt;br /&gt;
|基于Qt5的串口工具。个人修改版。&lt;br /&gt;
|[[cutecom-ng]]&lt;br /&gt;
|只要是Qt5支持的桌面平台均支持。&lt;br /&gt;
|-&lt;br /&gt;
|OneNETTool&lt;br /&gt;
|开发OneNET辅助工具&lt;br /&gt;
|[[OneNETTool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|QGDW12184Tool&lt;br /&gt;
|开发Q/GDW 12184辅助工具&lt;br /&gt;
|[[QGDW12184Tool]]&lt;br /&gt;
|&lt;br /&gt;
*Windows&lt;br /&gt;
*Linux （ubuntu 20.04）&lt;br /&gt;
|-&lt;br /&gt;
|XServerForWSL1&lt;br /&gt;
|利用cygwin中的X服务对WSL提供X服务&lt;br /&gt;
|[[XServerForWSL1]]&lt;br /&gt;
|支持WSL1的Windows&lt;br /&gt;
|-&lt;br /&gt;
|linux_binfmt_pe&lt;br /&gt;
|使用[[wine]]直接执行PE可执行文件的Linux内核模块&lt;br /&gt;
|[[linux_binfmt_pe]]&lt;br /&gt;
|&lt;br /&gt;
* Linux内核&lt;br /&gt;
|-&lt;br /&gt;
|Win32Redirector&lt;br /&gt;
|重定向win32控制台应用至MSYS2或者Cygwin中的程序。&lt;br /&gt;
|[[Win32Redirector]]&lt;br /&gt;
|&lt;br /&gt;
* Windows&lt;br /&gt;
|-&lt;br /&gt;
|HEnvBox&lt;br /&gt;
|快速搭建本人常用的开发环境。&lt;br /&gt;
|[[HEnvBox]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 10及更新版&lt;br /&gt;
* Ubuntu 22.04&lt;br /&gt;
* Debian&lt;br /&gt;
* Deepin&lt;br /&gt;
|-&lt;br /&gt;
|HVCP&lt;br /&gt;
|Windows下虚拟串口&lt;br /&gt;
|[[HVCP]]&lt;br /&gt;
|&lt;br /&gt;
* Windows 7 及更新系统&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 常用库 ==&lt;br /&gt;
此章节主要对使用的比较多的库做一个整理。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!官网&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki&lt;br /&gt;
|-&lt;br /&gt;
|wxWidgets&lt;br /&gt;
|https://www.wxwidgets.org/&lt;br /&gt;
|跨平台GUI库&lt;br /&gt;
|[[wxWidgets]]&lt;br /&gt;
|-&lt;br /&gt;
|Qt&lt;br /&gt;
|https://www.qt.io/&lt;br /&gt;
|跨平台库（包括GUI）&lt;br /&gt;
|[[Qt]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 工具/库（自写/修改） ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!说明&lt;br /&gt;
!Wiki(若有)&lt;br /&gt;
|-&lt;br /&gt;
|DeployWin&lt;br /&gt;
|MSYS2与CygWin下编程辅助打包库。一般配合CMake的CPack使用。&lt;br /&gt;
|[[DeployWin]]&lt;br /&gt;
|-&lt;br /&gt;
|HCppBox&lt;br /&gt;
|本人常用的C/C++代码&lt;br /&gt;
|[[HCppBox]]&lt;br /&gt;
|-&lt;br /&gt;
|SimpleModbusRTUPacket&lt;br /&gt;
|简易的[[Modbus]] RTU包解析&lt;br /&gt;
|[[SimpleModbusRTUPacket]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==常用镜像站==&lt;br /&gt;
在找各种源码资源时，经常遇到国外网站下载较慢的情况下，此时通常需要更换镜像站。&lt;br /&gt;
&lt;br /&gt;
例如:&lt;br /&gt;
&lt;br /&gt;
*ubuntu系统的软件包(包括使用deboostrap的镜像源)&lt;br /&gt;
*python软件包&lt;br /&gt;
*gnu软件源码包&lt;br /&gt;
*linux源码&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!地址&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.ustc.edu.cn/&lt;br /&gt;
|中国科学技术大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.tuna.tsinghua.edu.cn/&lt;br /&gt;
|清华大学镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.163.com/&lt;br /&gt;
|网易开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|http://mirrors.aliyun.com/&lt;br /&gt;
|阿里开源镜像站&lt;br /&gt;
|-&lt;br /&gt;
|https://mirrors.cernet.edu.cn&lt;br /&gt;
|校园网联合镜像站&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 静态文档网站 ==&lt;br /&gt;
一些静态的网页文档,如[https://www.doxygen.nl/ doxygen]生成的帮助文档与[https://docsify.js.org/#/ docsify]制作的静态说明文档。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!类型&lt;br /&gt;
!URL&lt;br /&gt;
!备注&lt;br /&gt;
|-&lt;br /&gt;
|静态文档仓库&lt;br /&gt;
|https://heyahong.github.io/#/&lt;br /&gt;
|采用github pages托管,源代码仓库:https://github.com/HEYAHONG/HEYAHONG.github.io.git&lt;br /&gt;
|-&lt;br /&gt;
|网站&lt;br /&gt;
|http://docs.hyhsystem.cn&lt;br /&gt;
|采用nginx服务器,运行于云服务器&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==相关链接==&lt;br /&gt;
&lt;br /&gt;
*[[测试资源]]&lt;br /&gt;
*[[第三方资源]]&lt;br /&gt;
*[[方案发现与探索]]&lt;br /&gt;
*[[杂项笔记与测试代码]]&lt;br /&gt;
*[[常见问题]]&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hyhsystem.cn/index.php?title=ST17H66&amp;diff=1114</id>
		<title>ST17H66</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hyhsystem.cn/index.php?title=ST17H66&amp;diff=1114"/>
		<updated>2025-02-25T08:57:16Z</updated>

		<summary type="html">&lt;p&gt;HEYAHONG：​创建页面，内容为“== 说明 == ST17H66搭载高性能低功耗32位处理器，具有256KB SPI NOR系统闪存，支持通用多协议SoC，蓝牙BLE 2Mbps协议。具有 11个可编程 GPIO 管脚、内置64KB SRAM，支持通过 PWM/PDM/DMA/I2C/SPI/UART 等接口，满足各类物联网产品功能需求。  == 官方资料 ==  === 相关数据手册 ===  居中   === 相关链接 ===  * 官网:&amp;lt;nowiki&amp;gt;http://lenzet…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 说明 ==&lt;br /&gt;
ST17H66搭载高性能低功耗32位处理器，具有256KB SPI NOR系统闪存，支持通用多协议SoC，蓝牙BLE 2Mbps协议。具有 11个可编程 GPIO 管脚、内置64KB SRAM，支持通过 PWM/PDM/DMA/I2C/SPI/UART 等接口，满足各类物联网产品功能需求。&lt;br /&gt;
&lt;br /&gt;
== 官方资料 ==&lt;br /&gt;
&lt;br /&gt;
=== 相关数据手册 ===&lt;br /&gt;
&lt;br /&gt;
[[文件:ST17H66(B2) BLE SoC Datasheet v1.3-2.pdf|缩略图|居中]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 相关链接 ===&lt;br /&gt;
&lt;br /&gt;
* 官网:&amp;lt;nowiki&amp;gt;http://lenzetech.com/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* 资料下载:&amp;lt;nowiki&amp;gt;http://doc.lenze.club/&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>HEYAHONG</name></author>
	</entry>
</feed>