本篇文章完整的说明如和在树莓派上运行 .net core2.1程序,当然也参考了其他的博客,此处结合我自己的经验,再写一篇完整的博客,方便大家,还有我自己进行查阅。

https://blog.csdn.net/weixin_39449466/article/details/80686835

https://blog.csdn.net/sD7O95O/article/details/79395766

https://blog.csdn.net/github_35160620/article/details/52134098

http://shumeipai.nxez.com/2013/10/06/windows-remote-desktop-connection-raspberry-pi.html

https://blog.csdn.net/guanmaoning/article/details/78760428

ok,接下来进入正题,先弄个树莓派,如果都没有,那还玩什么东西。。。。。

准备一个tf卡,准备读卡器,现在要往tf写入操作系统。

官方的地址:https://www.raspberrypi.org/downloads/raspbian/

推荐下载下面的:

下载好之后,准备格式化tf卡

需要下载一个软件(我看教程都是下载软件,系统默认格式化我也不知道行不行,可能格式有区别)

格式化工具:SD card formatter

将下载好的系统镜像写入tf卡

写入工具:win32diskimager

开启ssh连接

在tf卡当前的目录下创建一个文件,命名为 ssh  不带任何的后缀

设置无线网连接

country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1 network={
ssid="AMRHU"
psk="12345678"
key_mgmt=WPA-PSK
priority=1
}

这样开机后就能连接上网络。

显示设置

在boot目录下,找到config.txt文件,里面许多选项被注释掉了,我们需要在选择以下命令:

# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details # uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1 # uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
disable_overscan=1#可以去掉开机屏幕周围的黑色边框 # uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16 # uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720 # uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1# # uncomment to force a specific HDMI mode (this will force VGA)
hdmi_group=2#DMT模式
hdmi_mode=58 #分辨率为适应屏幕分辨率的选择 # uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
hdmi_drive=2 # uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
config_hdmi_boost=4 # uncomment for composite PAL
#sdtv_mode=2 #uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800 # Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on # Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi # Additional overlays and parameters are documented /boot/overlays/README # Enable audio (loads snd_bcm2835)
dtparam=audio=on

  

目前已经可以接显示器,然后进入系统了。然后修改系统的密码

sudo passwd pi

  

分别输入两次新的密码就可以设置成功了

远程连接

总共运行4条指令

sudo apt-get install xrdp
sudo apt-get purge tightvnc xrdp
sudo apt-get install tightvncserver xrdp
sudo /etc/init.d/xrdp restart

  检查端口状态

通过命令:netstat -tnl
查看 3350 3389 5910 这三个端口处于LISTEN,一般就没问题了。

此时,将树莓派重启,然后使用windows自带的远程连接去请求数据

还需要在树莓派配置好ip地址

输入用户名和密码即可登录

文件传送

上述的远程桌面确实好用,但是不能传送文件,这个就比较尴尬了,所以使用下面的文件实现

https://filezilla-project.org/download.php    下载一个软件  FileZilla

输入ip地址,用户名,密码。及端口,端口一般为22

就可以把文件复制到指定的目录里面。

安装 .net core 环境

sudo apt-get update

  

sudo apt install curl libunwind8 gettext

  

curl -sSL -o dotnet.tar.gz https://download.microsoft.com/download/1/f/7/1f7755c5-934d-4638-b89f-1f4ffa5afe89/dotnet-runtime-2.1.2-linux-arm.tar.gz

  

sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet

  

sudo ln -s /opt/dotnet/dotnet /usr/local/bin

  

正常的话,显示如下:

  

在windows上生成你自己的应用程序,通过cmd来编译你的应用程序

dotnet publish -r linux-arm

  

然后把生成的文件拷贝到树莓派里面,具体的拷贝方式,可以把tf卡拔出来拷贝,也可以用上面的远程传输的东西拷贝

准备启动

cd ./Documents/HslCommunicationCoreDemo

  

chmod 777 ./HslCommunicationCoreDemo

  

./HslCommunicationCoreDemo

  

然后就正常的跑程序了

开机启动


首先要编写脚本,文件名为  testboot.sh

运行  nano testboot.sh

输入

chmod 777 /home/pi/Documents/HslCommunicationCoreDemo/HslCommunicationCoreDemo

/home/pi/Documents/HslCommunicationCoreDemo/HslCommunicationCoreDemo 

测试一下

./testboot.sh

  

向rc.local文件添加启动代码

修改rc.local文件,在终端输入并回车:

sudo nano /etc/rc.local

在打开的文本中找到exit 0,在此之前添加的代码在启动时都会被执行,在exit 0 之前添加一行代码

exec /home/pi/testboot.sh

 

如果存在权限的问题,那么使用下面的方法

su pi -c "exec /home/pi/testboot.sh"

  

ctrl+o保存,ctrl+x退出,然后在终端输入:sudo reboot ,重启系统测试。

如果运行失败,可以输入如下的指令查看状态

sudo systemctl status rc-local

  

正常情况如下

这里的文件替换了另一个,无需理会,这就代表基本成功了。

中间有个坑,主程序不能使用readLine来保证程序处于一直运行的状态,否则程序已启动,就立马结束了。需要使用循环来实现。

还有关于中文输入法的问题,下次再补充了

在树莓派上运行 .net core 2.1 程序 并实现开机启动的更多相关文章

  1. 树莓派上运行.net core 2.0程序

    记录中 参考: https://www.cnblogs.com/songxingzhu/p/7399991.html https://www.cnblogs.com/goodfulcom/p/7624 ...

  2. [翻译]第三天- 在 Mac 上运行 .NET Core 应用程序

    原文: http://michaelcrump.net/part3-aspnetcore/ *** 简介 该系列文章的完整列表如下: 第一天 - 在 Windows 下安装和运行 .NET Core ...

  3. 解惑:在Ubuntu18.04.2的idea上运行Scala支持的spark程序遇到的问题

    解惑:在Ubuntu18.04.2的idea上运行Scala支持的spark程序遇到的问题 一.前言 最近在做一点小的实验,用到了Scala,spark这些东西,于是在Linux平台上来完成,结果一个 ...

  4. 树莓派3B+上运行.Net Core项目

    最近买了个树莓派3B+,准备把自己写的一个.Net Core爬虫挂在上面跑 买之前没有想到树莓派因为是今年新出的,导致驱动以及系统啥的都不是很完善,导致走了很多弯路,早知道买树莓派3就不用那么多折腾了 ...

  5. 如何在树莓派上运行雷神之锤III

    昨天在树莓派上尝试运行了一下雷神之锤III,流畅运行,效果不错~~~ RPI这个小身板的东东总是可以给你带来惊喜,这里记录一下步骤以备后续再用 先确保RPI的程序和固件都已经更新 sudo apt-g ...

  6. linux环境上运行.net core 初探

    1.安装 .net core 环境 rpm --import https://packages.microsoft.com/keys/microsoft.ascsh -c 'echo -e " ...

  7. 【实操填坑】在树莓派上编译 EtherCAT IgH Master 主站程序

    官网下载地址:https://etherlab.org/download/ethercat/  (可list查看文件列表)https://etherlab.org/download/ethercat/ ...

  8. 在Win2008上运行ASP.NET 1.1程序

    在之前的文章<将Web站点由IIS6迁移至IIS7>中已经提到了关于在Win2008下运行ASP.NET 1.1程序的问题,但还不够完整,因此在这里重新整理一下. 1.要安装.net fr ...

  9. 在没装VS2010的机器上运行VS2010开发的C++程序

    在VS2010下写了一个win32控制台应用程序,编译ok.exe,需要依赖osg相关动态库 第一次编译的是Debug版本的,直接将ok.exe和osg相关dll文件拷贝到没有安装VS2010机器上运 ...

随机推荐

  1. github+hexo搭建博客

    引言     之前用阿里云弹性web托管采用wordpress搭建的个人博客,经过我使用一段时间之后发现存在很多问题: 网站的响应速度非常慢,估计打开主页需要3-4s的时间,我经过搜索发现很多人都有这 ...

  2. 华中农业大学预赛 B Handing Out Candies 余数的和

    Problem B: Handing Out Candies Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 258  Solved: 19[Submit ...

  3. resource not found :rgbd_launch

    放到src下,再次编译catkin_make git https://github.com/ros-drivers/rgbd_launch.git

  4. 修改unity变量名但不丢失序列化值

    using UnityEngine; using UnityEngine.Serialization; public class LgsTest : MonoBehaviour { [Formerly ...

  5. C语言的的free和c++的delete的区别

    首先free对应的是malloc:delete对应的是new:free用来释放malloc出来动态内存,delete用来释放new出来的动态内存空间. 应用的区别为: 1. 数组的时候int *p=( ...

  6. python怎样压缩和解压缩ZIP文件

    https://zhidao.baidu.com/question/1498409764366387259.html

  7. 20170814xlVBA PowerPoint分类插图加说明

    Public Sub AddPictures() Dim ppApp As PowerPoint.Application Set ppApp = New PowerPoint.Application ...

  8. 关于controller中调用多个service方法的问题

    一般service方法是有事务的,把所有操作封装在一个service方法中是比较安全的. 如果在controller中调用多个service方法,只有查询的情况下是可以这样的.

  9. Bug in Code CodeForces - 420C (计数,图论)

    大意: 给定$n$结点无向图, 共n条边, 有重边无自环, 求有多少点对(u,v), 满足经过u和v的边数>=p 可以用双指针先求出所有$deg_u+deg_v \ge p$的点对, 但这样会多 ...

  10. python-day49--前端 css-层叠样式表

    1.css功能: 对html标签的渲染和布局 2.CSS 要掌握的两方面: 1.查找标签 选择器 2.操作标签  (对属性进行操作) 3.CSS 语法 CSS 规则由两个主要的部分构成:选择器,以及一 ...