Windows 10 IoT Core : 无线遥控Hydroflyer

De****ne UID.1201912
2015-11-21 发表

本帖最后由 newsmanager 于 2015-11-21 08:24 编辑

***附件停止解析***
Hydroflyer是采用Windows Phone进行控制的无线遥控船。其开发源代码也是基于Windows操作系统。

下面将介绍这些东西:

微软已经发布了Windows IoT build 10.0.10556(内幕预览)的相关功能,可以在Visual Studio 2015编写Windows IoT Core 的Arduino程序。由于Windows IoT Core (10.0.10556)并不支持PWM和UART,对于这个项目,我们需要用PWM来控制ESP8266-01和GPS电机的速度和串口(UART),且我们知道Windows IoT支持ADC和PWM外接芯片,所以我们也使用了树莓派2。

***附件停止解析***

须知:
[list=1]
[*]你的树莓派2必须拥有最新的Windows IoT Core 内幕预览。(***链接停止解析***)(***链接停止解析***)
[*]树莓派2必须设置为“闪烁”特征(“闪烁”是一个直接通过内存访问GPIO引脚,驱动器I2C和SPI的接口)。 (***链接停止解析***)
[*]必须安装最新的 Windows IoT Core 项目模板。 (***链接停止解析***)
[/list]
基本概念:
树莓派2(运行在Windows 10 IoT Core上)通过Windows设备的通信链路进行通信。Windows 10 IoT Core将通过相应的Windows设备产生相应的信号来控制发动机和船舵。此外,在Windows IoT上运行的树莓派2将传感器数据发送回远程Windows设备进行处理和显示。

***附件停止解析***

让我们来看看使用哪种通信和传感器模块:

***附件停止解析***

每艘船有不同的硬件配置来操纵它。让我们来探讨三个基本的配置模式:

***附件停止解析***

该项目的源代码只开发模式2.如果你真正理解网关的概念你可以尝试开发模式1和3

网关(ADC,PWM和串行通讯)

随着Windows IoT build 10531的发布,ADC和PWM支持外接芯片。这意味着对于板载插针没有直接的支持。甚至,板载串行端口是无用的,因为它可以使用内核调试器。在这个项目中,无线网络(ESP8266)和GPS模块(UBLOX Neo6mV2)使用串行通讯(UART)。 PWM将被用于马达速度控制以及用于配置模式3控制伺服。 Arduino Nano或Arduino Pro Mini(16MHz)将被用于提供串行端口以及PWM信号。这将作为网关:

***附件停止解析***

目前,Windows IoT可以通过网关接入ADC,PWM和串行设备。访问任何外围设备连接到所述网关设备,它只需通过I2C总线来访问网关芯片。如果主要的外围设备连接到网关(Arduino),那么这树莓派2和Windows IoT将要做什么?

树莓派和Windows IoT可以被称为大脑。它通过ESP8266,处理他们获取数据,并通过网关控制外围设备。 Arduino则用到了它的内存和处理能力,但它不能够提供实时应用。

让我们来探讨网关程序:

***附件停止解析***

Sketch:

该项目代码分为三部分:

[list=1]
[*]ESP8266 Sketch
[*]网关Sketch
[*]Windows IoT Sketch
[/list]
[list]
[*]ESP8266 Sketch的主要目标是建立接入点,并侦听传入的GET请求。请求必须放在全局参数缓冲区。一旦参数复制,便通过网关从Windows IoT响应发回纯文本数据。因此ESP8266 Sketch负责与远程设备进行通信
[/list]
[list]
[*]网关Sketch提供ADC,PWM和串行服务到Windows IoT。它还负责通过I2C交流与ESP(使用UART)数据以及Windows IoT Sketch
[/list]
[list]
[*]Windows IoT Sketch是大脑。可以使用它进行复杂的处理,如独立的制导系统。Windows IoT Sketch可以得到由遥控装置传递到ESP8266的需求参数。它也可以通过网关发送字符串使用ESP8266远程设备。
[/list]
下图将帮助您更好地了解数据是如何交换的:

***附件停止解析***

部署:
[list]
[*]ESP8266-01 Sketch:要刷新或重新编程ESP8266-01,你需要连线ESP8266-01如下图所示:
[/list]

***附件停止解析***

***附件停止解析***

一旦你完成了布线,打开Arduino IDE并完成下面操作:

***附件停止解析***

***附件停止解析***

***附件停止解析***

***附件停止解析***

***附件停止解析***

***附件停止解析***

***附件停止解析***
[list]
[*]网关Sketch(Arduino Nano):上传网关Sketch到Arduino Nano(末尾提供代码)
[/list]
[list]
[*]Windows IoT Sketch:部署“Arduino接入IoT'(***链接停止解析***)到树莓派2。
[/list]
***附件停止解析***

***附件停止解析***

***附件停止解析***

***附件停止解析***

在成功部署后,我们需要注册这个应用程序的启动程序。您可以通过两种方式注册:

[list=1]
[*]网站管理门户
[*]PowerShell
[/list]
但由于内幕预览(10.0.10556)当前版本的bug,web管理门户网站将无法使用,不要尝试使用web管理门户网站进行注册,因为重启后树莓派2将无法启动。最后,你将不得不重装。

因此,我们使用PowerShell进行注册:

[list=1]
[*]使用PowerShell的登录到您的树莓派2
[*]类型:IoT启动删除,然后按Enter
[*]找到该应用程序已使用部署到树莓派2:IoT启动列表
[*]加入您的应用程序启动应用程序:IoT启动添加无头文件<您的应用程序内包名称>
[*]现在,Windows IoT设置在无头文件模式下启动:设置启动选项无头文件
[*]最后,你需要重新启动Windows IoT,以保存更改:shutdown /r /t 0
[/list]
连接上述所有:

***附件停止解析***

最后,部署提供了为Windows Phone8.1/10的应用程序(***链接停止解析***)

资料提供:

***链接停止解析***,***链接停止解析***,***链接停止解析***,***链接停止解析***,***链接停止解析***,***链接停止解析***,***链接停止解析***

代码提供:

***附件停止解析***

***附件停止解析***

***附件停止解析***

***附件停止解析***

敬告:
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
全部回复:
lh****nt UID.335089
2015-11-21 回复

感觉好厉害。。。但是没看懂唉。。。

四叶****幻想 UID.986522
2015-11-21 使用 Lumia Icon 回复

高大上,知道树梅派,百度也没找到教程,没想到能在这看到

苏小七 UID.622519
2015-11-21 回复

要不要这么牛{:3_106:}

seny UID.88319
2015-11-21 回复

厉害。单片机表示树莓派你贵了。

g****c UID.16121
2015-11-21 回复

好多资料呢,

楼主这些东西是翻译过来的?
自己有测试过吗?

感觉代码都是C++的呢。。

Er****os UID.835272
2015-11-21 回复

完全看不懂,但是觉得好厉害!

sinxiaji UID.379987
2015-11-23 使用 Lumia 640 回复

支持一下
***图片停止解析***
***图片停止解析***

本站使用Golang构建,点击此处申请开源鄂ICP备18029942号-4联系站长投诉/举报