再見 Typora,你好 MarkText!
話說我自大學開始我就很喜歡用 Typora 來做筆記,但是最近它開始要收費了然後 Beta 版本的 Typora 連啟動都啟動不了。 嘛,軟體要收費我覺得是沒問題,但是像 Typora 這種一點預先通知都沒有,直到前幾天突然急用要啟動它的時候才彈出不能用的通知,真的超級沒良心。由於是急用所以我就先用一個開源的 keygen 來應付一下,連接在下面: https://github.com/taozhiyu/TyProAction 但是,由於按照它的條款,使用這 keygen 產出的授權只能夠使用 24 小時,所以在處理完手上的工作之後我就把用了快 3 年的 Typora 刪除掉正式找替代品了。在幾個小時後我找到了一個完美的代替開源方案: MarkText https://github.com/marktext/marktext 我覺得這個應該就不用多說了,就是一個很好用的開源 Markdown Editor 軟體。 它可以支援自定的字體(這裡我把它預設的換成了 Noto Sans HK Medium),也能夠透過 Ctrl + J 叫出旁邊的 title list。 至於怎樣把它設定到跟 Typora 的 hotkey 一樣,你可以到 File > Preference 那邊,在 Key Bindings 下找到以下功能並把 hotkey 改成 Ctrl + {號碼} 這樣你就可以直接無痛轉用到 MarkText 了!
便宜又好用的 SOP8 IC 清單
這裡收集了一些最近我發現的 SOP-8 IC,如果剛好你在找一些簡單的替代 IC 可能會在這裡找到喔! 型號用途備注 TC118S 單馬達驅動 IC (類 H 橋)1.8A MaxLM386音頻放大器TC4056A鋰電充電管理器,可替代 TP4056AO4496N-Channel MOSFET30V / 10AAO4435P-Channel MOSFET30V / 10ANE555DR就 555 啊,但是在 SOP8 包裝TP4333鋰電池充放同步升壓管理器 4.2V 1A XPT8871 LTK5128音頻功放5WM62429數字電位器(需接 MCU 使用)XL1509降壓3V / 5V/ 12V 版本CN5711LED 驅動(使用 PWM 調光暗)MOC213R2M光電耦合元件TP8485ERS-485 / RS-422 接口
神奇蹦蹦的 IC 與他們的用法
最近我在世界上其中一個最大的電子零件零售商的網站隨便看的時候,發現了一批不錯的 IC,於是順便把這些新發現記錄下來,之後需要用的時候就方便很多了! 基本中的基本 首先,最基本中的基本就是一些大家都在用,到處可見的 IC。由於這些 IC 的線路圖和模組設計教學整個網絡上都是,這裡就直接省略跳過詳細解釋它們的用途。通常在創客的 DIY 中最常見的就是: TP4056 - 單節 3.7V 鋰電池 1A 充電晶片XL6009 - 直流到直流升壓晶片LM2596(s) - 直流到直流降壓晶片 一些比較少見但是還是整個網絡上都是的晶片: MP1584(EN) - DC 可調降壓晶片 (小型 DIY 降壓用)D0505S-1W (D0505S-2W) - 5V DC 到 5V DC 直流隔離器(用於藍牙接收器與喇叭驅動電源隔離用)AMS1117-x (x 可以是 3.0, 3.3, 5.0 等) - 12V DC 到 x 的 LDO8205A + DW01 - 鋰電池保護板 很多時候 Maker 為了做帶電池的裝置就是用 TP4056 + XL6009 / MP1584 這樣配合著用,可是這樣做很浪費空間,所以我就開始找不少關於電源管理的方案,以下的應該就已經踏進沒甚麼人知道的領域了。 5V 0.8A 充放控制器 - HT4928(s) HT4928 是一片用起來很方便的鋰電池充電和升壓輸出的晶片。通常你很容易在那些便宜的單節 18650 行動充電器 (充電寶)裡面找到它。雖然用它來充手機是超級的慢,但是作為一些低功率裝置的供電(例如 Pi zero w)來說是不錯的選項。 5V 1A 充放控制器 - TP4333 如果 0.8A 差了一點點才夠,你可以考慮使用 TP4333。它也是一個用於行充的電源方案,但是用的外接零件會多幾個(R1,S1 跟 D5 如不需要手電筒功能可省略)。 5V 2A 充放控制器 - IP5306 / IP5307 這是一片大功率的鋰電充電和升壓晶片。能夠在 SOP8 package 裡做到 10W 的同時充放電,還帶 4 顆 LED 作電量顯示。(注:這東西發熱滿厲害的,記得底部的銅要鋪好鋪滿) 順帶一提,如果 IP5306 太貴,你可以試試看用替代用 IC FM5324 鎘鎳氫電池充電器 - CJC5122 / ASC0304B 這是一片 NiMH 充電器 IC,支援 1 到 4 顆的 NiMH 電池充電,預設是以 300mA 的充電速度來充。以下為 3.6V NiMH (3 顆串流)時的電路圖(R1 R2 及 R3 在不同配置下需要變更其電阻值) 單節鋰電池保護晶片 - XB8887A 通常的保護板需要使用兩塊晶片來做保護功能,可是這一片就能做到單片保證的功能。對於需要用到 18650 同時對空間要求很高的 project 很有用。 Charger 的部分可以配合 TP4056 晶片使用,這樣兩塊 SOP8 的晶片就能做到原本要一整片指甲大小的 PCB 的功能。 更小的單節鋰電池保護晶片 - XB5306A 如果 SOP8 還是太大,你可以考慮用這一片 XB5306A 。 使用 SOT23-6 包裝,真的打個噴嚏就不見了。電路圖跟上面的相近,Over current cutoff 電流量則降至 3A 使用 SOP8 Package 的升降壓晶片 - XL6007 對於一些對厚度很有要求的 project,要放進 XL6009 可能會有一點難度。這個時候就可以考慮使用 XL6007 了。這一片 SOP8 的晶片與 XL6009…
KIOXIA 32GB EXCERIA Micro SD 卡跑分
嗯,就大概這樣… 嘛,對於一張 36HKD 的卡來說不能要求太高吧(?)
如何在無中文輸入法的 Windows 上,不用上網不用滑鼠輸入中文字符
這是一個滿有趣的問題,因為一般人在輸入中文的時候一定會用中文輸入法,或是網上的輸入法甚至是手寫輸入,可是我突然想到這個問題: 如何在無中文輸入法的 Windows 上,不用上網不用滑鼠輸入中文字符? 然後結果是可以的,而且比想像中的簡單。如果你想開發一個中文的物理輸入法(例如用 Arduino 輸入之類的)也可以用以下的 key combination 來試試看 Windows 輸入 Unicode 的方法 https://support.microsoft.com/en-us/office/insert-ascii-or-unicode-latin-based-symbols-and-characters-d13f58d3-7bcb-44a7-a4d5-972ee12e50e0 Inserting Unicode characters To insert a Unicode character, type the character code, press ALT, and then press X. For example, to type a dollar symbol ($), type 0024, press ALT, and then press X. For more Unicode character codes, see Unicode character code charts by script. 簡單來說,就是先輸入 Unicode 編號,然後再按 Alt + X。 那 Unicode 編號是甚麼呢? 一般的中文 Unicode 編號可以在 https://unicode.org/charts/ 找到: CJK Unified Ideographs (Han) 例如說要輸入「一」字,你可以對照上面這份列表 編號是 4e00,所以只要在 word / wordpad 輸入 4e00 然後點 Alt + X 就會變成 「一」了 然後就是要讓鍵盤自動化這個過程,並把剛輸入的文字移動到一開始聚焦的畫面,而這個也一點都不難,只要: Win + R 打開執行器 輸入 "wordpad" 按 enter 執行 wordpad 輸入 Unicode 編號,例如 4e00 Alt + X 轉成中文字元 Ctrl + A 選擇所有字元 Ctrl + X 切下所有字元 Alt + F4 關閉 wordpad n 在「是否要儲存」選擇「否」 //這個時候視窗會自動聚焦到原本的視窗上 Ctrl + V 貼上 這樣完全不連網絡,只用鍵盤輸入中文字就成功了 你說知道這個有甚麼用?我也不知道 🤔🤔🤔
在 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