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

2.3 Arduino Uno的无线连接(WiFi)

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

2.3.1 硬件需求

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

2.3.2 软件需求

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

2.3.3 电路

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

2.3.4 代码(Arduino)

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

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

外部库

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

互联网连接(无线)

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

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

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

标准函数

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

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

2.3.5 最终的作品

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

时间: 2024-07-28 18:11:39

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

有关<Visual Basic .NET数据库开发经典案例解析>这本书的问题

问题描述 前些时候在csdn这里下载了<VisualBasic.NET数据库开发经典案例解析>的pdg格式电子书,但是里面有部分文件在打开时提示格式不对,而且我非常需要这本书的随书光盘里的资料,谁能为我提供这些资料啊:<VisualBasic.NET数据库开发经典案例解析>这书的完整可用电子书和随书光盘里的脚本等所有资料.谢谢了!.我的邮箱是517044529@qq.com 解决方案 解决方案二:自己到书店去买本吧

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

2.4 Arduino Yún的无线连接(WiFi) Yún(云)是很高级的Arduino型号,是为物联网而设计的.对于初学者来说,Arduino Yún可能比Arduino Uno要复杂一些,不过它有内置的以太网和无线功能,所以就不再需要额外的盾板了.在第1章中介绍过,本书会始终使用Arduino Uno.这一节只是给手上有Arduino Yún,又想用它来实现本书所介绍的原型作品的读者提供一个参考.尽管在本书的其他部分都不会再提到Arduino Yún,下载的代码还是会带有Arduino Y

《用于物联网的Arduino项目开发:实用案例解析》—— 3.3 MQTT

3.3 MQTT MQTT是一个轻量级的机器对机器的协议.它采用的是发布者-订阅者模型,就是说由一个发布者把数据发布给服务器(也叫作代理),然后订阅者就能收到这个数据.发布者和订阅者彼此互不相识,但他们都连接在代理上,代理异步地完成这个通信.代理用话题的概念来通知所有的订阅者相关的数据已经发布这一消息.话题就像新闻推送,你可以订阅某些想要接收的新闻的话题.发布者和订阅者可以是传感器.机器或移动应用.图3-4是MQTT协议的高层概览.理解MQTT协议对于构建物联网应用是很重要的,接下来,看几个场景

《用于物联网的Arduino项目开发:实用案例解析》—— 第3章 通信协议 3.1 学习目标

第3章 通信协议 第2章已经分别用以太网或WiFi把Arduino连接到了互联网上.这一章将介绍发送和接收数据的协议.协议是一种用于网络通信的约定好了的结构化的格式.它定义了要发送和接收的信息,以及要采取的动作. 3.1 学习目标 到本章结束的时候,你将能够:理解HTTP协议的基本知识向服务器发送一个HTTP请求理解MQTT协议的基本知识向一个MQTT代码发布或订阅数据

《用于物联网的Arduino项目开发:实用案例解析》—— 1.2 硬件需求

1.2 硬件需求 Arduino有各种模块(又叫作板子),每种板子有不同的规格.如果你的板子不具有你需要的功能,那么总可以找到支持所需功能的盾板(或称扩展板).在Arduino的世界里,盾板和板子很类似,但是只支持特定的功能,比如可以连接到WiFi网络,或是能控制伺服电机.盾板就像一个插件,可以将它插到Arduino板上.一旦插上,这块Arduino板就也具有了那块盾板的功能.图1-1是Arduino Uno的外观图,而图1-2是以太网盾板的外观图. 下面列出了本书中各个作品都会用到的一些重要的

《用于物联网的Arduino项目开发:实用案例解析》—— 3.2 HTTP

3.2 HTTP 网站使用超文本传输协议(Hyper Text Transfer Protocol,HTTP).HTTP支持多种数据传输的方法,在这个作品中,我们会用其中两种较常用的方法:GET和POST.GET和POST方法要做的事情是一样的,所以代码也很相似,它们的不同在于请求的格式略有变化.与POST相比,GET所能发送的数据量是有限制的.POST还被认为比GET要略为安全一些.根据你的需要,你可以决定哪个方法更适用.图3-1给出了设备和HTTP服务器之间的高层交互. 所需的硬件.软件和电

《用于物联网的Arduino项目开发:实用案例解析》—— 3.4 小结

3.4 小结      本章我们研究了HTTP和MQTT,在物联网应用中它们是两个非常重要.流行.轻量级的通信协议.这些协议是与具体设备无关的,所以可以用作任何类型的设备或服务器的通信.下一章会大量地使用这两个协议.

《用于物联网的Arduino项目开发:实用案例解析》—— 1.5 小结

1.5 小结      本章我们学习了Arduino的硬件和软件基础,还研究了Arduino编程语言的一般代码结构,整本书的代码都像这个样子.     本章当然不可能是Arduino的完整内容,它只是实现本书中所有作品所需的基础知识.

《用于物联网的Arduino项目开发:实用案例解析》—— 2.5 小结

2.5 小结 本章我们设计了用以太网或WiFi盾板把Arduino Uno连接到互联网的代码,还看到了Arduino Yún上的无线设置和用来访问互联网连接的代码.对于今后任何用以太网或WiFi的互联网连接作品,都可以使用本章的代码作为基础,然后在上面加入自己的代码.