.Net Core在树莓派3B+上的Hello World

栏目: 软件资讯 · 发布时间: 5年前

内容简介:新入手一个树莓派3B+(已经装盒了,所以看到的不是板子),体积比预想的要小,.NET Core是支持ARM处理器的,所以想试试看。此文的前半部分是安装Linux系统,网上介绍的很多,我这里只是简单说下。

.Net Core在树莓派3B+上的Hello World

新入手一个树莓派3B+(已经装盒了,所以看到的不是板子),体积比预想的要小,.NET Core是支持ARM处理器的,所以想试试看。

此文的前半部分是安装 Linux 系统,网上介绍的很多,我这里只是简单说下。

我这里没有显示器,没有鼠标,没有键盘,后续对树莓派的操作准备通过SSH进行。

1、将操作系统镜像写入SD卡

SD卡必须要有的,而且需要是micro SD,我这里是16G版本。需要将SD卡连接到电脑,我这里电脑自带插入SD卡功能,没有话需要弄个读卡器。插到电脑后会Win10下会显示为一个U盘。

去官网下载一个系统镜像,我下载的是? RASPBIAN STRETCH LITE

将系统写到SD卡用到了两个工具: SDFormatterWin32 DiskImager , 分别用来格式化SD卡和写入镜像(窃以为Win10自带的格式化和写入镜像应该也是可以的,不过网上教程都这样写的,就不浪费时间尝试了)。

写入成功后,在Win10下会看到U盘被分成了两个,1个可以打开,1个不能打开。

2、开始网络连接

没有显示器,只能通过网络访问系统了,我这里没有网线,只有无线网络,所以配置树莓派连接到的无线网络。

打开写入后的boot盘,新建一个 wpa_supplicant.conf 文件,内容为:

country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
 
network={
    ssid="无线网络名称"
    key_mgmt=WPA-PSK
    psk="无线网络密码"
    priority=1
}

无线网络名称和密码请修改为自己的,key_mgmt为WPA加密方式,其它加密方式请上网搜一下。系统启动后会将这个文件复制到相关目录,并生效。

然后SSH默认是关闭的,需要开启。在boot盘根目录创建一个名为ssh的文件,注意没有任何后缀,也没有点。

3、其它操作系统配置

(1)显示器适配

我这里用不上,但是看别人教程写了,就先粘贴过来,以后可能用的上。

在boot根目录修改config.txt,开放或增加这几个配置:

hdmi_safe=1
config_hdmi_boost=4
hdmi_ignore_edid=0xa5000080
hdmi_group=2
hdmi_mode=82

(2)增加中科大的软件包源,方便升级安装。

sudo -s
echo -e "deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi \n deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi" > /etc/apt/sources.list
echo -e "deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/ stretch main ui" > /etc/apt/sources.list.d/raspi.list
exit
sudo apt update && sudo apt -y upgrade

(3)看门狗

CPU温度过高时重启系统。

sudo modprobe bcm2835_wdt
echo -e "\bcm2835_wdt" > sudo tee -a /etc/modules
// 安装看门狗软件
sudo apt-get install -y chkconfig watchdog

修改配置文件:/etc/watchdog.conf

temperature-sensor = /sys/class/thermal/thermal_zone0/temp
# 最大温度为90度,超过立即重启
max-temperature = 90

运行命令:

// 完成配置后,启动看门狗
sudo /etc/init.d/watchdog start
// 设置为开机自启
chkconfig watchdog on

还没达到过这个温度,不知道实际行不行。

4、连接树莓派

将SD卡插入树莓派,然后接通电源,电源等常量,旁边的灯闪几下,应该很快就启动完毕了,不放心就多等会。

如何找到树莓派的IP地址呢?网上下载一个局域网IP端口扫描的程序,找到开放了22端口的IP,办公环境应该不多,是在不行自己多试试几个Ip吧。如果找不到,可以重启下树莓派再试试,我这里第一次不知道为什么不行,重启就找到了。

Win10上连接树莓派,推荐两个工具:Windows PowerShell(系统自带)和FileZilla FTP Client(免费开源),一个用于 Shell 操作,一个用于SFTP连接。

然后就可以通过上边的两个 工具 进行连接了,

5、创建并发布.net core项目

在Visual Studio中创建一个.net core的控制台程序,输出Hello World。

using System;
 
namespace HelloWorldConsole
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

如果你没有安装.net core,点击这里下载安装:https://www.microsoft.com/net/learn/get-started/windows

编译这块有点问题,VS中没有针对arm处理器的编译选项,不过实际是支持的,从命令行进入项目根目录,执行命令:

dotnet publish -r linux-arm

在项目的目录下找个发布的文件:bin\Debug\netcoreapp2.0\linux-arm\publish,可以看到里边包含了.net core运行时的所有东西。这也间接告诉我们ARM平台上没有.net core的SDK(至少写这篇文章的时候还没有),发布的时候是全部都要搞上去的。

6、部署.net core程序到树莓派

在/home/pi目录下创建netcore/helloworld文件夹,然后将publish中的文件上传到这个目录,上传可以使用FileZilla FTP Client。

设置/home/pi/netcore/helloworld/HelloWorldConsole 权限为755:

/home/pi/netcore/helloworld/HelloWorldConsole

这个文件是可以执行的主程序文件,然后执行:

pi@raspberrypi:~ $ /home/pi/netcore/helloworld/HelloWorldConsole
Hello World!

你应该能看到上边的Hello World了。哈哈,写这个最拿手了!


以上所述就是小编给大家介绍的《.Net Core在树莓派3B+上的Hello World》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

高性能网站建设进阶指南

高性能网站建设进阶指南

Steve Souders / 口碑网前端团队 / 电子工业出版社 / 2010年4月 / 49.80元

性能是任何一个网站成功的关键,然而,如今日益丰富的内容和大量使用Ajax的Web应用程序已迫使浏览器达到其处理能力的极限。Steve Souders是Google Web性能布道者和前Yahoo!首席性能工程师,他在本书中提供了宝贵的技术来帮助你优化网站性能。 Souders的上一本畅销书《高性能网站建设指南》(High Performance Web Sites)震惊了Web开发界,它揭示......一起来看看 《高性能网站建设进阶指南》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具