当前位置: 首页 > news >正文

网站开发软件科技公司网站备案查询系统php版

网站开发软件科技公司,网站备案查询系统php版,济南网页设计,hao123从网上开始通过前面的介绍#xff0c;我们已经学会了如何使用 .NET nanoFramework 为 ESP32 设备连接 Wi-Fi 网络。然而#xff0c;在实际的物联网环境中#xff0c;我们往往需要使用更便捷的式来满足配网需求。这篇文章将带你了解一些常见的配网方案#xff0c;并以 ESP32 为例… 通过前面的介绍我们已经学会了如何使用 .NET nanoFramework 为 ESP32 设备连接 Wi-Fi 网络。然而在实际的物联网环境中我们往往需要使用更便捷的式来满足配网需求。这篇文章将带你了解一些常见的配网方案并以 ESP32 为例介绍如何使用 .NET nanoFramework 实现为 ESP32 蓝牙配网。 1. 引言 经过前面的介绍我们已经学会了如何 为 ESP32 设备连接 Wi-Fi 网络然后这种代码中硬编码的方式虽然简单但在实际的物联网环境中我们往往需要使用更便捷的方式来满足配网需求。而且也不适合于产品化的物联网设备。今天我们就来看看如何使用 .NET nanoFramework 实现为 ESP32 蓝牙配网。 2. 常见配网方案 为了能让我们的物联网设备连接到网络配网的方式也有很多种每种方式都有其特定的应用场景和优缺点。在这里我们不再详细的描述其原理只是带大家做一个简单的了解如果你感兴趣可以自行搜索。下面是一些常见的配网方式的总结 softAP在这种模式下待配网设备会创建一个热点用户可以通过手机或其他设备连接到这个热点然后通过特定的接口设置网络信息。这种方式的优点是兼容性较好不需要额外的硬件支持但缺点是但手机端需要做两次 Wi-Fi 连接设置的切换步骤较复杂用户体验较差。 Sniffer模式Sniffer模式也被称为混杂模式待配网设备在这种模式下可以接收所有的数据包不进行过滤。例如SmartConfig、AirKiss、simpleConfig 等这些协议就是使用这种方式通过监听特定的数据包来获取网络信息。这种方式的优点是不需要用户进行复杂的操作但一般为各厂商采用私有协议兼容性和互操作性较差。 蓝牙配网待配网设备在这种模式下会开启蓝牙接口用户可以通过手机或其他设备的蓝牙连接到待配网设备然后通过蓝牙传输网络信息。这种方式的优点是操作简单用户体验好但缺点是需要蓝牙硬件支持。 二维码配网如果待配网设备有摄像头可以通过扫描二维码来获取网络信息。这种方式的优点是操作简单用户体验好但缺点也是非常明显需要摄像头硬件支持而且摄像头聚焦用户二维码放置的远近都需要提示好用户影响用户体验。 声波配网如果待配网设备有麦克风可以通过声音编码来获取网络信息。这种方式的优点是不需要额外的硬件支持但缺点是可能会受到环境噪音的干扰影响配网的成功率。 3. 蓝牙配网的实现 虽然方案有很多但是针对这一款 ESP32-S3-Zero 开发板其拥有蓝牙模块刷写 ESP32_S3_BLE 固件后我们可以使用蓝牙配网的方式来为其配网。 3.1. 蓝牙配网协议 Improv 使用蓝牙配网我们处理可以自己定义进行私有的实现外也可以使用开源的协议快速完成开发。除了不用自己造轮子外配网的工具也不需要自己设计了。Improv 是一个免费且开放的标准它允许设备通过蓝牙进行安全的 Wi-Fi 配网这个过程可以通过以下步骤完成 打开设备客户端使用Improv协议将Wi-Fi凭据发送到待配网设备设备连接到Wi-Fi网络并返回一个URL。客户端使用该URL连接到设备并继续设置设备。 Improv协议可以通过蓝牙低功耗Bluetooth Low Energy或通过串行端口使用。这两种协议都可以从浏览器中使用。不过串口就需要连线了我们这里使用的是蓝牙低功耗的方式。 关于 Improv 协议的详细信息可以参考其官方文档。 3.2 依赖准备 首先我们需要安装以下三个包 nanoFramework.System.Device.Wifi用于连接 Wi-Fi 网络nanoFramework.Device.Bluetooth用于实现蓝牙配网nanoFramework.System.Net.Http用于演示联网后的网络服务 对于 Improv 协议的实现没有依赖包但是在官方的 Samples 仓库中有一个ImprovWifi示例我们可以参考其实现直接使用其 Improv.cs然后 using ImprovWifi; 即可。 3.3 编码实现 ImprovWifi 已经实现了 Improv 协议我们只需要在 Program.cs 中实现一些简单的代码。 这里我们在完成配网后启动一个简易的网络服务用于演示配网成功后的网络服务。这里我们使用 HttpListener 来实现一个简易的网络服务当然你也可以使用其他的方式比如 WebServer 等等。 static Improv _imp;public static void Main() {Console.WriteLine(蓝牙配网 Improv 协议示例);_imp new Improv();// 配网完成后的回调_imp.OnProvisioningComplete Imp_OnProvisioningComplete;// 开始配网服务设备名称这里可以自定义中文也是支持的在搜索设备时会显示该名称_imp.Start(ESP32 桑榆肖物);// 纯演示这里直接授权_imp.Authorise(true);Console.WriteLine(等待设备配网...);while (_imp.CurrentState ! Improv.ImprovState.provisioned){Thread.Sleep(500);}Console.WriteLine(设备配网完成IP地址 _imp.GetCurrentIPAddress());// 停止配网服务_imp.Stop();_imp null;Console.WriteLine(启动一个简易的网络服务用于演示配网成功后的网络服务);SimpleWebListener();Thread.Sleep(Timeout.Infinite); }private static void Imp_OnProvisioningComplete(object sender, EventArgs e) {SetProvisioningURL(); }private static void SetProvisioningURL() {_imp.RedirectUrl http:// _imp.GetCurrentIPAddress() /start.htm; }private static void SimpleWebListener() {string responseString htmlheadmeta charsetutf-8 titleHello from ESP32/title/head bodyh2Hello from ESP32/h2 pIt works!/p p这里可以根据需求继续进行更多的设备配置信息/p /body/html;byte[] buffer System.Text.Encoding.UTF8.GetBytes(responseString);HttpListener listener new(http, 80);listener.Start();while (true){try{HttpListenerContext context listener.GetContext();Console.WriteLine(Request received);HttpListenerResponse response context.Response;response.ContentLength64 buffer.Length;response.OutputStream.Write(buffer, 0, buffer.Length);context.Response.Close();Console.WriteLine(Response sent);context.Close();}catch (Exception ex){Console.WriteLine(Error: ex.Message \nSack ex.StackTrace);}} }注意以上代码只是功能的演示在实际项目中需要根据自己的需求进行修改比如我们需要在验证连接后下次也自动完成连接再者为了安全性我们还需要进行验证等等。后面我会有一个实际的开源项目演示介绍如何使用近期介绍的相关功能敬请关注。 4. 配网测试 编译并刷写完成后通过调试的数据输出我们可以看设备成功进入等待配网状态。这时我们通过网页打开 Improv 的 web 配网客户端也就是之前的 Improv 官方介绍站点。当然站点和协议都是开源的你可以自己搭建一个。 这里我们直接使用官方的进行测试使用即可不过需要注意的是因为使用了蓝牙配网所以这里需要你的电脑也支持蓝牙否则无法搜索到设备。如果你的电脑没有蓝牙也可以使用手机的 Chrome 或 Egde 浏览器打开该网页进行配网。 这里可以看到设备列表中已经搜索到了我们的设备点击配对即可。配对成功后我们可以会弹出下面的对话框这里我们可以设置 Wi-Fi 的 SSID 和密码然后点击 Connect 按钮即可。 连接成功后我们可以看到设备的状态已经变成了 Provisioned这时我们就可以访问到设备启动的网络服务了。 5. 总结 通过这篇文章我们学习了如何使用 .NET nanoFramework 为 ESP32 设备进行蓝牙配网。虽然这里我们使用的是 Improv 协议但是其实现原理都是类似的只是协议不同而已。在实际的项目中我们可以根据自己的需求选择合适的配网方式或者自己实现一个配网协议这里就不再赘述了。 对于 Improv 协议的配网客户端我们也可以通过微信小程序来实现或者通过集成SDK到自己的应用中方便的实现配网有兴趣的同学可以自行了解实现。
http://www.zqtcl.cn/news/183550/

相关文章:

  • 网站排名优化技术安徽省城乡和建设厅网站
  • 平阴县建设工程网站英文网站模板制作
  • 网站制作超链接怎么做厦门公司建站
  • 阿里云做的网站怎么备份建筑设计网站issuu
  • 网上做设计网站广西做网站找谁
  • 网站优化成本建设项目网站备案申请表
  • 做公众号首图网站上海短期网站建设培训
  • 网站开发最好佛山优化网站排名
  • 服务器搭建网站打不开网站建设信息平台
  • 宽屏蓝色企业网站源码如何编辑网站标题
  • 免费搭建手机网站广告公司怎么取名
  • 网站抓取超时错误c 高性能网站开发
  • 营销导向企业网站策划wordpress 不显示菜单
  • 特效视频网站用.net做视频网站的案例
  • 网站建设实用的网站视屏网站的审核是怎么做的
  • 网站模板之家免费下载福州网红餐厅
  • 西安网站设计与建设第三方检测机构
  • 手机网站推广法建设网站明细报价表
  • 一级a做爰片免费网站录像好商网的网站可以做中英文切换吗
  • 视频网站闪图怎么做网件路由器管理地址
  • 一个完整的网站建设网站模板去哪要
  • 烤漆 东莞网站建设水果香精东莞网站建设技术支持
  • 国家重大项目建设库网站北京网站开发外包公司
  • 建设免费网站制作二维码的软件app
  • 网站突然没收录了网站建设和运营的成本是多少钱
  • 家政公司网站模板wordpress防cc代码
  • 福田附近做网站公司网站反向链接
  • 南阳网站关键词哪做网站便宜
  • 往网站上做新东西需要什么智库网站建设
  • 网站建站系统程序做网站代理商好赚吗