資料介紹
描述
在 Raspberry Pi 上為Windows 10 IoT Core開發(fā)應(yīng)用程序,您很快就會熟悉安裝在開發(fā)機(jī)器上的“ Windows IoT Core Watcher ”以及 Raspberry Pi 映像的 ISO:
我在想如果我自己的代碼中有這個功能會很好,所以我使用Wireshark試圖找出幕后的魔法。
事實(shí)證明,Raspberry Pi(或者更確切地說是 Windows 10 IoT 核心版)?每五秒(大約)廣播一個 150 字節(jié)的大UDP 包,其中包含觀察程序應(yīng)用程序提供的信息。
這是我的設(shè)備發(fā)送的字節(jié)數(shù)組的內(nèi)容(其中 MAC 地址字節(jié)的中間部分用 XX 消隱):
不難看出這些字節(jié)是?UTF-16文本字符串,這意味著該包實(shí)際上包含 75 個 Unicode 字符。
由于只存在 ASCII 字符(實(shí)際上只有英文字母、常規(guī)數(shù)字和幾個標(biāo)點(diǎn)符號),因此實(shí)際上每隔一個字節(jié)都未使用。(只有當(dāng)你設(shè)法給你的設(shè)備一個非英文字符的名稱時,它們才會被使用。)
將字節(jié)解碼為 UTF-16 字符,您將得到:
?
請注意,上面背景較淺的空單元格包含二進(jìn)制零,因此完全是空的(即,甚至沒有空格字符——完全空白,正如您可以從字節(jié)數(shù)組中看出的那樣)。
無論如何,我將其包裝到 C# 中的一個庫中,以便在其他項(xiàng)目中進(jìn)行簡單集成。
例如,這是一個常規(guī) Windows 控制臺應(yīng)用程序的方法,它偵聽在網(wǎng)絡(luò)上找到的設(shè)備: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;
}
}
}
}
}
}
怎么運(yùn)行的
IWinIotCoreListener
通過調(diào)用Create
static 的方法獲取 an WinIotCoreListenerFactory
。只要您不處置提供給您的偵聽器,它就會繼續(xù)觸發(fā)該OnDeviceInfoUpdated
事件。每次發(fā)現(xiàn)新設(shè)備、現(xiàn)有設(shè)備更改屬性或設(shè)備停止廣播其數(shù)據(jù)包時都會觸發(fā)此事件。UpdateStatus
事件 args的屬性告訴您更改的類型(枚舉表示Found
,Updated
或Lost
)。事件 args 的屬性包含在廣播包中收到的所有屬性:和MAC地址——以字符串格式 ( ) 和字節(jié)數(shù)組 ( )。DeviceInfo
MachineName
IpAddress
MacAddressString
MacAddressBytes
您還可以隨時從DeviceInfos
偵聽器接口的屬性中獲取當(dāng)前設(shè)備列表。
在偵聽器上調(diào)用該Dispose
方法將使其停止接收廣播并釋放其所有資源。
獲取庫
您可以通過下載此NuGet 包來獲取該庫,或者,如果您愿意,您可以從GitHub獲取完整的源代碼。
享受!:-)
- 2023可穿戴設(shè)備行業(yè)技術(shù)與市場分析 21次下載
- 使用指紋控制您的設(shè)備
- 在Windows IoT(WinIoT)和GrovePi上運(yùn)行Hello World
- pcb可讓您從電池消除器更改您的設(shè)備
- 直流接地故障檢測原理分析及接地故障種類 查找方法
- 基于預(yù)測緩存的OpenFlow虛擬流表查找方法 11次下載
- 自動機(jī)終結(jié)字查找算法實(shí)現(xiàn)優(yōu)化綜述 3次下載
- EXCEL函數(shù):5大模糊查找技巧資料下載
- 幾種查找電路板中地線的方法資料下載
- FPGA查找表LUT和編程方式的基礎(chǔ)知識說明 16次下載
- 您知道你使用的WiFi設(shè)備技術(shù)是哪一代嗎 12次下載
- OpenFlow流表查找方法 0次下載
- 基于查找表算法的數(shù)字減影血管造影系統(tǒng)
- 基于散列表的單片機(jī)快速查找算法
- 快速路由器的路由查找和流分類算法研究
- 中性點(diǎn)接地10 kV線路故障的查找方法 131次閱讀
- 電氣故障查找方法介紹 1430次閱讀
- Kissflow Project:以您的方式管理您的項(xiàng)目 487次閱讀
- 泰凌微電子蘋果“查找”網(wǎng)絡(luò)配件方案介紹 945次閱讀
- Python如何快速查找文件 1302次閱讀
- 在Android系統(tǒng)開發(fā)過程中如何快速查找定位代碼呢 1899次閱讀
- 使用Pytrack跟蹤您的汽車 1074次閱讀
- 如何查找出電線短路故障 1.8w次閱讀
- 空氣開關(guān)跳閘的原因有哪些應(yīng)該如何查找 6192次閱讀
- 故障模型---缺陷查找攻擊的二十一招大法 2070次閱讀
- 虛擬機(jī):Linux查找網(wǎng)卡所用的驅(qū)動 3443次閱讀
- PLC外圍線路和控制線路的故障查找及解決 7758次閱讀
- nova 3e深度體驗(yàn),開啟您的智慧生活 5995次閱讀
- 圖像處理算法之二分查找 4782次閱讀
- AVL 樹和普通的二叉查找樹的詳細(xì)區(qū)別分析 5717次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多