TinyGSM

TinyGSM

智能家居, ESP32 🧩 软硬件结合 已发布
vshymanskyy 3160 Stars 未知 BOM 完整度: 3/5 教程完整度: 0/5

项目简介

A small Arduino library for GSM modules, that just works


TinyGSM 是一个专为 Arduino 设计的轻量级 GSM 模块库,其核心理念是“小而精”,旨在解决传统 GSM 库占用资源过多、兼容性差的问题。它提供了一套简洁统一的 Arduino Client 接口,让开发者能够像操作以太网或 WiFi 一样轻松地使用 GSM 模块进行网络通信。

标签

项目特点

**极小的资源占用**:在 Arduino Uno 上,完整的 WebClient 示例仅使用 15KB Flash 和 574 字节 RAM,比官方 GSM 库更省资源。
**广泛的模块支持**:支持 SIMCom、AI-Thinker、u-blox、Quectel、Sequans、Digi XBee 等数十种 2G/3G/4G/LTE-M/NB-IoT 模块。
**统一的 Arduino Client 接口**:兼容 Ethernet 和 WiFi 库的编程模式,易于集成到现有项目中。
**丰富的功能**:支持 TCP/SSL 多连接、SMS 发送、USSD 解码、语音通话(DTMF)、GPS/GNSS 定位和 GSM 基站定位。
**活跃的社区支持**:提供 Gitter 聊天室、详细的 Wiki 文档和丰富的示例代码。

技术规格

支持的模块类型
数据连接
最大并发连接数
SMS
USSD
语音通话
定位
资源占用 (Arduino Uno)
许可证

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
Arduino 开发板 (Uno/Mega/ESP32 等) 1 作为主控
GSM/蜂窝模块 (如 SIM800L, SIM7000, BG96) 1 根据需求选择
SIM 卡 1 需禁用 PIN 码并开通数据服务
GSM 天线 1 确保牢固连接
电源 1 至少 2A 稳定供电
跳线 若干 用于连接模块和 Arduino
GPS 天线 1 用于支持 GPS 的模块

所需工具

电烙铁与焊接工具 必需
树莓派/开发板 必需
电池/电源

能力画像

⚪ 记忆与知识检索: 2/5
🔵 逻辑推演: 3/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 2/5
⚪ 数理与计算: 2/5
🔵 动手与操作: 3/5
⚪ 狂热与坚持: 3/5
⚪ 创造与创新: 3/5

所需技能

🔧 **动手能力**:需要能够正确连接 GSM 模块和 Arduino 开发板,包括电源、天线和串口连接。可能需要焊接排针。 💻 **编程能力**:需要具备 Arduino 编程基础,理解串口通信、TCP/IP 网络概念。能够阅读和修改示例代码。 ⚡ **电子电路**:了解基本的电路知识,如电源供电、电平转换(如果模块是 3.3V 而 Arduino 是 5V),以及 SIM 卡接口。

适用场景

**物联网 (IoT) 原型开发**:快速为 Arduino 项目添加蜂窝网络连接,用于远程传感器数据采集、设备控制等。
**远程监控与报警**:通过 GSM 网络发送 SMS 报警或通过 MQTT/HTTP 将数据上传到云平台。
**移动通信实验**:学习和实验 GSM/GPRS/LTE 通信协议,了解 AT 命令和网络注册流程。
**低功耗应用**:结合低功耗 Arduino 板和蜂窝模块,构建电池供电的远程设备。