在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何讓 Raspberry Pi 煥發網絡新生機?

上海晶珩電子科技有限公司 ? 2025-03-25 09:20 ? 次閱讀

導語

OpenWRT是一款開源固件,可加載到許多市售路由器上。該固件為較舊或過時的硬件提供了升級途徑,并為較新的設備提供了定制/高級功能。

由于 OpenWRT 占用空間較小(176MB 對比 1.7GB 以上的樹莓派OS鏡像),它非常適合速度和內存使用率較高的老款 Raspberry 硬件。

對于小型家庭和辦公室項目,OpenWRT 將提供一些有趣的網絡解決方案,例如將 樹莓派變成接入點或將其用作無線 LAN 橋接器。但需要注意的是,Raspberry Pi WiFi 硬件不會提供與專用路由器相同的性能。

本文來自國外網友的實操,主要內容包括:

- 如何安裝舊的 Raspberry Pi Model B 并運行 OpenWRT

- 我還嘗試解釋如何安裝許多常見的樹莓派功能(加載軟件、GPIO、I2C……)

優點和缺點

在進入樹莓派 OpenWRT 項目之前,了解它與默認的 Raspberry Pi OS 相比的地位很有用。

OpenWRT 的一些優勢(優于 Raspbian/Raspberry PI OS)包括:

- 它速度很快,被設計為在內存有限的低端 CPU 上運行

- 聚焦網絡功能

- 快速啟動

- 操作系統占用空間更小,因此甚至可以使用較舊的 4 GB SD 卡(2GB 是可能的,但可能無法加載許多軟件包)。

OpenWRT 的一些限制:

- 沒有 X-window 桌面

- 系統設置不像默認的 Raspberry PI OS 那樣方便(沒有raspi-config)

- 默認安裝非常簡單,因此您需要手動加載軟件包(甚至 Bash 和 Nano)

- 某些軟件包的安裝可能比較困難(例如 Node-Red)

入門

盡管 OpenWRT 是為在路由器上運行而設計的,但從很多方面來看,在 Raspberry Pi 上運行更方便。

使用樹莓派的一些好處包括:

- 你不會讓樹莓派變"磚",事實上用OpenWRT刷路由器經常會這樣

- SD/microSD 卡比大多數家用路由器擁有更多的空間

- 樹莓派有一個 HDMI 連接,因此你可以直接在 樹莓派上工作(適合入門)

有關 OpenWRT Raspberry Pi 圖像,請參閱:https://openwrt.org/toh/raspberry_pi_foundation/raspberry_pi

您可以使用標準 Raspi 映像器在 SD 卡上安裝 OpenWRT。對于 Linux 系統,可以通過以下方式安裝映像器:

sudoapt update && sudo apt install rpi-imager

加載 SD 卡后,有幾種方法可以啟動并運行 OpenWRT 系統。以下是使用的步驟。

1. 將顯示器和鍵盤連接到 Pi

讓它啟動,然后轉到命令提示符,并設置一個靜態 LAN 地址:

# Enter your own static IP. Note: change the gateway/DNS for your setupucisetnetwork.lan.proto="static"ucisetnetwork.lan.ipaddr="192.168.0.140"ucisetnetwork.lan.netmask="255.255.255.0"ucisetnetwork.lan.gateway="192.168.0.1"ucisetnetwork.lan.dns="192.168.0.1"uci commit network

如果您能夠看到 LAN 上的 IP 地址,您可以簡單地執行以下操作:

#SetPiforDHCPandthencheckits addressucisetnetwork.lan.proto="dhcp"ucicommitnetwork

2. 將 Pi 硬連線到您的 LAN

將樹莓派的網口連接到您的筆記本網口,然后重新啟動模塊。

您現在可以從筆記本電腦上使用 OpenWRT 的 Web 界面,或者使用安全 shell (ssh) 命令行界面。

我喜歡使用 ssh 選項來開始,因為我可以粘貼命令組。要開始使用 ssh(使用我的靜態 IP):

$ ssh root@192.168.0.140BusyBox v1.35.0 (2023-01-03 0021 UTC) built-in shell (ash) _______ ________ __| |.-----.-----.-----.| | | |.----.| |_| - || _ | -__| || | | || _|| _||_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M-----------------------------------------------------OpenWrt 22.03.3, r20028-43d71ad93e-----------------------------------------------------=== WARNING! =====================================There is no root password defined on this device!Use the "passwd" command to set up a new passwordin order to prevent unauthorized SSH logins.--------------------------------------------------root@OpenWrt:~#

3.安裝所需軟件

默認的 OpenWRT 安裝非常簡單,因此可能需要一些基本包。

OpenWRT 使用opkg來安裝軟件。(注意:OpenWRT 不支持 apt 和 apt-get)。

# Install some software, but update list firstopkgupdate# Install Bash, nano editoropkg install bash nano# For Python projects install the base Python3 and pipopkg install python3 python3-pip# For Pi GPIO projectsopkg install gpioctl-sysfs gpiod-tools

如果您計劃在 Raspberry Pi 上做一些項目,添加 Bash、Python 和 GPIO 硬件支持將會很有用。

LuCI – OpenWRT Web 界面

系統啟動并運行后,可以使用 LuCI Web 界面設置其他功能,如網絡接口和自定義軟件。

許多軟件包還包括 LuCI Web 附加組件。

從 LuCI 界面,您可以輕松看到有多少內存和磁盤空間可用。如果您計劃加載大量軟件包,檢查此屏幕非常重要。

5928fc24-0917-11f0-9434-92fbcf53809c.png

設置 USB WiFi 適配器

對于 Raspberry Pi 型號 3 和 4,OpenWRT 將識別其內置 WiFi 硬件,但是對于早期型號或想要使用 USB WiFi 適配器的項目,您需要執行此步驟。

在 OpenWRT 上,必須手動添加 USB 設備的配置。

第一步是安裝 USB 實用程序包:

# Update the package listopkgupdate# Add USB Utils (has lsusb)opkginstall usbutils

添加usbutils后, lsusb命令將顯示有關已連接 USB 設備的信息(注意:仍需加載驅動程序)。對于使用舊 Realtek WiFi 適配器的 Raspberry Pi B 設置,輸出為:

root@OpenWrt_Pi1:~# lsusbBus001Device004: ID0bda:8189Manufacturer_Realtek RTL8187B_WLAN_AdapterBus001Device003: ID0424:ec00 Bus001Device002: ID0424:9512 Bus001Device001: ID1d6b:0002Linux5.10.176dwc_otg_hcd DWC OTG Controller

從此列表中我可以看到我需要搜索RTL8187B_WLAN_Adapter。 Luci Web 界面可用于查找和安裝所需的網絡驅動程序。

594e281e-0917-11f0-9434-92fbcf53809c.png

一旦啟用 USB WiFi 適配器,就可以使用幾種不同的無線布置,其中一些更常見的設置是:

- 無線應用節點(類似典型的 Raspberry Pi 設置)

- 接入點節點,用于設置您自己的自定義網絡

- 無線網橋,用于擴展現有的無線網絡

對于簡單的無線應用節點,進入 LuCI 網頁界面的Network->Wireless菜單選項,然后選擇您的無線電并掃描無線網絡。配置 SSID(無線連接)后,選擇Edit添加網絡信息。

59651bf0-0917-11f0-9434-92fbcf53809c.png

確保選擇lan和wwan,這樣您將能夠通過無線和有線連接遠程訪問樹莓派節點。

使用 SFTP 和 FileZilla

如果您僅使用 SSH 和 Luci Web 界面,遠程操作 OpenWRT 可能會有點困難。安全文件傳輸協議 (SFTP) 服務器包可用于大大改善配置和編碼文件的編輯和保存。

OpenSSH-FTP 服務器包的安裝方式如下:

# For remote work add an SFTP serveropkgupdateopkg install openssh-sftp-server

加載該軟件后,可以在筆記本電腦上使用像 FileZilla 這樣的圖形化 SFTP 客戶端包。

FileZilla 允許使用簡單的可視化界面進行遠程編碼和維護。以下是 FileZilla 連接到 OpenWRT Raspberry Pi 節點的示例。FileZilla 上的文件關聯已設置,以將 py 文件鏈接到基本的 Python Idle 編輯器。

59890754-0917-11f0-9434-92fbcf53809c.png

樹莓派3 示例

我想做一個更完整的樹莓派功能測試。對于這個項目,可以使用樹莓派3,測試控制 USB 電源。(注意:USB 電源控制僅適用于樹莓派3 和 4)。

我的目標是嘗試使用 GPIO、I2C 和 USB 電源。在最終項目中,我使用了 OpenWRT 的內置 uhttpd Web 服務器來展示結果。

下面是我為使事情順利進行而采取的一些單獨步驟。

GPIO 設置

需要加載基本的 GPIO 包:

# update list of available packagesopkgupdateopkg install gpioctl-sysfs gpiod-tools

安裝基本的 GPIO 軟件后,可以在 Bash(或默認的 OpenWRT shell ash)中讀取和寫入 Raspberry Pi 引腳。

在使用 GPIO 引腳之前,需要先定義它。可以使用tee命令創建包含所有必需文件的 gpio 定義,例如:

# Create a gpio4 definitionecho4 |tee/sys/class/gpio/export# Show the file structurels/sys/class/gpio/gpio4active_low direction power ueventdevice edge subsystem value

創建 GPIO 定義然后寫入引腳并讀回值的示例是:

# Define the pin as an outputecho"out"> /sys/class/gpio/gpio4/direction# Set the pin on (1)echo1 > /sys/class/gpio/gpio4/value# Read the pin valuecat/sys/class/gpio/gpio4/value1

如果您正在進行一些嘗試并且想要刪除 gpio 定義,那么請寫入unexport文件:

# Remove GPIO4echo4 |tee/sys/class/gpio/unexport

I2C 設置

為了使 I2C 設置正常工作,需要加載 Raspberry Pi I2C 芯片組驅動程序和 I2C 工具:

# Update the opk list. This needs to be done once after a power upopkgupdateopkg install kmod-i2c-bcm2835 i2c-tools

下一步是編輯文件:/boot/config.txt

nano /boot/config.txt

在文件底部添加三行 dtparam

################################################################################# Bootloader configuration - config.txt################################################################################################################################################################# For overclocking and various other settings, see:# https://www.raspberrypi.org/documentation/configuration/config-txt/README.md################################################################################# OpenWrt configincludedistroconfig.txt[all]# Place your custom settings here.dtparam=i2c1=ondtparam=spi=ondtparam=i2s=on

編輯文件后,需要重新啟動系統。此后,可以連接 I2C 設備。要檢查有線設備的 I2C 地址,請使用i2cdetect命令:

i2cdetect-y1 0 1 2 3 4 5 6 7 8 9 a b c d e f00: -- -- -- -- -- -- -- --10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --20: -- -- -- -- -- -- -- --28-- -- -- -- -- -- --30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --40: -- -- -- -- -- -- -- --48-- -- -- -- -- -- --50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --70: -- -- -- -- -- -- --77

(注意:對于這個 i2cdetect 示例,地址 28 和 48 來自 Pimoroni Explorer HAT,地址 77 是 BME280 傳感器)。

通常,下一步是使用 pip 安裝 Python,然后安裝任何所需的 I2C 設備庫。對于這個項目,我使用了 BME280 溫度/濕度傳感器

BME280 傳感器設置

每個傳感器都有自己特定的庫,但是您可能需要 python3-smbus 支持。

對于我的傳感器,我需要:

opkg updateopkg install python3 python3-pipopkg install python3-smbus#Install Python BME280 temperature/humidity sensor librarypip install bme280

Python bme280 庫也有一個 Bash 接口,因此要從 I2C 地址 77 獲取數據:

https://pypi.org/project/bme280/

# Get the BME280 sensor data from address 0x77read_bme280 --i2c-address0x771005.19hPa 38.38% 19.25C

控制 USB 電源

控制 USB 電源并不常見。一些用例可能是:USB 風扇和燈或重置 Pi 正在供電/連接的 Arduino 控制器

要使用此功能您需要運行:

opkginstall usbutils uhubctl

lsusb 命令將顯示哪些智能 USB 設備已連接,但不會顯示 USB 風扇和燈等簡單硬件。

lsusb--tree/: Bus01.Port1: Dev1, Class=root_hub, Driver=dwc_otg/1p,480M |__ Port1: Dev2, If0, Class=, Driver=hub/5p,480M |__ Port1: Dev3, If0, Class=, Driver=smsc95xx,480M

對于樹莓派3 和 4,所有 USB 端口的電源都通過端口 2 集中在一起,因此遺憾的是無法為單個 USB 端口供電。如前所述,樹莓派1 和 2 上的芯片組不支持 USB 電源控制。

樹莓派4 有兩個內置 USB 集線器。集線器 1-1 連接到 USB 2.1 標準上的所有 USB 端口。集線器 2 控制 USB 3.0標準上的所有端口和以太網插孔。

打開/關閉/切換 USB 端口并保持以太網插孔供電的命令是:

uhubctl-l1-1-p2-aonuhubctl-l1-1-p2-aoffuhubctl-l1-1-p2-a toggle

OpenWRT uhttpd Web 服務器

OpenWRT 預裝了輕量級uhttp Web 服務器。該服務器用于 LuCI Web 界面,但也可用于自定義應用程序。

對于自定義 Web 項目,請將文件添加到: /www/cgi-bin

此目錄允許運行任何 CGI 程序(Bash、Python、Lua 等)。請記住在 CGI 腳本文件上設置執行權限:

chmod+x mycgifile

Pi3 CGI Web 示例

該項目的硬件設置使用了 Pimoroni Explorer HAT Pro。這款 Pi Top 有四個內置彩色 LED(位于引腳 4、17、27 和 5)。在切換 GPIO 引腳之前,需要定義設備并設置方向:

#!/bin/bash## setgpio - setup GPIO#forpinin4 17 27 5do gpiodev=/sys/class/gpio/ gpiodev+=$pin echo$pin|tee/sys/class/gpio/export echo"out"> /sys/class/gpio/gpio$pin/directiondonels/sys/class/gpio

對于我的網頁,一些按鈕用于傳遞查詢字符串變量,該變量在輸出 HTML 之前在腳本頂部讀取。BME280 傳感器數據顯示為一個簡單的 Bash 變量。

#!/bin/bash## toggle - Bash CGI to show some standard functions# - toggle GPIO LEDs and USB power# - show some I2C sensor results# Note: GPIO pins need to be setup as outputsset-e# Toggle a pin if it's passed in the queue stringif [["$QUERY_STRING"=~"gpio"]];then pin=$QUERY_STRING # Read the GPIO pin value and then toggle it if["$(cat /sys/class/gpio/$pin/value)"== 1 ];then echo0 > /sys/class/gpio/$pin/value else echo1 > /sys/class/gpio/$pin/value fifi# Toggle USB power, ensure to add '&' for CGI useif[["$QUERY_STRING"=~"usb"]];then uhubctl -l 1-1 -p 2 -a toggle &> /dev/nullfi# Get BME280 sensor datadata=$(read_bme280 --i2c-address 0x77)echo"Content-type: text/html"echo""echo"OpenWRT PI Toogle

OpenWRT PI CGI

Toggle Hardware


onclick='location.href="?gpio4"'>Toggle GPIO4 LED1
onclick='location.href="?gpio17"'>Toggle GPIO17 LED2
onclick='location.href="?gpio27"'>Toggle GPIO27 LED3
onclick='location.href="?gpio5"'>Toggle GPIO5 LED4

onclick='location.href="?usb"'>Toggle USB Power


BME280 Sensor Data

$data"exit0

網頁調用地址為: http://你的樹莓派ip/cgi-bin/toggle

下面是網頁和 Pi 設置的圖片。

59a452d4-0917-11f0-9434-92fbcf53809c.png

概括

- OpenWRT 可以為舊的 Raspberry Pi 硬件注入活力。我注意到舊的 Pi 硬件的性能有了很大的改進,這使得系統非常實用。

- 長期使用 Raspberry Pi 的用戶一開始可能會發現 OpenWRT 缺少預裝應用程序、驅動程序并且沒有桌面,這有點令人沮喪。

- 值得注意的是,某些軟件包(例如 Node-Red)需要一些工作才能安裝。

那么你對于OpenWRT在樹莓派上的應用有哪些看法,歡迎評論區討論。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • LAN
    LAN
    +關注

    關注

    0

    文章

    232

    瀏覽量

    38117
  • 樹莓派
    +關注

    關注

    121

    文章

    1956

    瀏覽量

    107044
  • RaspberryPi
    +關注

    關注

    1

    文章

    46

    瀏覽量

    9389
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    第二代Raspberry Pi發布,微軟推出Windows 10 for Raspberry Pi 2

    對Maker社區免費。Raspberry Pi基金會表示,在過去半年,它們一直在與微軟合作,Windows 10配適Raspberry Pi
    發表于 02-02 21:56

    安裝Raspberry Pi Clock Hat的教程分享

    Raspberry Pi 系統的關鍵參數,例如時間、日期、CPU 使用率、CPU 溫度、網絡 IP等。除此之外,它還允許您通過板載大頭釘按鈕控制一些基本操作,例如關機和重啟。這個項目對于那些想要
    發表于 07-05 06:01

    Getting Started with Raspberry Pi

    這本書叫你如何上手Raspberry Pi
    發表于 11-03 17:44 ?0次下載

    raspberry_pi各版本差別

    raspberry pi 各版本差別,對比Raspberry Pi Model B+、Raspberry
    發表于 01-06 11:12 ?0次下載

    Raspberry_Pi詳解

    Raspberry_Pi詳解
    發表于 01-31 20:45 ?16次下載

    Instant Raspberry Pi Gaming

    Instant Raspberry Pi Gaming
    發表于 10-24 09:26 ?6次下載
    Instant <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Gaming

    raspberry pi官網

    Raspberry Pi 宣布推出新的鏡像實用程序 Raspberry Pi Imager,以提供一種更簡單的方法,將操作系統輕松鏡像到 microSD 上。
    的頭像 發表于 03-07 10:16 ?6499次閱讀

    可視頻直播的Raspberry Pi網絡控制機器人

    本文檔的主要內容詳細介紹的是可視頻直播的Raspberry Pi網絡控制機器人。
    發表于 03-17 15:31 ?14次下載
    可視頻直播的<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>網絡</b>控制機器人

    Raspberry Pi上通過網絡控制LED

    電子發燒友網站提供《在Raspberry Pi上通過網絡控制LED.zip》資料免費下載
    發表于 12-13 09:37 ?0次下載
    在<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>上通過<b class='flag-5'>網絡</b>控制LED

    基于諾基亞5110的Raspberry Pi帽子

    Raspberry Pi 系統的關鍵參數,例如時間、日期、CPU 使用率、CPU 溫度、網絡 IP等。除此之外,它還允許您控制一些基本操作,例如從機載定位按鈕關閉和重新啟動。這個項目對于那些想要將
    發表于 12-21 12:27 ?0次下載

    使用balena在Raspberry Pi 4創建私有LoRaWAN網絡

    電子發燒友網站提供《使用balena在Raspberry Pi 4創建私有LoRaWAN網絡.zip》資料免費下載
    發表于 06-13 14:36 ?0次下載
    使用balena在<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 4創建私有LoRaWAN<b class='flag-5'>網絡</b>

    使用Raspberry Pi的Motioneyeos網絡攝像頭運動檢測

    電子發燒友網站提供《使用Raspberry Pi的Motioneyeos網絡攝像頭運動檢測.zip》資料免費下載
    發表于 07-05 10:40 ?1次下載
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>的Motioneyeos<b class='flag-5'>網絡</b>攝像頭運動檢測

    使用Raspberry Pi構建網絡攝像頭

    電子發燒友網站提供《使用Raspberry Pi構建網絡攝像頭.zip》資料免費下載
    發表于 07-12 11:30 ?0次下載
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>構建<b class='flag-5'>網絡</b>攝像頭

    【樹莓派Pi5】樹莓派 Raspberry Pi 5 正式發布!

    這款 Pi 5從英國樹莓派總部跨洋而來,作為樹莓派的官方代理商,上海晶珩EDATEC榮幸地在首發時刻,率先揭開了 Pi 5 的神秘面紗: Raspberry Pi 5:矚目
    的頭像 發表于 09-28 17:30 ?2919次閱讀
    【樹莓派<b class='flag-5'>Pi</b>5】樹莓派 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5 正式發布!

    超聲板材pcb,科技煥發新生

    超聲板材pcb,科技煥發新生
    的頭像 發表于 03-12 11:26 ?817次閱讀
    主站蜘蛛池模板: 羞羞色男人的天堂伊人久久 | 美女三级网站 | 91福利视频网站 | 美女扒开尿口给男人桶爽视频 | 国产区亚洲区 | 日韩在线免费看网站 | 成人二区 | 91精选视频在线观看 | 一级色视频 | 成人av在线播放 | 好大好硬好深好爽的视频 | 日韩免费视频一区二区 | 国产免费一区二区三区香蕉精 | 久久亚洲国产精品五月天 | 88av视频在线观看 | 伊人久久精品成人网 | 在线观看免费高清 | 欧美性xxxxxbbbbbb精品 | 伊人玖玖 | 久久本道综合色狠狠五月 | 欧美视频xxxxx| 你懂的手机在线观看 | 小优视频在线 | 人人干人 | 天堂网在线最新版www中文网 | 午夜伦理片免费观看在线 | 天天干国产 | 国产综合第一页在线视频 | 免费日韩三级 | 天天摸天天看天天爽 | 激情在线网站 | 日日夜夜2017 | 人人做人人澡人人人爽 | 性满足久久久久久久久 | 人人插视频 | 2021久久精品国产99国产 | 久久大综合 | 免费香蕉视频国产在线看 | 伦理一区二区三区 | 91国内在线国内在线播放 | 成熟妇女毛耸耸性视频 |