掌控未来,就从Windows远程Arduino开始!
项目简介
Windows远程Arduino是一个强大的开源Windows运行时组件库,旨在让开发者通过蓝牙、USB、WiFi或以太网控制Arduino板。无论你是C++/CX、C#还是JavaScript开发者,只要将这个组件引入你的项目,就能在任何WinRT语言中直接使用其功能。它基于Firmata协议,而该协议已在Arduino IDE的预装库中实现。
简而言之 尝试Windows远程Arduino体验版应用, 开始你的远程Arduino项目之旅!
简单试用
Windows远程Arduino是软件与物理世界的桥梁,借助Windows 10的强大功能,我们可以为Windows手机、Surface Pro 3、桌面电脑甚至是Raspberry Pi 2打开新世界的大门。只需将设备配对到Arduino,就可以用指尖触碰现实!
我们还推出了一款名为Windows远程Arduino体验的通用Windows应用,无需编写代码即可探索GPIO、模拟输入和PWM功能,包括在Windows IoT Core设备如Raspberry Pi 2上操作!该应用是开源的,下载并部署它,你的探索之旅即刻启程!
- 将StandardFirmata上传至Arduino,记下其设置的波特率。
- 从Windows商店下载Windows远程Arduino体验,或直接在Visual Studio下载源码进行部署。
- 连接设备时确保选择正确的波特率。蓝牙设备可能需要特定的波特率,StandardFirmata和Windows远程Arduino两者间的设置需一致。
开始你的远程Arduino项目
只需五步,你就可以创建自己的项目!
- 向Arduino上传StandardFirmata
- 创建项目或使用示例项目
- 选择连接方法。串行通信如USB和蓝牙有一些设置需要检查,还有关于如何配置蓝牙设备的完整指南。也可以使用以太网或WiFi,但需要额外的硬件。
- 验证Windows解决方案中的
package.appxmanifest
文件是否包含了必要的设备功能。 - 查看使用说明,开始编写你的远程Arduino代码!
功能特性
Windows远程Arduino开箱即用的功能包括:
- GPIO — 模拟和数字I/O
- digitalWrite — 数字写入
- digitalRead — 数字读取
- analogWrite — 模拟写入
- analogRead — 模拟读取
- pinMode — 设置任何引脚的模式
- 事件监听 — 当值变化或报告时接收事件
- I2C/TwoWire — 发送/接收通过I2C与其他设备的数据
- 自定义协议 — 通过Firmata SysEx命令实现自定义协议
微控制器
Arduino系列是一种基于开放平台的微控制器,设备简单可编程,可以处理GPIO等基本任务,以及更复杂的I2C通信协议。利用简单的Arduino“草图”,你可以快速将传感器和其他设备接入Arduino,赋予硬件指令。
然而,像Arduino这样的微控制器受到单线程性质的限制。Windows远程Arduino则将物理控制的全部功能与Windows设备(如多线程、原生文件系统、简便的互联网访问等)的强大软件能力结合在一起,开启新的可能性。
Windows 10
Windows 10推出了通用Windows平台(UWP)的概念。这意味着开发者可以开发一个适用于所有运行Windows 10设备的解决方案,包括Windows Phone 10和Raspberry Pi 2。只需在你的解决方案中包含Windows远程Arduino库,就能把任何Windows设备变成Arduino的远程编程界面!现在,你可以利用Windows 10操作系统的力量,通过多线程、数据存储、互联网访问和自然用户体验,为Arduino开辟全新的高级功能和创新项目。
支持的主板
以下列出了一些经过充分测试,使用本库所有连接方法的主板。未列出的主板并不意味着不兼容,只是尚未经过测试和验证。实际上,大多数主板都能与Windows远程Arduino配合使用,只要它们能够运行StandardFirmata或其他理解Firmata协议的草图。
Arduino
- Uno
- Leonardo
- Mega
DFRobot
- Bluno
- Bluno Beetle
软件架构
实现采用三层结构设计,每层都作为Windows运行时组件的入口点。大多数制造商可以只使用最顶层(RemoteWiring),它的接口几乎与Arduino Wiring完全相同,提供了基础的GPIO和通过I2C与其他设备通信的指令。大部分制造商可能永远不需要更多的东西。然而,对于要创建复杂行为的想法,制作者可以选择直接与Firmata层交互。
层级
架构中有三个层级;它们是接口、协议和传输。每一层都是下面层级的消费者,因此依赖于它们。然而,一层永远不会依赖其上面的任何层。分层构造使得可以随时更换或直接使用任意一层的实现。按照层级顺序,它们分别是:
- RemoteWiring(接口)
- Firmata(协议)
- Serial(传输)
例如,Firmata层会翻译RemoteWiring层请求到Firmata协议,然后传递给Serial层,由其将数据传送到Arduino(反之亦然)。Firmata层不知道Serial实现的具体情况,也不知道实际使用的传输方式。相反,Firmata层完全不知道RemoteWiring层的存在,因此可以用于非常高级的项目需求!
RemoteWiring
RemoteWiring层的主要接口类是RemoteDevice,这是大多数情况下应该使用的主API入口点。它提供了一个几乎与Arduino Wiring API相同的接口,如果你自己写过Arduino草图,应该很熟悉。然而,几乎所有通过这一层的调用都会被导向下方的Firmata层,所以只有在项目需要非常高级的行为时才需要绕过或扩展这一层!
Firmata
Firmata的实现直接来源于Firmata仓库,做了最小程度的修改(例如移除arduino/hardware依赖),并被封装在一个透明的Windows运行时组件库类中,称为UwpFirmata。
包装器没有改变或添加功能,只提供了参数平滑(例如char *
-> String
)和范式转换(例如callbacks
-> events
)。这一层完全独立于上方的RemoteWiring层,因此可以作为一个完全功能的Firmata实现!
UwpFirmata利用Windows操作系统的一个优势是可以在后台线程读取输入,而不是局限于单一的执行线程。大多数情况下,这个线程是由库自行创建和管理的。但是,如果你选择自己构建Firmata层(即创建UwpFirmata对象),可以选择启用此功能或者自己处理。如果项目不需要从Arduino读取输入(或想要自己处理输入),可以去高级使用部分了解更多信息。
探索你的创造力,用Windows远程Arduino打开无限可能!
- DDeepSeek-V3.1-BaseDeepSeek-V3.1 是一款支持思考模式与非思考模式的混合模型Python00
- HHunyuan-MT-7B腾讯混元翻译模型主要支持33种语言间的互译,包括中国五种少数民族语言。00
GitCode-文心大模型-智源研究院AI应用开发大赛
GitCode&文心大模型&智源研究院强强联合,发起的AI应用开发大赛;总奖池8W,单人最高可得价值3W奖励。快来参加吧~062CommonUtilLibrary
快速开发工具类收集,史上最全的开发工具类,欢迎Follow、Fork、StarJava05GitCode百大开源项目
GitCode百大计划旨在表彰GitCode平台上积极推动项目社区化,拥有广泛影响力的G-Star项目,入选项目不仅代表了GitCode开源生态的蓬勃发展,也反映了当下开源行业的发展趋势。07GOT-OCR-2.0-hf
阶跃星辰StepFun推出的GOT-OCR-2.0-hf是一款强大的多语言OCR开源模型,支持从普通文档到复杂场景的文字识别。它能精准处理表格、图表、数学公式、几何图形甚至乐谱等特殊内容,输出结果可通过第三方工具渲染成多种格式。模型支持1024×1024高分辨率输入,具备多页批量处理、动态分块识别和交互式区域选择等创新功能,用户可通过坐标或颜色指定识别区域。基于Apache 2.0协议开源,提供Hugging Face演示和完整代码,适用于学术研究到工业应用的广泛场景,为OCR领域带来突破性解决方案。00openHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!C0381- WWan2.2-S2V-14B【Wan2.2 全新发布|更强画质,更快生成】新一代视频生成模型 Wan2.2,创新采用MoE架构,实现电影级美学与复杂运动控制,支持720P高清文本/图像生成视频,消费级显卡即可流畅运行,性能达业界领先水平Python00
- GGLM-4.5-AirGLM-4.5 系列模型是专为智能体设计的基础模型。GLM-4.5拥有 3550 亿总参数量,其中 320 亿活跃参数;GLM-4.5-Air采用更紧凑的设计,拥有 1060 亿总参数量,其中 120 亿活跃参数。GLM-4.5模型统一了推理、编码和智能体能力,以满足智能体应用的复杂需求Jinja00
Yi-Coder
Yi Coder 编程模型,小而强大的编程助手HTML013
热门内容推荐
最新内容推荐
项目优选









