0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样将arduino连接到互联网

454398 来源:网络整理 作者:佚名 2019-10-30 10:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:您需要做的事情:

Arduino开发板(我正在使用Uno)。

Arduino以太网屏蔽板(检查与arduino板的兼容性)

外部电源(9-12v)。

路由器(可以来自任何制造商)。

RJ45电缆。

步骤2:入门。..(理论上的一点)

每个连接到Internet的设备必须具有一个地址,可以通过网络使用该地址进行标识,以便可以将数据包传输/接收到特定设备。现在,每个设备都有两种类型的地址。

1)MAC地址-》这对于每个设备都是唯一的。

2)IP地址-》可能是静态(不更改)或动态(频繁更改)。

我们不会在这里处理MAC,因此,如果您有兴趣搜索网络。

无论何时连接您的arduino到您的本地网络(将在后续步骤中处理),您的家庭路由器会使用DHCP自动为其分配IP地址。现在您的路由器在这里起着重要的作用,因为它充当了arduino和Internet之间的接口

每个路由器都有两个IP地址

1)外部IP-》这是与外部网络(例如:Internet)交互时使用

2)本地IP-》与私有/本地网络(例如:连接到路由器的设备)交互时使用

因此您的arduino获得了本地IP。因此,无论何时您想通过互联网与您的arduino通信/发送消息。您访问家用路由器并向其发送消息,然后依次将消息重定向到您的arduino。

如果您想了解路由器的详细工作原理及其机制,请搜索以下术语和尝试了解它们。

DHCP(动态主机配置协议)

NAT(网络地址转换器

动态/静态IP

步骤3:了解代码:)

我附上了示例代码(.ino文件),在解释过程中将用作参考。我不会解释代码的每一行,如果您有任何疑问,请将其张贴在注释部分。好的,让我们开始吧。

我们首先包含程序执行所需的 h eader文件。

头文件

Ethernet.h-》该库包含用于处理客户端连接,连接服务器以及获取/获取信息的功能。发送请求以及许多其他内容。

SPI.h-》这是一个重要的头文件,它定义了arduino如何控制以太网屏蔽。以及SD卡插槽。 SPI是一种通信协议。有关更多详细信息,请参阅arduino网站提供的文档。 SPI文档。

以太网库功能

mac-通常,如果您具有最新版EthernetShield的正版或原始版本,则它应该具有MAC地址印在其背面。但是,如果您具有克隆版本,则必须为其分配用户定义的MAC,这适用于原始版本的EthernetShield。

您也可以对IP地址进行相同的操作,但是我不建议这样做,因为当您的arduino具有预定义的IP并尝试连接到路由器时,如果路由器已经分配了其他具有相同IP的设备让DHCP处理IP地址分配。

EthernetServer-它创建一个服务器来侦听指定端口上的传入连接。在给定的示例中,我分配了端口号12345。您可以使用可能需要的任何端口号,但请确保该端口上当前没有其他服务正在运行。

EthernetServer.begin()- -它尝试使用用户定义的MAC地址与路由器建立连接。尽管根据情况需要其他参数。请检查链接Ethernet.begin

Serial.begin()---这将以指定的波特率打开arduino上的串行端口。

客户端处理机制

所有的初始化只需要执行一次,因此它会在出错时调试代码。进入setup()块。而服务器需要检查是否每隔一段时间都在等待连接的客户端,因此该部分代码进入了loop()块。

查看下面给出的这些链接以了解代码的工作原理

Client.available()

Server.available()

我们的服务器每2秒检查一次客户端连接,以及客户端是否尝试连接然后它将请求打印到串行终端,并返回HTML页面。

步骤4:将Arduino连接到家庭路由器

现在,您使用IDE将程序刷新/上传到arduino,然后从PC/笔记本电脑上拔下arduino。现在,将Ethernet Shield连接到arduino板的顶部。然后将RJ45电缆的一端插入屏蔽层,另一端插入arduino。如果要查看在arduino的串行端口上发送的消息,请确保您的笔记本电脑/电脑位于路由器附近,以便可以将整个设置连接到笔记本电脑/电脑。如有任何疑问,请查看图片。

第5步:配置路由器

现在,我们将转到在此处配置路由器,以便我们可以将arduino连接到路由器以访问本地网络及其他区域。

第一步是登录到路由器,为此,您需要找到以下路由器的本地IP:您的路由器。

1)在Windows中打开命令提示符(cmd)。键入以下命令。 “ ipconfig”

2)现在尝试查找“默认网关”属性,该属性旁边的值是路由器的本地IP。通常,路由器将本地网络内的第一个地址分配给与其相连的设备。 (例如:192.168.4.1)。

3)完成此步骤后,打开浏览器并在URL栏中键入路由器的IP地址。

4)您将看到路由器的登录页面。

5)输入密码。如果您不知道密码,请尝试在Internet上轻松找到的默认密码。(我正在使用Zyxel路由器,默认密码为:admin)

6)即使默认密码也是如此不起作用,请尝试重置路由器,但是请注意,重置路由器可能会使路由器擦除ISP(Internet服务提供商)所做的配置,并破坏整个网络。(我把网络弄乱了)。

步骤6:保留您的IP地址

转到路由器页面中的“局域网设置”,然后尝试保留您的IP地址。您当前连接的arduino,您可以使用我们先前定义的MAC地址进行识别。对于不同的路由器,保留IP地址将有所不同。在互联网上搜索参考。保留IP地址将有助于端口转发,因为您将要求服务器具有恒定的IP地址。

步骤7:端口转发路由器

在此步骤中,我们将路由器上存在的端口转发到arduino正在侦听的端口。现在尝试创建用户定义的服务名称。为起始端口分配范围在0到65000之间的任何端口号,但请确保不要转发已分配给80、8080、443之类的服务的端口,请避免使用此类端口号。对于End端口,您需要提供与启动服务器相同的端口(在我的示例中为12345)。为什么需要端口转发?

当从客户端(Web浏览器)向服务器发送请求时,请求数据包包括目标IP,服务请求的端口号。通常,此端口为80,该端口保留给HTTP请求。现在,我们正在基于arduino创建服务器,该服务器不断侦听本地网络中路由器内部的端口。现在,当我们想从本地网络(互联网)外部与arduino通信时,我们将http请求发送到已转发端口上的路由器,以便路由器可以将http消息重定向到正在监听的arduino到我们本地网络中的那个端口。

步骤8:禁用防火墙

禁用防火墙,以便可以将请求发送到保留端口以外的其他端口。完成工作后,请不要忘记再次启用防火墙。

第9步:快到了。..

现在尝试使用显示在下面的地址从本地网络访问arduino URL栏。`

http://“您的保留IP”:“端口”

如果一切正常,那么您几乎可以通过Internet访问arduino。如果没有,请再次仔细阅读所有步骤,并检查所有连接是否正常。

步骤10:从本地网络外部访问Arduino

现在,如果要测试是否可以在本地网络之外运行。您可以通过两种方式完成操作

1)尝试从本地网络(朋友网络)外部访问arduino。

2)尝试从PC/笔记本电脑通过Internet访问arduino

在这两个步骤中,通常要做的是找出路由器的全局/外部IP。您可以通过在Google中键入“我的IP”来找到您的全局IP。

现在,如果您要从本地网络进行外部访问,请键入

http://“全局IP” :“港口”。它应该工作。如果出现错误,请检查端口是否打开。我已经在网站上附上了屏幕截图,该网站可以帮助您找到您的roter上的哪些端口是打开的。如果您的端口关闭,则说明您的防火墙已启用,或者您的arduino没有正确连接到路由器。

但是,如果您尝试使用步骤2进行访问,请检查下一步

第11步:

所以,这是针对第2步的人,

你们需要启用ip nat回送。为此,您需要使用telnet连接到路由器。

打开cmd并键入

telnet {默认网关}

例如:telnet 192.168.3.1

,然后输入屏幕快照中显示的命令。

现在尝试按上一步所示访问它。如果您在连接时遇到问题,请查看我在上一步中提供的提示。

如果您成功了,请尝试在我们的arduino上附加一些东西,例如传感器电机,并尝试控制或收集它们的数据。


责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 互联网
    +关注

    关注

    55

    文章

    11350

    浏览量

    110488
  • Arduino
    +关注

    关注

    190

    文章

    6527

    浏览量

    197503
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AI如何重塑互联网与物联网的融合边界

    注入,这是“连接”走向“智能”的必然进化。如今,互联网的认知能力与物联网的感知能力,在AI的催化下,开始实现真正的统一。一、从“三张皮”到“三位一体”过去十年,互联
    的头像 发表于 03-09 17:41 710次阅读
    AI如何重塑<b class='flag-5'>互联网</b>与物<b class='flag-5'>联网</b>的融合边界

    工业互联网的重要价值

    互联网通过提升生产效率、优化资源配置,成为经济增长的新动能。据预测,到2030年,全球工业互联网经济价值达到15万亿美元,影响全球一半的经济规模;中国工业互联网市场规模预计达到1.5
    的头像 发表于 11-20 09:51 554次阅读

    工业互联网架构是怎么样的

    ,具体解析如下: 一、网络层:连接物理与数字世界的桥梁 网络层是工业互联网的基础,负责实现人、机、物、系统之间的泛在互联与数据高效传输。其核心架构包括: 工业以太网 :支持实时控制与高带宽传输,如PROFINET、EtherCA
    的头像 发表于 10-18 09:37 859次阅读

    工业互联网中的智能网关有什么功能

    工业互联网中的智能网关是连接物理设备与工业互联网的核心组件,具备数据采集、协议转换、边缘计算、安全防护、远程管理等多重功能,是实现工业设备互联互通、数据实时传输与智能化处理的关键基础设
    的头像 发表于 10-14 11:00 842次阅读
    工业<b class='flag-5'>互联网</b>中的智能网关有什么功能

    IPv6 与数据空间协同发力,共筑智能体互联网发展基石

    随着数字技术加速迭代,互联网正从“连接人与设备”向“连接智能体与群体智能”跨越,智能体互联网(InternetofAgents,IoA)作为下一代
    的头像 发表于 10-14 09:37 1485次阅读
    IPv6 与数据空间协同发力,共筑智能体<b class='flag-5'>互联网</b>发展基石

    工业互联网平台与工业物联网平台有什么区别

    工业互联网平台与工业物联网平台在概念、技术侧重、应用范围、价值目标及架构层次上存在显著差异,具体分析如下: 一、概念定义:从“局部连接”到“全局生态” 工业物联网平台(IIoT Pla
    的头像 发表于 09-24 11:47 807次阅读

    数字化转型为什么需要工业互联网

    数字化转型需要工业互联网,是因为工业互联网通过连接设备、数据和流程,为制造业及工业领域提供了实现智能化、高效化和可持续发展的核心支撑,具体体现在以下方面: 一、打破信息孤岛,实现数据互联
    的头像 发表于 06-21 09:12 802次阅读

    工业互联网与工业物联网有什么区别

    工业互联网与工业物联网(IIoT)在概念、侧重点、应用范围、技术架构、数据价值等方面存在一定区别,以下是详细介绍: 概念 工业互联网 :是新一代信息通信技术与工业经济深度融合的新型基础设施、应用模式
    的头像 发表于 06-12 09:32 1831次阅读

    联网未来发展趋势如何?

    技术将为人们带来更加安全、便捷和舒适的居住环境。 工业互联网:工业互联网是物联网行业中的热门领域。通过传感器、设备和计算机系统相连接,实
    发表于 06-09 15:25