步驟1:確定USB UART轉(zhuǎn)換器RX/TX線
您需要確保轉(zhuǎn)換器上的哪些引腳是RX/TX串行線。不要依賴轉(zhuǎn)換器PCB上的標(biāo)記,因為它們可能不正確!如果您知道哪條線是TX和RX,則可以跳過此步驟。
如果不確定哪條線是TX,可以在可疑引腳上串聯(lián)一個電阻和LED,LED應(yīng)當(dāng)閃爍
假定/dev/ttyUSB0是轉(zhuǎn)換器,
# This will make a LED attached to the TX blink once
stty -F /dev/ttyUSB0 9600 raw
dd if=/dev/zero of=/dev/ttyUSB0 bs=1000 count=1
一旦確定了TX引腳,就可以將其連接到轉(zhuǎn)換器上的可疑RX引腳構(gòu)成回波環(huán)路。您應(yīng)該能夠收到寫入的內(nèi)容。
screen /dev/ttyUSB0 115200
在屏幕會話中鍵入字符時,連接TX-RX時屏幕應(yīng)回顯它們。
步驟2:將計算機(jī)連接到Raspberry Pi
將USB 《-》 UART轉(zhuǎn)換器連接到Raspberry Pi 。您需要連接TX,RX和GND線。 TX代表“發(fā)送器”,RX代表“接收器”。連接兩個UART設(shè)備時,必須以TX和RX交叉的方式連接它們。這意味著從一個設(shè)備上的TX引腳輸出到另一設(shè)備上的RX輸入引腳,反之亦然。有時稱為空調(diào)制解調(diào)器。
UART Convertor Raspberry PI GPIO
GND ---------------------- GND
TX output pin ------------ RXD pin 10 on GPIO header
RX input pin ------------- TXD pin 8 on GPIO header
請確保您的轉(zhuǎn)換器使用3.3v邏輯電平輸出! Raspberry在其GPIO上使用3.3v邏輯,較高的電壓可能會損壞GPIO!如果您的轉(zhuǎn)換器使用5v邏輯電平,則必須使用某些邏輯電平轉(zhuǎn)換器。
步驟3:使用控制臺測試連接
默認(rèn)情況下,Raspbian使用內(nèi)置的UART進(jìn)行Linux控制臺訪問和內(nèi)核調(diào)試。現(xiàn)在,我們將利用此優(yōu)勢來測試接線。稍后我們將禁用此功能,并僅使用UART進(jìn)行聯(lián)網(wǎng)。
可以通過/dev/ttyAMA0專用設(shè)備訪問Raspi的UART。
首先,確保串行控制臺位于啟用。在cmdline.txt中,您應(yīng)該看到類似以下內(nèi)容的
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
最重要的部分是 console = ttyAMA0,115200 ,這將告訴內(nèi)核將UART假定為系統(tǒng)控制臺。
手動編輯文件或使用raspi-config(高級選項)在串行端口上啟用控制臺。
第二,在Linux計算機(jī)上,鍵入:
screen /dev/ttyUSB0 115200
這將連接到Raspberry Pi控制臺。您應(yīng)該看到一個登錄提示,并且能夠登錄。如果看不到任何內(nèi)容,請嘗試按Enter。此外,在Raspi啟動時,您還應(yīng)該看到內(nèi)核消息。
如果沒有顯示器和鍵盤,則可以使用串行控制臺連接到Raspberry Pi。只要確保已在cmdline.txt
中啟用了控制臺,就可以檢查串行連接,然后可以繼續(xù)下一步。
步驟4:安裝必要的工具
您將需要使用“ pppd”工具來管理連接。它是‘ppp’軟件包的一部分。
將ppp軟件包安裝到Linux主機(jī)和Raspberry Pi:
sudo apt-get install ppp
如果沒有的話您可以從Raspberry Pi上訪問Internet(一個雞蛋問題),您可以手動下載.deb程序包,將它們放在sd卡或閃存驅(qū)動器上,然后手動安裝它們。只需確保下載并安裝所有依賴項即可。
sudo dpkg -i xyz.deb
步驟5:接管Raspberry Pi的UART
現(xiàn)在,當(dāng)串行鏈接可靠工作時。我們可以禁用控制臺功能,僅將UART用于網(wǎng)絡(luò)。
首先,從cmdline.txt中刪除所有ttyAMA0引用,如果不知道如何,請參考上一步:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
在下次重新啟動時,您將可以根據(jù)需要使用ttyAMA0。
在我們的情況下,我們將為某些合理的行為配置UART并啟動PPP Daemon建立一個
這些命令基本上可以滿足我們的需要:
stty -F /dev/ttyAMA0 raw
pppd /dev/ttyAMA0 115200 10.0.5.2:10.0.5.1 noauth local debug dump defaultroute nocrtscts
IP地址10.0.5.2和10.0.5.1表示本地:正在使用的遠(yuǎn)程地址用于連接。您可以選擇任何IP地址,只需確保網(wǎng)絡(luò)范圍不同于您正在使用的IP地址即可。在我們的例子中,10.0.5.2將是我們Pi的地址,10.0.5.1將是我們Linux主機(jī)的地址。
由于除了串行端口之外,我無權(quán)訪問RaspberryPi ,我稍微調(diào)整了pppd參數(shù)并將它們添加到/etc/rc.local腳本中,以便它們在每次Raspberry啟動時都執(zhí)行,并且pppd始終保持運(yùn)行,因此我可以隨意連接和斷開Raspberry。
我的rc.local:
echo “Starting pppd.。.”
stty -F /dev/ttyAMA0 raw
stty -F /dev/ttyAMA0 -a
pppd /dev/ttyAMA0 115200 10.0.5.2:10.0.5.1 noauth local debug dump defaultroute nocrtscts persist maxfail 0 holdoff 1
“ persist maxfail 0 holdoff 1”參數(shù)將使pppd嘗試永久連接。
當(dāng)您插入a監(jiān)視到您的Raspberry,您應(yīng)該在屏幕上看到啟動腳本的輸出。
步驟6:在主機(jī)上運(yùn)行Pppd
啟動ppp守護(hù)程序在您的計算機(jī)上:
sudo stty -F /dev/ttyUSB0 raw
sudo pppd /dev/ttyUSB0 115200 10.0.5.1:10.0.5.2 proxyarp local noauth debug nodetach dump nocrtscts passive persist maxfail 0 holdoff 1
在兩個設(shè)備上都運(yùn)行pppd時,它們應(yīng)該握手并建立鏈接。輸出應(yīng)如下所示:
using channel 10
Using interface ppp0
Connect: ppp0 《--》 /dev/ttyUSB0
sent [LCP ConfReq id=0x5 ]
rcvd [LCP ConfReq id=0x2 ]
sent [LCP ConfAck id=0x2 ]
rcvd [LCP ConfAck id=0x5 ]
sent [LCP EchoReq id=0x0 magic=0xb4bad9a9]
sent [CCP ConfReq id=0x4 ]
sent [IPCP ConfReq id=0x4 ]
rcvd [LCP EchoReq id=0x0 magic=0x263f80e1]
sent [LCP EchoRep id=0x0 magic=0xb4bad9a9]
rcvd [LCP EchoRep id=0x0 magic=0x263f80e1]
rcvd [CCP ConfReq id=0x2 ]
sent [CCP ConfAck id=0x2 ]
rcvd [IPCP ConfReq id=0x2 ]
sent [IPCP ConfAck id=0x2 ]
rcvd [CCP ConfAck id=0x4 ]
Deflate (15) compression enabled
rcvd [IPCP ConfAck id=0x4 ]
Cannot determine ethernet address for proxy ARP
local IP address 10.0.5.1
remote IP address 10.0.5.2
Script /etc/ppp/ip-up started (pid 3826)
Script /etc/ppp/ip-up finished (pid 3826), status = 0x0
現(xiàn)在,從Linux主機(jī)上,您應(yīng)該能夠ping或ssh RaspberryPi
ping 10.0.5.2
如果ping工作正常,您可以繼續(xù)執(zhí)行下一步。
步驟7:設(shè)置路由和NAT
一旦我們在計算機(jī)和計算機(jī)之間建立了IP鏈接,在Raspberry Pi中,我們可以配置計算機(jī)以將流量從Raspi路由到Internet。
首先,啟用流量轉(zhuǎn)發(fā):
sudo sysctl -w net.ipv4.ip_forward=1
下一步,啟用NAT假裝將Raspi的內(nèi)部地址轉(zhuǎn)換為計算機(jī)的地址。假設(shè)“ eth0”是計算機(jī)上用于連接外部世界的接口:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
現(xiàn)在,您應(yīng)該可以通過SSH進(jìn)入Raspberry并ping到一些Internet服務(wù)器: ! - )
完成
-
串行
+關(guān)注
關(guān)注
0文章
256瀏覽量
35426 -
Internet
+關(guān)注
關(guān)注
0文章
401瀏覽量
38485 -
樹莓派
+關(guān)注
關(guān)注
122文章
2079瀏覽量
110488
發(fā)布評論請先 登錄
i.MXRT1064無法通過串行連接到MCU Boot Utility怎么解決?
Banana Pi BPI-CM6 – 一款與 Raspberry Pi CM4/CM5 載板兼容的 SpacemiT K1 RISC-V 系統(tǒng)模塊
Banana Pi BPI-CM6 – 一款與 Raspberry Pi CM4/CM5 載板兼容的 SpacemiT K1 RISC-V 系統(tǒng)模塊
Banana Pi BPI-R4 Lite:新型單板計算機(jī)比 Raspberry Pi 5 更具優(yōu)勢
如何僅使用 MiniWiggler連接并更改 BMI 的默認(rèn)值?
設(shè)備快線連接運(yùn)設(shè)備是提示無法連接到SSL VPN怎么解決?
貿(mào)澤開售Raspberry Pi用于嵌入式和IIoT應(yīng)用的RP2350微控制器
是否可以保持與 SOM 的數(shù)據(jù)連接并將連接到 CYPD3177 的 CC 線路同時設(shè)置 USB 電壓?
有沒有辦法可靠地使 UMASS 連接在 Windows 10/11 下工作?
110配線架怎么跟電話線連接起來
Raspberry Pi 計算機(jī)流行的工業(yè)用例
解鎖垂直美學(xué)!如何在你的Raspberry Pi相框中僅顯示豎版照片!
如何讓 Raspberry Pi 煥發(fā)網(wǎng)絡(luò)新生機(jī)?
如何僅使用Raspberry Pi的串行線將其連接到Internet
評論