网站建设工程师职责,wpf做的网站,自己开发app怎么赚钱,制作网页的基本技术标准是什么可喜可贺新板子终于到了#xff0c;啥也不说#xff0c;赶紧搞起来。ESP32的主要功能就是WIFI#xff0c;有了WIFI #xff0c;就可以直接连接家里的WIFI路由器啥的#xff0c;直接连接到外网了#xff0c;这个时候#xff0c;它就相当于是一个小型的电脑或手机#xf… 可喜可贺新板子终于到了啥也不说赶紧搞起来。ESP32的主要功能就是WIFI有了WIFI 就可以直接连接家里的WIFI路由器啥的直接连接到外网了这个时候它就相当于是一个小型的电脑或手机这个时候连外网就很方便了。ESP32的WIFI主要有三种模式1. 是AP模式(WIFI路由器模式)就是让它自己成为路由器或者外地对外提供WIFI服务其他设备可以连接。2. 是STA模式就是电脑或者手机的模式连了家里的WIFI即可。3. 混合模式但是对于 NanoFramework的Wifi STA 还没调通在看。但是AP模式是没啥子问题先搞AP模式。搞一个 扫描全部WIFI的功能和一个WIFI 连接功能 和一个获取网页信息的功能 httprequest 。主要是具有针对性不迷路。WifiScan记得先Nuget包Install-Package nanoFramework.System.Device.Wifi -Version 1.4.0.22代码比较简单直接看代码public class Program{public static void Main(){try{//获取WIFI 适配器WifiAdapter wifi WifiAdapter.FindAllAdapters()[0];// 设置网络改变事件wifi.AvailableNetworksChanged Wifi_AvailableNetworksChanged;// 循环扫描 WIFI列表while (true){Debug.WriteLine(开始扫描WIFI);wifi.ScanAsync();Thread.Sleep(30000);}}catch (Exception ex){Debug.WriteLine(message: ex.Message);Debug.WriteLine(stack: ex.StackTrace);}Thread.Sleep(Timeout.Infinite);}/// summary/// 扫描完成遍历/// /summaryprivate static void Wifi_AvailableNetworksChanged(WifiAdapter sender, object e){Debug.WriteLine(获取WIFI有效信息);WifiNetworkReport report sender.NetworkReport;foreach (WifiAvailableNetwork net in report.AvailableNetworks){Debug.WriteLine($WIFI 名称(SSID):{net.Ssid}, MAC地址BSSID : {net.Bsid}, 信号强度(rssi) : {net.NetworkRssiInDecibelMilliwatts.ToString()}, 信号强度(signal) : {net.SignalBars.ToString()});}}}查看输出的结果可以看到直接获取我们想要的信息。WIFI 连接功能直接看代码public class Program{const string MYSSID Myhome;const string MYPASSWORD 1213141516;public static void Main(){try{var success WifiNetworkHelper.ConnectDhcp(MYSSID, MYPASSWORD, requiresDateTime: true, token: new CancellationTokenSource(60000).Token);if (success){Debug.WriteLine($连接状态 {success});Debug.WriteLine($我们获取到的最新时间: {DateTime.UtcNow.AddHours(8)});}else{Debug.WriteLine($发生了异常);}}catch (Exception e){Debug.WriteLine(${e.Message});}Thread.Sleep(Timeout.Infinite);}}已经连接上了也获取了最新的时间但是这个时间其实是有时区的我们要增加8个小时才对。效果如下Wifi HttpRequestpublic class Program{const string MYSSID Myhome;const string MYPASSWORD 1213141516;public static void Main(){try{var success WifiNetworkHelper.ConnectDhcp(MYSSID, MYPASSWORD, requiresDateTime: true, token: new CancellationTokenSource(60000).Token);if (success){Debug.WriteLine($连接状态 {success});Debug.WriteLine($我们获取到的最新时间: {DateTime.UtcNow.AddHours(8)});}else{Debug.WriteLine($发生了异常);}X509Certificate rootCACert new X509Certificate(Resource.GetBytes(Resource.BinaryResources.digicertglobalrootca));//请求地址并获取信息var httpWebRequest (HttpWebRequest)WebRequest.Create(https://kesshei.github.io/esp32.html);httpWebRequest.Method GET;httpWebRequest.SslProtocols System.Net.Security.SslProtocols.Tls12;httpWebRequest.HttpsAuthentCert rootCACert;using (var httpWebResponse (HttpWebResponse)httpWebRequest.GetResponse()){StreamReader sr new StreamReader(httpWebResponse.GetResponseStream());var data sr.ReadToEnd();Debug.WriteLine();Debug.WriteLine(获取请求完毕);Debug.WriteLine($获取到 {data} 数据长度:{data.Length});}}catch (Exception e){Debug.WriteLine(${e.Message});}Thread.Sleep(Timeout.Infinite);}}这里面要注意的有一点就是http与https的区别。如果 不需要以下两行httpWebRequest.SslProtocols System.Net.Security.SslProtocols.Tls12;
httpWebRequest.HttpsAuthentCert rootCACert;那么只能http我这里是这样子的。要想https那么只有 增加SSL的支持和增加一个证书。运行结果总结终于把ESP32 WIFI这个最重要的环节搞了。这个不搞那就没法玩了。现在应该算是入门了。大佬们好好玩。代码地址https://github.com/kesshei/NanoFreamworkWifiDemo.gitgitee(500 异常后期补发)阅一键三连呦感谢大佬的支持您的支持就是我的动力!