prism

2015-12-15

Vue.js

今天想要介紹大家 Vuejs 一個非常小的 javascript 前端的工具或是 library

主要是我實在看了 react 的東西,看起來,真的有點多,感覺很囉嗦,不知道其他人是
做什麼樣的應用,可是,單純只是,這樣的東西,也許哪一天,我要來寫 fb 的前端,才會用吧

react native 對我來說,還是覺得不要再繞了,直接原生寫,會比較好玩 ;-)


backbone 用起來不錯,不過像是 angularjs 的 two way binding 或是其工具,要達到 angular 的方便,
用 backbone 需要自己刻,或是用第三方的延伸套件,對於 angularjs 方便用,不過又介入太深,完全就是他官方規範的
那一套寫法,引入了,很多概念,有點複雜了,要客製的時候,會採不少坑

最重要的還是我反骨啦,不相信一定要變複雜,不相信,要達到更多好處,生產力要降低
不相信,Designer 的合作,變得更難

小試一下,vuejs ,非常對味,產能倍增,上手簡單,看完說明第一頁,開始刻,立馬把一個很小的 app 由 backbone 用 Vue.js 來寫 ,邊看邊學
很快就可以看完了,有點像是精簡版的 angularjs,加上給你自己決定,要不要走 react 的設計模式
render 的方式和 react 不同,官方說法,是說很快

如果要走 redux 的模式,也有現成的套件



http://vuejs.org/
https://github.com/vuejs/awesome-vue
https://github.com/vuejs/vue-devtools
https://laracasts.com/series/learning-vue-step-by-step


越是做複雜的東西,工具越是要簡單

想給個讚,勸各位跳坑,用不是大家一致叫好的東西,自己能發現他的美好,自己分辨一個工具到底對你是加分還是減分,才是

2015-11-15

cc3d mini 刷 betaflight

分享 cc3d mini 刷 betaflight 的心得

之前用 cc3d 飛,都是用 openploit 官方的韌體,看到新版的並不支援 cc3d ,韌體也幾乎不再更新,先前雖有聽到 cleanflight 的韌體,但是一直沒有去嘗試,覺得 led 的的功能,好像對我幫助不大,openpilot 直接抄置頂文的 pid 設定,也飛的很穩,直到,後來一直看到 cleanflight 及 betaflight 的韌體更新速度,看到,可以直接把所有的警報功能,都移到飛控本身,可以讓我少掛一塊,失控警報的小板子,新版的韌體,國外大多評價都不錯,先前,看到 facebook 的社團也有分享 blackbox 的功能,就衝了一下,我是刷 bin 版,沒有把原本,openpilot 的 bootloader 蓋掉,沒有 auto tune,但是,還是可以利用即時調節的方式,可以直接在飛行的時候,調整所有的 PID 值,做最好調整,不必再掛藍牙版,或是手動方式,來來回回的調整,這對,我這種,機架是自己拼湊出來的四軸最友善了,因為,世界上,我這一台是獨一無二的,抄不到最適合的值,只有自己知道,調好後,直接降落,美國手,左邊左下,右邊,右下,就會存下來
cc3d mini 刷 betaflight ,borisbstyle 有打包馬達輸出,第六腳,當成蜂鳴器的輸出
https://github.com/borisbstyle/betaflight

https://github.com/borisbstyle/betaflight/releases

https://github.com/borisbstyle/betaflight/releases/download/v2.1.3/betaflight_CC3D.bin

https://github.com/borisbstyle/betaflight/releases/download/v2.1.3/betaflight_CC3D.hex

加上簡單的電路,就可以讓飛控,可以判斷低電壓的警報,及各種警報,或是直接有開關控制,很方便

接線參考圖
https://github.com/Arakon/cleanflight/blob/CC3D/docs/Wiring/CC3D%20Buzzer.png


我的警報器,及電壓分壓,找不到 1K ohm 10K ohm的電阻,我用 10K ohm 及 100K ohm 代替,不可以用太小的喔,這樣電流會太大
警報器,有線路圖可以參考

https://github.com/…/blob/CC3D/docs/Wiring/CC3D%20Buzzer.png

基本上照官方的就可以了,找不到現成的零件,也可以自己算一下,增益值,變通一下,給蜂鳴器的輸出不可以大於 25毫安培,比較好,我是警報器,焊好後,確認好後,用熱融膠給他包一下,然後,分壓器,就是用熱縮套,加杜邦頭,美化一下,做成一條 線,電池正接歐姆數大的電阻,電阻串接點接 CC3D 接收第 7腳 (我是用 R6D ppm 的模式 ,第7腳是接收 battery 電壓分壓後的電壓,不可超過 3.3 伏特) ,歐姆數小的電阻另一頭,接電池負,如果,你找不到批配的電阻,也可以在控制介面裡調整,放大值 vbat_scale 預設是 110 ,我就是照這個去配 ,蜂鳴器依照,那個參考線路圖,接到馬達輸出的第6 個就可以,圖片的電晶體用的是 557 他的增益值不同,一樣和官方建議的都一樣是 PNP 的電晶體,官方是建議 2n3906 ,電阻是 2.2K
我也是找不到 2.2 K 的電阻,只要到 3.3K 的電阻,及 KN3906 PNP 的電晶體
這就是我的電壓分壓,及蜂鳴器
啟動叫,armed 叫,失控叫,切換設定叫,低電壓依我設定叫,要他叫就叫,嫌小聲沒關係,自己選一棵大聲一點的蜂鳴器
小小聲的說,目前真的太弱了,太常撿機子了,所以這些警報,尋機功能就很實用,很羨慕那些,飛一趟,做一些優美動作,都不用撿機的大大







2015-11-02

我的麵包板 BB 245

現在自己的四軸,用現成的零件拼拼湊湊,覺得

比買現成的機架彈性大很多,可以組自己想要的軸距,以後,應該不會再買機架了

材料,麵包洞洞板,現成的碳纖機臂,或是鋁合金或是碳纖管,方管,圓管都可以,我目前覺得
鋁合金方管的效益最高,不用固定座,成本便宜

馬達,我另外用白色的飲料蓋子保護,碳纖機臂,底部我也綁上,泡綿,等於,整台機子都有保護到

上面有上蓋,電控都在身體裡,下面有海綿墊著機臂,馬達有瓶蓋,電池,我是用魔鬼沾束帶,固定在下面,電池有用泡泡袋
包覆,保護,這樣非常的耐撞,耐摔,但是務必遵守飛行安全守則

http://copter.ardupilot.tw/introduction/safety-multicopter/

下面就是大概的組機圖了

麵包板,及碳纖機臂,加上分電板,及一個可調電壓的降壓模組


指甲大降壓模組


電子變速器,焊接上分電板,把額外輸出的電源,都上杜邦頭,方便外接


加一層減震座,我事直接用 8mm 的鋁柱,鎖前後減震板的孔位,飛控板,直接用 3m 壓克力膠帶黏上去


飛控板黏上去,遙控的接收器我在黏在飛控板上


側面


加上圖傳,及三合一警報器的固定方式,左右,都用束帶固定

2015-10-05

海盜式單眼 FPV goggle 零件

準備用這些零件,來做成單眼的 FPV 眼鏡,滿足一下買不下去肥鯊眼鏡的小確幸


完成後的樣子






取景器效果很好,可是單眼,我不會飛

麵包洞洞板當四軸機身

最後


這一張是有上圖傳,FPV 的樣子



麵包板一片 28 元,相當便宜,後來我的電路,不走麵包板,單純只是鑽孔,做成機身,機臂,買現成的一支大約 75 ~100 元,碳纖材質

另一種,自製機架的方式,是買碳纖管,然後才切成想要的尺寸,再買現成的馬達座,但是算起來比較貴,要做軸距 280 mm 以上可以考慮













2015-09-17

DIY 四軸馬達保護

臂可折,槳可斷,可是馬達,貴呀,還是省一點吧

DIY 馬達保護座







我是小電鑽,在把飲料蓋,鑽孔,在連馬達一起鎖上,這樣鎖緊後,蓋子,自然會微開,我後來覺得蓋子不需要鑽孔,用美工刀,切割,要鎖的溝槽就可以了
就不太需要精準孔位,溝槽,切大一點就好

完工,飛起來,還好,飛行時間也沒有明顯減少

另外一台,要用麵包板,打造的迷你小四軸,做好了,在跟大家分享

墜機

飛了幾次,開始動作越來越大膽,

白目的開始翻了起來,一陣大風,

墜地後



好險,機臂沒斷,飛起來,也還正常

繼續飛下去

2015-09-05

小四軸

小四軸 QAV 250 Pro 板

開始組裝



電變,有些人,用金插接,有些人直接焊在馬達的線上面,或是將電變版,上面的線拆了,直接馬達線焊上去,我是直接焊
另外這一塊分電版,小四軸,可以不用啦,我後來,是把它拆了,不用了,一般,會需要 5V 或是 12 V 的電源,3S 的鋰電,大約 11.1V ,我選的電變 Emax 銀燕12A BLHeli 系列電變/電調
有帶 5V 1A 的 BEC 供電,另外就是,小四軸,沒有吃電很兇,所以分電版,我是覺得不用了,如果有用分電板,記得碳纖的機架會導電,要絕緣好


無刷馬達的海綿不要丟,拿來做腳,比鎖螺絲的腳好多了


第一版完成,各位千萬不要這樣走線
馬達的線不要外露出機臂,這樣,撞擊,可能會割到馬達線
另外,馬達,到最後接到電池這一斷,只留一的可以單換得節點,其他不需要的線,都拔掉


改成第二版,只有線,用了兩對金插,直接對電源,還有一個jst 接頭,要留給圖傳的電


最後像這樣,由後面拍


側面,金插,還是用熱縮套,電器膠布,分一下顏色,該固定的,都要固定好,沒有例外,飛上去,掉出來,就麻煩了
原則,就是要輕,接點要少,拆裝要方便,調整維修也可以快速,為原則,可以先想,如果機臂斷一支,維修會很麻煩嗎?


斷槳,各位千萬要買耐炸的,這一種,摸起來,很薄,很脆的,很容易斷的,這一台 QAV-250 我目前是飛 6040 還有 5045 的槳,多飛幾次,再來
跟各位分享心得,差異

2015-07-09

How I deploy my golang binary

在網路上,有很多 Docker 的佈署的文章,或是用來測試的方式

用 golang 撰寫的服務,編譯成執行檔後,你可以有很多的選擇,例如:upstart , supervisord , 或是 daemontools

這一次,我想用 Docker ,想要他的彈性

但是,不管用 Ubuntu , Debian 或是官方的 Golang 的 image

總覺得 image 太大,不合用,直接由 scratch 做 image 又覺得,萬一有一些系統的相依套件,需要的時候,不方便

所以這是我目前的萬用 image 的 Dockerfile


FROM alpine:3.2
RUN apk --update add curl
WORKDIR /usr/src/app
ENTRYPOINT  ["/usr/src/app/goapp"]

實際的編譯執行檔,分資料夾放,名字都叫做 goapp,執行 container 的時候,用 -v 掛載進 container 的 /usr/src/app
golang 的程式記得可以用環境變數,更改一些執行的變數,像是,資料庫連結,等等,只要執行 container 時,用 -e 帶給 container

以後上新版的執行檔,就只要下 docker restart your_running_container 而已


image 裡安裝的 curl ,只是要順便把 ssl certificates 安裝,這樣就有 root certificates

這樣的 images 大小大約 8.7 MB ,夠小,也很快

颱風假的新聞

今天是難得的颱風假,看新聞總有一種怪怪的感覺

總是說電影院,或是 KTV 人滿為患,這些媒體記者

這麼多年了,角度總是沒變過

總沒人探討,為何,這些娛樂的營業場所,總是在颱風假,依就營業的問題

讓工作的人員,總是必須冒著生命安全受到侵害的危險,出門工作

就像是地方政府首長,做出對大家生命安全最安全的決定

你選擇,出門玩樂,那是你自由的選擇,但是,這些 KTV,電影院,或是百貨公司的從業人員

他們能選擇對自己安全的選擇嗎?

2015-05-08

Prepare your Linux USB bootable on Mac

在 Mac 上面要準備你的 GNU/Linux USB 安裝拇指碟

沒有像上 Linux 上面這麼的方便,畢竟這就是華麗的代價



基本步驟,這裡指的是 Debian 的安裝 ISO 檔案為例

1) 下載 ISO http://cdimage.debian.org/debian-cd/8.0.0/amd64/iso-cd/debian-8.0.0-amd64-netinst.iso


2) 轉檔 hdiutil convert -format UDTO -o debian.img debian-8.0.0-amd64-netinst.iso

3) 找到你 USB SD 卡的磁碟名稱 diskutil list

4) 我的例子是 /dev/disk3

5) diskutil umountDisk /dev/disk3 卸載

5) 切割 USB 碟,格式化, diskutil partitionDisk /dev/disk3 1 "Free Space" "unused" "100%"

6) sudo dd if=debian.img.cdr of=/dev/disk3 bs=1m

恭喜,這樣可以做完收工了,可以有 Linux USB 安裝拇指碟


參考資料
http://blog.tinned-software.net/create-bootable-usb-stick-from-iso-in-mac-os-x/

http://unix.stackexchange.com/questions/114984/how-to-create-a-bootable-linux-installation-usb-from-an-iso-in-os-x

2015-05-07

Chrome avatar

忘了,Chrome 到哪一版,更新後,頭像不見了,剩下名字而已

這樣可以繼續用,原本的頭像顯示

打開 Chrome 到 chrome://flags/#enable-new-avatar-menu 關了他,restart Chrome ,Hi avatar.

參考

http://lifehacker.com/how-to-disable-chromes-new-user-menu-1679224275

2015-05-02

DD WRT Client Bridge

想要連接,兩間房子的網路,失敗及成功方法

目的希望可以用無線的方式,分出網路到同一棟大樓,不同樓層,兩個陽台,目視可見,不用再重新申請網路

失敗經驗


目前的硬體,主要的 Router AP ,原廠韌體,接 HINET 家用光纖,放九樓陽台
RT-N18U




另一台放在不同樓層的無線 AP,刷 DD WRT 韌體,放四樓陽台
TP-LINK TL-WR1043ND V1




N18U
標準 AP 設定方式,另外固定無線頻道,我固定頻道 6,設定 WDS 可以連線的 AP mac address
Address 192.168.1.1 netmask 255.255.255.0
DHCP server on
DHCP 分配 IP 範圍 192.168.1.100 ~ 192.168.1.254
WPA2/Personal AES

WR1043ND

把 WAN disable
IP 位置設定 192.168.1.2
DHCP server off
Wireless mode 選 Client Bridged
SSID 及密碼和 N18U 相同

重新開機後,電腦,接 WR1043ND 的網路線,是可以上網,但是大約幾分鐘後,網路就會斷,用 telnet 連到
WR1043ND 的機器,去連線,也是一段時間後就會斷,可以由用網路線接 WR1043ND 的上網的電腦,重新取得 ip 連線,又可以回復

實際把上網電腦,設成固定 IP 及路由,也是無法連線,試著,在 WR1043ND 上面設定靜態路由,也沒辦法,

可能是我的網路概念,還不夠清楚,所以就放棄了,尤其覺得一開始都是可以連線,大約幾分鐘後,斷線後,一定要重新 DHCP 得到 IP
才能恢復連線,感到不穩定


最後成功方法解法很簡單,反過來

Hinet 接 WR1043ND 當成主要的無線 Router,反過來,N18U 開成無線中繼模式,這時用 N18U LAN 接著上網電腦,就可以連線了
速度,比一半,在少一點,不過堪用了

原來,原廠的韌體,簡單好用,少花一些時間,會在直接買一台,同牌的支援應該更沒問題

接了,賣家送的 8db 天線,真的有差別,訊號的強度,好很多,帶來的就是連線速度的穩定性

以上,簡單的經驗分享

2015-04-27

2015-03-08

掃地機器人 part 1

假日,來做一下簡單的玩具車

就老鼠板的概念

把家裡,一些沒有的東西湊合著做

材料

1. arduino 機板 Mega 2560 NT 320 ,可以用更便宜的

2. 便宜電機驅動板 NT 120

3. 馬達及齒輪組 x 2 NT 190 * 2,有 60 元的可以用

4. HC-SR04 x 2 NT 30 x 2

5. 一般的黏地滾筒 跟老婆要的

6. 不要的紙盒 老婆施捨

7. 數條杜邦線,自己還有


共花 320 + 120 + 380 + 60 = 880 (這一次,只有買馬達,及 arduino 板,其他都是原本就有的)

材料






組裝完




外觀




檢討

輪子,應該要內縮一點,這樣,障礙判斷會更精準

要有類似離開死巷的演算方式


PS: part 2 當然就是加吸塵了

2015-01-31

錢薄了,不是房子貴了

現在的小吃,或是零食餅乾,紅豆餅所有的東西

那一樣,沒有比小時候,漲個兩三倍,或是包裝換了

把內容量變小,或是重新取新的名字,加價賣

假如,錢變小的,大家薪水沒有跟著漲上去,就是政府的問題

如果,是錢沒變薄,房子卻變貴不少,再來說炒作的問題

在台北市的精華地段,確實早就有這些問題,這不也是,政府

刻意營造的結果,大興土木,交通便捷,就業績機會豐沛,不往這裡擠,

別的地方賺不到錢呀,這個膝蓋想也知道

只要地方的經營,和建設有跟上,資源分配有合理,而不是一昧的炒作土地的利益

自然炒作,變得沒有利益,假如嘉義人住嘉義,或是花蓮人住花蓮,月入數十萬,我幹嘛沒事離鄉背井,上台北

就像是,河裡有金砂一樣,再遠,大家也會不辭路途遙遠,爭相來掏金

現在就是,有金砂的地方太少了

2015-01-21

Google Cloud

Google Cloud Engine 上面的文章,概略介紹

puppet , chef , salt , 及 Ansible 的整合

我則是看看可不可以用 ansible , docker 及 kubernetes 可以方便一點

https://cloud.google.com/developers/articles/google-compute-engine-management-puppet-chef-salt-ansible/