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

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

    关注

    54

    文章

    11148

    浏览量

    103190
  • Arduino
    +关注

    关注

    188

    文章

    6468

    浏览量

    186922
收藏 人收藏

    评论

    相关推荐

    如何多个ESP连接到一个ESP并向服务器发送数据?

    。 该站模式 ESP 连接了传感器。所有这些站模式 esp 收集传感器数据并将数据发送到主 esp, 这个主ESP连接到我们的互联网路由器,并通过HTTP或MQTT所有接收到的数据发
    发表于 07-19 06:49

    如何让Windows 8自动连接到ESP8266?

    有没有办法让 Windows 8 自动连接到ESP8266,而不考虑同一台 PC 中的有线以太网连接? 我还注意到,由于每个页面之前都会暂停,连接到ESP8266使我的以太网互联网
    发表于 07-18 08:08

    使用ESP8266arduino连接到thinkspeak云,无法将其连接到任何网页,为什么?

    我正在尝试使用 ESP8266 arduino 连接到 thinkspeak 云。所以我能够 esp 模块连接到我的家庭 wifi,但
    发表于 07-16 07:43

    ESP8266无法连接到互联网是怎么回事?

    您好,我更改了路由器上的频道,现在我的ESP8266无法连接到互联网。它仍然连接到本地网络,但即使路由器切换回原始频道也无法解决我的问题。我在下面发布了at命令,如果可以的话,请帮忙
    发表于 07-16 06:14

    通过APPesp8266设备连接到AP遇到的疑问求解

    我正在尝试通过乐鑫 APP(适用于 Android)将我的 esp8266 设备连接到我的 AP。但是,只有当AP有互联网连接时,APP才能正常工作。有人能告诉我为什么吗?互联网
    发表于 07-15 07:48

    esp8266已连接到Wifi但无法连接到互联网,为什么?

    首先,我想说对不起,如果我的帖子在错误的线程中。在那之后,我想问一个问题,我的 esp12E 已连接到 Wifi,但它无法连接到互联网,即使 wifi 连接到
    发表于 07-09 07:11

    如何使用espidfesp32做成WiFi中继?

    如何使用espidfesp32做成WiFi中继,让esp32通过WiFi连接互联网,同时作为AP,能让连接到esp32AP的设备能够直接访问互联网
    发表于 06-25 06:43

    工业互联网平台的功能和作用

    方面: 1. 设备连接与管理:将不同类型的设备、传感器和控制系统连接到互联网上,实现设备之间的互联互通。同时,对这些设备进行监控和管理,确保它们的正常运行。 2. 数据采集与分析:从
    的头像 发表于 06-07 09:33 1282次阅读

    工业互联网和ERP的关系

    工业互联网和ERP有密切的关系。工业互联网是指各种工业设备、传感器等设备连接到互联网上,通过数据分析和应用,提高生产效率和生产效益的一种新
    的头像 发表于 05-08 14:06 444次阅读

    工业路由器:连接工业互联网的工具

    工业互联网正在逐渐成为工业发展的核心驱动力。工业路由器,作为连接工业互联网的关键工具,无疑在其中扮演着举足轻重的角色。接下来,我们更深入地探讨工业路由器的方方面面,以及它在工业
    的头像 发表于 04-22 17:25 369次阅读

    什么是卫星互联网?卫星互联网的组成

    卫星互联网是指基于卫星通信技术接入互联网,其业务可覆盖全球。通过一定数量卫星的规模组网,构建具备实时信息传输能力的星座系统,卫星互联网可向终端用户提供以宽带互联网接入为主的通信服务。
    发表于 04-17 10:01 1049次阅读
    什么是卫星<b class='flag-5'>互联网</b>?卫星<b class='flag-5'>互联网</b>的组成

    工业互联网平台是什么

    融合,以实现工业设备、系统和过程的智能化连接、管理和优化。工业互联网平台的主要功能包括设备连接、数据采集、数据分析、应用开发和工业应用服务等。 工业互联网平台具有以下特点: 1. 设备
    的头像 发表于 03-28 15:38 1609次阅读

    如何LED连接到Arduino板并使其闪烁

     在本快速入门指南中,您将学习如何 LED 连接到 Arduino 板并使其闪烁。
    的头像 发表于 02-11 10:53 2178次阅读
    如何<b class='flag-5'>将</b>LED<b class='flag-5'>连接到</b><b class='flag-5'>Arduino</b>板并使其闪烁

    如何按钮连接到Arduino

    在本快速入门指南中,您将学习如何按钮连接到Arduino板,并根据按钮是否被按下来读取HIGH或LOW。您将使用电路板上随附的发光二极管 (LED)通过按钮打开和关闭,以便验证按钮按下代码是否正常工作。
    的头像 发表于 02-11 10:52 3729次阅读
    如何<b class='flag-5'>将</b>按钮<b class='flag-5'>连接到</b><b class='flag-5'>Arduino</b>板

    wifi无互联网连接怎么办?解决wifi无法访问互联网怎么办的方法

    wifi无互联网连接怎么办?解决wifi无法访问互联网怎么办的方法  在现代社会中,WiFi已经成为了我们生活中必不可少的一部分。然而,有时我们可能会遇到WiFi无法访问互联网的问题,
    的头像 发表于 01-17 11:17 3.4w次阅读