2014年7月20日 星期日

如何把電池LED燈改為USB供電?



近月,需要一個小LED燈放床頭,在自家儲藏室找了一番,最後找到了一個使用 3顆1.5v AA電池的可夾式軟管LED 燈,本來裝電池使用的,但發現電池用的滿兇;心想能不能環保一點用插電的。有預先去找了一下 PCHome 大約 2~300元。最後決定把原來的 LED 燈改裝有支援 USB 供電的功能。

材料準備

  • USB A母座180°焊線立式 1個  (10 元)
  • 5cm 電線紅色,黑色各一條
  • 熱熔膠 2cm
  • 銲錫少許

使用工具

斜口鉗、剝線鉗、電鉻鐵、熱熔槍

改裝前,底部圖

首先測試使用 5v/2A 輸入電源,工作正常。

接者測量一下,正負極到要USB座開口長度。




 (pinout 圖片來源 pinout.net )


 然後,根據上圖: 銲接usb 座 5V(pin 1) 紅線 及 GND (pin 4) 黑線 



緊接著,將紅色銲到電池座正極,黑線銲到負極,
記得三用電錶量一下,確定電線銲接是否正常,再上電。
使用舊裝置的 usb 5v/2v 變壓器及公對公 1.5米的USB 線連接LCD燈如下圖。



續上,在側邊挖一個可將USB頭裝入洞,不要挖太大,最好要能卡緊USB頭,使之不易脫落。

最後,把燈放正,看一下完成圖。



小結

為了加固接頭的部分,使用熱熔膠槍,將usb頭與底座粘牢。本次完成USB LED 改造小專案,現在把這個夾在床頭,每晚睡前都會使用片刻,感覺還不錯。

2014年7月2日 星期三

如何將 python 程式編為 windows 64 位元 可執行檔?



之前, 曾寫過一些 python 平台API無關工具在 linux 上跑。
最近不想重寫,有下列需求:

  • 要在 windows 上直接跑,不用在自行安裝 python
  • 要能支援 32bit 及 64bit 的 windows
記得近年曾研究過 Dropbox 的 windows/mac client 的python 用法,
所以使用 py2exe 在 windows 8.1 64bit 做了一個實驗,

範例程式:

hello.py
# ---------------------
print "Hello World!"
# ---------------------

setup.py
# ---------------------
from distutils.core import setup
import py2exe

setup(console=['hello.py'])
# ---------------------

使用下列指令:

 python setup.py py2exe 

很方便就能產生可執行檔,如上圖產生 hello.exe。

以下是 dist 目錄下的檔案清單:


2014年5月21日 星期三

舊電腦椅自行維修換新輪子省錢大作戰

舊電腦使用了好幾年,黑色椅輪的塑膠材質開始老化脫落,

在地磚上粘著形成黑色的斑點,襯著淺白磚色,十分顯眼,看起來非常髒;

而且因為附加在椅子上重量的問題,

斑點會粘的很牢,不易擦除,要用濕布用力才能弄掉。

去網路查了輪子更換相關資訊,發現網路有在賣 PU輪,價格不貴新台幣二~三佰多元就能買到五顆一組輪子(現在人工比較貴,材料大都很便宜)。






記得在下單之前,先確定你的電腦椅能裝的上去,使用游標卡尺量一下,
輪子的規格如下:

軸直徑:11mm
軸長:22mm

我的電腦椅是亞梭的,使用的是一般規格的輪子。

在網路商店意外看到,居然有五年保固的輪子,評價似乎不錯,立馬下手買了一組。





安裝步驟



一、安裝之前,要先拆掉舊輪子,



請順著輪軸直線方向用力拉出就拔下來了



二、把寶藍的新輪子對準輪孔裝上去

小結

寶藍的新輪子,看來滿不錯的。
滑動也感覺比之前好很多。
版主每日幾乎都會在電腦椅坐上數小時,
所以一張好用的電腦是必備的,
可是新得要價不斐,
維修一下,電腦椅再度復活了。 
(大誤,DIY 癮頭愈來愈大了。)

2014年3月16日 星期日

當 Web Server 遇上10年老古董機 EPIA MII-12000

資料來源:Apache Web Survery

很久沒寫網誌,最近看了 Apache Web server 調查報告,發現這幾個月 nginx 成長的真快,看來Microsoft 巿佔被吃不少,而 Apache 也稍覺有威脅了吧。

近年來,筆者也有使用 nginx + fastcgi組合來開發django/nodejs web app。
用它的原因是:

  • light weight
  • performance
  • scalability
  • reliability
還有另外兩個主要的原因

Reverse proxy for HTTP and Mail

就是拿來做 HTTP reverse proxy 非常好用。nginx可以將 request 導向不同的 網址: '/' 或 'app/' 分別導到許不同的servers或web 服務程式。

Load balancing

免費版本: 已有 Simple load balancing for HTTP/HTTPS 的功能 (詳見: nginx's products)

我的老古董機 EPIA MII-12000



(圖片來源: VIA Embedded)



nginx 拿來做實驗真的很方便,連筆者的近10年前的舊機  EPIA MII-12000 + 256MB 也使用 nginx 來跑 reverse proxy 來做小 web app 也十分順暢。

目前MII上,使用debian 7.0 上安裝 nginx,十分簡單。

 sudo apt-get install nginx

連 http://yourserver/ 即可看到



nginx memory 使用量 3.1 %

比較一下 lighttpd 0.4 %

其實以 nginx 提供的功能相比記憶使用量,筆者覺得性價比十分高。

最後問一下, 本網誌的網友主要使用那一種 Web Server 呢?

參考資料:




2013年11月21日 星期四

F9 Microkernel 導讀活動 Part 2 - Scheduling




本月的小聚活動,在新的Ville Cafe場地舉辦,很高興有滿多對議程有興趣的朋友來。

照慣例,我都會問一下大家有沒有先看code,不意外大家太忙了忘記看。

筆者還是想重申一下,導讀活動要發揮效果,大家還是得先看看code,
才能把看不懂的部分, 列問題提出來,以利交流討論。


這次的重點在F9 Microkernel的scheduling為什會省電?

 以下是重點摘要式的簡報:



如有誤謬,請不吝指教。

附註: 其實筆者也有一些問題之後,想請教作者:

  • Dynamic timer 部分 ktimer.c 裡有一個 __ktimer_handler 是給 system tick 硬體呼叫的硬體中斷函式,這個部分不是會定時被呼叫,所以這個函式並不是tickless 的部分,會不會造成比較比耗電情況呢?
  • 另一個問題,目前我發現使用 remote gdb 去trace code,發現會讓 F9 Microkernel 發 kernel exception,但在 console 卻看不到輸出的結果,現在筆者還沒有找到頭緒如何修它,希望有人能提點一二。同步發了一個 f9-kernel issue 到 github 上。 

十二月活動時間調查即將開始,請有興趣的朋友不要忘記到 juluos.org 的 facebook 頁上回覆喔!


2013年11月13日 星期三

當軟體工程師遇上 3D 印表機的那些事?




昨日11/12,應 jserv 邀請首次到大學跟同學上課分享"當軟體⼯工程師遇上 3D 印表機的那些事?"這個主題。早上10點搭高鐵到台南,轉台鐵,12點半就到了台南火車站,交通很方便。

第一次來台南成功大學,好久沒進大學了,感覺非常有人文氣息,步調很悠閒。
資工系的教室不太好找,問了三位學生才找到。

我在分享報告前,問了同學一個問題:"請問有任何同學曾經使用3D印表機列印東西嗎?",答案是沒有,令我感到有些驚訝,看來 3D Printing 進入校園還需要一些時日。

本次分享下列這句話:

也是筆者對自己身為軟體工程師的期許。之前,常戲自己是 coding machine,有時一天寫十幾小時程式,近來心境有所改變,來 hack something,讓寫程式不是人生的全部。

以下是本次的簡報:


While software engineer meets 3d printer from Benux Wei

針對大家以下疑問做了補充及修正。

  • 3D建模軟體關係?
  • 有更便宜的 3D printer ?
  • 名詞 PLA ...?


若有其他不清楚或缺漏的問題部分,可在交流討論一下。

2013年11月5日 星期二

廢燈座大改造:我的 iphone 攝影架DIY



源起,愛玩新坃具的筆者,不小心手滑,近月,透過有在賣 3D Printer Kit 的朋友,買 3D Printer Kit 自己動手,組一台 prusa i3 來印一些小玩具。但花了蠻多小朋友的東西總要產生些效益吧!

前一陣子,檯燈壞了,心想丟掉覺得可惜:看到完好燈座支架,自己近來時常需要拍列印成品與同好分享,總覺不太方便邊作業邊九十度拍照,所以便催生本文。

經過一段時間不斷的調校與苦練"菜鳥3D繪圖入門SketchUp 8軟體";總算,自己設計了一個可多角度的旋轉 iphone 座,以下為相關圖片集。

主體連接底板


主體iphone shell

部分零件一覽表

組裝完成的側視圖

結語

在九十度拍照片或錄影的時候,都非常有用,等於多了一隻手 :) 。
==> 廢物燈分身也重新開始它的新旅程。

本次使用到列印作外的零件清單如下:
  • 亞梭的舊燈座 (含一支 20mm m4 縲絲,兩個大滑片)
  • 30mm 縲絲 * 1
  • 15mm  m3 縲絲 * 1
  • 10mm  m3  * 10
  • m3 縲帽 * 12
  • m3 滑片* 4

接著談一下,所使用繪圖軟體 Google SketchUp 8 for Mac (PS: SketchUp 2013 pro 是需要付費,只提供一段時間試用,切記:pro 版所存的檔案, SketchUp 8 是不能開的)

其次,有些很難畫或重複性很高的元件:如 縲絲(帽)、齒輪、彈簧等等,也可選用另一個軟體工程師愛用的程式繪圖軟體 openscad (The Programmers Solid 3D CAD Modeller)

題外話,使用 SketchUp 8 的理由之一,提供 Python Plugin 功能,可用 python 寫程式來擴充功能,筆者添加了一些功能 (如:網站上熱心的網友提供 Gear 齒輪 ...),之後玩得比較熟的話,若有適合的場地的話,考慮來辦個Python Plugin 心得分享小活動。

文未,廣告一下有與趣玩 3D Printer 的朋友,可到 Taiwan 3D Printing 社群 找到非常多的同好喔。