搭建樹莓派開發環境


  基於對公司老項目的兼容性需求,以及后期新項目開發的便捷需要,我選擇了樹莓派作為小型工控機。一方面,樹莓派性能比一般的路由器方案(mt76xx系列)要強一些,已經是一台成熟的微型計算機了。另一方面,樹莓派能夠兼容各種系統及開發工具,加上教程也相對多,開發體驗較為舒適。

本教程主要涉及樹莓派的系統安裝,以及.net core,asp.net core開發環境的搭建。

本教程基於樹莓派3b ,推薦安裝官方系統 Raspbian

一.官方系統安裝方法

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

主要步驟

1.官網下系統

2.用SD card formatter工具格卡

3.用win32diskimager往sd卡中寫入鏡像(下載系統解壓后的img文件)

4.插卡上電over

二.安裝.netcore2.1

參考https://blog.csdn.net/qq_16005627/article/details/87909864

主要步驟

1.下載

curl -sSL -o dotnet.tar.gz https://download.visualstudio.microsoft.com/download/pr/ccc989da-fa6c-4b1b-a8a8-ed43ab4bba38/77e9e57aa69a2a84f1a45e861cc4eed5/dotnet-runtime-2.1.17-linux-arm.tar.gz

 

2.提取內容

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

 

3.設置可執行dotnet

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

 

4.測試

測試:執行dotnet --help  或者 dotnet --info.成功

5.安裝asp.net core2.1

1.下載asp.net core

   

 wget https://download.visualstudio.microsoft.com/download/pr/1a3c3183-ea43-4060-9205-09151a6ab9d7/6f15f282afcd70fffd8b9e12de4cd8b9/aspnetcore-runtime-2.1.17-linux-arm.tar.gz

 

2.解壓到之前的.netcore路徑

 

   sudo mkdir -p /opt/dotnet && sudo tar zxf aspnetcore-runtime-2.1.17-linux-arm.tar.gz -C /opt/dotnet

 

3.查看安裝信息

使用dotnet --info查看已安裝運行時,如果存在asp.net core runtime ,即表示安裝成功。

三.安裝mariadb數據庫(其實就是mysql).

參考https://www.cnblogs.com/Cookies-Tang/p/10871556.html

主要步驟

1.下載Mariadb

sudo apt-get install mariadb-server

 

2.連接到MariaDB

sudo mysql

 

3.配置默認root密碼:password

use mysql;

UPDATE user SET password=password('password') WHERE user='root';

UPDATE user SET plugin='mysql_native_password' WHERE user = 'root';

flush privileges;

exit

 

4.重啟服務

sudo systemctl restart mariadb

 

5.使用新密碼驗證登錄

mysql -u root -p

 

6.開啟遠程連接

    修改配置文件

  

  sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

 

    打開后

    

# Instead of skip-networking the default is now to listen only on

    # localhost which is more compatible and is not less secure.

    bind-address            = 127.0.0.1(這一行用#注釋,監聽所有ip)

 

 

    同樣使用上一步中的mysql命令連接到MariaDB,輸入如下命令:

   

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

    --格式如下

    GRANT ALL PRIVILEGES ON *.* TO 'user'@'remoteip' IDENTIFIED BY 'password' WITH GRANT OPTION;

    --更新權限

    FLUSH PRIVILEGES;

 

7.注意:

在導出導入數據庫文件的時候總是出問題,建議使用MySQL-Front軟件執行操作

 

四,運行采集程序

1.用winSCP把程序拖到某個目錄

2.終端執行 sudo dotnet 路徑+程序.dll 執行完事兒~

五.開啟熱點(ap)

參考https://www.cnblogs.com/visionsl/p/8042315.html

參考https://blog.csdn.net/zanran8/article/details/80698347

1.開啟熱點

 

#將代碼copy到本地,安裝

sudo git clone https://github.com/oblique/create_ap

cd create_ap

sudo make install

 

 

#安裝依賴的庫

sudo apt-get install util-linux procps hostapd iproute2 iw haveged dnsmasq

 

 

#開啟熱點

sudo create_ap --no-virt wlan0 eth0(輸入熱點名和密碼)

 

或者

sudo create_ap --no-virt wlan0 eth0 ssidname password(一句話完事兒)

 

 

2.設置開機自啟動

sudo nano /usr/lib/systemd/system/create_ap.service

 

然后在最下方加上下面語句:

ExecStart=/usr/bin/create_ap -n wlan0 熱點名 密碼

 

保存退出,然后執行以下語句:

systemctl daemon-reload

systemctl enable create_ap.service

systemctl start create_ap.service

reboot

 

3.修改開機自啟動的默認熱點名

打開/home/pi/create_ap文件夾中的create_ap.conf文件,默認熱點名是MyAccessPoint,密碼12345678

4.注意:

1.當前WiFi模塊要設定為開啟狀態。

2.WiFi應該未連接任何無線網絡。

六.開啟web服務

參考 https://cloud.tencent.com/developer/article/1517120

參考https://blog.csdn.net/zhuyu19911016520/article/details/61210489

參考https://blog.csdn.net/qq_16005627/article/details/87909864

一定要安裝好.netcore和asp.net core環境

方案一:

使用dotnet直接運行(目前項目不能包含https,如果編譯https項目,會出錯,這個我再研究下)

與應用程序一樣,dotnet完事兒。原理是.netcore中集成了kestrel Web服務,但要注意代碼中要設置監聽所有端口。

加上 .UseUrls("http://*:5000");

方案二:

使用nginx

1.安裝nginx

sudo apt-get install nginx

 

2.啟動服務

sudo /etc/init.d/nginx start

 

關閉服務

sudo /etc/init.d/nginx stop

 

 

然后瀏覽器輸入本機ip看能否出現nginx網頁,出現即成功。

3.修改配置(注意編碼為utf8,空格不能用tab)

sudo nano /etc/nginx/sites-available/default

使用以下內容:

server {

    listen 80;

    location / {

        proxy_pass http://localhost:5000;

        proxy_http_version 1.1;

        proxy_set_header Upgrade $http_upgrade;

        proxy_set_header Connection keep-alive;

        proxy_set_header Host $host;

        proxy_cache_bypass $http_upgrade;

    }

}

 

4.檢查&重載

檢查配置文件

sudo nginx -t 

 

重新加載

sudo /etc/init.d/nginx reload

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM