一、每個人各自寫出
林郁昊
- 認識程度:樹莓派相當於一個小型的電腦,使用Linux系統,我了解的只有拍照錄像等功能,以前在B站上看到一個用樹莓派實現手寫數字識別的視頻。
- 電腦能做的大部分事情,在樹莓派上都能做,而樹莓派以其低能耗、移動便攜性、GPIO等特性,很多在普通電腦上難以做好的事情,用樹莓派卻是很適合的。比如把樹莓派配置成無線路由器,拿樹莓派當FTP文件服務器等等。
黃宇航
- 我最早聽到樹莓派還以為是吃的···是不是沒救了···
- 樹莓派可以用來做什么哈哈哈想用樹莓派的攝像頭模塊來做人臉識別!
二、系統燒錄和備份
- 進入官網下載所需鏡像:Raspbian Buster with desktop and recommended software
- 打開Win32DiskImager進行系統燒錄
點擊寫入並等待即可 - 打開Win32DiskImager進行備份
三、訪問樹莓派
SSH登錄Raspberry Pi
- 參考資料————Raspberry Pi 4B基本設置、查看連接到手機熱點的ip地址。
- 首先在自己的電腦上創建兩個文件,一個是ssh(空文件),另一個是wpa_supplicant.conf。
#wpa_supplicant.conf,priority越大,優先級越高
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="此處輸入wifi接入點名稱,保留引號"
psk="此處輸入wifi密碼,保留引號"
priority=1
}
network={
ssid="此處輸入wifi接入點名稱,保留引號"
psk="此處輸入wifi密碼,保留引號"
priority=2
}
- 然后將這兩個文件放到SD卡的根目錄下,將SD卡插回樹莓派,開機。
- 由於本次用的是手機熱點,所以要在手機上安裝一個軟件去查看樹莓派的ip地址,方法在上面的參考資料中。
- 在windows中打開命令提示符,輸入ssh ip地址 去登錄。默認賬號pi密碼raspberry。
- 第一次我們嘗試登錄發現密碼一直是錯誤的,后來才知道需要加上名稱去登陸,用 ssh pi@ip地址 去登陸。
- 這次就登陸成功了,頁面和ubuntu的命令窗口一樣的。
VNC登錄Raspberry Pi
- 參考資料————筆記本電腦當作樹莓派的顯示器、Raspberry Pi 4B基本設置
- 注意下載系統鏡像時要選擇帶桌面的。首先在樹莓派上開啟VNC服務。
sudo raspi-config
- 這個就是進入后的頁面。
- 之后根據參考資料中的博客一步一步配置就可以了,配置成功后會顯示如圖。
- 然后再去配置顯示,配置完成后重啟樹莓派,在樹莓派上的操作就完成了。
- 在本地的PC機上需要去下載VNC Viewer,下載地址VNC相關軟件下載地址。
- 在進行安裝、注冊賬戶等一系列操作后,進行登錄,需要填入ip地址,賬號密碼和剛才默認的一樣。
- 登錄進去就會顯示樹莓派的桌面。
- 進行語言、網絡等設置后,測試網絡。
- 為了方便之后軟件的下載,將樹莓派下載源換源。
sudo nano /etc/apt/sources.list
- 把原來的內容注釋掉,加上以下內容。
deb https://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contrib
deb-src https://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contrib
- 之后執行下面命令更新。
sudo apt-get update
sudo apt-get upgrade
四、接入攝像頭
樹莓派有很多擴展接口,而攝像頭也是其中一個非常重要的擴展部件,學習樹莓派攝像頭模塊picamera的使用方法,實現使用python代碼控制攝像頭,以及通過vlc實時讀取攝像頭捕獲的影像。
-
打開攝像頭
sudo raspi-config
reboot即可
-
通過opencv實時讀取攝像頭捕獲的影像。
# record.py
from picamera import PiCamera
import time
import datetime
camera = PiCamera()
camera.rotation = 180 # 旋轉180度
time.sleep(5) # 攝像頭感光
camera.start_recording('/home/pi/Desktop/record/video{}.h264'.format(datetime.datetime.now())) # 參數為文件路徑
time.sleep(5) # 錄制5秒
camera.stop_recording() # 停止錄制
- 使用python代碼控制攝像頭
#opencvtest.py
import cv2
import datetime
cap = cv2.VideoCapture(0)
print(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
print(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
#cap.set(3, 3000)
#cap.set(4, 3000)
#print(cap.get(3))
#print(cap.get(4))
while(cap.isOpened()):
ret, frame = cap.read()
if ret == True:
font = cv2.FONT_HERSHEY_SIMPLEX
text = 'Width: '+ str(cap.get(3)) + ' Height:' + str(cap.get(4))
datet = str(datetime.datetime.now())
frame = cv2.putText(frame, text, (10, 50), font, 1,
(255, 255, 255), 2, cv2.LINE_AA)
frame = cv2.putText(frame, datet, (10, 100), font, 1,
(255, 255, 255), 2, cv2.LINE_AA)
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
cap.release()
cv2.destroyAllWindows()
import picamera
import time
#create object for PiCamera class
camera = picamera.PiCamera()
#set resolution
camera.resolution = (1024, 768)
camera.brightness = 60
camera.start_preview()
#add text on image
camera.annotate_text = 'Say Cheese!'
time.sleep(5)
#store image
camera.capture('image{}.jpeg'.format(time.time()))
camera.stop_preview()
五、記錄遇到的問題和解決方法,提供小組成員名單以及在線協作的圖片
- 使用frp進行內網穿透,想讓其他小組成員訪問樹莓派,感受三倍的快樂
wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linu
x_amd64.tar.gz
tar -zxvf frp_0.33.0_linux_amd64.tar.gz
##frps.ini
[common]
# tunnel port通信管道
bind_port = 4000
# dashboard圖形管理頁面
dashboard_port = 90
dashboard_user = root
dashboard_pwd = admin
##frpc.ini
[common]
server_addr = [server_ip]
server_port = 4000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 8999
在運行./frpc -c ./frpc.ini指令時提示無法編譯二進制文件,仔細一查
發現Raspberry Pi 4是32位系統,因此樹莓派客戶端應該下載:
wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux——arm.tar.gz
-
小組成員名單與分工
- 111700312胡浩楠:負責查找相關資料指導操作
- 081700209林郁昊:負責編寫代碼
- 031701129黃宇航:負責實際操作
-
在線協作
-
一起觀看教學視頻
-
燒錄
-
進入樹莓派
-
進入樹莓派圖形界面
-