現在基於c#的開發框架.net core已經開源並支持跨平臺運行,現在已經發布.net core2.2,已經非常成熟,很優秀,推薦大家使用,於是我也嘗試使用樹莓派進行部署並以後用於深入進行物聯網的一些操作。。
從淘寶買了一個樹莓派3b+(兩百多塊錢),買回來進行拆騰了一個小時,裝拆了兩次,完美組裝之後變成了這樣子,注意TF卡插的位置
第一步,首先安裝系統(拿出買樹莓派時附帶的tf卡,通過以下操作把系統裝進去)
1、從官網下載系統https://www.raspberrypi.org/downloads/raspbian/
選Raspbian Stretch with desktop and recommended software下載回來,並解壓後面第3步使用
2、下載tf卡格式化工具 :SD card formatter
下載地址:https://www.sdcard.org/downloads/formatter_4/eula_windows/index.html,打開網址後按 Accept開始下載
插入tf卡到電腦,格式化tf卡
3、下載系統寫入工具 win32diskimager
下載地址:https://jaist.dl.sourceforge.net/project/win32diskimager/Archive/win32diskimager-1.0.0-install.exe
插入tf卡到電腦,打開後選擇第1步下載回來的解壓後的系統鏡像文件,設備選tf卡,按"寫入“
4、配置無線網絡(如果有條件插網線,就不需要配置了)
然後設置上網,在tf卡也就是當前的boot盤新建一個wpa_supplicant.conf
的文件,寫入上網配置命令:
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="iPhone 手機熱點wifi名稱"
psk="104104104 wifi密碼"
key_mgmt=WPA-PSK
priority=1
}
network={
ssid="普通路由器wifi名稱"
psk="104104104 wifi密碼"
priority=2
}
如果是使用手機熱點,在network裏面再增加一行 key_mgmt=WPA-PSK
這裏注意一定要在boot目錄下創建這個conf,否則系統裝好後將無法啓動wifi連接。
5、開啓SSH連接功能,需要在tf卡的根目錄下增加一個文件名爲“ssh”的空文件,記住是沒有綴名的文件名就只有ssh三個字母
恭喜你,到這裏系統已經配置完成,把tf卡插入到樹莓派線路板上面那個小插槽,接上電源即可!!(配圖)
二、SSL連接樹莓派
準備工作:把tf卡插到樹莓派的插槽上面、沒有配置無線網絡就要插網線、插上電源,打開電源,機子就自動啓動了。
回到自己的window電腦上面
1、下載一個內網電腦IP查看工具Advanced_IP_Scanner.rar
查看到一個名字叫Raspberry Pi的計算機名稱,就是樹莓派的,記下他的IP地址
2、下載一個ssh操作工具(破解版)Xshell 6和文件上傳工具Xftp 6, 這兩個是配套使用的
打開Xsheel6工具,輸入樹莓派的IP,連接,連接成功後輸入默認的用戶名pi,密碼raspberry
恭喜你,到這裏你已經成功連接樹莓派,下面開始部署程序了。
三、搭建.net core運行環境
1)下載安裝SDK或者Runtime:官方地址:https://www.microsoft.com/net/download/linux
這裏使用最簡單的方法下載安裝,直接複製下載連接地址,按順序執行以下三條命令:
下載運行時runtime
curl -sSL -o dotnet.tar.gz https://download.visualstudio.microsoft.com/download/pr/5ca39d79-c65c-4c03-bba1-e904c7255c44/4fb100d62b0a3fff5fbf5dd24f761d71/aspnetcore-runtime-2.2.2-linux-arm.tar.gz
提取內容
sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
設置可以執行DotNet:
sudo ln -s /opt/dotnet/dotnet /usr/local/bin
2)測試:dotnet --help 或者 dotnet --info.成功,則就如下圖
三、部署.net core控制檯程序
1、在自己的電腦上使用VS寫一個NetCore2.2的控制檯程序,我假設我就寫個Helloworld。
發佈項目
使用xshell6+xftp6上傳程序
回到在xshell中,進入目錄輸入:cd consolepublish,運行程序: dotnet ConsoleApp1.dll
輸入hello world,成功!
四、部署.net core網站程序
1、發佈你的項目
使用xshell6+xftp6上傳程序
回到xshell6,f進入目錄輸入: cd webPublish 運行程序:dotnet test2.2.dll
訪問地址爲:http://localhost:5000,嘗訪問如下:
已經出現 html代碼,證明是可以訪問的,部署成功了!但默認只能在樹梅派中訪問,如果web要在別的內網電腦通過IP訪問是訪問不了的。需要進行以下設置
局域名或者外網如何通過IP訪問樹莓派的WEB程序?
Net Core 默認創建的項目部署完成以後,只能在本機內訪問,外部通過IP是打不開的,可以通過配置Nginx實現。也可以通過修改Program.cs
public static void Main(string[] args) {
CreateWebHostBuilder(args).Build().Run();
}
默認只能在樹莓派本地通過localhost:5000訪問
改爲
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseUrls("http://*:5000")
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
說明:UseUrls(http://*:5000) 即可實現通過IP訪問程序。如 http://192.168.1.101:5000