亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

手机APP无线控制Arduino LED:WiFi/Ethernet + Evothings Studio跨平台开发

项目简介

利用Evothings Studio快速开发跨平台移动应用(iOS/Android),通过TCP协议经WiFi Shield或Ethernet Shield控制Arduino板载LED。无需原生App开发经验,HTML5+JavaScript单代码库多端运行,适合物联网原型快速验证、教学演示、智能家居DIY。

硬件准备

软件工具链

Arduino固件开发

WiFi Shield版本关键配置


#include 
#include 

char ssid[] = "YOUR_WIFI_SSID";     // 修改为你的WiFi名称
char pass[] = "YOUR_WIFI_PASSWORD"; // 修改为你的WiFi密码,不加密留空""
int status = WL_IDLE_STATUS;
WiFiServer server(80);  // TCP服务器端口80

void setup() {
  Serial.begin(9600);
  pinMode(2, OUTPUT);  // LED引脚
  
  // 连接WiFi
  while (status != WL_CONNECTED) {
    status = WiFi.begin(ssid, pass);
    delay(5000);
  }
  server.begin();
  printWifiStatus();  // 串口输出IP地址
}

void loop() {
  WiFiClient client = server.available();
  if (client) {
    String request = client.readStringUntil('\r');
    client.flush();
    
    if (request.indexOf("LED=ON") != -1) digitalWrite(2, HIGH);
    else if (request.indexOf("LED=OFF") != -1) digitalWrite(2, LOW);
    
    // 简单HTTP响应
    client.println("HTTP/1.1 200 OK");
    client.println("Content-Type: text/html");
    client.println("Connection: close");
    client.println();
    client.println("LED controlled");
    client.stop();
  }
}

Ethernet Shield版本差异

Evothings Studio移动App开发

快速开始步骤

  1. 安装并打开Evothings Studio
  2. Examples标签 → 搜索"Arduino TCP Blink" → Copy到My Apps
  3. Code按钮查看项目文件:index.html (UI) + arduinotcp.js (逻辑)
  4. 修改 index.html 第52行默认IP地址为Arduino实际IP
  5. 手机安装Evothings Viewer,同一WiFi下扫码/输入连接码连接Workbench
  6. Run按钮推送App到手机,点击"Connect"即可控制LED

核心JavaScript逻辑 (arduinotcp.js)


// TCP连接管理
var tcp = new TCPClient();
tcp.connect(ipAddress, 80, onConnect, onError);

function onConnect() {
  // 发送HTTP GET请求控制LED
  tcp.send("GET /?LED=ON HTTP/1.1\r\nHost: " + ipAddress + "\r\n\r\n");
}

function onError(err) {
  console.log("Connection failed: " + err);
}

// 封装的底层操作(可复用)
function analogRead(pin, callback) { ... }
function digitalWrite(pin, value, callback) { ... }
function pinMode(pin, mode, callback) { ... }

网络拓扑与连接模式

模式A:WiFi Shield - 直连模式

[手机 WiFi] ←→ [路由器 AP] ←→ [Arduino WiFi Shield]
     │                                    │
  同一局域网                        同一局域网

手机和Arduino连同一WiFi热点,直接TCP通信,延迟最低。

模式B:Ethernet Shield - 网关模式

[手机 WiFi] ←→ [路由器 AP] ←→ [路由器 LAN口] ←→ [Arduino Ethernet Shield]

Arduino有线接入路由器,手机无线连路由器,通过路由器转发。适合有线网络环境更稳定的场景。

Evothings Studio核心优势

进阶拓展方向

组件数量备选方案
Arduino UNO1Mega 2560/Leonardo/Intel Edison均可
WiFi Shield / Ethernet Shield1官方WiFi Shield 101 / Ethernet Shield 2 / ESP8266串口AT模式
LED + 220Ω电阻1套D2引脚,短脚接GND
面包板+跳线若干-

常见连接问题排查

资源链接

制造工艺

  1. DHT11 温湿度传感器项目:LED 指示与压电蜂鸣器报警
  2. 基于 Arduino、1Sheeld 与红外控制的万能安卓遥控器
  3. Arduino UNO 驱动 16x2 LCD 实现动画与小游戏
  4. Arduino 与智能手机打造智能电压表——简单易做的 DIY 项目
  5. Arduino + DHT11 + 以太网盾板温湿度数据记录仪
  6. 将 MIDI 键盘变身智能钢琴导师:Arduino + LED 灯带 + MuseScore
  7. 通过树莓派用 Alexa 控制 LED - 简单分步指南
  8. Arduino + Android 蓝牙控制 Roomba Create 2 扫地机器人完整指南
  9. Python 3 控制 Arduino UNO - 串口通信点亮内置 LED 入门教程
  10. Arduino Nano 驱动 128x64 OLED 实时运行康威生命游戏 (元胞自动机)
  11. 使用 Arduino Nano 和 RDA8057M 制作紧凑型 FM 收音机
  12. 基于 Arduino 与 Google Sheets 的实时 RFID 考勤系统

方向实现要点
多设备控制App端维护设备列表,IP/别名管理,分组控制
传感器数据可视化Arduino定时上报ADC值,App端Chart.js实时绘图
MQTT协议替代TCP引入MQTT Broker (Mosquitto/EMQX),发布/订阅解耦
固件OTA升级App端下载固件 → Arduino OTABootloader写入Flash
语音控制集成Web Speech API / Siri Shortcuts / Google Assistant
本地发现服务mDNS/Bonjour自动发现Arduino设备,免输IP