Linux – 工作機取代計畫

選擇適合的 Linux 桌面版本

總言之就是分為 Ubuntu / Debian 兩大發行版,桌面環境分為 KDE / Gnome / Xfce / Lxde,然後就開始選擇要怎麼搭配

最後 Hoyo 選擇 kubuntu 是 Ubuntu + KDE 的組合,因為沒錢玩遊戲,所以只要 Linux 可以上網、看影片、寫程式就很足夠了

kubuntu 中文

設定

選擇 fcitx ,重新開機

將 fcitx(實用工具) 將入 設定 → 啟動與關閉 → autostart

開始選單 → 設定 → Fcitx 設定,增加 chinese 新酷音輸入法

終端機

LINE

Linux 可以看訊息和文字回覆就很棒了

KWrite

需要另外裝

點擊行為

Quick Settings 或 工作空間行為  → Clicking files or folders → Selects them

AnyDesk

到官網下載,使用「軟體安裝」開啟即可

PhpStorm

下載 .tar.gz 自訂版本

使用 snap 安裝最新版

桌面建立捷徑 (shortcut)

程式捷徑

Samba 網路芳鄰

網址捷徑

顯示桌面

登入鑰匙圈

軟體更新後無法進入圖形界面

執行軟體更新後不能進入圖形界面,可是可以 Alt + F2 可以進入文字操作,使用 dmesg 出現「random: crng init done」 或是其他錯誤,只要可以文字登入,就很大機率是驅動程式的問題,移除驅動程式後安裝 xorg 版本即可

Media Player

從 Gnome 安裝 KDE

127 total views, 8 views today

HOYO 的 2021 回顧

公司

  • EMS 班班有冷氣從三月開始,終於到學校運作了,這一年大部分的時間都是花在 IPC 這上面
  • 接觸 OrangePi
  • 接觸 WT32-ETH01
  • 利用 ESP8266 製作燈控設定工具
  • 設計 ESP / Pi 的 Gateway MQTT 架構
  • 接觸 MongoDB
  • 接觸 Flutter

個人

  • 小朋友都上外縣市大學,家裡只剩兩口子
  • 在台科電 2 年多的日子累積以及 EMS 的經驗,到 MOPCON 2021 分享了「用愛發電;為愛鼓掌」
    主要議程 | MOPCON 2021
  • 這輩子第一次工作的健康檢查,有紅字,明明都已經 168 斷食又有在家鍛鍊了,應該是時間太短了,還要繼續加油
  • 第一次去海底撈,就當作花錢看變臉吧
  • 開始嘗試下廚,從台南名產台糖粿開始
  • 買了啞鈴回家嚕鐵
  • 因為小朋友都離家以及疫情關係,今年沒有全家過夜出遊的行程,非常的失敗

2021 代表字

離別是為了再相聚

107 total views, 1 views today

Orange Pi 4 – 燒錄 Android

燒錄 Android

買回來就是 Android,如果使用 Linux 覆蓋 emmc 或是系統毀損,可以使用以下步驟還原 Androic

執行 SDDiskTool,勾擇「固件升級」,選擇下載的 Android Image 「開始創建」

完成後 SD 卡插入 OrangePi 4 開機,按照畫面操作即可

420 total views, 2 views today

Keepalived –

參考

安裝

Debian 11

設定

參考文件有關 virtual_router_id 的範圍是錯的,是 1 ~ 255

編輯設定檔

172.16.1.175

172.16.1.173

  • virtual_router_id 同一組必須設定相同
  • state MASTER/BACKUP 角色
  • priority 當故障時接手優先順序,數字越大越高
  • virtual_ipaddress 虛擬出來的共同 IP

啟動及使用

2 台電腦都使用

啟動後,順利的話 172.16.1.39 就會由 2 台中的其中一台設定為虛擬 ip,網路中斷另一台就會自動設定該 ip 接手服務

453 total views, no views today

MariaDB – Spider 分片

安裝 Spider 存儲引擎

查詢 SPIDER 存儲引擎是否支援

設定

172.16.1.175 – Spider 主機

更新

建立分表規則

172.16.1.170 – backend1

172.16.1.173 – backend2

從 Spider 主機執行資料庫讀寫,

刪除

Error 1429: Unable to connect to foreign data source

73 total views, no views today

Python – RS485 + Modbus UART 半雙工切換傳送、接收教學

RS485

雙線、半雙工,如果使用的是 TTL, UART 這類的訊號轉換器,需要自己控制傳送、接收切換,切換的好不好是關鍵

Modbus

RS485 大多使用 Modbus RTU,格式如下

Name Length (bits) Function
Start 28 At least 3½ character times of silence (mark condition)
Address 8 Station address
Function 8 Indicates the function code; e.g., read coils/holding registers
Data n × 8 Data + length will be filled depending on the message type
CRC 16 Cyclic redundancy check
End 28 At least 3½ character times of silence between frames

CRC 參考資源

Modbus 通訊第一個程式門檻就是計算 CRC,這裡有大大寫好的可以直接套用

原始範例

list 陣列版

Python 使用 list 資料型態程式會比較靈活,因此實務上使用都是直接使用 list

完整的 Modbus 範例

RS485 為半雙工通訊,讀取、寫入必須自己根據字元數計算後控制模式,時序控制非常重要,不能使用 .flush(),那是全雙工用的功能

325 total views, no views today

MariaDB – 斷電資料庫無法啟動修復過程

MariaDB 版本 10.3.25 其他版本相關指令、操作不保證成功

當遇到 MariaDB 資料庫毀損時,Hoyo 使用了以下步驟恢復運作,此方法使用的是重建 mysql 資料庫的方式,使用者的資料庫必須有備份,等重建完成之後再恢復使用者帳號以及匯入資料庫備份

這個方法可行是可行,不過 mysql_secure_installation 這個指令需要人工干涉,所以要將流程自動化還需要調整

以下自動化參考了 /usr/bin/mysql_secure_installation 內作法

指定 mysql 執行時帳號、密碼

.my.cnf

資料庫整理

刪除匿名帳號以及 test 資料庫,接下來就是自己的使用者帳號以及資料庫

fix.sql

重建及匯入

fix.sh

  1. 將資料庫停止服務
  2. 刪除整個資料庫目錄
  3. 執行 mysql_install_db 不能加參數,Hoyo 測試的結果是增加參數就無法正常執行
  4. 啟動資料庫服務
  5. 修改 root 密碼
  6. 將剛剛編輯的 fix.sql 匯入
  7. 解壓縮原先備份資料庫
  8. 將備份資料庫匯入

357 total views, 1 views today

使用 SSH 當作跳板瀏覽網頁

參考

Linux 電腦普遍沒有 UI 顯示而採用 SSH 這類的遠端管理方式,這篇介紹的是連到 SSH Server 後以此為跳台瀏覽網頁,說不清楚請看以下架構圖


(https://www.tunnelsup.com/how-to-create-ssh-tunnels/)

PuTTY

Session 一樣寫入連線主機的 IP & Port

Conection → SSH → Tunnels 增加本機常駐的 port ,Destination 選擇 Dynamic

plink (a command-line interface to the PuTTY back ends)

如果使用 plink 就可以使用指令執行,不需要開啟 GUI

FoxyProxy

為了讓瀏覽器可以快速切換 Proxy 環境或是增加可切換功能,可以使用 FoxyProxy 外掛套件,Chrom & FireFox 皆支援,basic 版本以 Hoyo 的需求就夠用了

手動設定勾選 SOCKS proxy,address : localhost,port 9005,也就是上面 -D 參數設定數字

使用時,點擊 FoxyProxy 圖示進行切換至 Use proxy Default for all URLs 即可使用 ssh tunnel 通道

472 total views, 1 views today

Linux – ZeroConfNetworking

Windows 設定 DHCP 時,沒有 DHCP 服務時會自己產生一個 169.254.x.x 的 IP,Linux 遇到沒有 DHCP 服務除了開機不斷重試浪費時間之外,失敗後什麼 IP 都沒有,導致臨時要使用 IP 連線都沒有辦法。

Linux 該如何在使用 DHCP 卻沒有 DHCP 分配 IP 的情況還可以像 Windows 產生一組 IP ?

參考資源

Windows 使用的是 Zero-configuration networking (zeroconf) 技術, RFC3927 ,Apple Bonjour 也是相同的技術

安裝

Hoyo 在 DietPi 上測試時是裝 avahi-autoipd,網路上大多是教安裝 avahi-daemon,實際裝過不知道用途為何

avahi-autoipd 安裝完就完成了,預設設定有一些問題不過問題不大可以正常使用,Hoyo 是打算就這樣使用

實際使用

沒有 DHCP

接上網路線或是 DHCP 恢復後

eth0:avahi 網路會消失

設定檔

/etc/dhcp/dhclient-enter-hooks.d/avahi-autoipd

問題

登入時需要 Ctrl + C 中斷

255 total views, no views today

CentOS 7 – 在 CentOS7 安裝 Python3.8.4

參考

安裝

事前準備

如果有安裝舊版先移除,sqlite 要先安裝,否則 python3 裝完還需要重新 make 才能添加

模組安裝

320 total views, 1 views today