《用于物联网的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月前
|
传感器 存储 监控
【物联网】液滴即信息:雨滴探测传感器实验解析降雨的密码
【物联网】液滴即信息:雨滴探测传感器实验解析降雨的密码
55 0
|
3月前
|
传感器 监控 安全
物联网与智能家居:连接未来的无限可能
随着科技的不断进步,物联网(IoT)正逐渐渗透到我们的生活中。智能家居作为物联网的重要应用领域,正在改变我们的生活方式。本文将探讨物联网在智能家居中的应用,以及它对我们日常生活的影响。
|
3月前
|
传感器 物联网 智能硬件
连接家居的未来:物联网在智能家居中的革命性应用
随着物联网技术的迅猛发展,智能家居正成为我们生活中不可忽视的一部分。本文将探讨物联网在智能家居领域的创新和应用,包括智能设备的互联互通、家庭自动化、能源管理等方面的进展,以及其对我们日常生活的影响与未来发展的前景。
126 0
|
4月前
|
数据采集 监控 物联网
物联网时代的电脑行为监控软件:代码实现与设备连接
随着物联网技术的飞速发展,电脑行为监控软件在日常生活和商业领域中变得愈发重要。这种软件通过对电脑用户行为的监测,提供了有益的数据,有助于改善用户体验、增强安全性,甚至在一些场景中实现自动化操作。本文将探讨物联网时代的电脑行为监控软件的代码实现与设备连接,并重点介绍监控到的数据如何自动提交到网站。
269 0
|
5月前
|
物联网 5G 定位技术
智能物联网远程应用连接系统
智能物联网远程应用连接系统
118 0
|
7月前
|
物联网 开发工具 网络架构
基于AT模组连接阿里云物联网平台
本实验主要介绍基于AT模组,通过AT指令将端侧设备快速连接到阿里云物联网平台,助力设备智能化改造。
513 0
|
8月前
|
传感器 边缘计算 人工智能
物联网:连接世界的智能革命
物联网正在引领着智能化的时代,连接各种设备、传感器和对象,实现信息共享和智能化的革命。从家居到工业,物联网的应用正在改变着我们的生活和工作方式。在未来,我们可以期待物联网将在更多领域带来新的机遇和创新。
121 3
|
8月前
|
传感器 数据采集 物联网
物联网成功案例分析:创新应用与启示
本篇详细分析了物联网在智能农业领域的成功应用案例,探讨了物联网解决方案的创新性和影响。通过代码示例,读者可以了解如何利用物联网传感器实时监测土壤湿度,优化农田管理并提高农业生产效率。从成功案例中,我们得到了启示,物联网技术能够为传统行业带来创新,通过实时数据分析和精细化管理,为行业带来实际的价值。通过本篇内容,读者将对物联网在不同行业中的创新应用有更全面的认识,为未来开发具有影响力的物联网解决方案提供有益的指导。
398 1
|
8月前
|
安全 物联网 物联网安全
物联网安全:保护连接世界的数字边界
本篇深入研究了物联网中的安全问题,包括物联网安全挑战与威胁,设备安全与通信安全,以及身份认证与访问控制。我们介绍了物联网安全面临的常见问题,如数据泄露和隐私侵犯,并通过代码示例展示了数据加密的基本原理。同时,我们探讨了如何保护物联网设备的安全,包括固件更新和漏洞修复。此外,我们讨论了通信安全的重要性,介绍了使用TLS/SSL协议保护数据传输的方法。最后,我们演示了如何使用JWT进行身份认证和访问控制,通过示例代码展示了JWT的生成和验证过程。通过这些内容,读者将更深入了解如何在物联网环境中保护连接和数据的安全,为实现可靠的物联网应用提供了有益的指导。
144 0
|
8月前
|
传感器 IDE 物联网
物联网操作系统与开发:连接智能世界的编程之旅
本篇深入研究了物联网中的操作系统选择与比较,嵌入式软件开发环境,以及物联网应用程序的开发与调试。我们比较了常见的物联网操作系统,并通过Zephyr操作系统的示例代码展示了如何控制LED灯。读者将了解嵌入式开发环境的设置,包括交叉编译器和IDE的配置,以及如何开发物联网应用程序,从传感器数据采集到与云平台通信。通过本篇内容,读者将更加了解物联网操作系统与应用开发的关键知识,为连接智能世界的编程之旅奠定了基础。
133 0

相关产品

  • 物联网平台