树莓派3B+,我要跑.NET Core
前面的话
我也不知道为什么,看到.net core觉得很爽,可以真正的跨平台,个人觉得很喜欢,所以就准备拿树莓派来验证我的想法。在我写这篇文章的时候,刚好在树莓派上装好了core2.1,先上结果。
一、基础准备
从板子拿到手到今天是第三天。。。中间经历了许多坑,开始以为能装win10 iot core结果好像3B+还不行,还有些问题所以就还是选择官方的系统raspibian。
准备一个显示器(只有VGA), HDMI转VGA,鼠标,键盘,最重要的:SD卡,SD卡从旧手机拔下来的闪迪64G,读卡器5块钱买了一个。
工具准备链接:http://shumeipai.nxez.com/download#os
好了,准备好了那么下一步就是装系统,装系统也是一步一个坑,先下载系统和往SD卡写系统,中间还有比如SD卡写不进去,校验错误,格式化SD卡又重来,又写,又失败又格式化再写,大概重复了十几次……SD卡终于写好了放到板子了开机,结果开不了,然后以为系统问题又重做一个我勒个去。电源也是,开始插USB上提示电压过低,换过数据线,然后换电源插头,5V2A的比较稳当没有提示电压过低了。
终于终于,装好了系统,成功看到了树莓派的运行界面(此图后面远程连上截屏的不是用显示器),就很有成就感了,毕竟第一次搞这个。
然后下一步呢,联网,恩,没错,就是5G wifi效果杠杠的。
二、环境准备
要准备什么呢?当然是要准备core环境咯
1、先换源,换国内源,我选了清华的,恩,随便选的,参考链接:http://shumeipai.nxez.com/2013/08/31/raspbian-chinese-software-source.html
2、远程登录:我每次都要找个显示器,然后再插上鼠标和键盘,好麻烦,特别是长期用笔记本,键盘都翻旧的,擦灰很多拿出来用的。选了两种远程方式:window远程登录,SSH。
1)window远程:sudo apt-get install xrdp,然后window端打开远程桌面访问就行了,官方系统默认账号pi,密码rasperry。
2)SSH:sudo raspi-config 进入配置界面
进入Interfacing Options
然后SSH回车,确定enable就好了。
回到Windows系统,安装Putty,输入IP,然后登录就行了。参考链接:https://blog.csdn.net/u012313335/article/details/73920256
3、安装netcore 2.1环境
1)更新源:sudo apt-get update
2)安装依赖:sudo apt-get install curl libunwind8 gettext
3)下载安装SDK或者Runtime:官方地址:https://www.microsoft.com/net/download/linux
或者直接执行: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
4)提取内容:sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
5)设置可以执行DotNet:sudo ln -s /opt/dotnet/dotnet /usr/local/bin
6)测试:dotnet --help 或者 dotnet --info.成功则就如我一开始的图
core环境安装参考链接:https://www.cnblogs.com/magicbowie/p/9320737.html
附:中间遇到了一个坑,我把转接器和显示器拔了,就给树莓派上电,自动连接wifi,这时候由于DHCP,我不知道树莓派IP地址无法远程,应该怎么办呢?
1)树莓派用网线连接PC,树莓派先在网口设置固定IP,然后用网口连接操作。
2)查询树莓派的自动获取IP。
[1]有路由器密码,那就登录路由器就查行了
[2]没有路由器密码,无法登录查看,我就是这种,那怎么办呢?用IP扫描。。。然后探测IP,我在公司网络测试的,有几十台无法分清怎么办?先把树莓派断电,扫描。然后保存结果,然后再树莓派上电,连上wifi,再扫描。。。再加猜。
三、开发程序
为了不每次都去扫描IP(原因在上面)树莓派连上wifi,网口连接电脑,需要同一个网段,那就需要树莓派设置静态IP地址,以便可以不同随便考虑IP问题。
上传文件:树莓派带有sftp,可以直接使用,用filezilla客户端。
程序:.net core程序,程序目录下使用 dotnet publish -r linux-arm进行编译
目前已测试,程序运行正常,还同时测试了modbus从站程序,运行正常!!!详细资料待整理补充。。。