Skip to content

Latest commit

 

History

History
145 lines (107 loc) · 6.54 KB

README.zh-cn.md

File metadata and controls

145 lines (107 loc) · 6.54 KB

Quality Gate Status Reliability Rating NuGet #yourfirstpr Discord

nanoFramework logo


文档语言: English | 简体中文

欢迎使用 .NET nanoFramework System.Device.Wifi Library repository

这个存储库包含了nanoFramework System.Device.Wifi。

构建状态

Component Build Status NuGet Package
System.Device.Wifi Build Status NuGet

WifiNetworkHelper用法

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地址连接

你可以用一个静态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);

Checking valid IP address and date

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基金会行为准则.

.NET Foundation

This project is supported by the .NET Foundation.