在 Raspberry Pi 上設定 MHS 3.5寸屏幕並啟用 Chromium Kiosk 模式
如果你想快速的做一個 Prototype,通常開發者都會直用 Web Browser 作為 GUI 的首選。但是當去到需要部署在硬體上面的時候,到底要怎樣把整個 Chrome 搬到去 ARM 開發板上面呢? 以下這個一個教學將會記錄我 DIY Rpi DAC 時架設 Chromium 的經歷 選擇屏幕 這個應該不用多說,當然就是最便宜的那個吧!就是這樣,我想也沒想就買了這個 MHS 3.5寸屏幕。 收到後接上 Rpi 4,並安裝好 Raspberry Pi OS LITE (沒有桌面版),之後就是重要的部分了 安裝 xserver 跟 Chromium https://die-antwort.eu/techblog/2017-12-setup-raspberry-pi-for-kiosk-mode/ 跟著這個教學,首先我們需要更新 apt-get sudo apt-get update sudo apt-get upgrade 之後安裝 Xserver 等顯示需要用到的程序庫 sudo apt-get install --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox -y 最後就是安裝 Chromium sudo apt-get install --no-install-recommends chromium-browser -y 設定 Openbox 並讓它啟動 Chromiuum 。編輯 /etc/xdg/openbox/autostart sudo nano /etc/xdg/openbox/autostart 並在裡面填入以下的東西 # Disable any form of screen saver / screen blanking / power management xset s off xset s noblank xset -dpms # Allow quitting the X server with CTRL-ATL-Backspace setxkbmap -option terminate:ctrl_alt_bksp # Start Chromium in kiosk mode sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/'Local State' sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\+"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences chromium-browser --disable-infobars --window-size=320,480 --app-shell-host-window-size='320x480' --noerrdialogs --kiosk -app='http://YOUR_URL_HERE/' 這裡因為我的屏幕是 320 x 480的,所以所有 window size 的設定都是 320 x 480。請根據你的屏幕大小作更改。 安裝屏幕驅動 https://github.com/waveshare/LCD-show 安裝 git sudo apt-get install git -y clone 並安裝驅動 git clone https://github.com/waveshare/LCD-show cd ./LCD-show #把下面這行改成你屏幕的規格 sudo ./LCD35-show 如果你需要旋轉顯示角度,用這個指令 #無旋轉 cd LCD-show/ ./LCD35-show 0 #90度 cd LCD-show/ ./LCD35-show 90 #180度 cd LCD-show/ ./LCD35-show 180 #270度 cd LCD-show/ ./LCD35-show 270 測試 xserver…
在 Raspberry Pi 安裝 Mercury USB WiFi AC650M 驅動
安裝步驟如下 準備所需的環境 下載 Raspberry Pi OS執行 apt-get update把 RTL8821CU 驅動源碼下載到本地端 mkdir -p ~/build cd ~/build git clone https://github.com/brektrou/rtl8821CU.git 4. 安裝 DKMS sudo apt-get install dkms 5. 更新 apt sudo apt update -y sudo apt upgrade -y 6. 安裝 bc 並 重新啟動 Raspberry Pi sudo apt-get install bc -y sudo reboot 7. 重啟後 cd 進去驅動目錄並更改 Makefile cd ~/build/rtl8821CU sudo nano Makefile 把下面此兩行 CONFIG_PLATFORM_I386_PC = y CONFIG_PLATFORM_ARM_RPI = n 更改成 CONFIG_PLATFORM_I386_PC = n CONFIG_PLATFORM_ARM_RPI = y 8. 處理 ARM 建置 flag 的問題 sudo cp /lib/modules/$(uname -r)/build/arch/arm/Makefile /lib/modules/$(uname -r)/build/arch/arm/Makefile.$(date +%Y%m%d%H%M) sudo sed -i 's/-msoft-float//' /lib/modules/$(uname -r)/build/arch/arm/Makefile sudo ln -s /lib/modules/$(uname -r)/build/arch/arm /lib/modules/$(uname -r)/build/arch/armv7l 9. 使用 DKMS 建置 sudo ./dkms-install.sh 10. 把 WiFi USB 插到 Rpi 上 11. 把 USB 裝置由 Mass Storage Mode 轉換成 WiFi Adpater Mode在轉換之前,你先要使用 lsusb 取得裝置的 ID,例如 0bda:1a2b ,然後使用 usb_modeswitch 指令進行轉換。如果還沒有安裝,可透過 sudo apt-get install usb_modeswitch 安裝 sudo usb_modeswitch -KW -v 0bda -p 1a2b systemctl start bluetooth.service 要讓它下一次開機都會自動轉換,編輯 usb_modeswitch sudo nano /lib/udev/rules.d/40-usb_modeswitch.rules 在以下這一行之前: LABEL="modeswitch_rules_end" 插入以下設置 # Realtek 8211CU Wifi AC USB ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="/usr/sbin/usb_modeswitch -K -v 0bda -p 1a2b" 再次重新啟動後使用 sudo ifconfig 應該就能看到新的 WiFi 界面了(wlan1)
WAMP SERVER MySQL 無法連線,因為目標電腦拒絕連線。
最近在幫伺服器由 php 7.0 升級到 php 7.4.4,然而在升級 wordpress 的時候出現了無法連接到資料庫的問題,於是簡單的從網上找到了一個測試資料庫的 php script,發現原來不是 wordpress 的問題,是 MySQL 的問題。 $DBServer = 'localhost'; $DBUser = 'username'; $DBPass = 'password'; $DBName = 'wordpress'; $link= new mysqli($DBServer, $DBUser, $DBPass); if(!$link) echo "失敗!"; else echo "成功!"; 錯誤 解決方法:在 localhost 後面加上 :3307 結果在網上找了一整天也找不到能處理的解決方法,於是在想會不會是 port 設定的問題呢?於是在 localhost 後加上了 :3307 $DBServer = 'localhost:3307'; 然後居然就 fix 好了!? 不過話說,在 Fix 這個 bug 的時候整個網頁伺服器上的服務都不能用,除了其中一個完全不依賴 Database 的服務,我想我不用說你也已經猜到了: ArOZ Online 系統!這套系統在 PHP Extension 一個都沒開 + MySQL 完全 offline 的情況下也能繼續正常運作還真的是滿壯觀的。 升級途中居然對 ArOZ 系統一點影響都沒有,還能夠一邊聽音樂一邊升級 就是這樣,伺服器就有驚無險地升級上 PHP7.4.4 囉! P.S. 有人問邊到睇到 MySQL 個 port你可以係 WAMP 個 menu 下面找 MySQL → Port used by MySQL: 3307