pppoe ddns ntp apahce + PhP sqlite3 apt install htop ufw wavemon -y network-manager Armbian 22.02.1 with Linux 5.15.25-sunxi 通過更新 WIFI 系統配置 nano /etc/network/interfaces ============================== auto eth0 allow-hotplug eth0 iface eth0 inet static address 192.168.9.224 netmask 255.255.255.0 gateway 192.168.9.1 dns-nameservers 168.95.1.1 8.8.8.8 1.1.1.1 auto wlan0 allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet static address 192.168.71.135 netmask 255.255.255.0 gateway 192.168.71.1 dns-nameservers 168.95.192.1 8.8.8.8 8.8.4.4 139.175.55.244 ======================================== 更新 /etc/wpa_supplicant/wpa_supplicant.conf nano /etc/wpa_supplicant/wpa_supplicant.conf ========================= ctrl_interface= DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="Home_CCS&Lou" scan_ssid=1 psk="f28203416f" } ==================== 通過更新 WIFI 系統配置 1. 檢視裝置狀態: nmcli device status 2. 檢查 radio nmcli radio 3.檢視附近無線網路信號: nmcli dev wifi list 4.連上AP熱點: nmcli device wifi connect password 範例 nmcli device wifi connect Home_CCS&Lou password f28203416f nmcli device wifi connect YunLo password f28203416f sudo nmtui Backlog SSID1 YunLou ; Password1 f28203416f ; SSID2 Sunny_Xiaomi; Password2 f28203416f const char *wifi_pass[][2]={ {"Home_CCS&Lou" , "f28203416f" }, // 192.168.71.xxx {"Sunny_Xiaomi" , "f28203416f" }, // 192.168.31.xxx {"YunLo" , "f28203416f" }, // 192.168.91.xxx or 192.168.9.xxx {"Jonggo_Joo_106" , "f29747465f" }, // 106-5F 192.168.106.xxx {"Yunlou" , "f28203416f" }, // 手機 {"classroom" , "WDA89956399"}, // 五股 192.168.30.xxx {"Xiaomi_17CA" , "0920900090" }, // 106-5F 192.168.31.xxx {"29993689" , "29993689" }, // 中山4F大會議室 {"ESP" , "f28203416f" }, // 192.168.57.xxx {"Print3119" , "f28203416f" }, {"Print3119" , "f28203416f" }}; f28203416f ubuntu root orangepi root / 1234 --> f28203416f armbian-config --> time , ip , wifi --> 時區 --> update apt --fix-broken install 軟體更新 sudo apt update -y 軟體套件升級 apt update -y && apt upgrade -y view wifi apt install wavemon apt install wavemon htop ufw ===================== Node-RED安裝 https://hackmd.io/@LHB-0222/Node-RED ===================== Node-RED Ubuntu安裝 bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered) Node-RED 啟動 node-red-pi --max-old-space-size=128 node-red-pi --max-old-space-size=256 ====================== 改 Port 1880 --> 18180 ====================== ======= nano /root/.node-red/settings.js Search for the line Ctrl + W --> find text uiPort: process.env.PORT || 1880, and change it to uiPort: process.env.PORT || 18180 *login password $2b$08$gyS8xtP1E1ioUJQaaUNpqObnhUpLQaP0RXPdvbbgkWdsgZEl0Iosi ccsccs ======== *Restart the node-red service: systemctl restart node-red 作為伺服器運行 如果要在打開或重新啟動Pi時運行Node-RED執行下方指令 sudo systemctl enable nodered.service armbian-config armbianmonitor -m Node-RED安裝 https://hackmd.io/@LHB-0222/Node-RED Node-RED Ubuntu安裝 bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered) Node-RED 啟動 node-red-pi --max-old-space-size=128 ====================== 改 Port 1880 --> 18180 ====================== nano /root/.node-red/settings.js Search for the line Ctrl + W --> find text uiPort: process.env.PORT || 1880, and change it to uiPort: process.env.PORT || 18180 Restart the node-red service: 但還要把Node-RED重啟,才能讓此服務啟動 node-red-stop node-red-start 作為伺服器運行 如果要在打開或重新啟動Pi時運行Node-RED執行下方指令 sudo systemctl enable nodered.service =================================== ============= 網頁伺服器 Apache2 + php ============= apt install apache2 -y apt install php -y apt install apache2 php sqlite3 php-sqlite3 -y # SQLite apt install sqlite3 (SQLite 資料庫) apt install php-sqlite3 (PHP SQLite 資料庫) service apache2 restart chown apache:apache /var/www/html/ chmod 2755 /var/www/html/ chmod 7777 /var/www/html/ ==================================== apt install mariadb-server php-mysql -y 資料庫連線權限 sudo mysql_secure_installation sudo mysql create user admin@localhost identified by 'f28203416f'; grant all privileges on *.* to admin@localhost; create user lou@192.168.9.99 identified by 'f28203416f'; grant all privileges on *.* to lou@192.168.9.99; FLUSH PRIVILEGES; exit; # # 要先建 帳號 # sudo apt install phpmyadmin -y ======== Clear Log file ======== sudo rm /var/log/kern* sudo rm /var/log/messages* sudo rm /var/log/kern* && sudo rm /var/log/messages* rm /var/log/kern* && rm /var/log/messages* ============================= ============== MQTT Server ============= sudo apt install mosquitto mosquitto-clients -y 4)要安裝Mosquitto Broker,請輸入以下以下命令: sudo apt install -y mosquitto mosquitto-clients 5)要使Mosquitto在Raspberry Pi啟動時自動啟動,您需要運行以下命令(這意味著Mosquitto代理將在Raspberry Pi啟動時自動啟動): sudo systemctl enable mosquitto.service 6)現在,通過執行以下命令測試安裝: mosquitto -v 這將返回當前在Raspberry Pi中運行的 Mosquitto 版本。它將是2.0.11或更高版本。 7) 執行以下命令以打開mosquitto.conf檔。 sudo nano /etc/mosquitto/mosquitto.conf 8)使用箭頭鍵移動到檔末尾,然後粘貼以下行: ======================================================= Batch file password lou:f28203416f ksh:13152991 test:12345678 admin:13152991 pingo:13152991 andy:13152991 mark:0926977990 mosquitto_passwd -U passwordfile ======== 單筆 --> file mosquitto_passwd -c passwordfile user ========= append 單筆 mosquitto_passwd -b /etc/mosquitto/passwd yunlou ccsccs # 設定帳號密碼檔案 password_file /etc/mosquitto/passwd socket_domain ipv4 # 禁止匿名登入 allow_anonymous false # allow_anonymous true listener 18883 pi.ip.25u.com listener 18883 192.168.71.149 listener 18883 192.168.99.190 9)然後,按CTRL-X退出並保存檔。按 Y 並按回車鍵。 10) 使用以下命令重新啟動樹莓派,以使更改生效。 service mosquitto restart x sudo reboot =============== ntp Server ============== 步驟 2:使用 apt-get 安裝 NTP 伺服器 請以 sudo 身份執行以下命令,以便從 APT 儲存庫安裝 NTP 伺服器守護程式: $ sudo apt install ntp -y 步驟 3:驗證安裝(可選) 您可以透過終端端中執行以下命令來驗證 NTP 安裝並檢查版本號: $ sntp --version 步驟 4:切換到離您的位置最近的 NTP 伺服器池 安裝 NTP 伺服器時,它主要配置為獲取適當的時間。但是,您可以將伺服器池切換到離您的位置最近的伺服器池。 這包括在 /etc/ntp.conf 文件中進行一些更改。 通過執行以下命令,在 nano 編輯器中以 sudo 身份開啟該檔案: $ sudo nano /etc/ntp.conf 台灣 NTP Server time.stdtime.gov.tw clock.stdtime.gov.tw i pool time1.google.com iburst pool time2.google.com iburst pool time-a.nist.gov iburst pool time-b.nist.gov iburst pool tock.usno.navy.mil iburst 步驟 5:重新啟動 NTP 伺服器M 為了使上述更改生效,您需要重新啟動NTP伺服器。為此,請以 sudo 身份執行以下命令: $ sudo service ntp restart 步驟 6:驗證 NTP 伺服器是否正在運行 現在,通過以下命令檢查 NTP 服務的狀態: $ sudo service ntp status 步驟 7:配置防火牆,以便用戶端可以訪問 NTP 伺服器 最後,是時候配置系統的UFW防火牆了,以便傳入連接可以訪問UDP埠號為123的NTP伺服器。 以 sudo 身份執行以下命令,為傳入流量打開埠 123: $ sudo ufw allow from any to any port 123 proto udp ntpq -p ======================= ufw ======================= systemctl enable ufw.service init 6 ,reboot 後才可以設定 ufw allow from any to any port 123 proto udp ufw allow 22 ufw allow 18180 ufw allow 18883 ufw allow 80 ufw allow from 192.168.9.0/24 to any port 3306 ufw allow from 192.168.77.0/24 ====================================================== ======== Clear Log file ======== sudo rm /var/log/kern* sudo rm /var/log/messages* 對此的快速解決方法是添加交換內存。這是一個 Ubuntu 示例: sudo mkdir /media/fasthdd dd if=/dev/zero of=/media/fasthdd/swapfile.img bs=1024 count=1M sudo mkswap /media/fasthdd/swapfile.img sudo swapon /media/fasthdd/swapfile.img sudo swapoff /media/fasthdd/swapfile.img ============================= Python install ============================= apt install python3-pip python -m pip install --upgrade pip pip3 install requests paho-mqtt pip3 install beautifulsoup4 pip3 install mysql-connector pip3 install sqlite-connector pip3 install requests paho-mqtt beautifulsoup4 mysql-connector sqlite-connector pip3 install python3-dev pip3 install python3-setuptools pip3 install pyinstaller ===========無法安裝 pip3 install numpy (超久) pip3 install pandas ============================================= PPPoe DDNS SSL --> openssl or let's ========== C -- GPIO watch -n 1 gpio readall ========== git clone https://github.com/LongerVisionRobot/OrangePi_Full_Stack.git cd .... (切換目錄) chmod +x ./build sudo ./build =================== gpio mode 7 out gpio mode 22 in gpio write 7 1 gpio write 7 0 gpio readall ============ git clone --recursive https://github.com/xpertsavenue/WiringOP-Zero-Python.git 節點 node-red-node-sqlite 安裝失敗 處理方式 ======================================= sudo su - cd /root/.node-red/node_modules rm -R node-red-node-sqlite ======================================= npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production --engine-strict node-red-node-sqlite@1.0.3