当前位置:首页 > 报告详情

D会场-黄海鹏-用DotNET 8开发物联网网关.pdf

上传人: 张** 编号:161044 2024-02-03 33页 2.52MB

1、使用.NET 8 开发IoT网关黄海鹏Why.NET?1.团队背景2.应用范围3.工作效率4.前景方向技术栈、十年以上的开发经验ARM32/ARM64、Debian10/Ubuntu20.04端到端、开发速度、系统运行表现开源、持续迭代设备选型历史BCM2711PX30H3关于IoT网关eStationWebSocketeRetail¥8.98¥8.98¥8.98¥8.98¥8.98¥8.982.4GHz/BLEESLPTL现场关于IoT网关:配置eStationEtherneteth0I2CClk&DioGPIOSerial PortttyS0Serial PortttyS1Serial P

2、ortttyS2.关于IoT网关:功能eStationEtherneteth0I2CClk&DioGPIOSerial PortttyS0Serial PortttyS1Serial PortttyS2REST按键状态灯WatchdogBLEPHY6222WebSocketMQTTUDP8888BLEDS531BLEPHY6222.关于IoT网关:结构SocketWebSocketUDPBLE(Serial Port)Server SideData BufferBLE(Serial Port)Device SideData BufferTask DispatcherGPIOI2CConfigu

3、rationDisplay/ResetData ProtocolWatchdogHeartbeatFirmwareTask Queue.NET 6 升级到.NET 81.NET 6 升级到.NET 8.NET 6 启动耗时:6.886秒.NET 8 启动耗时:4.656秒.NET 8启动比.NET 6快:约33%.NET 6 升级到.NET 8同为空闲工况下,.NET 8比.NET 6:CPU负载多了10%内存多了1%(5MB)说明:机器运行觉悟变高了附加题:.NET 8 AOTSkiaSharp?ImageSharp?Linq?WebSocket?通信部分 WebSocket#用于网关与服务

4、端通信,长链接#服务端:Fleck#客户端:ClientWebSocket#线程0:保持连接Task.Factory.StartNew(async()=while(true)tryif(_socket!=null&_socket.State=WebSocketState.Open)/Next LoopReConnect(Certificate,Password);await _socket.ConnectAsync(_uri,_cancel);await _socket.SendAsync(GetDummyRegisterData(),WebSocketMessageType.Binary,t

5、rue,_cancel);await Task.Delay(TimeSpan.FromSeconds(15);catch(Exception ex)/Exception handler);通信部分 WebSocket#线程1:发送Task.Factory.StartNew(async()=while(true)tryif(_socket is null|_socket.State!=WebSocketState.Open|SendDataBuffer.IsEmpty)/Next loopif(SendDataBuffer.TryPeek(out var data)&data.Count 0)a

6、wait _socket.SendAsync(data,WebSocketMessageType.Binary,true,_cancel);DataBuffer.TryDequeue(out data);catch(Exception ex)/Exception handler);通信部分 WebSocket#线程2:接受Task.Factory.StartNew(async()=ListArraySegment cache=new();while(true)tryif(_socket is null|_socket.State!=WebSocketState.Open)/Wait threa

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要探讨了.NET 8在物联网网关开发中的应用,对比了.NET 6的性能,并讨论了开发中的关键技术栈。.NET 8启动速度更快,内存使用略微增加,提高了机器运行效率。文章详细介绍了物联网网关的功能、结构以及与服务端、设备端的通信方式,包括WebSocket、MQTT、UDP等协议的使用。在运维部分,文章讨论了SSH.NET和WinSCP的使用,以及蓝牙和看门狗(Watchdog)的相关技术。最后,文章分享了开发心得,如编程风格要韧性,网关避免数据持久化,处理数据传输速率差异等。
".NET 8如何提升IoT网关性能?" "蓝牙与串口通信速率差异如何解决?" "如何确保IoT设备固件更新安全可靠?"
客服
商务合作
小程序
服务号
折叠