資料介紹
描述
在 Raspberry Pi 上為Windows 10 IoT Core開發應用程序,您很快就會熟悉安裝在開發機器上的“ Windows IoT Core Watcher ”以及 Raspberry Pi 映像的 ISO:
我在想如果我自己的代碼中有這個功能會很好,所以我使用Wireshark試圖找出幕后的魔法。
事實證明,Raspberry Pi(或者更確切地說是 Windows 10 IoT 核心版)?每五秒(大約)廣播一個 150 字節的大UDP 包,其中包含觀察程序應用程序提供的信息。
這是我的設備發送的字節數組的內容(其中 MAC 地址字節的中間部分用 XX 消隱):
不難看出這些字節是?UTF-16文本字符串,這意味著該包實際上包含 75 個 Unicode 字符。
由于只存在 ASCII 字符(實際上只有英文字母、常規數字和幾個標點符號),因此實際上每隔一個字節都未使用。(只有當你設法給你的設備一個非英文字符的名稱時,它們才會被使用。)
將字節解碼為 UTF-16 字符,您將得到:
?
請注意,上面背景較淺的空單元格包含二進制零,因此完全是空的(即,甚至沒有空格字符——完全空白,正如您可以從字節數組中看出的那樣)。
無論如何,我將其包裝到 C# 中的一個庫中,以便在其他項目中進行簡單集成。
例如,這是一個常規 Windows 控制臺應用程序的方法,它偵聽在網絡上找到的設備:Main
using System;
using Laserbrain.WinIoTCoreListener.Lib;
namespace Laserbrain.WinIoTCoreListener.ConsoleExample
{
internal static class Program
{
private static void Main()
{
using (IWinIotCoreListener winIotCoreListener = WinIotCoreListenerFactory
.Create())
{
winIotCoreListener.OnDeviceInfoUpdated += (s, e) =>
{
Console.WriteLine(e.UpdateStatus + ": " + e.DeviceInfo);
};
Console.WriteLine("Up'n'running.");
Console.WriteLine("Press SPACE to list devices!");
Console.WriteLine("Press ESCAPE to exit!");
while (true)
{
switch (Console.ReadKey(true).Key)
{
case ConsoleKey.Spacebar:
Console.WriteLine("-------------------------");
foreach (DeviceInfo deviceInfo in winIotCoreListener.DeviceInfos)
{
Console.WriteLine("* " + deviceInfo);
}
Console.WriteLine("-------------------------");
break;
case ConsoleKey.Escape:
return;
}
}
}
}
}
}
怎么運行的
IWinIotCoreListener
通過調用Create
static 的方法獲取 an WinIotCoreListenerFactory
。只要您不處置提供給您的偵聽器,它就會繼續觸發該OnDeviceInfoUpdated
事件。每次發現新設備、現有設備更改屬性或設備停止廣播其數據包時都會觸發此事件。UpdateStatus
事件 args的屬性告訴您更改的類型(枚舉表示Found
,Updated
或Lost
)。事件 args 的屬性包含在廣播包中收到的所有屬性:和MAC地址——以字符串格式 ( ) 和字節數組 ( )。DeviceInfo
MachineName
IpAddress
MacAddressString
MacAddressBytes
您還可以隨時從DeviceInfos
偵聽器接口的屬性中獲取當前設備列表。
在偵聽器上調用該Dispose
方法將使其停止接收廣播并釋放其所有資源。
獲取庫
您可以通過下載此NuGet 包來獲取該庫,或者,如果您愿意,您可以從GitHub獲取完整的源代碼。
享受!:-)
- 2023可穿戴設備行業技術與市場分析 22次下載
- 使用指紋控制您的設備
- 在Windows IoT(WinIoT)和GrovePi上運行Hello World
- pcb可讓您從電池消除器更改您的設備
- 直流接地故障檢測原理分析及接地故障種類 查找方法
- 基于預測緩存的OpenFlow虛擬流表查找方法 11次下載
- 自動機終結字查找算法實現優化綜述 3次下載
- EXCEL函數:5大模糊查找技巧資料下載
- 幾種查找電路板中地線的方法資料下載
- FPGA查找表LUT和編程方式的基礎知識說明 16次下載
- 您知道你使用的WiFi設備技術是哪一代嗎 12次下載
- OpenFlow流表查找方法 0次下載
- 基于查找表算法的數字減影血管造影系統
- 基于散列表的單片機快速查找算法
- 快速路由器的路由查找和流分類算法研究
- 直流接地故障的查找程序和方法 662次閱讀
- 中性點接地10 kV線路故障的查找方法 131次閱讀
- 電氣故障查找方法介紹 1983次閱讀
- 泰凌微電子蘋果“查找”網絡配件方案介紹 1185次閱讀
- Python如何快速查找文件 1455次閱讀
- 在Android系統開發過程中如何快速查找定位代碼呢 2098次閱讀
- 使用Pytrack跟蹤您的汽車 1231次閱讀
- 如何查找出電線短路故障 1.9w次閱讀
- 空氣開關跳閘的原因有哪些應該如何查找 6561次閱讀
- 故障模型---缺陷查找攻擊的二十一招大法 2221次閱讀
- 虛擬機:Linux查找網卡所用的驅動 3564次閱讀
- PLC外圍線路和控制線路的故障查找及解決 8240次閱讀
- nova 3e深度體驗,開啟您的智慧生活 6078次閱讀
- 圖像處理算法之二分查找 4892次閱讀
- AVL 樹和普通的二叉查找樹的詳細區別分析 5924次閱讀
下載排行
本周
- 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次下載 | 免費
評論
查看更多