资料介绍
描述
在此项目中,您将使用适用于 Raspberry Pi 2 组件上的 Windows 10 IoT Core 的 Adafruit 入门包来创建一个项目,该项目会根据 Web API 调用的响应使 LED 闪烁。
硬件设置
按照页面底部的 Fritzing 图将 Raspberry Pi2 连接到面包板和其他组件。
注意:LED 引脚已从之前的Blinky 示例从 GPIO 5 更改为 GPIO 18。
代码
主页.cs
您可以从https://github.com/ms-iot/adafruitsample下载代码启动项目,我们将引导您完成添加与 Web 服务对话并在地图上获取您的 pin 所需的代码。什么地图?
打开“Lesson_201\StartSolution\Lesson_201.sln ”并打开 MainPage.xaml.cs 文件。
我们已经填写了一些方法作为您在此解决方案中的起点。如果你想跳到前面,你可以在以下位置找到所有代码已完成的解决方案:“Lesson_201\FullSolution\Lesson_201.sln”
在 MainPage 类的顶部添加以下行。这些定义了您将用于控制 LED 的 Pi2 上的哪个引脚以及对您将很快添加的 InternetLed 类的引用。
密封部分 : { GPIOToUse = ; InternetLed ernetLed; 主页()
现在在 OnNavigatedTo 方法中添加代码,它将:
- 创建一个新的 InternetLed 对象
- 进行 Web API 调用以将我们的图钉放在制造商地图上
- 初始化对象
- 调用 webapi 获取我们的延迟值。
- 使用返回的延迟循环 100 次,每次通过都会使 LED 闪烁。
如果您不想在地图上添加图钉,请删除MakePinWebAPICall();
protected override async void { 调试。 ; ; { internetLed = ; internetLed。; blinkDelay = await internetLed. ; ( i = ; i < ; i++) { 互联网主导。 ; 等待任务。; } } 抓住(例外 e) { 调试。 ; } }
InternetLed.cs
现在您将添加一个新的类文件,其中大部分工作将实际执行。
从主菜单中选择项目->添加类...
添加新项对话框将打开并默认为 Visual C# 类。
输入InternetLed.cs作为文件名,然后单击添加
将为您创建并打开类文件。
更新使用的
您需要替换文件顶部的 using 部分,以便代码可以引用 GPIO 设备、Web 界面和系统诊断。
; 。; .Net.Http; ; Windows.Devices.Gpio; 命名空间 Lesson_201 {
班级成员
在类括号内添加以下行,稍后代码将引用这些行。
{ GpioController gpio; GpioPin LedControlGPIOPin; LedControlPin; DefaultBlinkDelay = ; eLedState { Off, On }; eLedState _LedState;
类构造器
现在,添加将存储用于控制 LED 的引脚值的类构造函数代码。
公共 { 调试。 ; LedControlPin = ledControlPin; }
初始化成员
添加初始化代码,它负责设置与 Pi2 通用输入输出 (GPIO) 控制器的通信。
公共无效
{
调试。 ;
gpio = GpioController。 ;
LedControlGPIOPin = gpio. ;
LedControlGPIO引脚。 ;
GpioPinValue startingValue = LedControlGPIOPin. ;
_LedState = (startingValue GpioPinValue.Low) ? eLedState.On : eLedState.Off;
}
LedState 属性
这将与 led 状态(开与关)的交互包装到一个中央位置。
//LED交互的属性。 eLedState LedState { {_LedState; } { .WriteLine("InternetLed::LedState::set " + .ToString()); (LedControlGPIOPin != ) { GpioPinValue newValue = ( == eLedState.On GpioPinValue.High : GpioPinValue.Low); LedControlGPIO引脚。(新值); _LedState =; } } }
眨眼法
添加处理更改 LED 状态的方法。
// 将 LED 的状态从 ) { == eLedState.On ) { LedState = eLedState。; } { LedState = eLedState。; } }
GetBlinkDelayFromWeb 方法
这是该类的主要工作完成的地方。
首先设置 HttpClient 调用,然后执行它。然后将返回的字符串输出到调试通道中,这样就可以看到了。
接下来,我们确定延迟的值是多少并返回它。
WebAPIURL = ; { Debug.WriteLine( ); responseString = ; { ( client = ()) { responseString = await client.GetStringAsync(WebAPIURL); Debug.WriteLine( .Format( , responseString)); } } (例外 e) { Debug.WriteLine(e.Message); } ; (! .TryParse(responseString, out )) { = DefaultBlinkDelay; } ; } } }
试试看
输入所有代码后,您可以构建解决方案并在 Pi2 上运行代码。如果需要,您可以查看有关如何在 PI 上连接和运行代码的说明,重新访问第 1 课 - Blinky。
打开 Visual Studio 的输出选项卡。如果需要在主菜单上使用Debug -> Window -> Output
现在您可以观察 Debug.WriteLine 命令的输出。
查找以“Response string:”开头的消息,随后将在“[]”方括号中包含来自 Web API 的响应。
MainPage::OnNavigatedTo InternetLed::新InternetLed InternetLed::InitalizeLed InternetLed::MakeWebApiCall 响应:[ ] InternetLed::LedState 关闭
闪烁的 LED
此时,您的 LED 应该根据从 Web API 返回的时间字符串的值大约每秒闪烁一次。
在这里查看下一课。
- 闪烁的LED开源硬件
- LED闪烁开源分享
- 嗡嗡声和闪烁的LED显示屏以提醒开源项目
- 如何使用Arduino使LED闪烁
- 闪烁的LED开源分享
- MCP23017无延迟闪烁开源项目
- Web API Manager阻止网站调用浏览器不必要的API
- 智能Mesh Web HART经理API指南
- FreeRTOS中的API函数功能分析及调用方法 32次下载
- 如何使用Python实现购物比价API调用的代码实例 25次下载
- 使用Python实现游戏APP充值API调用的代码实例 38次下载
- ASP NET MVC和WEB与API的知识点总结 13次下载
- API-Shop-OCR-营业执照识别API接口Python调用示例代码说明 6次下载
- python代码示例之基于Python的日历api调用代码实例 42次下载
- 融合多维信息的主题自适应Web API推荐方法 0次下载
- 调用第三方API接口会遇到哪些问题?如何解决? 1881次阅读
- 调用第三方 API 接口会遇到哪些问题 1292次阅读
- Api接口安全测试方法大全(附一键化扫描工具) 4328次阅读
- 关于API接口相关知识 API的权限与安全问题 1591次阅读
- 一次对API响应时间的优化探索 858次阅读
- LED平板灯闪烁的原因 1.8w次阅读
- 八个将在未来发挥重要作用的Web应用程序的API 2281次阅读
- 初学Java Web开发应该如何学习 2645次阅读
- PIC单片机使LCD面板产生闪烁效果的设计 1091次阅读
- 闪烁LED构成的闪光电路 1.1w次阅读
- 声控闪烁LED灯电路 1.4w次阅读
- 关于led射灯在闪烁时的解决办法 9644次阅读
- LED灯闪烁是怎么回事 1.9w次阅读
- LED闪烁灯制作教程 2.5w次阅读
- Web API接口设计经验总结 5108次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多