什么是嵌入式?
嵌入式即嵌入式系統,IEEE(美國電氣和電子工程師協會)對其定義是用于控制、監視或者輔助操作機器和設備的裝置,是一種專用的計算機系統。國內普遍認同的嵌入式系統定義是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等要求嚴格的專用計算機系統。從應用對象加以定義來說,嵌入式系統是軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。事實上,所有帶有數字接口的設備,如:手表、微波爐、錄像機、汽車,機器人等,都使用嵌入式系統,有些嵌入式系統還包含操作系統。
學習過程選用ARM架構的樹莓派進行學習開發:
ARM架構,曾稱進階精簡指令集機器(Advanced RISC Machine)更早稱作Acorn RISC Machine,是一個32位精簡指令集(RISC)處理器架構。還有基于ARM設計的派生產品,重要產品包括Marvell的XScale架構和德州儀器的OMAP系列。
開發準備:
- 樹莓派刷機:用到的是一個讀卡器和一張SD卡和樹莓派的鏡像包(我這里用到的是2020.2.13的),刷機軟件用到的是Win32Diskmager(需要的評論留下郵箱),如下圖:
點擊write即可進行,鏡像的寫入。出現以下界面表示,刷機成功。
- 刷機成功后,可以用HDMI接口接顯示屏顯示樹莓派的開機界面,還有另一種方式登錄樹莓派——串口。默認情況,樹莓派的串口和藍牙連接,想辦法斷開藍牙連接,把串口用來數據通信,并且可以通過串口登錄樹莓派,
串口登錄樹莓派:
- 打開SD目錄下的“config.txt”文件,將以下內容加在最后并且保存。這樣就停止了藍牙,解除了對串口的占用。
dtoverlay=pi3-miniuart-bt
- 然后再修改根目錄的"cmdline.txt",將里面的內容全部替換成以下內容,以防萬一,請先備份好這個文件的原內容。(將串口作為交互的通道,115200是串口的波特率)
dwc_otg.lpm_enable=0 console=tty1 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
- 這里我的cmdline.txt文件內容為以下內容,在這里進行備份。
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=765096b9-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
- 配置修改完成,然后就可以使用usb轉ttl連接樹莓派的串口觀察樹莓派的啟動過程,下圖是樹莓派的引腳對應。注意: 查看時,將樹莓派的USB接口面對自己,這樣看才是正確的。
- 將線連接好后,要用到一個工具SecureCRT這是一款終端仿軟件,進入軟件后可以按下圖進行設置。
- 然后將USB轉TTl插到電腦,并給樹莓派供電。注意: usb轉ttl和樹莓派連接時:tx接rx,rx接tx,gnd接gnd。啟動界面如下圖所示,賬號是:pi,密碼是:raspberry。
- 輸入賬號密碼后就可以進入到樹莓派的操作系統。如下圖所示:
修改終端的字體格式: - 上面兩幅圖的字體開起來不是那樣的美觀,我們可以,點擊選項下面的會話選項進行字體的設置,首先點擊終端下面的仿真,選擇linux,使用配色方案可勾可不勾。
- 然后點擊外觀,選擇自己喜歡的字體格式,下圖選擇的顏色方案是:traditional,字體格式是:Courier New,大小是小三。
- 下圖是顏色配置的結果:
下面將使用網絡的方式登錄樹莓派:
- 首先讓樹莓派連接網絡,分為以下幾個步驟:
- 打開/etc/wpa_supplicant/wpa_supplicant.conf并填入如下內容,psk還可以是32字節的預加密16進制數。該數可以用wpa_passphrase生成。
network={ssid="你的無線網名字"psk="密碼"key_mgmt=WPA-PSK//這個是加密的方式,可以不寫
}
- 如下圖界面:
- 輸入以下命令,打開wpa_supplicant.conf文件。nano是文件編輯器
普通用戶 etc下的文件是沒有權限去修改的,所以要加上sudo。寫好后 ctrl + o 然后回車保存, 然 后Ctrl+x退出,寫好后要重啟 ——輸入sudo reboot指令重啟
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
- 重啟后輸入ifconfig即可查看,樹莓派的ip地址。如下圖所示:
如何固定樹莓派的ip地址:
固定前樹莓派的IP地址是隨機獲取的,若使用ssh登錄可能有問題,可以采用以下方式固定IP。
- 輸入以下指令打開rc.local這個文件(操作系統啟動的時候會調用這個腳本):
sudo nano /etc/rc.local
- 加入自己要固定的IP地址,完成配置后ctrl+O回車保存,ctrl+x退出。
ifconfig wlan0 192.168.1.103
- 可重啟查看IP有沒有變化,然后ifconfig查看是否有wlano,若沒有則可以參考以下博文:樹莓派配置網絡出現問題之解決辦法
網絡ssh方式登錄樹莓派:
- 首先打開樹莓派ssh功能,輸入指令:
sudo raspi-config
-
然后按照下圖進行操作:
-
選擇Interfacing Options,回車
-
選擇ssh后回車
-
通過左右鍵,選擇Yes后回車
-
出現以下界面表示,可以使用ssh方式登錄樹莓派了。
-
然后打開SecureCRT這個軟件,選擇ssh2登錄方式,然后輸入賬號密碼就可以進行登錄。
更新新版的vim方便以后的使用:
- 輸入指令:
sudo apt-get install vim
- 出現下圖表示下載失敗,此時我們將樹莓派源更換為國內可用的鏡像源,操作步驟如下:
- 編輯sources.list,打開終端 輸入以下內容:
sudo nano /etc/apt/sources.list
- 用#注釋或直接刪除原有的內容,新增兩條:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
#deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
- 注意: 換的源要和自己樹莓派系統的版本對應,我這里使用的是stretch 這個版本的。ctrl+o回車,ctrl+x 退出。
- 編輯raspi.list。輸入指令:
sudo nano /etc/apt/sources.list.d/raspi.list
用#注釋或直接刪除原有的內容,新增兩條:
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
#deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
- ctrl+o回車,ctrl+x 退出。
- 更新軟件源列表:
sudo apt-get update
- 然后輸入:
sudo apt-get install vim
重新下載即可,出現下圖表示安裝完成。
除了以上三種方式登錄還可以使用遠程桌面登錄樹莓派:
- 輸入以下指令下載xrdp:
sudo apt-get install xrdp
- 然后通過windows搜索遠程桌面輸入IP地址即可
- 結果如下圖所示,和用HDMI登錄的界面一樣。
樹莓派和Windows之間的文件共享:
這里使用到一個軟件是:FileZilla,這個軟件的使用方法可以看我這篇博客:linux開發環境搭建出現下圖表示連接成功。
如果需要博客中的任何軟件,私信我或者評論留下郵箱。