Arduino Uno R4 WiFi板如何通过设置本地web服务器来控制家中的事物
扫描二维码
随时随地手机看文章
在这篇文章中,我们将使一个非常有用和非常容易的家庭自动化项目。
而对于这个家庭自动化系统的制作,我们不需要任何像blynk, ESP-Rainmeker, Arduino IOT Cloud这样的互联网和物联网平台。
我们只需要一个路由器或热点来制作本地服务器,这里路由器将作为网页和Arduino UNO R4 WIFI板之间的桥梁。
Arduino几天前推出了Arduino UNO R3板的后继产品,即Arduino UNO R4,它有两个版本,一个是Arduino UNO R4 Minima,第二个是Arduino UNO R4 WIFI。
这个Arduino UNO R4 wifi有一个内置的ESP32芯片组,所以我们期望wifi和蓝牙连接。
这个新的Arduino UNO R4板与Arduino UNO R3板具有相同的外形因素,并且引脚与R3板完全相同。
具有相同的外形因素和引脚,现在我们可以轻松地将Arduino UNO R3的所有屏蔽或模块与这个新的R4板一起使用。
去年我为初学者设计了一个学习PCB,这是一种Arduino UNO R3屏蔽。只需将屏蔽板放在Arduino UNO R3板上,即可轻松制作酷炫的家庭自动化项目....这是一种即插即用的东西。
本项目利用新推出的Arduino Uno R4 WiFi板和定制设计的Arduino屏蔽板的功能,通过本地web服务器控制两个继电器。
我们将做一个本地网络服务器,从本地服务器,我们将能够控制我们的家用电器。让我们深入研究这个项目的复杂性。
Arduino UNO R4 WiFi板:
Arduino UNO R4 WiFi板是一款多功能且功能强大的开发工具,结合了瑞萨电子32位微控制器RA4M1和ESP32模块的功能,可促进Wi-Fi和蓝牙连接。
主要特点
微控制器(MCU):该板容纳高性能瑞萨RA4M1, Arm Cortex-M4微控制器,工作时钟速度为48 MHz。它配备了32kb的SRAM和256kb的闪存。该MCU通过USB支持HID,并具有实时时钟(RTC),数模转换器(DAC)和CAN总线。
连接模块:板载ESP32-S3模块,支持Wi-Fi和蓝牙连接。这个模块可以通过一个特定的头单独编程。
工作电压:RA4M1和单板的gpio工作在5V, ESP32-S3模块工作在3.3V。
LED矩阵:一个独特的12x8 LED矩阵允许用户直接在板上创建视觉原型,培养项目设计的创造力。
Qwiic连接器:该特性促进了即插即用风格的项目创建,增强了开发人员的易用性。
兼容性和资源
Arduino UNO R4 WiFi板兼容各种硬件,包括4继电器屏蔽,电机屏蔽Rev3,以太网屏蔽Rev2和9轴运动屏蔽。它支持通过Arduino IDE, Arduino CLI和Web Editor编程。该板还提供了一系列教程和指南,以帮助用户有效地设置和利用这些功能。
NextPCB:您的PCB制造和组装一站式解决方案
由于NextPCB -可靠的多层PCB制造商的帮助和支持,该项目成功完成。NextPCB是全球最有经验的PCB制造商之一,专注于PCB和组装行业超过15年。
无与伦比的可靠性和质量
NextPCB以提供高可靠性PCB解决方案而自豪。拥有超过15年的内部制造专业知识,他们保证100%的产品质量,如果出现任何问题,承诺免费重制。他们对质量的承诺反映在他们令人印象深刻的99.6%准时交货率上,确保您的项目遵守规定的时间表,没有任何障碍。
综合服务
PCB制造
NextPCB专业生产各种pcb,包括:
•陶瓷印刷电路板
•金属芯PCB
•铝印刷电路板
•LED PCB
•柔性印刷电路板
•Rigid-flex PCB
•厚铜PCB
•高TG PCB
•高频印刷电路板
•人类发展指数PCB
他们的制造工艺采用全球高端材料和设备,包括台湾电镀线和德国飞探头测试仪,确保生产耐用和高效的PCB。
免费PCB组装服务
为了支持工程师和爱好者的努力,NextPCB提供免费的PCB组装服务,让个人和企业免费体验NextPCB的可靠PCB组装。这一举措证明了NextPCB致力于促进创新和支持PCB社区。
代码
点击这里下载这个家庭自动化项目的代码。
让我们一步一步地分解代码来理解这个项目是如何工作的:
包括库
在代码的开头,我们包含两个库:一个用于控制LED矩阵,另一个用于处理WiFi连接。
定义变量
这里,我们定义了几个变量:
•LED1和LED2是连接到led的引脚。
•矩阵是一个控制LED的矩阵对象。
•hi[]是一个数组,用于存储显示在LED矩阵上的数据。
•ssid和pass是WiFi网络凭据。
•output1和output2存储led的当前状态。
•header存储HTTP请求头。
•currentTime和previousTime有助于管理循环中的时间。
•timeoutTime为等待客户端连接的最大时间。
•status存储当前WiFi连接状态。
•server是创建WiFi服务器的对象。
设置函数
在设置函数中,我们初始化串行通信,启动LED矩阵,并设置LED引脚作为输出。我们还启动了WiFi连接并启动了服务器。
循环函数
循环函数持续运行另外两个函数:webServer()和LEDMatrix()。
LED矩阵功能
LEDMatrix函数使用hi[]数组中存储的数据在LED矩阵上显示一个帧。
Web服务器功能
webServer函数处理传入的客户端连接。它读取HTTP请求并相应地控制led。它还提供一个HTML页面,允许用户通过web界面控制led。
打印WiFi状态命令功能
printWifiStatus函数将当前WiFi连接的详细信息打印到串口监视器上,包括SSID、IP地址和信号强度。它还显示了访问web界面的URL。
将此代码上传到Arduino UNO R4板。
连接图
现在按照这个连接图连接你的灯泡或任何你想控制的设备。
如果你没有Arduino屏蔽,你想使用继电器,然后使用这个连接图进行连接。
现在一切都准备好了,安装这个项目在家里或办公室,任何你想要的地方。
该项目展示了Arduino Uno R4 WiFi板在家庭自动化中的巨大潜力。通过创建本地web服务器,用户可以轻松地远程控制设备。再加上NEXTPCB提供的服务,将这些项目变为现实从未如此简单。
与Arduino Uno R4 WiFi板和NEXTPCB一起踏上您的创新之旅,步入家庭自动化的未来。
本文编译自hackster.io





