19年初的時候在實驗室終於搞定了自己的一套樹莓派的嵌入式管理平台,實現了對履帶式坦克機器人的控制以及之智能家傳感器的管理,由於之前開發的平台還是基於18年的raspbian(搭建過程如下:SmartRobotControlPlateform——智能機器人控制平台),最近家里的4B一直空着,必須讓它發光發熱,決定重新在4b 上搭建一套嵌入式平台,搭建過程中發現有些庫換了,因此,記錄下基於2021-05-07-raspios-buster-armhf的4B搭建過程。
具體成果參考github項目:https://github.com/ecjtuseclab/SmartRobotControlPlateform
這里我使用的鏡像是:2021-05-07-raspios-buster-armhf.img,原來一直用的是2018-11-13-raspbian-stretch.img。
環境為:raspbian+python3.7+mariadb+redis
1、系統安裝
1.1 燒入系統,自動連接wifi,並ssh登錄
官方鏡像下載地址:https://www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
使用迅雷下載非常快。
參考此文(樹莓派安裝raspbian並配置開發環境 或者 樹莓派安裝ubuntu_meta並配置開發環境)燒錄系統封到內存卡中,
下載燒錄軟件:Win32DiskImager-0.9.5-binary
鏈接:https://pan.baidu.com/s/1IG4HQDqaFCjf9Py4DeBWEA 密碼:gjj2
燒錄成功后,在 boot 盤中,放入 空白的ssh 和 wpa_supplicant.conf 兩個文件:
country=CN ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="無線網絡名稱" psk="無線密碼" key_mgmt=WPA-PSK priority=1 }
開啟樹莓派,在路由器中可以看到改樹莓派的IP,
使用MobaXterm(自帶shh和文件管理,特別方便操作)或者putty(下載鏈接:https://pan.baidu.com/s/1Mu3OFaqtdjY0eH8Vsfi7zQ 密碼:ufu4)連接樹莓派,用戶名默認:pi,密碼默認:raspberry。
修改密碼
sudo passwd pi
1.2 開啟VNC(可選,建議開啟)
ssh登錄后,進入樹莓派的配置管理界面
sudo raspi-config
Interfacing Options -> VNC -> Yes
然后重啟,用VNC Viewer登錄出現這個情況,
解決辦法:changing the resolution to the highest(更改更高的分辨率即可)
重新進入ssh,
sudo raspi-config
Display Options----Resolution---DMT51(不要選default)
更多分辨率設置,參考 樹莓派Raspberry實踐筆記—顯示分辨率配置 對VNC的分辨率進行設置!
重啟系統 sudo reboot
下載VNC客戶端:
鏈接:https://pan.baidu.com/s/1FPkQKdXNgI6hQT3fDI4YXQ 提取碼:7ut6
用VNC Viewer登錄即可見到最新的樹莓派系統。
PS:使用的是raspbian自帶的遠程桌面vnc,傳文件、命令也可以直接復制到運程桌面中,比較方便。
1.3 更改清華源
樹莓派的清華源官方介紹地址:https://mirror.tuna.tsinghua.edu.cn/help/raspbian/
ssh進入樹莓派,編輯 /etc/apt/sources.list
sudo nano /etc/apt/sources.list
# 編輯 `/etc/apt/sources.list` 文件,刪除原文件所有內容,用以下內容取代: deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
編輯 /etc/apt/sources.list.d/raspi.list
sudo nano /etc/apt/sources.list.d/raspi.list
# 編輯 `/etc/apt/sources.list.d/raspi.list` 文件,刪除原文件所有內容,用以下內容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
更新軟件源列表,並更新軟件
sudo apt-get update
sudo apt-get upgrade
1.4 切換python運行版本為3.7
參考:在Ubuntu_meta 16.04中設置默認Python3.5的命令
直接執行這兩個命令即可:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
輸入python,既可看到切換成功
如果需要切換回python2.7,之需要輸入:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 150 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 100
2、安裝Pi 儀表盤
同時將Apache和php配置完成。
2.1 安裝Apache
安裝apache,在命令行終端中輸入一下命令:
sudo apt-get install apache2
測試:
在瀏覽器里輸入 http://樹莓派IP,如果看到了Apache2 Ubuntu Default Page,那就說明Apache就成功的安裝了,
2.2 安裝PHP
在 Pi 的終端運行以下命令。
sudo apt-get install php7.3-fpm php7.3-cli php7.3-curl php7.3-gd php7.3-cgi
sudo service php7.3-fpm restart
2.3 部署 Pi Dashboard
在 Pi 的終端運行以下命令。
#如果已安裝過 git 客戶端可以跳過下一行 sudo apt-get install git cd /var/www/html sudo git clone https://github.com/nxez/pi-dashboard.git
# 如果github下載非常慢,所用下面的命令替換
sudo git clone https://github.com.cnpmjs.org/nxez/pi-dashboard.git
即可通過 http://樹莓派IP/pi-dashboard
訪問部署好了的 Pi Dashboard。但是訪問后Apache並沒有運行PHP文件!!!
解決辦法:安裝php對於apache的模塊
sudo apt install php libapache2-mod-php
同樣如果頁面無法顯示,可以嘗試在樹莓派終端給源碼添加運行權限,例如你上傳之后的路徑是 /var/www/html/pi-dashboard
,則運行。
cd /var/www/html sudo chown -R www-data pi-dashboard
到這步已經可以訪問我們搭建好的 Pi Dashboard 了,如下圖:
3、安裝MySQL(MariaDB)
參考此文:Ubuntu下安裝MySQL
安裝MySQL——MariaDB
sudo apt-get install mariadb-server
sudo apt-get install mariadb-server
1
安裝完畢后,使用空密碼登錄mysql。
sudo mysql -u root -p
1
修改密碼過程
use mysql; # 連接數據庫
set password=PASSWORD('123456');# 修改密碼為123456
flush privileges; # 刷新
exit;
————————————————
版權聲明:本文為CSDN博主「幾何木偶」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_38413498/article/details/105067118
5、安裝Django
參考此文:ubuntu安裝Django
pip install django
#或者
#pip3 install django
a、安裝pymysql數據庫模塊
參考此文:Django安裝數據庫MySQLdb
pip install pymysql
#或者
#pip3 install pymysql
如果運行Django提示無法訪問mysql數據庫,則
進入mysql數據庫
sudo mysql
查詢user表
use mysql
select Host,User from user;
發現有兩條root記錄,其中 localhsot root 是 mariadb 數據庫安裝默認的,需要刪除
重啟mysql服務
sudo service mysql restart
運行正常
可以訪問
6、安裝Redis
參考此文:linux與python3安裝redis
sudo apt-get install redis*
pip install redis
#或者
#pip3 install redis
7、Python安裝pymysql
參考此文:python安裝PyMySQL
8、Python安裝密碼學庫Crypto
pip install Crypto
#或者
#pip3 install Crypto
如果還是出錯,參考此博文:python3.6 錯誤: ModuleNotFoundError:No module named "Crypto"
https://blog.csdn.net/zoulonglong/article/details/79552813
9、python安裝MySQLclient
參考此文:python安裝MySQLclient
10、安裝sumbus模塊
sudo apt-get install python-smbus
pip install smbus
11、安裝視頻流mjpg-streamer-experimental
參考此文:https://www.jianshu.com/p/ecea3a8291ed
12、安裝ffmpeg視頻推流工具
參考此文:https://blog.csdn.net/weixin_33946020/article/details/87618803
13、安裝與配置激光雷達
安裝hiredis
參考資料:https://blog.csdn.net/qq_27385759/article/details/78981884
安裝cmake
sudo apt install cmake
編譯、安裝、運行激光雷達程序
mkdir build
cd build
cmake ../ -G "CodeBlocks - Unix Makefiles" make sudo chmod 777 /dev/ttyUSB0(NOTE:please select correct serial in “app\node.cpp”) ./delta_lidar_node