亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」

本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于 Arduino 的轻量级 GSM 手机

发布时间:2021-11-16
分享到:

基于 Arduino 的轻量级 GSM 手机

发布时间:2021-11-16
分享到:

在这篇文章中,我将向您介绍我的轻量级 Arduino GSM 手机。轻量级手机具有以下国内/国际功能:

  • 打电话
  • 接听电话
  • 发简讯
  • 接收短信

在这个项目中,我使用了GSM SIM900A模块来连接移动网络。它是一款可爱的一体化蜂窝模块,可让您将语音、短信和数据添加到您的项目中。它的工作频率为 900/1800MHz,并带有友好的 RS232,可轻松与任何 MCU 接口,波特率可通过 AT 命令在 9600 – 115200 之间调节。

我还使用显示器来可视化 GUI 界面,我选择了 Nextion 的 LCD 触摸显示器,相信我,这确实是一款很棒的显示器。Nextion 采用一种全新且简单的方式通过 UART 连接您的任何项目。其易于使用的配置软件 (Nextion Editor) 允许您使用 GUI 命令设计自己的界面,并使您的开发工作毫不费力,从而可以节省 MCU 中的大量程序空间。感谢 Nextion!

就其本身而言,GSM 模块和 Nextion 触摸屏无能为力。它需要一个微控制器来驱动它。其核心是一个 Arduino Uno,用于驱动轻量级 GSM 移动电话,它可以通过其 RX/TX 引脚发送和接收命令。

如果您有兴趣制作自己的,本指南将向您展示如何构建和上传源代码以启动和运行您的项目。这是一个相当简单的项目,但它是一个中间项目,尤其是当您考虑到代码的复杂性时。

这个项目也是一个很好的例子,说明如何使用 Arduino 特别是字符串和字符处理,以及让您熟悉新的 Nextion TFT 智能 LCD 触摸显示器和使用 GSM 模块的 AT 命令。希望你会喜欢并发现我的帖子很有趣。现在让我们实现它。

所需零件:
这是此示例所需的部分。

  • Arduino UNO。
  • SIM900A GSM 模块。
  • Nextion TFT 智能液晶触摸屏。
  • SIM卡。
  • 连接电线。

还有一些可选配件。

  • 外部麦克风和扬声器。
  • 手写笔。

接线:
按照以下适当的步骤将 GSM 模块和 Nextion 显示器连接到您的 Arduino。

  • Nextion +5V 至 Arduino VDD_5v。
  • Nextion RX 到 Arduino 引脚 11
  • Nextion Tx 到 Arduino 引脚 10
  • Nextion GND 到 Arduino GND_0v。
  • GSM Rx 到 Arduino 引脚 1
  • GSM TX 到 Arduino 引脚 0
  • GSM GND 到 Arduino GND_0v。

注意:如果您的 SIM 卡被 PIN 码锁定。您可以在连接网络之前禁用 PIN 或通过“AT+CPIN”命令输入 PIN。示例:“AT+CPIN=1234”。

设置:

接下来,我将向您展示如何为 Nextion 显示器准备 .HMI(人机界面),同时不要忘记 Arduino 草图。

所需工具:

  • Nextion 编辑器。
  • Paint.net.
  • Arduino IDE。

编程 Nextion 显示
要让 Nextion 显示界面,首先要做的是在 Nextion Editor 中设计一个 HMI 文件。此编辑器允许您使用即插即用组件(如文本、按钮、进度条、图片、仪表、复选框、单选框等)设计界面,您可以为这些组件中的每一个设置代码和属性。

在这个项目中,我使用了 8 个页面来制作交互式 GUI。

对 Nextion 显示器进行编程与 abc 一样简单,但这是一个耗时的过程,尤其是在实现小键盘和键盘等复杂功能时。

步骤:

  • 将 .HMI 文件加载到编辑器中。向下滚动以找到此页面的我的 GitHub 存储库部分。
  • 编译 .HMI 文件(就在菜单栏下方)。
  • 转到文件 > 打开构建文件夹 > 复制 .​​tft 文件 > 粘贴到 SD 卡中。注意:请确保 SD 卡已格式化为 FAT32。
  • 复制后,将 SD 卡插入 Nextion,然后开机。
  • 等待 .tft 上传。
  • 关闭 Nextion 电源,安全地取出 SD 卡,然后再次打开电源。
  • 瞧,您应该会在 Nextion Display 上看到您的新界面。

模拟
Nexiton 还提供了一个方便的模拟器,用于在您将显示器连接到 MCU 之前测试/调试 .HMI 文件。“指令输入区”允许您在 Nextion 显示中插入诸如更改页面、隐藏/显示图片、启用/禁用按钮、启用/禁用/插入文本等命令。另一方面,当 Nextion 显示器上的组件被按下时,“模拟器返回数据”为您提供来自触摸事件的响应,甚至是触发到 Nextion 的命令。

对 Arduino 进行编程:
Ardiuno Uno 是整个移动系统的大脑,Arduino 充当连接 GSM 模块和 Nextion 显示器的中间件。

要获取完整的代码,只需向下滚动以找到本页面的我的 GitHub 存储库部分。复制代码,并将其粘贴到 Arduino IDE 中的新草图中。保存它,将其上传到您的 Arduino。

这就是软件部分的全部内容!编译代码。如果没有错误,恭喜您的设备现在已配置为通过 GSM 模块自动连接到蜂窝网络。打开串行监视器,您应该看到从 Nextion 显示器触发的每个事件的 AT 命令日志。

源代码:
您可以通过下面的引导从 GitHub 下载该项目的完整代码 。

本方案所用到的一些而代码

如果您对此项目有任何想法、意见或问题,请在下方留言。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论