.NET IoT 入门:开发智能桌面机器人

420 阅读12分钟

前言

物联网(IoT)技术的快速发展,嵌入式系统和智能设备的应用场景日益广泛。对于许多开发者来说,进入这个领域可能会感到有些门槛,尤其是在选择合适的开发平台时。为此,特别推出 从 .NET IoT 入门:开发智能桌面机器人 系列文章,帮助初学者轻松踏入 IoT 开发的世界。

说明

自问自答一下,熟悉我之前工作的小伙伴应该还记得,我曾为稚晖君开源的 ElectronBot 桌面机器人开发过一款桌面上位机软件——电子脑壳。这款软件需要 ElectronBot 始终连接电脑才能使用,这无疑给它的应用场景带来了诸多限制。

随着网友对独立版本桌面机器人的呼声越来越高,我也意识到,一个无需依赖外部设备、能够独立运行的智能桌面机器人将拥有更广泛的应用前景和更高的用户满意度。此外,我个人对这一领域的兴趣愈发浓厚,希望能够探索更多可能性。

因此决定动手制作一个智能桌面机器人,不仅为了回应社区的需求,也为了挑战自我,深入研究 .NET IoT 技术,并分享这个过程中的经验与心得。

希望通过这个项目,能够为大家带来更多的启发和实用价值。

上图为使用树莓派Zero 2W开发板结合.NET IoT库和两个屏幕实现的机器人,外壳是我使用Fusion 360软件设计制作的。现在是大语言模型的爆发时期,目前只依赖服务端大语言模型就可以实现高阶AI了,所以做出一个配置不高的独立版本的机器人可玩性还是很高的,目前软件部分完善中……

下图是本人做的Fusion360 3D建模展示

硬件功能

树莓派Zero 2W一个,完整运行Linux系统,用于运行.NET程序。

2.4寸主屏幕,1.47寸副屏幕,总共两个屏幕。可以分别显示自定义内容。

舵机驱动板子一个,控制两个9克舵机,可以实现头上下旋转和底座左右旋转。

语音板子一个,通过树莓派USB拓展口和和树莓派连接,板子附加喇叭,麦克风,以及一个摄像头。

可以实现声音播放,声音录制,和拍照。

技术介绍

树莓派开发板

树莓派 是一款运行完整 Linux 系统的卡片式电脑,体积小巧、性能强大,非常适合 DIY 各种硬件项目。结合功能丰富的 .NET 技术栈,树莓派能够实现从智能家居到物联网设备等各种创新应用。

.NET 框架

.NET 是一个免费、开源且跨平台的框架,用于构建现代应用程序和强大的云服务。它提供丰富的库和工具,支持多种编程语言(如 C#、F# 和 VB.NET),使开发者能够高效地创建高性能的应用程序。

.NET IoT

利用 .NET 为您的设备和传感器构建高效的物联网 (IoT) 应用程序,无论是智能家居、智能城市还是工业自动化,.NET 提供强大的工具和库,帮助快速实现各种创新的 IoT 解决方案。

开发环境搭建

树莓派系统初始化

首先电脑下载安装Raspberry Pi Imager,安装打开软件选择镜像类型,然后准备一个SD卡,通过读卡器连接到电脑上备用。

由于我用的是树莓派Zero 2W配置比较低,所以我采用安装的是无图形界面的版本。

配置镜像网络和ssh配置,点击配置选项按钮,然后进入配置页面,并且记住自己的配置。

各种配置一定要填好,尤其是用户名要记住。

然后开始烧录镜像,当烧录完成之后,将SD卡插到树莓派上,正常情况下树莓派就会自动连上网络,如果不能登录到路由器后台,可以下载可以查看网络上的设备ip的软件,手机端可以下载Fing电脑端也可以下载Fing

通过断电和上电来判断树莓派的IP用于SSH登录使用。

下载安装FileZilla用于文件上传,包含程序和.NET离线安装文件。

如果SSH能够登录,就可以进行系统操作了,如果大家用国外的源比较卡,建议大家切成国内源,这个大家根据系统版本自行搜索解决这个就不详细说了。

.NET开发环境安装

首先下载Arm64版本的.NET,我以.NET 8为例,因为.NET 9刚出不久,所以暂时先不使用,大家可以根据需要自己决定安装哪个版本的。 注意事项:由于微软没有给Arm64 linux制作包源版本,所以需要我们下载压缩包解压安装。

dotnet.microsoft.com/zh-cn/downl…

下载上传到树莓派家目录。

参考官方的脚本

安装文档

通过修改官方的安装脚本给脚本附加执行权限进行执行,脚本内容如下:

DOTNET_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指令了。

执行下面的指令编辑~/.bashrc

sudo nano ~/.bashrc

在最下面添加图上的内容

export DOTNET_ROOT=$HOME/.dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools

最好执行sudo reboot指令重启系统。

然后我们就可以执行dotnet指令来查看指令是否正常。

如下图一样就是环境正常了。

运行hello world程序

首先安装Visual Studio,下载最新的社区版本就行,安装对应的负载,和对应的.NET版本。

大家可以参考我选择的工作负载,安装启动Visual Studio。

创建控制台程序。

修改代码内容并且进行发布到目录。

选择要发布的目录。

配置目录点击发布按钮。

发布完的程序传输到树莓派。

进入程序目录,执行dotnet加程序集的名称dotnet ConsoleApp3.dll

如果有输出,表示开发环境已经配置完成,就可以愉快的进行程序的开发和调试,具体的屏幕测试,和其他的一些测试我们后面的视频再进行讲解。

总结

这篇文章详细介绍了大量的图片和细致的步骤,目的是为了让初学者——即使是完全没有接触过 .NET 的小伙伴——也能通过一步步的操作轻松上手。

希望通过这个系列的文章,让大家认识一个全新的 .NET,消除对它的偏见。同时,我也希望通过记录自己的制作过程,不仅为自己留下宝贵的经验,还能为大家提供实用的帮助和启发。

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

优秀是一种习惯,欢迎大家留言学习!

作者:绿荫阿广

出处:cnblogs.com/GreenShade/p/18667671

声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!