本节书摘来自华章出版社《用于物联网的arduino项目开发:实用案例解析》一 书中的第2章,第2.3节,作者[美]安德尔·杰韦德(adeel javed),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
这一节要给arduino uno安装一块无线盾板,然后写代码通过wifi连接到互联网。
如果你使用的arduino板子有内置的无线功能,比如arduino yún,那么就不需要额外的无线盾板。arduino yún的互联网连接设置在本章后面介绍。
图2-4给出了通过无线盾板把arduino uno连接到互联网上所需的全部硬件。

为了写互联网连接代码,需要arduino ide 1.6.4或更新版本的软件。
以下是我们要搭建通过wifi连接互联网所需的电路。
1.首先确认arduino没有连接任何电源、usb线和电池。
2.把wifi盾板(也就是无线盾板)插在arduino上。所有的引脚都要对齐。
插好无线盾板后应如图2-5所示。
现在,你的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代码。
要测试这个应用,按照第1章所介绍的,校验然后将代码上传到arduino。上传后,打开串口监视器,就会看见如图2-6所示的日志消息。