2021年3月25日 星期四

[筆記]Synology群暉NAS 安裝Python MySQL Connector 與 安裝PiP

 安裝Python的MySQL Connector需要用PiP進行下載與安裝,

群暉NAS並未內建PIP的功能,因此需自行安裝才可使用。

2021年3月21日 星期日

[筆記]使用NAS實現RTSP to Web的方法 可用於IPcam (linux,golang)

最近的案子要將"hikvision"海康的IPcam影像直播串流到網頁上
由於Flash Player已經被淘汰,因此以前的VLC擴充元件已不適用。
另外還有手機、電腦可不裝擴充元件撥放的需求,因此採用HTML5可撥放m3u8的特性。
花了將近兩個禮拜時間,找尋方法。終於試到一個適用於我的方案。

首先說明一下架設的環境,IPcam的影像經由NAS的監控軟體(Surveillance Station)做接收,
接著利用內建的RTSP網址,傳送給RTSPtoWeb的proxy Server,
最後在網頁上找到m3u8的網址,再使用Html5的方式撥放出來。

整體而言,相當複雜。如有更好的方法,歡迎在底下留言給我,謝謝。

其中核心套件「RTSPtoWeb」是整個的重點。

2021年1月6日 星期三

[筆記]使用Micropython 結合 ESP32 基於SPI介面的SSD1306 OLED

好久沒貼文了,2021新年快樂。
這次紀錄的是在ESP32跑在Micropython,並且接SPI的SSD1306 OLED
包含函示庫與接線方式

2020年3月16日 星期一

在QNAP NAS上使用CloudFlare API 實現自動更新DDNS - SH檔更新法


最近需要讓NAS可以自動將自己的浮動IP上傳到Cloudflare上,以便連線。
試了兩個鐘頭,終於成功了。
中途卡在sh須轉為unix格式,原本是DOS格式,會造成運作上的錯誤。

原理是利用NAS自動執行一個sh檔,那個sh檔有上傳IP至Cloudflare的API

以下紀錄實作的參考網頁


文章1:[運用CloudFlare API實現DDNS] - Andy
→教學基本運用API的方法

API程式碼,把它存成一個.sh檔並放置於NAS裡的資料夾(自訂位置)

#!/bin/sh
# 將{ }替換為自己的資料
# GET Recore ID
#curl -x get "https://api.cloudflare.com/client/v4/zones/{YOUR_ZONE_ID}/dns_records" \
#-h "x-auth-email:{YOUR_EMAIL@gmail.com}" \
#-h "x-auth-key:{YOUR_GLOBAL_API_KEY}" \
#-h "content-type: application/json"
#

NEW_IP=`curl -s http://ipv4.icanhazip.com`
CURRENT_IP=`cat /tmp/current_ip.txt`


if [ "$NEW_IP" = "$CURRENT_IP" ];then
echo "No Change in IP Adddress"
else
curl -X PUT "https://api.cloudflare.com/client/v4/zones/****/dns_records/****" \
-H "X-Auth-Email: ***@gmail.com" \
-H "X-Auth-Key: ****" \
-H "Content-Type: application/json" \
--data '{"type":"A","name":"****","content":"'$NEW_IP'","ttl":1,"proxied":true}' > /dev/null
echo $NEW_IP > /tmp/current_ip.txt 
fi 




文章2:[[QNAP] 設定 NAS 的 crontab 定時執行程式] - Knuckles
→教學定時背景執行的方法
----------------------內文----------------------

注意要自動執行的 sh 檔不要放在 /root 裡
不然韌體更新後檔案會不見
要放在個人帳號的資料夾,例如 /share/homes/帳號/

QNAP 的 crontab 放在 /etc/config/crontab

例如要每日5:00執行 backup.sh 的話,加上這行

00 5 * * * /share/homes/帳號/backup.sh


存檔後,執行 crontab /etc/config/crontab 載入設定

執行 /etc/init.d/crond.sh restart 重啟 crontab


參考: http://wiki.qnap.com/wiki/Add_items_to_crontab


定時登入另一個網站下載備份檔的 script
例如要用帳號 knuckles 登入 example.com port 22
將 /home/knuckles/backup/ 裡面有更新的檔案下載回來
rsync -avu -e "ssh -p 22" knuckles@example.com:/home/knuckles/backup/* /share/homes/knuckles/backup/

--------------------------------------------

2020年3月2日 星期一

[測試]小米30W快充頭+倍思type-c轉Lighting線測試

最近買了小米的30W快充頭,使用type-c輸出時,發現充電速度神慢
甚至電量會倒退走,因此趕快展開調查!


這次準備一些「材料」來測試,清單如下:

充電頭:

1.小米30W快充頭
2.ENERGIEMAX 20000mah行動電源

線材:   (Type-A簡稱A、Type-C簡稱C、Lighting簡稱L)

1.倍思 C 轉 L快充線
2.倍思 C 轉 C (L轉接)充電線
3.Sony UCB20原廠 A 轉 C充電線
4.無廠牌 A 轉 C充電線
5.QOOVI A 轉 L充電線

測試儀器:

1.JuWei 充電多功能監測儀(有A與C測試介面)

被充電設備(負載):

1.華為 mate 20
2.Apple Iphone XR


測試方法:利用兩組充電頭 + 各線材 + 負載 來 偵測電壓與電流

1.小米頭充XR(當前電力54%)

充電頭
輸出孔
線材
電壓
電流
小米頭
C
倍思 C L
5.17V
0.47A
小米頭
A
倍思 C L
5.04V
1.92A
小米頭
A
QOOVI A L
5.06V
1.67A
小米頭
C
倍思 C C(L轉接)
4.99V
1.75A
小米頭
A
倍思 C C(L轉接)
5.07V
1.45A








 2.行動電源充XR:

充電頭
輸出孔
線材
電壓
電流
行動電源
C
倍思 C L
5.04V
0.47A
行動電源
A
倍思 C L
4.95V
1.60A
行動電源
C
倍思 C C(L轉接)
4.94V
1.63A
行動電源
A
倍思 C C(L轉接)
4.99V
1.45A
行動電源
A
QOOVI A L
5.08V
0.96A









3.小米頭充Mate 20(當前電力約24%):

充電頭
輸出孔
線材
電壓
電流
小米頭
A
UCB20 A C
9.04V
1.77A
小米頭
A
無廠牌A C
9.07V
1.80A
小米頭
A
倍思 C C
9.09V
1.76A
小米頭
C
倍思 C C
5.00V
1.45A

4.行動電源充Mate 20(當前電力約24%):

充電頭
輸出孔
線材
電壓
電流
行動電源
A
UCB20 A C
5.00V
1.22A
行動電源
A
無廠牌A C
5.04V
1.17A
行動電源
A
倍思 C C
4.98V
1.31A
行動電源
C
倍思 C C
4.97V
1.31A







2019年7月14日 星期日

[DIY]頂天立地!置物櫃再隔層,騰出新空間

房間空間不敷使用,決定在牆上固定了一組四層櫃。
一個才2~300元,雖然是便宜貨但堪用。


實際用起來發現,有很多小東西都只能堆在大東西上面。
空間利用度很差,而且不易拿取。

像這樣子(示意圖,把東西堆起來的樣子)

於是乎,打算在櫃子中間隔層,讓東西可以更進一步分類跟擺置。
剛好朋友那兒有不要的木板,趕緊撿回來裁切。


按照每一格的寬度做裁切的,希望可以這樣子放。

但是不想直接鎖在木板上,畢竟這板子蠻薄的。鎖上去了,以後要變更高度也會留下螺絲孔。
因此就在想,要怎麼設計可以伸縮的機構。後來半夜臨時起意開始畫圖,就生出了下面的架子來了。

兩個是可以合體的,中間孔洞用來固定高度



為了比對我畫的溝槽是否可以順暢滑動,試印了好幾次短的,只為了確認。


小合體

確認完之後,兩隻共花費了12個小時印製,層高0.1

合體後,最低17cm

最高快30cm

中間用兩根螺絲做高度固定

之後用四根固定在木板四邊就可以(拍照的時候只印了一根)



2019年5月12日 星期日

[自造計畫]自製一台CNC雕刻機 / Build A Dremel CNC

這篇文章其實已經是畫圖過一半才寫的










某天被學長慫恿,叫我自己做一台雕刻機。最原始的想法是要PCB layout做雕刻,後來想想做大一點,可以雕木頭、壓克力,甚至是金屬(鋁材等)。

因此規劃了一下大小,目標大約是40cmx40cm。可以讓一片A4大小的電木板雕刻。

從Youtube參考很多別人自製的機器中整合出自己心目中的樣子。

打算在X和Y軸的地方使用線軌,雖然價格貴很多,但是評估可以耐重抗變形,就決定大手筆一下了。

總預算希望可以壓在10k以內,因此很多小零件、電路板、馬達等都會從淘寶進來。


大概把材料分成以下幾個分類




1.結構:主要的主體與結構,框架採用2020鋁擠。因此相關周邊都要選2020的規格,例如T型螺帽、90度角座、裝飾蓋等等。還有線軌也會在這個分類裡面。在框架還沒架起來之前,線軌不敢大意購入,怕尺寸與最終定案的尺寸不一樣,會很麻煩的。

2.螺絲:當然就是大大小小M3、M4、M5各種長度都來個,備貨起來需要什麼長度隨時可以用。

3.電機:主軸馬達用的是775馬達,鑽或刻小東西應該還算夠用。實際上特性要拿到才知道。

4.電子周邊:CNC的主板也是淘寶訂,這次選的是有觸控螢幕跟WIFI的版本,看看能不能裝B一下,遠端遙控機子。

5.其他材料:雜七雜八的周邊。


其實從中也一直在整修自己的3D印表機,兩邊同時運作,思緒要蠻清楚的。不然容易混亂。

--0512進度

原本不太想要畫3D圖模擬建造起來的樣子,想說一切憑感覺做。後來想想我還是逼迫我自己先把架構能盡量精準的畫出來,包含尺寸跟外型。目的是為了防止自己想的跟做的差太多,到後面再修再改只是更浪費精力而已。

-L角


-滑塊









-鋁擠








把基本的材料畫一畫,然後組裝起來,再設計一些結構。進度就如同你們第一張圖片的外觀。

2019年3月24日 星期日

[土砲改裝]Koito Bi-LED裝上彪虎大燈 / Koito Bi-LED on Tigra

如果沒有看過開箱文的 可以先到這裡:[開箱+測試]Koito Bi-LED 車用魚眼大燈


經過了一個禮拜的努力,一度喪失動力。被同學打醒後才繼續趕工。
從拆卸車燈、研磨、3D印製高低支架等等..終於上車了

以下紀錄一下過程(圖有點多)

拆下車燈

 放入紙箱用吹風機吹5~10分鐘,讓上面的膠軟化即可取下

原本的魚眼

試著把燈放進去,把該磨的磨一磨

越磨越大

裝飾環之後也要

高低調整要留著,另外要設計機構讓魚眼可以調整高低

磨得有點醜..但 反正看不到XD



最理想是這樣,但是上了架子似乎是不可能的,會太高

設計了一個機構,用3D印表機印出來比對(白色的那塊)

好像不太行會卡到

於是修改尺寸根造型 再度測試

重新印了好幾個一直改版

經歷了五代架子後,不會掉下來了。還行。
另外上面是用兩根螺絲固定,還算穩固。

裝飾環也要修才行

把上部切除






最後變成這樣

可能不好看,我的功力沒辦法像Fighter大那麼強~
但是這樣我可以接受,平常不太會去注意大燈的外觀哈哈



線組的部分壓接並且上端子

線組也要弄整齊。盡量完整一點。


最後把燈罩蓋上去,裝上車 完工!

試一下照射

 無開燈

近燈

遠燈

實際騎在路上發現照的有點偏右,我的正前方偏黑
後續夜射圖待補充


3/28補充夜射圖
中寮山電塔現場光源

飛利浦 X-TREME  MOTO H4 LED 近燈

飛利浦 X-TREME  MOTO H4 LED 遠燈

G8 小魚眼 4000K 近燈

G8 小魚眼 4000K 遠燈

Toiko Led 近燈

Tokio LED 遠燈

 照草叢 遠燈 很廣

 走到上一張圖的草叢"尾端" (遠燈)

看回去車子(瞎)

飛利浦 X-TREME  MOTO H4 LED 近燈

飛利浦 X-TREME  MOTO H4 LED 遠燈

這張我覺得有點騙 側邊照會出現光束(遠燈)

下山時山路實測 近燈

下山時山路實測 遠燈


實測後心得:
帶補充