2015年7月6日 星期一

上週五去聽了Web + Arduino 智慧創客分享日的心得

簡而言之就是Webduino的產品介紹啦,去聽了之後大致上瞭解它的能耐。

基本上Webduino由三個部份構成:
  • 基底電路板:I/O與電源連接
  • Arduino Pro Mini:就是Arduino,精簡化的版本
  • Wifi晶片模組:雖然是無線連接用,但說是整個Webduino的核心也不為過 
Webduino號稱不需要學習C語言,即使是只學習網頁前端軟體開發的人也能立刻上手,依賴的就是能夠執行Javascript的優勢。 嚴格來說,Javascript並不是直接在Webduino上運行的,而是在瀏覽器上,或是透過Node.js運行在伺服器上。

但是撰寫好的Javascript程式要怎麼傳送給Webduino開發板呢?並不是直接傳送。在每一片Webduino開發板初次使用時,需要做初始化設定,也就是設定連接的WIFI AP,開發板開機之後,除了連接上AP,還會與Webduino的雲端平台做登記。登記完後,撰寫好的Javascript程式才能透過雲端平台與開發板進行互動。

到這裡發現到幾個問題:
  • 沒有網路連結的狀態下,這個開發板是完全不能用的
  • 同樣的,如果雲端平台的運作有問題,也是完全不能用
  • 目前的存取設計沒有考量到安全性,裝置ID只有四碼,似乎可以進行暴力猜測攻擊的樣子
  • 因為開發板不直接運行程式碼,如果把瀏覽器關閉,開發板就會停止運作,沒辦法設計離線裝置
上週的研討會有提到會將原始碼釋出,但我不確定有沒有包含雲端平台的部份,目前從他們Github來看,應該是還沒有。就算不釋出,只要提供直接連接的方式也可以,不然的話,這個開發板就沒有實用性。

2015年6月3日 星期三

使用Fluentd, Elasticsearch, Kibana收集PostgreSQL log的問題

按照網路上的文章設定,到最後Kibana上頭總是不會出現任何一筆log,但是直接搜尋Elasticsearch又確實有結果...。

檢視Elasticsearch的搜尋結果時,發現@timestamp的時間被往後加了八小時,回頭去看Fluentd的設定,時間格式最後有加上%Z,也就是縮寫格式,PostgreSQL匯出csvlog的時間格式的確包含縮寫的時區。

然而根據Supported 'timezone' configuration parameter.這篇,地球上有一堆時區的縮寫都是CST,這導致Fluentd解析時出現錯誤,而解決的方式就是把%Z移除。 Orz

2015年5月22日 星期五

在Centos 7上安裝389 Directory Server

一定要跑一台DNS做名稱解析,直接在hosts檔案裡頭做解析,在執行

setup-ds-admin.pl到最後一步就會出現
Error: Could not create directory server instance 'ds'.
的錯誤。

最簡單的方式,開一台VM跑dnsmasq做名稱解析就可以完成設定。

2015年4月20日 星期一

話說之前從Kickstarter贊助了一台3D印表機

Boots Industries的第二世代3D印表機,從拿到這台印表機,就註定是個災難的開始。

順帶一提把噴頭換成E3D v6,因為長度比原本的噴頭長,本來打算用別人設計的固定件,但是需要CNC切割,最後還是用原本的固定件把E3D v6鎖住,而校正器則用了偷懶的方式,使用長螺絲來調整。

因為這台的設計不太好,再加上生產的品質很糟,有不少人在論壇打算賣出自己的BI V2.5。

2015年3月2日 星期一

更換NAS的硬碟

因為家中的Synology DS413 NAS,其中有一顆日立1TB的硬碟出現壞軌,便添購Toshiba 3TB的硬碟來更換。

不過這Toshiba 3TB的硬碟居然是2014年2月出廠的,在倉庫放了一年嘛?

因為當初建置時是用SHR(Synology Hybrid Raid),將NAS關機之後,直接抽換掉有問題的硬碟然後開機進行修復。歷經rebuild->reshape->resize的過程,大約花了一天的時間,其中歷時最久的是進行reshape。

下次要換硬碟應該會整台重做,用兩顆一組做SHR,不然修復的時間有夠久的... Orz