Arduino IDE ESP32-CAM WiFi 创建Web服务器 Android APP控制LED开关_ardiuno wifi控制led

本文介绍了如何使用ESP32-CAM通过WiFi建立网络,设置静态IP,创建Web服务器并响应HTTP请求,以及如何让安卓手机通过浏览器或应用控制LED灯。作者还分享了在安卓端遇到的问题和解决方案,包括`app/build.gradle`和`AndroidManifest.xml`文件的配置。
摘要由CSDN通过智能技术生成

### 手机连接ESP32-CAM WiFi


这块板子上还有个wifi,把它利用起来,如果手机能连上这个wifi,那不就相当于可以通过wifi控制这块板子了吗?


WiFi得有个名字,连接wifi的密码  
 给wifi分配一个ip地址  
 让他作为网关  
 再配个子网掩码  
 WiFi网络建立完成了


`WiFi的AP模式`:AccessPoint就是接入点的意思,就是把自己共享出来允许别人连接访问接入



#include <WiFi.h>

// 替换成你喜欢的网络名称和密码
const char* ssid = “ESP32_Wifi”;
const char* password = “12345678”;
IPAddress local_IP(192, 168, 1, 1); // 设置本地IP地址
IPAddress gateway(192, 168, 1, 1); // 设置网关
IPAddress subnet(255, 255, 255, 0); // 设置子网掩码

void setup()
{
pinMode(4, OUTPUT); // 设置GPIO4为输出模式
digitalWrite(4, LOW); // 关闭LED灯
Serial.begin(115200); // 初始化串口通信,波特率为115200

// 配置静态IP地址
if (!WiFi.config(local_IP, gateway, subnet)) {
Serial.println(“配置失败”);
}

// 建立Wi-Fi网络
WiFi.mode(WIFI_AP);
boolean result = WiFi.softAP(ssid, password);

if (result == true) {
Serial.print("网络名 SSID: ");
Serial.println(ssid);
Serial.print("IP 地址: ");
Serial.println(WiFi.softAPIP());
} else {
Serial.println(“Wifi启动失败.”);
}
}

void loop() {
// 其他代码
}


这样手机就可以连接上ESP32-CAM的WiFi了


### ESP32-CAM建立Web服务器


ESP32已经共享在网络上了,  
 IP地址是:192.168.1.1  
 用http协议访问通常是80端口  
 我们要提前对这个端口做一下监听,当别人访问我们的时候,我们要给出响应  
 http://192.168.1.1/  
 访问地址就是这个格式  
 所以这就是web服务这就算建立起了一个web服务器  
 服务器就是干活的  
 它负责监听端口,并且做出响应,这就叫做通讯。  
 对方发送请求,服务器给他反馈。



#include <WiFi.h>
#include <ESPAsyncWebServer.h>

const char* ssid = “ESP32”;
const char* password = “12345678”;
IPAddress local_IP(192, 168, 1, 1); // 设置本地IP地址
IPAddress gateway(192, 168, 1, 1); // 设置网关
IPAddress subnet(255, 255, 255, 0); // 设置子网掩码

AsyncWebServer server(80); // 创建服务器对象,指定监听端口80

void setup()
{
pinMode(4, OUTPUT); // 设置GPIO4为输出模式
digitalWrite(4, LOW); // 关闭LED灯
Serial.begin(115200); // 初始化串口通信,波特率为115200

// 配置静态IP地址
if (!WiFi.config(local_IP, gateway, subnet)) {
Serial

如果您打算使用Arduino运行Web服务器,那么这里是您的理想选择。我们将在Web服务器上显示传感器数据。 硬件部件: Arduino UNO和Genuino UNO×1个 Arduino以太网修订版3×1个 跳线(通用)×1个 DHT22温度传感器×1个 软件应用程序和在线服务: Arduino IDE 仅作记录,Arduino本身不能充当Web服务器。与具有完整功能的嵌入式系统Raspberry Pi不同,Arduino需要以太网屏蔽才能连接到Internet或ESP8266芯片。 Arduino以太网屏蔽是一种电路板,可让Arduino连接到互联网。它基于Wiznet W5xxx系列以太网芯片。这些芯片具有能够同时使用TCP-IP和UDP的网络堆栈。但是,屏蔽层仅允许通过RJ45连接器进行有线连接。因此,如果您正在寻找无线互联网解决方案,则可以改用ESP8266开发板。Arduino以太网防护罩具有集成的microSD卡读卡器,可用于存储网页文件。 您仍然可以使用以太网屏蔽的母头引脚与Arduino的大多数引脚接口。只需将屏蔽罩和Arduino的引脚对齐,然后向下压直到它们舒适地合上即可。不能使用的引脚是引脚10 (SS),11 (MOSI),12 (MISO)和13 (SCK)。这些是SPI(串行外围设备接口)引脚,Arduino用来与以太网屏蔽进行通信。 准备硬件 对于此项目,我们将显示来自Arduino的DHT22温湿度传感器数据和与网络页面配对的以太网屏蔽,您可以在世界任何地方访问该页面。为此,请连接以下组件,如图2所示: 组装完组件后,将LAN电缆插入RJ45连接器。另一端必须在连接到互联网的路由器上。
好的,以下是基于 Arduino IDEESP32-CAM 点灯科技和蓝牙无线监控的代码示例: ``` #include <BluetoothSerial.h> #include <Wire.h> #include <Arduino.h> // 定义 LED 灯的引脚 const int ledPin = 4; // 定义蓝牙串口对象 BluetoothSerial SerialBT; void setup() { // 初始化串口和 LED 灯 Serial.begin(9600); pinMode(ledPin, OUTPUT); // 初始化蓝牙串口 SerialBT.begin("ESP32-CAM Bluetooth"); Serial.println("ESP32-CAM Bluetooth 开始工作"); } void loop() { // 检测蓝牙串口是否有数据可读 if (SerialBT.available()) { // 读取蓝牙串口的数据 char data = SerialBT.read(); // 根据读取到的数据来控制 LED 灯的开关 switch (data) { case '0': digitalWrite(ledPin, LOW); Serial.println("LED 灯已关闭"); break; case '1': digitalWrite(ledPin, HIGH); Serial.println("LED 灯已打开"); break; default: break; } } } ``` 在上述代码中,我们首先定义了 LED 灯的引脚为 4 号引脚,然后初始化了蓝牙串口对象 SerialBT。在 setup 函数中,我们初始化了串口和 LED 灯,并且开启了蓝牙串口。在 loop 函数中,我们不断检测蓝牙串口是否有数据可读,如果有数据可读,则通过读取到的数据来控制 LED 灯的开关。其中,当读取到 '0' 时,表示关闭 LED 灯;当读取到 '1' 时,表示打开 LED 灯。 需要注意的是,我们使用了 BluetoothSerial 库来实现蓝牙串口通信,因此需要先在 Arduino IDE 中安装该库。同时,由于 ESP32-CAM 板子上没有 USB 转串口芯片,因此我们需要通过 FTDI 等 USB 转串口模块将 ESP32-CAM 与电脑连接起来,以便进行代码烧录和调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值