
带GPIO/I²C/SPI的随身WiFi扩展板
简介
为高通410随身WiFi棒子设计的多功能扩展板,集成了USB HUB、有线网口、GPIO/I2C/SPI接口和充放电管理电路,将随身WiFi变身成为功能完备的便携式开发平台。
简介:为高通410随身WiFi棒子设计的多功能扩展板,集成了USB HUB、有线网口、GPIO/I2C/SPI接口和充放电管理电路,将随身WiFi变身成为功能完备的便携式开发平台。开源协议
:GPL 3.0
描述
硬件规格
核心芯片
- CH334R:USB HUB芯片,扩展4路USB接口
- RTL8152B:USB转百兆以太网芯片
- CH341F:可通过短接片切换工作模式,1、串口模式:实现USB转串口功能;2、同步串口模式:实现USB转GPIO/I²C/SPI接口。
- IP5407:充放电管理芯片,支持锂电池供电。
接口配置


- USB Host接口
项目中包含两个版本,一个是Type-A * 1 + Type-C * 1,还有一个是Type-A * 2;
可连接U盘、无线网卡、键盘等设备。 - 有线网口
RJ45百兆网口,基于RTL8152B芯片,debian系统自带驱动,提供稳定的有线网络连接。 - GPIO/I²C/SPI接口
最大达8路GPIO数字输入输出(其中两路仅可作输入,其它6路即可输入也可输出),可连接LED、按钮等;
I²C总线接口,支持温湿度传感器、OLED屏、陀螺仪等,支持最大速率750KHz;
SPI接口,可连接TFT屏幕、RFID模块、SD卡等。经测试官方库的spi和GPIO不能同时使用,而使用第三方驱动可以,但是第三方驱动通讯速率很低(400KHz)。 - OLED屏专用I²C接口
引出了5V、GND、SCL、SDA、D1、D2、D4、D6引脚到单独的SH1.0接线座,方便直接连接OLED屏和按键。 - 可切换USB信号
通过拨动开关可切换USB信号的连接对象,切换到HUB时,CH334芯片的上行信号连接到Type-C充电口,通过USB线可作为电脑的扩展坞使用;切换到UFI时,CH334芯片的上行信号连接到随身WiFi。 - 充电接口
支持锂电池充放电,TYPE-C电源输入,充放电状态指示,输出电压稳定。
焊接
- 主要元件采用0805封装,适合新手焊接;
- 除了RTL8152B和CH341F两个QFN封装的芯片,必须使用热风枪或者加热台(我网上7块钱买的PTC加热板也能完美焊接QFN)。
- 注意:有线网口元件(HR911105A)、CH341模式选择的3PIN插针、4PIN串口连接座的针脚会影响背面的随身WiFi的安装,需要用斜口钳将针脚剪短。建议焊接前先剪短针脚后用砂纸打磨整齐再焊接,焊接好后贴一点胶带避免随身WiFi接触到引脚。

3D外壳
项目中包含3D外壳的设计,这个外壳设计了OLED显示屏和18650电池的位置,其中Broad1(1A1C)版本的外壳长度超过了零点几毫米不能使用免费打样券,我打印了一个,OLED屏开孔不太完美,还有18650电池没有横向限位可能会滑动;Broad2(2A)版本轻微修改了板子的尺寸,应该可以使用免费打样券打印,我还没测试,这个版本修改了OLED屏的开孔,增加了电池限位。还有两个版本是不兼容的。


应用场景
-
物联网开发
智能家居控制器
环境监测站
远程数据采集 -
嵌入式学习
Linux驱动开发学习
硬件接口编程实践
电子制作项目平台 -
网络应用
便携式路由器
网络调试工具 -
创客项目
机器人控制
数据采集系统
软件支持
系统要求
| 系统 | 状态 | 驱动 | 备注 |
| Debian | 已测试,能正常使用所有接口 |
|
请将USB模式设置为Host模式 |
| OpenWRT | 未测试,理论可行 | 暂未测试 |
驱动安装
Debian
1.文件准备(附件中)
ch34x_pis.ko #CH341 I2C模式驱动
ch341.ko #CH341 串口驱动
2.上传文件到Debian(随身WiFi)
可使用WinSCP(可视化)、PSCP(命令行)等工具将上述两个文件上传到Debian的/root目录中。
3.开始安装
这个Debian系统中原本存在ch341串口模式的驱动,但是驱动太老了会跟I2C模式的CH341产生冲突,所以必须先卸载原本系统中的ch341驱动。
(下面所有指令中的5.15.0-handsomekernel+为内核驱动版本,你的有可能会不一致请以你的文件名为准)
# 卸载旧驱动
rmmod ch341
rm /lib/modules/5.15.0-handsomekernel+/kernel/drivers/usb/serial/ch341.ko
# 开始安装新驱动
cd /root
# 安装新ch341串口驱动
insmod ch341.ko
cp -f ./ch341.ko /lib/modules/5.15.0-handsomekernel+/kernel/drivers/usb/serial/
# 安装ch341 I2C模式驱动
insmod ch34x_pis.ko
mkdir -p /lib/modules/5.15.0-handsomekernel+/kernel/drivers/usb/misc/
cp -f ch34x_pis.ko /lib/modules/5.15.0-handsomekernel+/kernel/drivers/usb/misc/
depmod -a
4.验证驱动
方法一:检查模块加载情况
lsmod | grep ch34
# 应输出以下相关信息:
# ch34x_pis 32768 0
方法二:检查设备目录节点
ls /dev/ch34x_pis*
# 如果存在/dev/ch34x_pis0设备则设备被正确加载。
OpenWRT(待完善)
待完善
GPIO/I²C/SPI使用示例
提供完整的示例代码(见附件),包括:
| 文件名 |
说明 |
| blink.c |
GPIO驱动LED灯闪烁 |
| button.c |
GPIO读取按键输入来控制LED灯亮灭 |
| oled_iic.c |
I²C驱动0.96寸SSD1306的OLED屏 |
| oled_spi.c | SPI驱动0.96寸SSD1306的OLED屏 |
附件介绍
附件文件结构/
├── ch341_demo.zip # 示例代码
│ ├── lib/ # 库文件
│ ├── blink.c # GPIO驱动LED闪烁示例(代码文件)
│ ├── blink # GPIO驱动LED闪烁示例(已编译的可执行文件)
│ ├── button.c # GPIO读取按键状态控制LED亮灭示例(代码文件)
│ ├── button # GPIO读取按键状态控制LED亮灭示例(已编译的可执行文件)
│ ├── font.h # OLED示例需要的字库文件
│ ├── oled_iic.c # I2C驱动OLED示例(代码文件)
│ ├── oled_iic # I2C驱动OLED示例(已编译的可执行文件)
│ ├── ch341_lib.h # CH341官方提供的库文件(与lib目录中文件相同)
│ └── libch347.so # CH341官方提供的库文件(与lib目录中文件相同)
│
├── ch341驱动.zip # 驱动文件
│ ├── ch34x_pis.ko # GPIO/I²C/SPI模式的CH341驱动
│ ├── ch341.ko # 串口模式CH341驱动
│ └── ch341_I2C模式驱动安装.txt # 驱动安装说明
│
├── SPI示例代码及驱动.zip #新更新的SPI驱动OLED示例代码及第三方驱动
├── spi-ch341-usb.ko # 第三方SPI驱动
├── oled_spi.c # spi驱动oled示例(代码文件)
└── oled_spi # spi驱动OLED示例(编译好的可执行文件)
相关链接
【哔哩哔哩】带GPIO/I²C/SPI的410随身WiFi扩展板,最低成本Linux开发板- https://b23.tv/hBpmEv1
【哔哩哔哩】410随身WiFi扩展板安装GPIO/I²C/SPI模式的CH341驱动- https://b23.tv/GtNfJqq
【哔哩哔哩】用随身WiFi扩展板的GPIO驱动LED灯闪烁- https://b23.tv/lAwdOtM
【哔哩哔哩】随身WiFi扩展板的GPIO读取按键状态控制LED灯- https://b23.tv/uM3bxpD
【哔哩哔哩】随身WiFi驱动I²C的OLED屏- https://b23.tv/DLG7Z1W
第三方SPI驱动项目-https://github.com/gschorcht/spi-ch341-usb
OpenStick项目[https://www.kancloud.cn/handsomehacker/openstick/2636505]
沁恒CH341芯片手册[https://www.wch.cn/downloads/CH341DS1_PDF.html]
沁恒CH341驱动及示例代码[https://www.wch.cn/downloads/CH341PAR_LINUX_ZIP.html]
致谢
感谢立创EDA提供的设计平台和开源社区的支持!
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论