1. 以太网模块
以太网模块允许Arduino通过以太网进行有线网络通信。常见的以太网模块包括ENC28J60和W5100。
使用W5100以太网模块
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // 替换为你的MAC地址
IPAddress ip(192, 168, 1, 177); // 替换为你的IP地址
EthernetServer server(80);
void setup() {
Serial.begin(9600);
Ethernet.begin(mac, ip);
server.begin();
}
void loop() {
EthernetClient client = server.available();
if (client) {
Serial.println("Client connected");
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
client.print(c); // 将接收到的数据返回给客户端
}
}
Serial.println("Client disconnected");
}
}
2. Wi-Fi模块
Wi-Fi模块允许Arduino通过Wi-Fi进行无线网络通信。常见的Wi-Fi模块包括ESP8266和ESP32。
使用ESP8266 Wi-Fi模块
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
const char *ssid = "your-ssid";
const char *password = "your-password";
ESP8266WebServer server(80);
void setup() {
Serial.begin(115200);
// 连接到Wi-Fi网络
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// 设置路由
server.on("/", HTTP_GET, []() {
server.send(200, "text/plain", "Hello, Arduino!");
});
server.begin();
}
void loop() {
server.handleClient();
}
请注意,使用Wi-Fi模块时,确保连接到的网络正常运行,并且要根据你的网络配置调整代码中的SSID和密码等参数。阅读每个模块的规格和文档以确保正确连接和配置。
转载请注明出处:http://www.pingtaimeng.com/article/detail/11012/Arduino