《用于物联网的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
相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
2月前
并发编程之读写锁ReadWriteLock的详细解析(带小案例)
并发编程之读写锁ReadWriteLock的详细解析(带小案例)
22 0
|
2月前
|
监控 安全 Java
Java与物联网:连接与控制设备
Java与物联网:连接与控制设备
104 0
|
4天前
|
开发框架 Java 开发者
Spring框架的最新功能与应用案例解析
Spring框架的最新功能与应用案例解析
|
3天前
|
负载均衡 Java 微服务
Java中的可扩展微服务架构设计案例解析
Java中的可扩展微服务架构设计案例解析
|
5天前
|
设计模式 算法 搜索推荐
Head First设计模式中的典型设计模式解析与案例分析
Head First设计模式中的典型设计模式解析与案例分析
|
8天前
|
传感器 监控 网络协议
Modbus协议详细解析与案例分享
Modbus协议详细解析与案例分享
19 0
|
9天前
|
Java BI Serverless
Java8 Stream深度解析:30个案例3万字助你精通集合筛选、归约、分组与聚合操作
Java8 Stream深度解析:30个案例3万字助你精通集合筛选、归约、分组与聚合操作
|
21天前
|
搜索推荐 Java 程序员
【案例解析】从菜鸟到高手,如何优雅地使用Java条件语句?
【6月更文挑战第14天】本文介绍了Java编程中条件语句的重要性,特别是if-else和switch的使用。通过四个案例,展示了如何优雅地运用这些语句:案例一演示了基础if-else用于用户登录响应;案例二利用switch处理枚举类型,如订单状态;案例三展示了条件语句的嵌套与组合,用于游戏评分系统;案例四探讨了代码优化与重构,减少冗长的if-else结构。文章强调,掌握条件语句能提升编码效率和代码质量,鼓励开发者不断实践以写出高效优雅的代码。
|
2月前
|
数据采集 数据可视化 数据挖掘
利用 DataFrame 进行数据分析:实战案例解析
【5月更文挑战第19天】DataFrame是数据分析利器,本文通过一个销售数据案例展示其使用:读取数据创建DataFrame,计算产品总销量,分析月销售趋势,找出最畅销产品,并进行数据可视化。此外,还提及数据清洗和异常处理。DataFrame为数据处理、分组计算和可视化提供便利,助力高效数据分析。
57 3
|
2月前
|
开发框架 搜索推荐 安全
【Uniapp 专栏】基于 Uniapp 的电商应用开发案例解析
【5月更文挑战第12天】使用Uniapp跨平台框架开发电商应用,结合丰富的组件和API,实现首页、商品详情、购物车及订单等关键功能。注重界面设计和用户体验,处理商品逻辑、订单管理和支付接口集成。同时,适应多平台特性,加入个性化推荐、商品直播和社交分享等特色功能,以降低成本、提升竞争力,打造高效购物体验。此案例展示了Uniapp在电商领域的潜力和优势。

热门文章

最新文章

相关产品

  • 物联网平台
  • 推荐镜像

    更多