当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]ESP32模块非常通用,可以通过WiFi连接到各种不同的平台来发送和接收数据。在本教程中,我们将使用Arduino的物联网云平台(这是完全免费使用)与ESP32。有关Arduino IoT Cloud的更详细概述,请查看此文档。

电子学的主要应用之一是它在地理定位方面的应用。在本教程中,我们将了解如何通过互联网将GPS数据发送到手机或其他设备。

关于NEO-6m

NEO-6M GPS模块是一种受欢迎的GPS接收器,用于电子和DIY项目,因为它的价格实惠。要了解更多信息,请查看我不久前写的这篇文章。

硬件

NEO-6m接线如下:

注意:在某些版本的ESP32中,GPIO 16和GPIO 17被标记为RXD2和TXD2。记住,Neo-6m上的TX会转到ESP32上的RXD2。

您也可以使用I2C接口连接OLED显示器

最后,将Neo-6m使用在开阔的区域,可以看到天空(靠近窗户,阳台,户外等),以获得最佳连接。

Arduino物联网云设置

ESP32模块非常通用,可以通过WiFi连接到各种不同的平台来发送和接收数据。在本教程中,我们将使用Arduino的物联网云平台(这是完全免费使用)与ESP32。有关Arduino IoT Cloud的更详细概述,请查看此文档。

什么是“东西”?

Arduino物联网云中的事物代表一个物理设备(如Arduino板)以及您想要通过互联网监控或控制的变量和属性。

你需要什么

•一个免费的Arduino云帐户

•兼容板(如Arduino Uno R4 WiFi、MKR1000、Nano 33 IoT、ESP32或ESP8266)

•安装在计算机上的Arduino Create Agent(上传代码)

•互联网连接和USB连接线

在Arduino物联网云上创建事物的步骤

1. 登录Arduino物联网云

•转到cloud.arduino.cc,用你的Arduino帐户登录。如果你没有,你可以免费注册。

2. 点击“创建内容”

•登录后:

•转到物联网云选项卡。

•点击仪表板上的“Create Thing”按钮。

•这将生成一个可以稍后重命名的新Thing。

3. 连接设备

•在“设备”部分下:

•点击“选择设备”

•选择“设置新设备”

•选择ESP32

•保存设备ID和密钥

•按照提示通过USB连接您的板

注意:如果您使用的是第三方板,Arduino Cloud会要求您安装特殊代理并选择板和端口。

4. 添加变量

变量是物联网逻辑的核心。它们表示Thing发送或接收的数据。

•点击“添加变量”,然后:

•为变量命名(例如temperature)

•选择一个类型(例如float, bool, int, String)

•设置其权限:只读(例如传感器值)或读写(例如LED状态)

决定是根据变化进行更新还是定期更新

注意:在物联网云的免费版本中,您只能向一个事物添加5个变量。

这个项目的变量

注意:选择CloudLocation来存储这个项目的经纬度数据。

5. 配置网络凭据

•选择你的东西,进入“设置选项卡”

•输入您的SSID, WiFi密码和密钥(从设备)

•这些凭证在安装过程中被安全地上传到电路板上。

注意:SSID是大小写敏感的,所以键入它完全是。

6. 编写和编辑草图

•Arduino Cloud会自动为你的东西生成草图。您可以:

•打开“Sketch”选项卡

•直接在浏览器中编辑代码(Web Editor)。

•您可以从这里直接上传代码。

7. 带有仪表板的监视器

•转到“仪表板”选项卡。

•添加小部件(如开关、图形、地图、仪表等)。

•将它们连接到您的东西中的云变量(按照提示操作)。

8. 向手机发送数据

•下载Arduino IoT Cloud Remote(支持iOS和Android)

•使用您的Arduino IoT Cloud帐户登录。

•选择您的仪表盘&您准备好了!

代码

让我们一段一段地看看代码是怎么做的:

库和初始化

•TinyGPS++:从GPS模块中解析NMEA句子。

•U8g2lib:控制OLED显示。

•h:保存你的Arduino IoT云变量和设备配置。

注:所有库均预装在物联网云平台上。

这将通过I2C初始化SH1106 OLED(通常是经典0.96 OLED显示器的最佳选择)。

•在ESP32上设置UART2,使用GPIO16和GPIO17进行GPS通信。

设置()函数

•启动与GPS和OLED的通信。

•在OLED上显示启动信息。

•初始化物联网云变量并连接到网络。

循环()函数

•保持ESP32与云仪表板的连接和同步。

读取GPS数据

•读取新的GPS数据并更新有效的内部变量。

重新连接处理

•如果2秒后GPS没有收到数据,设备就会通过OLED屏幕提醒用户。

OLED显示器- printAll()

这个函数做两件事:

•更新云变量,如位置、高度和速度。

•在OLED显示屏上显示如下:

注意:显示仅在有新数据可用时更新,避免闪烁或带宽使用。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭