欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

程序员文章站 2022-04-15 23:30:03
视频图文教学, 在树莓派入手后, 用最短的时间上手. 1-只用WIFI, 不用连网线/显示屏/键盘鼠标 2-不用下载SDK,直接复制程序启动网页 3-连接LED并且用网页控制闪灯 ......

前言

dotnet core 在3.0时代已经发展得很好. 尤其是在跨平台方面更已经是达到了很实用的阶段.

作为 dotnet 程序员, 应该对 linux 有充分的了解, 也可以在业余时间玩玩硬件, 做个小创客

这次教学就是想让玩跨界的网友能在最短时间内上手. 

本文配套视频地址是 https://www.bilibili.com/video/bv1ap4y1y7bh/  

 

树莓派是什么? 

如图:

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 

树莓派它首先是一台电脑 , 它拥有arm版的cpu, 和按g计算的内存 , 安装linux (官方raspbian) 后, 可以进入桌面打开网页看视频, 和做大部分linux能做的事. 

同时, 它也可称呼为嵌入式硬件, 它像单片机一样, 拥有针脚,   与我们平时买的台式机不一样的是 , 树莓派自带有40条针

 

对于不熟悉硬件的人来说, 这些针脚, 可以解释为这些用途 : 

  1. 供电, 分为3.3v, 5v , 和地线 , 
  2. gpio输出用途, 可以用代码去控制某个针脚的电压. 达到启动/关闭 led/继电器 的作用.  甚至可以用继电器来控制220v家用电源的开关.  (简单来说就是代码控制开关)
  3. gpio输入用途, 可以监听gpio的电压, 最常用的是做成按钮, 监测按下的动作. 或者用作最简单的通信接收器的功能.  
  4. 更复杂的电压输出功能与收集功能. 可以做成喇叭, 或者麦克风. (质量如何倒是没测试过)
  5. 数据传输功能, 使用uart/i2c/spi/..等方式 与其他硬件连接与通信. 这些都是后话, 你现在只要记住, 硬件与硬件之间可以高速传递二进制数据就好了.
  6. 注意, 各种外设, 例如显示屏, 例如温度传感器, 等等, 本身也是硬件, 他们就是用这一套方式来传递二进制数据的. 

ok, 这篇文章, 就是教学, 如何快速使用 dotnet core 来控制 gpio , 让一个 led 灯进行自动的周期性闪烁. 

 

关于树莓派的版本

现在最好的树莓派的版本是 4b, 2g内存版性价比最高. 价格是270左右包邮 , 建议码农要入手一台. 有空就拿出来玩玩. 

这个4b+2g 版本, 使用type-c供电. 有2个hdmi输出, 启动桌面后, 可以网页看优酷.   自带 网卡/wifi/蓝牙 , 有4个usb接口.  接键盘鼠标, 移动硬盘都没问题. 

但是这次教学,  不使用hdmi , 不连接键盘鼠标, 不接网线, 直接wifi连

 

需要的东西 :  

树莓派一个 (不能是zero) ,  tf卡(树莓派本身没储存) , tf卡读卡器(用来写进系统)  , type-c线(用外置电源供电, 电脑usb带不动) , 最好有led灯, 3.3v的那种. 低电压的忘记接电阻会烧. 

家庭wifi , 电脑一台, 用来操作这一系列的事. (废话)

需要安装的软件: 

vs2019, 用于编译程序. 

putty , winscp , win32磁盘映像工具  (这些请自行下载, 注意现在到处都是不怀好意的下载站..)

 

下载和烧录镜像 : 

树莓派可以装很多种系统. 但是最推荐的当然是官方镜像:

https://www.raspberrypi.org/downloads/raspbian/

选择 lite 版本 , 就没有桌面.  但是下载量很少.  需要桌面的按需下载. 

lite 版本地址为 : 

https://downloads.raspberrypi.org/raspbian_lite_latest

反正我觉得下载很卡:

在qq点右下角的应用管理器, 选微云, 新建-离线下载-链接下去, 把链接贴上去后关闭, 然后刷新, 

刷新 ,  这样在进去下载 , 就能获得不错的500kb/s下载速度. 

 

解压后, 使用镜像软件写进 tf 卡内 : 

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 

写完后不要急拔出tf卡.  我们需要新建两个文件, 复制进 boot 分区

 

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 

wpa_supplicant.conf 内容

country=cn
ctrl_interface=dir=/var/run/wpa_supplicant group=netdev
update_config=1

network={
ssid="wifi名字"
psk="wifi密码"
key_mgmt=wpa-psk
priority=1
}

 

这两个文件的用途如下 : 

ssh  是为了开启 22端口, 否则没有键盘鼠标没有显示器, 就无法访问到这个树莓派了. 

wpa_supplicant.conf 是为了设置wifi, 不然你就接网线去吧. 

 

插卡, 上电, 开机

没有开机键, 插上type-c就自动开机. 红色灯是电源灯, 绿色灯是硬盘灯. 广义的硬盘.

等1分钟吧. 天知道你买的tf卡行不行. 

 

接着我们测试一下, 它是不是启动好了? 是否连接wifi了? 

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 

除了ping , 你还可以进入路由器管理界面, 看看路由器下面是否多了设备. 

网络ok, 也要看看ssh是否开启,  启动 winscp , 尝试连接 : 

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 

 

树莓派默认用户名 pi , 默认密码 raspberry 

到了这里, 树莓派已经成功启动了.  可以当它一台 linux 主机来玩了. 

 


 

 

开始玩 dotnet core 的部分

blazor server side 开源程序 blazorlinuxadmin 

从 https://github.com/blazorplus/blazorlinuxadmin 下载程序 (有账号的顺便点个星星, 觉得教程有用的请帮我其他项目也点个星星 , 谢谢你. )

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 

发布项目:

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 

 视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 

 编辑配置:

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 

 

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 发布, 成功

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 

 回到winscp 复制文件

首先创建一个 bla 目录, 即 /home/pi/bla 

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

  

把 publish 文件夹里的东西全部复制过去. 

你会看到, 没有任何一个dll , 而 blazorlinuxadmin 竟然是 99m 这么大 .

因为它已经包含了所有dll了, 还包含了dotnet的核心.  不需要安装框架sdk.  

(如果上面发布选项, 选取剪裁未使用的程序集, 可以把大小压缩到50m

 

设置程序的属性, 权限那里的 x 表示"运行" , 无脑打上. 

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 

程序已发布完毕. 

 

运行程序

使用老牌子 putty : 

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 

继续输入 pi 回车, 输入密码 raspberry 回车(不要以为键盘没按下, 只是没显示而已) 

 

 

 视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 

登录完毕后, 默认的目录是 ~/  , 就是 /home/pi/ 

我们需要进入刚才的目录 bla 

cd bla

  

然后启动刚才的程序 :

sudo ./blazorlinuxadmin

  

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 

看到这些信息, dotnet core 的网站已经启动完毕

 

访问网站 : 

在电脑浏览器上, 输入  

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 

继续输入 pi 和 raspberry

恭喜, 现在已经完成了教程. 

 

关于gpio版面

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 这个页面的 on 和 off 是可以按的.  也可以用 ctrl+点击 , 进入 闪烁模式.  

控制gpio的关键代码为 : 

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯

 

 

 

更多的细节, 请参考视频  https://www.bilibili.com/video/bv1ap4y1y7bh/  

 

这个教程完结了之后, 我们得到了一个结论 , dotnet core的程序, 是不需要安装框架运行库sdk什么的, 

直接copy部署 , 真正的绿色软件. 

 

常见问题 : 

ping raspberrypi , 连接 raspberrypi , 访问 http://raspberrypi:6011/ 都提示没有主机, 咋办? 

这个可能是系统没能识别局部网的东西, 或者是树莓派没有成功向网络广播自己的名字. 

这个时候, 可以进去路由器, 看看各设备的ip, 或者, 猜ip,..  如果猜来猜去都不行, 那么可能是设备没联网. 确认每一个步骤都没做错.