本篇文章完整的说明如和在树莓派上运行 .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. vue-echarts的使用及编译报错解决方法

    一. 使用 vue-cli 快速构建vue项目, 引入vue-echarts组件 安装:  > npm i vue-echarts --save 修改 webpack.config.js 配置: ...

  2. R-CNN(Rich feature hierarchies for accurate object detection and semantic segmentation)论文理解

    论文地址:https://arxiv.org/pdf/1311.2524.pdf 翻译请移步: https://www.cnblogs.com/xiaotongtt/p/6691103.html ht ...

  3. c语言中的0UL或1UL是什么意思

    0UL 表示 无符号长整型 0 1UL 表示 无符号长整型 1 如果不写UL后缀,系统默认为:int, 即,有符号整数. 1.数值常数有:整型常数.浮点常数:2.只有数值常数才有后缀说明:3.数值常数 ...

  4. Short Encoding of Words

    2018-07-02 09:48:48 问题描述: 问题求解: 方法一.问题给了规模n = 2000,也就是说用BF在O(n^2)的时间复杂度可以过,因此,第一个方法就是BF,但是需要注意的是这里已经 ...

  5. m_Orchestrate learning system---三十五、php数据和js数据的解耦:php数据(php代码)不要放到js代码中

    m_Orchestrate learning system---三十五.php数据和js数据的解耦:php数据(php代码)不要放到js代码中 一.总结 一句话总结:也就是以html为中介,用html ...

  6. 4-6 select_tag和select的区别和理解。javascript_tag

    via: :all是什么意思?主要用于约束http动作. <%= select_tag "set_locale", options_for_select(LANGUAGES, ...

  7. 『TensorFlow』DCGAN生成动漫人物头像_下

    『TensorFlow』以GAN为例的神经网络类范式 『cs231n』通过代码理解gan网络&tensorflow共享变量机制_上 『TensorFlow』通过代码理解gan网络_中 一.计算 ...

  8. Educational Codeforces Round 47 (Rated for Div. 2)F. Dominant Indices 线段树合并

    题意:有一棵树,对于每个点求子树中离他深度最多的深度是多少, 题解:线段树合并快如闪电,每个节点开一个权值线段树,递归时合并即可,然后维护区间最多的是哪个权值,到x的深度就是到根的深度减去x到根的深度 ...

  9. nothing added to commit but untracked files present.

    当我们使用git的时候 如果我们在工作区修改了某些文件而没有新增文件,可以直接用: $ git commit --all -m "备注信息"                  -- ...

  10. thinkphp3.2 输入框默认值

    1,我们在做项目的时候输入框有的时候要提示用户输入什么,当用户输入值的时候也不用客户删除,用户只管输入.这里我们就用一个很简单的就OK了. <input type="text" ...