《用于物联网的Arduino项目开发:实用案例解析》—— 2.3 Arduino Uno的无线连接(WiFi)

简介: 这一节要给Arduino Uno安装一块无线盾板,然后写代码通过WiFi连接到互联网。 如果你使用的Arduino板子有内置的无线功能,比如Arduino Yún,那么就不需要额外的无线盾板。Arduino Yún的互联网连接设置在本章后面介绍。

本节书摘来自华章出版社《用于物联网的Arduino项目开发:实用案例解析》一 书中的第2章,第2.3节,作者[美]安德尔·杰韦德(Adeel Javed),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.3 Arduino Uno的无线连接(WiFi)

这一节要给Arduino Uno安装一块无线盾板,然后写代码通过WiFi连接到互联网。
如果你使用的Arduino板子有内置的无线功能,比如Arduino Yún,那么就不需要额外的无线盾板。Arduino Yún的互联网连接设置在本章后面介绍。

2.3.1 硬件需求

图2-4给出了通过无线盾板把Arduino Uno连接到互联网上所需的全部硬件。

56f06339833fa4a2b2b3449cf11edce008d715bc

2.3.2 软件需求

为了写互联网连接代码,需要Arduino IDE 1.6.4或更新版本的软件。

2.3.3 电路

以下是我们要搭建通过WiFi连接互联网所需的电路。
1.首先确认Arduino没有连接任何电源、USB线和电池。
2.把WiFi盾板(也就是无线盾板)插在Arduino上。所有的引脚都要对齐。
插好无线盾板后应如图2-5所示。

aed43b7c174890ad521ae4a7ea14a2f96b38c5d1

2.3.4 代码(Arduino)

现在,你的Arduino就能连接到无线网络了,接下来要写能够让Arduino在互联网上收发数据的代码。
启动Arduino IDE,输入下面的代码,或者从本书的网站下载代码文件然后打开。所有的文件都在单个源文件(*.ino)中,不过为了便于理解和重用,这个代码被分成以下三个部分:

  • 外部库
  • 互联网连接(无线)
  • 标准函数

外部库

程序2-6给出了代码的第一部分,它引入了运行这个代码所需的全部外部库。因为要通过WiFi来连接到互联网,这个代码主要依赖的是。Arduino IDE应该已经自带WiFi库了。

ff1c660b0386bc027ec174971af3787a6a119c88

互联网连接(无线)

代码的第二部分定义了连接互联网要用到的变量、常量和函数。
为了把Arduino连接到你的无线路由器,要像程序2-7那样来设置无线网络的SSID和密码(口令)。另外还要创建一个WiFiClient变量以供互联网连接之用。

548ea088540c9174d52a993205940438e62e44ce

程序2-8给出了无线连接设置的代码。connectToInternet()函数首先检查是否接上了WiFi盾板,然后它不断地尝试连接到无线网络。一旦Arduino成功地连接到了无线网络,这个循环就结束了,同时这个函数也就结束了。

4b12654df1abd7cdd359e42fbc829503e1380648 810560863671d44a0f283992b4d0d4f2be5f5264

一旦Arduino成功连接无线网络,程序2-9中的printConnectionInformation()函数就会被调用,它会在串口监视器窗口中打印出SSID、路由器的MAC地址、信号强度(RSSI)、Arduino的IP地址和Arduino的MAC地址。

42374e5075bec453df68c8a8009758b260c1e81e e573508e772e91eca624659cea819555467ae8c9

标准函数

最后,程序2-10给出了第三部分的代码。它实现了Arduino的标准的setup()和loop()函数。对这个作品而言,只要把Arduino连入互联网就行了,没有后续的事情要做,所以loop()是空的。

278cae59fe5750e9809843baa969aa6d384d7e78

至此,完成了编写Arduino代码。

2.3.5 最终的作品

要测试这个应用,按照第1章所介绍的,校验然后将代码上传到Arduino。上传后,打开串口监视器,就会看见如图2-6所示的日志消息。

88b68bd296eb4e24ef713fe62617dbb8e150e3b8
相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
11月前
|
数据采集 监控 网络协议
​MCP协议深度解析:原理、应用与物联网时代的机遇-优雅草卓伊凡
​MCP协议深度解析:原理、应用与物联网时代的机遇-优雅草卓伊凡
1211 40
​MCP协议深度解析:原理、应用与物联网时代的机遇-优雅草卓伊凡
|
10月前
|
运维 监控 网络协议
物联网设备状态监控全解析:从告警参数到静默管理的深度指南-优雅草卓伊凡
物联网设备状态监控全解析:从告警参数到静默管理的深度指南-优雅草卓伊凡
318 11
物联网设备状态监控全解析:从告警参数到静默管理的深度指南-优雅草卓伊凡
|
12月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
JSON 监控 网络协议
Bilibili直播信息流:连接方法与数据解析
本文详细介绍了自行实现B站直播WebSocket连接的完整流程。解析了基于WebSocket的应用层协议结构,涵盖认证包构建、心跳机制维护及数据包解析步骤,为开发者定制直播数据监控提供了完整技术方案。
1466 9
|
网络协议
深入解析:TCP四次挥手断开连接的全过程及必要性
在网络通信中,TCP(传输控制协议)以其可靠性和顺序保证而闻名。然而,TCP连接的建立和终止同样重要,它们确保了网络资源的有效管理和数据传输的完整性。本文将详细描述TCP连接的四次挥手过程,并探讨为何需要四次挥手来正确终止一个TCP连接。
580 2
|
Java 关系型数据库 MySQL
【编程基础知识】Eclipse连接MySQL 8.0时的JDK版本和驱动问题全解析
本文详细解析了在使用Eclipse连接MySQL 8.0时常见的JDK版本不兼容、驱动类错误和时区设置问题,并提供了清晰的解决方案。通过正确配置JDK版本、选择合适的驱动类和设置时区,确保Java应用能够顺利连接MySQL 8.0。
1157 1
|
域名解析 存储 缓存
域名解析 DNS:连接数字世界的关键枢纽
在数字世界中,DNS(域名解析系统)如同一位至关重要的引路人,将我们输入的域名与对应的IP地址相连,使我们可以轻松访问各种网站和服务。它通过多级服务器查询,将易于记忆的域名转换为复杂的IP地址,极大提升了互联网的易用性和普及度。尽管面临网络延迟和域名数量激增等挑战,通过分布式系统和缓存技术等创新方案,DNS 系统将持续发展,为用户提供更安全、高效的网络体验。
346 2
|
负载均衡 监控 安全
Wi-Fi漫游深入解析:确保设备连接的有效策略
Wi-Fi漫游深入解析:确保设备连接的有效策略
1918 9
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:实现过程与关键细节解析an3.021-6232.com
随着互联网技术的快速发展,ASP.NET作为一种广泛使用的服务器端开发技术,其与数据库的交互操作成为了应用开发中的重要环节。本文将详细介绍在ASP.NET中如何连接SQL数据库,包括连接的基本概念、实现步骤、关键代码示例以及常见问题的解决方案。由于篇幅限制,本文不能保证达到完整的2000字,但会确保
|
运维 网络协议
深入解析TCP三次握手与四次挥手:建立与断开连接的关键过程
深入解析TCP三次握手与四次挥手:建立与断开连接的关键过程
598 0

相关产品

  • 物联网平台
  • 推荐镜像

    更多
  • DNS