渣渣兔 发表于 2025-1-13 05:04:26

互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(

前言

为什么我会想着制作一个智能桌面机器人呢?自问自答一下,看过我之前文章的小搭档应该都知道我之前有为稚晖君开源的ElectronBot桌面机器人开发过一个桌面上位机软件叫电子脑壳,由于ElectronBot桌面机器人必须连接电脑才能使用,所以限制比较多,网友又对独立版本的桌面机器人呼声比较高,我本人也比较感兴趣,所以就准备动手做一个了。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113004826073-833806002.png
上图为使用树莓派Zero 2W开发板结合.NET IoT库和两个屏幕实现的机器人,外壳是我使用Fusion 360软件设计制作的。现在是大语言模型的爆发时期,现在只依赖服务端大语言模型就可以实现高阶AI了,所以做出一个配置不高的独立版本的机器人可玩性还是很高的,现在软件部分完善中……
下图是本人做的Fusion360 3D建模展示
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113004852124-1468429237.png
硬件功能


[*]树莓派Zero 2W一个,完整运行Linux系统,用于运行.NET程序。
[*]2.4寸主屏幕,1.47寸副屏幕,总共两个屏幕。可以分别显示自界说内容。
[*]舵机驱动板子一个,控制两个9克舵机,可以实现头上下旋转和底座左右旋转。
[*]语音板子一个,通过树莓派USB拓展口和和树莓派连接,板子附加喇叭,麦克风,以及一个摄像头。可以实现声音播放,声音录制,和拍照。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113004906900-665044369.png
技术先容

树莓派开发板

树莓派是运行完整Linux系统的卡片电脑,体积小巧,得当DIY各种硬件,搭配上无所不能的.NET技术栈,能够实现各种各样的好玩的功能。
.NET

.NET 是免费的、开源的、跨平台的框架,用于构建新式应用和强盛的云服务。
https://img2023.cnblogs.com/blog/1690009/202411/1690009-20241126162300305-1617249552.png
.NET IoT

使用 .NET 为你最喜爱的装备和传感器生成物联网 (IoT)应用程序
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113004931435-253342151.png
开发环境搭建

树莓派系统初始化


[*]首先电脑下载安装Raspberry Pi Imager,安装打开软件选择镜像类型,然后准备一个SD卡,通过读卡器连接到电脑上备用。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113004950109-1692561278.png
[*]由于我用的是树莓派Zero 2W配置比较低,所以我采用安装的是无图形界面的版本。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005004577-624457785.png
[*]配置镜像网络和ssh配置,点击配置选项按钮,然后进入配置页面,并且记住自己的配置。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005014561-673836485.png
各种配置肯定要填好,尤其是用户名要记住。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005026554-2028938856.png
[*]然后开始烧录镜像,当烧录完成之后,将SD卡插到树莓派上,正常情况下树莓派就会自动连上网络,如果不能登录到路由器后台,可以下载可以查看网络上的装备ip的软件,手机端可以下载Fing电脑端也可以下载Fing
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005800612-73081185.png
通过断电和上电来判断树莓派的IP用于SSH登录使用。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005041253-462051310.png
[*]下载安装FileZilla用于文件上传,包含程序和.NET离线安装文件。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005053908-1879842087.png
如果SSH能够登录,就可以举行系统操作了,如果大家用国外的源比较卡,建议大家切成国内源,这个大家根据系统版本自行搜索解决这个就不具体说了。
.NET开发环境安装


[*]首先下载Arm64版本的.NET,我以.NET 8为例,因为.NET 9刚出不久,所以临时先不使用,大家可以根据必要自己决定安装哪个版本的。
注意事项:由于微软没有给Arm64 linux制作包源版本,所以必要我们下载压缩包解压安装。
下载地址:
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005118942-1308170910.png
下载上传到树莓派家目次。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005137269-1916688932.png
[*]参考官方的脚本安装文档:
通过修改官方的安装脚本给脚本附加实行权限举行实行,脚本内容如下:
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005148579-814183317.pngDOTNET_FILE=dotnet-sdk-8.0.404-linux-arm64.tar.gz
export DOTNET_ROOT=$(pwd)/.dotnet

mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT"

export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools依次实行下面指令:sudo chmod 777 install.sh

./install.sh实行完这些指令之后会在家目次的.dotnet产生对应的框架文件。
这些操作实行完,必要将路径加入到环境变量里,如许就可以全局实行dotnet指令了。
实行下面的指令编辑~/.bashrcsudo nano ~/.bashrc在最下面添加图上的内容export DOTNET_ROOT=$HOME/.dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/toolshttps://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005217930-1097082738.png
最好实行sudo reboot指令重启系统。
然后我们就可以实行dotnet指令来查看指令是否正常。
如下图一样就是环境正常了。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005231395-485199330.png
运行hello world程序


[*]首先安装Visual Studio,下载最新的社区版本就行,安装对应的负载,和对应的.NET版本。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005246632-479252456.png
[*]大家可以参考我选择的工作负载,安装启动Visual Studio。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005256813-1708019401.png
[*]创建控制台程序。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005307269-1212398550.png
[*]修改代码内容并且举行发布到目次。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005318133-968205422.png
[*]选择要发布的目次。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005348436-1280891960.png
[*]配置目次点击发布按钮。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005359012-512147725.png
[*]发布完的程序传输到树莓派。
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005409017-1772767015.png
[*]进入程序目次,实行dotnet加程序集的名称dotnet ConsoleApp3.dll
https://img2023.cnblogs.com/blog/1690009/202501/1690009-20250113005420506-2139819542.png
如果有输出,表现开发环境已经配置完成,就可以愉快的举行程序的开发和调试,具体的屏幕测试,和其他的一些测试我们背面的视频再举行解说。
总结感悟

这篇文章涉及了大量的图片,以及很细致的解说,为什么要写这么啰嗦呢?当然是为了让初学者,也就是没打仗过.NET的小搭档也能通过一步步的操作能够上手.NET。
我希望通过这个系列的文章,能够让大家熟悉一个不一样的.NET,消除大家对.NET的偏见吧。也希望自己通过这个系列的文章记载自己的制作过程。更希望文章能够对大家有肯定的资助和启发。
参考保举文档项目如下:


[*]创客社区地址
[*]桌面桌面机器人仓库地址
[*].NET官方地址
[*].NET脚本安装文档
[*].NET IoT官方地址
[*]Visual Studio下载地址
[*]树莓派官方工具地址
[*]FileZilla
[*]个人调试的.NET IoT例子

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(