![55c3464600c4c614c48b385d5a6ccc05.png](https://i-blog.csdnimg.cn/blog_migrate/3bc13cb139defd7eecb10e6b0e2ce6dd.jpeg)
物联网与Arduino
物联网(Internet of things,简称IoT),是通过网络将设备相互连接,从而实现设备与设备间通信的技术。数据传输、信息采集、行为控制是物联网的常见能力。
而信息采集、行为控制也是Arduino的优势所在,只要给Arduino扩展上联网能力,使其能通过网络进行数据传输,Arduino就是物联网设备开发的绝佳平台。
物联网的网络连接形式多样,相关的协议和方案更是繁多,因此Arduino扩展联网能力的方案也很多,如:Arduino加上485转换芯片,可以将多个设备连接到同一总线上,进行RS485、ModBus通信;Arduino加上蓝牙模块,实现和手机、电脑等设备的连接和互动。
本章的物联网开发内容都是基于WiFi,WiFi是生活中常见的物联网连接方式之一,在家庭和办公场景,普及度极高,因此其也是众多物联网设备的首选连接方式。大部分物联网连接方式都有空间限制,但使用WiFi的设备,通常可连接到互联网,可和全球各地的设备进行连接和通信,同时获取到网络中庞大的资源。
通过给Arduino UNO添加WiFi模块的方式,可以让Arduino接入到WiFi网络,但这样不仅会增加硬件成本,还要编写和处理Arduino和WiFi模块间的通信逻辑。笔者更为推荐直接使用支持WiFi通信的新型Arduino兼容开发板——WiFiduino。
WiFi开发板
![8b6d38620d532754c5c6fc030353f0c3.png](https://i-blog.csdnimg.cn/blog_migrate/d1147ad3124c4b20bdb8729482aff22c.jpeg)
WiFiduino-8266是使用esp8266作为核心的开发板,相对于传统Arduino控制器,WiFiduino-8266不仅有更强劲的性能,还提供了原生WiFi支持,可以更轻松地构建物联网项目。可以在附录中找到WiFiduino-8266的详细介绍。
esp8266和esp32是乐鑫(espressif)公司提供的WiFi 芯片,使用这两种芯片作为核心的开发板,都可以使用乐鑫提供的Arduino SDK进行开发。 相较于传统的AVR内核的Arduino开发板,esp8266/esp32开发板自带WiFi联网能力,且拥有更丰富的外设、更大存储空间(通常外扩了Flash芯片)、更快的处理速度和更低廉的价格,已经被广泛用于各种物联网项目。
![6262a4b783f6c6741a7e6182b799c39a.png](https://i-blog.csdnimg.cn/blog_migrate/4cf94fe344069b3ea17fbaf97e3fd52f.jpeg)
图-ESP8266开发板和ESP32开发板
点灯物联网解决方案
本章还将用到一套完整的物联网解决方案——点灯(英文名 blinker)。这是由笔者领导开发的,一套跨硬件、跨平台的物联网解决方案,提供APP端、设备端、服务器端支持,使用公有云服务进行数据传输。可用于智能家居、远程控制、数据监测等领域,可以帮助用户更好更快地搭建和部署物联网项目。
blinker具备哪些优势:1. 支持多种连接方式 blinker提供当前最流行的连接方式支持,如蓝牙、WiFi、NBiot/GPRS,可以应对大多数物联网场景需求。2. 支持多种开发平台 对于MCU,blinker提供Arduino、freeRTOS支持库,可以使用AVR / ARM / ESP8266 / ESP32等芯片进行开发。 对于Linux设备,可以使用python、javascript接入支持。 3. 提供丰富的附加功能 通信是blinker方案的核心,此外blinker也提供了多种附加功能,如: 定时控制、自动化控制、场景控制、云存储、固件更新、设备分享、微信通知、消息推送、短信报警、语音控制、智能音响接入等。这些功能都是物联网设备常见功能,使用blinker方案,不需要复杂的开发 ,只需调用blinker提供了功能函数即可。
blinker DIY
blinker DIY是针对diy爱好者、个人开发者推出的项目原型快速开发方案。
通常物联网项目开发,需要进行 设备端、客户端、服务器端开发,每一部分开发,都需要投入人力财力。对个人开发者,通常不可能一人完成这三部分的开发。blinker提供了手机APP到设备端的控制方案,有多种设备端SDK支持,让开发者更好的聚焦于设备端。配合由blinker团队运维的客户端(blinker APP)、服务器端,可以快速打造出自己的物联网设备。
本章将使用blinker DIY结合ESP8266开发板,实现手机对Arduino的控制。
0.开发准备
1.基本控制
2.数据反馈
3.语音控制与定时
4.智能音响控制
5.云端历史数据存储与查看