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

IoT 集成:基于 Windows 10 UWP 应用的 Arduino 远程控制

项目概述

利用 Windows Remote Arduino 库,开发通用 Windows 平台(UWP)应用,经蓝牙与运行 Standard Firmata 的 Arduino UNO 通信,实现 GPIO 输入/输出、模拟输入读取、PWM 输出等功能。目标平台覆盖 Win 10 桌面、手机及 Raspberry Pi 2(Win 10 IoT,进行中)。本文详细记录从蓝牙配对、Firmata 修改、库编译、UWP 工程创建、UI 设计到多目标部署的完整流程。

硬件准备

关键步骤速览

1. 蓝牙模块配置

2. Firmata 固件修改

Arduino IDE 打开 StandardFirmata,将波特率 57600 全局替换为 115200,上传至 UNO(上传时需拔下蓝牙模块,避免占用 RX/TX)。

3. 编译 Windows Remote Arduino 库

4. 创建 UWP 应用工程

5. 核心 C# 代码模式

// 连接建立回调(UI 线程启用按钮、设置引脚模式)
private void OnConnectionEstablished() {
  Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => {
    OnButton.IsEnabled = OffButton.IsEnabled = true;
    arduino.pinMode(LED_PIN, PinMode.OUTPUT);
    arduino.pinMode(PB_PIN, PinMode.INPUT);
    arduino.pinMode(ANALOG_PIN, PinMode.ANALOG);
    progressRing.IsActive = false;
  });
}

// 按钮事件:数字输出
private void OnButton_Click(...)  => arduino.digitalWrite(LED_PIN, PinState.HIGH);
private void OffButton_Click(...) => arduino.digitalWrite(LED_PIN, PinState.LOW);

// 连接/断开按钮
private void ConnectButton_Click(...)  => bluetooth.begin(115200, SerialConfig.SERIAL_8N1);
private void DisconnectButton_Click() => bluetooth.end();

// 数字输入:事件驱动替代轮询
arduino.DigitalPinUpdated += Arduino_DigitalPinUpdated;
private async void Arduino_DigitalPinUpdated(byte pin, PinState value) {
  await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => {
    if (pin == PB_PIN) UpdatePushbuttonUI(value);
  });
}

// 模拟输入:事件驱动
arduino.AnalogPinUpdated += Arduino_AnalogPinUpdated;
private async void Arduino_AnalogPinUpdated(byte pin, ushort value) {
  await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => {
    if (pin == ANALOG_PIN - 14) analogBar.Value = value; // 注意:事件参数为模拟索引 0~5
  });
}

6. 多目标部署测试

进阶功能预留

PWM 模拟输出(引脚 3,5,6,9,10,11)留待读者实现:pinMode(PWM_PIN, PinMode.PWM) + analogWrite(byte, ushort 0~255),配合滑块控制 LED 亮度。

资源链接

制造工艺

  1. 树莓派 LIRC 通用红外遥控器专业构建指南
  2. Windows IoT + 树莓派打造人脸识别智能门锁
  3. Windows 10 IoT Core 上基于 SHT15 的精准温湿度监测
  4. 树莓派 3 Model B+ 安装 Windows 10 IoT Core 完整步骤指南
  5. 在树莓派 3 上扩展 GoPiGo v2 的 Windows 10 IoT Core 应用
  6. 基于 Arduino、1Sheeld 与红外控制的万能安卓遥控器
  7. Arduino UNO 驱动 16x2 LCD 实现动画与小游戏
  8. 智能物联网罐:ESP8266 + Arduino + 超声波传感器实时监测罐内物位
  9. Python 3 控制 Arduino UNO - 串口通信点亮内置 LED 入门教程
  10. 远程供应链团队必备:高效协作的 App 与设备指南
  11. 掌握物联网 PCB 设计:综合指南
  12. 思科推出云管理物联网监控方案服务IT与OT环境