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

大连做网站谁家售后好可以直接做室内su的网站

大连做网站谁家售后好,可以直接做室内su的网站,傻瓜式免费自助建站系统,石家庄专业网站设计有这个想法的初衷喜欢电子和DIY硬件的朋友对稚晖君应该都不陌生#xff0c;他定期都会分享一些自己做的好玩的硬件#xff0c;他之前做了一个ElectronBot桌面机器人我就很感兴趣#xff0c;所以就自己也做了一个。起初我只是自己开发了一个叫电子脑壳的上位机软件#xff0…有这个想法的初衷喜欢电子和DIY硬件的朋友对稚晖君应该都不陌生他定期都会分享一些自己做的好玩的硬件他之前做了一个ElectronBot桌面机器人我就很感兴趣所以就自己也做了一个。起初我只是自己开发了一个叫电子脑壳的上位机软件大家在之前的博客里应该也有见到是个用WinUIWASDK开发的Windows应用软件。ElectronBot机器人要一直和电脑连接通过应用进行控制很多的网友都想ElectronBot脱离电脑使用于是我也想着能有什么好办法所以也就有了这个标题的想法。项目代码地址: https://github.com/maker-community/ElectronBot.DotNet技术选型大家想到树莓派肯定就会想起python,大学的时候玩树莓派确实用python比较多但是作为一个.NET开发人员当然要尝试下.NET的跨平台能力到底如何了。由于先有了之前写的上位机软件电子脑壳也想着让之前封装的SDK能够直接用在树莓派上所以选择.NET是顺理成章的事情了。应用开发选择.NET框架通讯方式选择GRPCUSB操作选择LibUsbDotNet调用libusb整体方案如下图环境配置1. 树莓派系统安装及网络配置树莓派支持的系统有很多种像官方的DebianUbuntu等等。我平时使用Debian比较多但是测试的时候好像usb操作有些问题应该是我用的.net互操作库对Debian支持的不太好所以我选择了ubuntu的系统。Raspberry Pi Imager 树莓派官方的系统烧录工具Ubuntu系统下载地址 Download Ubuntu Server安装烧录工具下载系统然后烧录系统。如下图所示目前树莓派Zero 2 W的Ubuntu只有Server版本和Core版本需要使用命令行做操作。网络配置可以参考下面的文章进行配置。树莓派4B ubuntu server ssh服务器部署全过程详解内网穿透能正常联网安装软件就可以了。2. .NET6的运行环境由于.NET6 Arm64官方没提供包管理安装所以需要大家通过脚本或者下载文件安装。网络好的可以通过脚本安装简单本文以脚本安装示例。参考文档如下使用安装脚本或通过提取二进制文件在 Linux 上安装 .NET下载安装脚本dotnet-install.sh放到用户家目录执行以下指令添加执行权限sudo chmod x ./dotnet-install.sh执行指令安装./dotnet-install.sh -c Current下载解压结束需要我们配置环境变量就像windows安装软件一样配置完环境变量才可以直接通过dotnet直接使用了不然是提示找不到指令的。以下指令是编辑环境变量的我选择了~/.bashrc在文档最底部添加环境变量内容。sudo vim ~/.bashrc内容export DOTNET_ROOT$HOME/.dotnet export PATH$PATH:$HOME/.dotnet:$HOME/.dotnet/tools保存并退出然后执行dotnet如果正常就可以进行下面的操作了。实践过程记录1. GRPC服务的开发与调试首先用创建一个grpc服务微软官方的文档协议文件编写介绍协议文件编写和服务编写以我的协议内容为例包含了floatboolbytes类型float 对应 c# floatbool 对应 c# boolbytes 对应 c# byte[]syntax proto3;option csharp_namespace Verdure.ElectronBot.GrpcService;package electronbotactiongrpc;// The electronbotaction service definition. service ElectronBotActionGrpc {// Sends a greetingrpc PlayEmoticonAction (EmoticonActionFrameRequest) returns (EbHelloReply); }// The request message containing the users name. message EmoticonActionFrameRequest {float J1 1;float J2 2;float J3 3;float J4 4;float J5 5;float J6 6;bool Enable 7;bytes FrameBuffer 8; }// The response message containing the greetings. message EbHelloReply {string message 9; }然后生成对应的服务代码主要注意点是bytes类型的转换服务端写好了以后就可以写调用端代码了为了图方便我就在电子脑壳代码里加了调用代码。WinUI调用GRPC注意事项直接将gprc相关的东西放到winui项目里好像有一些问题所以我把它放到了一个库项目里进行操作了。配置协议文件生成client代码电子脑壳注入grpc-clientservices.AddGrpcClientElectronBotActionGrpc.ElectronBotActionGrpcClient(o {o.Address new Uri(http://192.168.3.236:5241);});数据发送端也要注意bytes类型的转换grpc服务的打包发布打包的时候选择目标运行时为可移植windows和linux都可以运行项目代码地址2. 服务的部署与效果验证通过ftp工具将grpc服务放到树莓派上首先需要连接ElectronBot之后再运行服务进入项目所在目录执行指令如下dotnet Verdure.ElectronBot.GrpcService.dll --urlshttp://*:5241如果通讯正常那么应该会报错提示libusb找不到系统已经安装了libusb只是.net调用的时候目录没有找到需要我们创建软连接。LibUsbDotNet README最底部有说树莓派实际操作如下sudo find / -name libusb-1.0*.so* //列出库的目录位置cd /usr/lib/aarch64-linux-gnu/ //进入库所在目录sudo ln -s libusb-1.0.so.0 libusb-1.0.so //创建链接通过上面的操作 libusb的操作应该就没有问题了。运行的效果如下图特殊问题与心得体会最大的一个问题就是在sdk放到linux系统上测试写入数据异常。需要sdk单独处理linux环境需要sdk补一些内核驱动卸载逻辑特别注意otg数据线不要使用那种一拖几的用一个口的就行不然数据发送不过去由于使用的LibUsbDotNet上述逻辑没暴露到上层我只好拉了一个分支改了发了一个包问pr也没人理我。sdk内部特别处理的代码如下执行了一个设备的SetAutoDetachKernelDriverif (wholeUsbDevice.DriverMode UsbDevice.DriverModeType.MonoLibUsb) { _logger.LogInformation(MonoLibUsb DetachKernelDriver);var retDetach wholeUsbDevice.SetAutoDetachKernelDriver(true);_logger.LogInformation(retDetach.ToString()); }通过这次的尝试我算是明白了理想很丰满现实很骨感的意思本来觉得树莓派Zero 2 W小巧便携而且我只是用它接收数据发送数据结果数据发送的时候屏幕的刷新很慢不知道是性能差劲还是usb传输是瓶颈。下次换个4b进行测试一下。至此整个过程就分享完了这个项目基本上涵盖了.net技术内的很多东西如果ElectronBot和树莓派结合独立以后能够很好的使用我觉得用MAUI开发一个手机端的管理工具也是顺理成章了可以期待一下能看到这里的可以在评论区给点意见了。
http://www.huolong8.cn/news/121414/

相关文章:

  • 韩雪个人网站国外采购平台
  • 泰国男女做那个视频网站甘肃手机版建站系统哪个好
  • 泰安可信赖的企业建站公司活动宣传推广方案怎么写
  • 学到什么程度可以做网站线上营销渠道
  • 辽宁省建设厅官方网站信息网站 模板
  • 丽水市住房和城建建设局网站网站建设实施计划包括
  • 湖州网站制作公司中装建设有限公司
  • 惠安规划局建设局网站怎么免费制作一个网站
  • apmserv访问本地网站开发一个软件的步骤
  • 网站开发怎么做到前后端广州seo
  • 永安网页设计惠州做网站 百度优化
  • 网站建站上海产品营销文案
  • 布吉网站建设找哪家公司比较好免费的招聘网站有哪些
  • 做一个简单的网站多少钱金华正规网站建设总部
  • 地方网站 o2o网站改版中
  • 福田网站设计公司哪家好惠城中山网站建设
  • 最好的flash网站青海省住房建设厅网站首页
  • 网站风格设计怎么写开发一个小程序
  • 为解析的域名做网站平面设计学费多少钱
  • 增城网站建设价格佛山新网站建设代理商
  • 网站的模版要怎么重新做做会计网站的流程
  • 2018淘宝客网站开发成都建设工程交易中心网站
  • 建设银行官方门户网站wordpress显示文章简介
  • 局域网的网站建设台州seo服务
  • 网站建设需要懂什么语言做货代的有哪些网站
  • 广州网站开发公司营业执照怎么注销
  • 邢台做移动网站价格网站建设进展推进表
  • 做问卷调查的网站有没有兼职做网站的
  • 青岛网站建设与管理建设电子商务网站期末考试
  • html5网站开发前景企业信息化建设如何帮助客户理解网站流量