这个存储库包含了nanoFramework System.Device.Wifi。
Component | Build Status | NuGet Package |
---|---|---|
System.Device.Wifi |
WifiNetworkHelper主要用于帮助您自动连接到Wifi网络。 也就是说,它也可以用来检查您是否有一个有效的IP地址和有效的日期在任何接口,包括在以太网上。
下面的代码将允许您自动连接,使用特定证书等待有效的IP地址和有效日期 :
const string Ssid = "您的wifi名称";
const string Password = "您的wifi密码";
// 连接wifi超时时间60秒
CancellationTokenSource cs = new(60000);
var success = WifiNetworkHelper.ConnectDhcp(Ssid, Password, requiresDateTime: true, token: cs.Token);
if (!success)
{
// 如果出现异常你可以通过 ConnectionError 获取异常的详情信息:
Debug.WriteLine($"无法连接到网络,错误: {WifiNetworkHelper.Status}");
if (WifiNetworkHelper.HelperException != null)
{
Debug.WriteLine($"ex: {WifiNetworkHelper.HelperException}");
}
}
//否则 连接成功,您已经拥有有效的IP和时间
注意,这个函数将在设备上存储网络证书。
您还可以使用预先存储在设备上的证书连接到网络,这取决于您拥有的设备类型。 请检查您的设备是否有适当的支持。
// wifi证书已经存储在设备上
// 给连接wifi的超时时间60秒
CancellationTokenSource cs = new(60000);
var success = WifiNetworkHelper.Reconnect(requiresDateTime: true, token: cs.Token);
if (!success)
{
// 如果出现异常你可以通过 ConnectionError 获取异常的详情信息:
Debug.WriteLine($"无法连接到网络,错误: {WifiNetworkHelper.Status}");
if (WifiNetworkHelper.HelperException != null)
{
Debug.WriteLine($"ex: {WifiNetworkHelper.HelperException}");
}
}
//否则 连接成功,您已经拥有有效的IP和时间
您可以强制扫描网络,然后加入网络。 这种情况在特定条件下可能很有用。 请注意,您可能必须将此方法与前面的方法之一一起使用,这取决于您已经连接时对重新扫描的支持。
const string Ssid = "您的wifi名称";
const string Password = "您的wifi密码";
// 连接wifi超时时间60秒
CancellationTokenSource cs = new(60000);
var success = WifiNetworkHelper.ScanAndConnectDhcp(Ssid, Password, requiresDateTime: true, token: cs.Token);
if (!success)
{
// 如果出现异常你可以通过 ConnectionError 获取异常的详情信息:
Debug.WriteLine($"Can't connect to the network, error: {WifiNetworkHelper.Status}");
if (WifiNetworkHelper.HelperException != null)
{
Debug.WriteLine($"ex: {WifiNetworkHelper.HelperException}");
}
}
//否则 连接成功,您已经拥有有效的IP和时间
注意,这个函数将在设备上存储网络证书。
你可以用一个静态IP地址加入一个Wifi网络 :
const string Ssid = "您的wifi名称";
const string Password = "您的wifi密码";
// 连接wifi的超时时间
CancellationTokenSource cs = new(60000);
var success = WifiNetworkHelper.ConnectFixAddress(Ssid, Password, new IPConfiguration("192.168.1.7", "255.255.255.0", "192.168.1.1"), requiresDateTime: true, token: cs.Token);
WifiNetworkHelper提供了几个功能来检查您的IP地址的有效性,日期时间,并帮助设置它们 :
var success = IsValidDateTime();
// 如果 success是true, 那就是一个有效的时间
success = IsValidIpAddress(NetworkInterfaceType.Wireless80211);
// 如果成功为true,表示您在无线适配器上有一个有效的IP地址
//注意,像127.0.0.1这样的本地地址被认为是一个有效的以太网地址
您也可以等待一个有效的IP地址和日期时间 :
//60秒的超时时间检查是否是个有效ip和有效时间
CancellationTokenSource cs = new(60000);
var success = WaitForValidIPAndDate(true, NetworkInterfaceType.Ethernet, cs.Token);
// 如果 success是true,那就连接成功
有关文档、提供反馈、问题和找出如何贡献,请参阅 主存储库.
加入我们的Discord社区 这里.
此项目的贡献者列表可在以下网站找到 贡献者.
nanoFramework类库在 麻省理工学院的许可.
这个项目采用了贡献者契约所定义的行为准则,以澄清我们社区的预期行为。
有关更多信息,请参见 .net基金会行为准则.
This project is supported by the .NET Foundation.