02/01/2016
先前曾經有在 COSCUP 2015 演講過我開發的 PIME 輸入法平台,但隨後沉寂了一陣子。這兩天有空,終於重新整理了架構,出了新的版本,並且提供了全新的安裝程式,裝好即可使用。
https://github.com/EasyIME/PIME/releases/download/v0.03/PIME-0.03-setup.exe

有興趣研究細節的朋友,這裡有程式碼:
https://github.com/EasyIME/PIME

還新增了一份 Hacking guide 解說了程式的架構跟目錄結構:
https://github.com/EasyIME/PIME/blob/master/HACKING.txt 


 PIME 是在 Windows上使用 Python 3 開發 TSF 中文輸入法的平台,目前支援到 Windows 10,並且能支援 Windows app container (Metro mode)。可以讓開發者在不了解系統細節的情況下,單純使用 Python 就能實作支援 Windows 的輸入法模組。

本次重要修改如下:
  • 安裝程式自帶一份 python 3.5 (32-bit) 環境,不需要使用者手動安裝 python,也不影響系統上已有的其他 python 版本,不須考慮 32/64-bit 混合使用問題。
  • 將 Win32 API 相關的操作全部從 python code 中移除,改用 C++ 的模組封裝在 libpipe 內。這有兩個巨大的好處
    • 不再需要安裝 pywin32 模組
    • 若要移植 PIME 架構到其他語言 (例如 Node.js),可直接用 ffi 載入 libpipe 來處理系統底層的部分,而不用自己撰寫,使得移植變得可能而且相當簡單。
  • 改進安裝程式,正確啟動 server,安裝完即可直接開始使用
 想測試的朋友 (尤其輸入法開發者),歡迎按此下載安裝程式:
https://github.com/EasyIME/PIME/releases/download/v0.03/PIME-0.03-setup.exe

理論上,使用 github 上釋出的程式碼可以完全重新編譯整個套件,但因為有不少元件,不但都要放到正確的位置,還要使用指令分別手動註冊輸入法模組,很難全部手動正確設定強烈建議使用包好的安裝程式,裝好了再把你想修改的檔案換掉即可。

01/31/2016

Techworm

Here Are The Best Linux Distros of 2016
Techworm
If you have an old laptop or PC sitting around, breathe new life into it with Lubuntu. Lubuntu uses LXDE, but the project has merged with Razor Qt to create LXQt. Although the latest release 15.04 is still using LXDE, the future versions will be using ...

und weitere »
01/30/2016

Techworm

Best Lightweight Linux Distros of 2016
Techworm
Linux was developed by Linus Torvalds at the University of Helsinki in Finland. It was inspired by Minix, a small Unix System and was introduced in October 1991. The first official version was Linux 0.02. In 2001, 2.4 version was released. It is ...

01/27/2016

opensource.com

Linux and open source are the future
opensource.com
On virtual machines at my home I install Debian, Linux Mint, and Ubuntu Ultimate Edition (based on Lubuntu). For me, one of the biggest advantages of Linux is how fast and responsive it is. For example, I installed Linux on a laptop that previously ran ...

01/19/2016

FileHippo News

Why Can't We Get Education Software Right?
FileHippo News
It never fails. A government agency–like a department or ministry of education, whether at the local, state, or federal level–introduces a new software system that is supposed to streamline the workload, make instant access to information possible, and ...

und weitere »Google News
01/03/2016

Intel® W-LAN 2200BG Driver auf Lubuntu installieren
Tom's Hardware
ich habe vor kurzem Lubuntu auf einen alten Laptop installiert, jedoch habe ich große Schwierigkeiten den Intel 2200BG W-Lan Treiber zu installieren? alle Downloads sind tot: http://ipw2200.sourceforge.net/firmware.php gibt es eine andere möglichkeit? vl.

Google News
12/21/2015

NanoNews (blog)

Mozilla Finally Releases 64-Bit Version of Firefox for Windows
NanoNews (blog)
... browser to Firefox 43.0 in the Ubuntu 15.10 (Wily Werewolf), Ubuntu 15.04 (Vivid Vervet), Ubuntu 14.04 LTS (Trusty Tahr) and Ubuntu 12.04 LTS (Precise Pangolin) operating systems, as well as any of their derivatives, including Kubuntu, Xubuntu ...

und weitere »Google News
12/19/2015
前言 Raspberry Pi 是像名片一樣大小的低價電腦 ,搭配各種外接裝置,能做許多應用。最近對這類開發板有興趣,於是我也買了一片 Raspberry Pi 2 來學習使用。原計畫的應用要搭配可感測壓力的 sensor,偵測使用者施壓的力量大小,但過程中遇到許多困難,尤其是類比訊號的 sensor 適合 Arduino 用,但接上 Raspbery Pi 無法直接使用。基於這方面的中文文件較少,逐一摸索克服之後,決定寫一篇教學,分享給有同樣需要的朋友,可以少走一些冤枉路。


本文使用的硬體裝置
  1. Raspberry Pi 2 開發板
  2. 類比-數位轉換器 (ADC): Microchip MCP3008 
  3. 力量感測 (FSR): Interlink FSR 406
  4. 麵包板及各種杜邦跳線
MCP3008
FSR 406詳細實驗過程類比-數位轉換器 (ADC, analogue to digital converter)坊間買得到的 sensors,部份是輸出類比訊號 (例如 linear hall effect sensor、溫度感測...等等),而 Raspberry Pi 無法讀取類比訊號 (Arduino 可以),要額外加裝一枚 ADC  晶片,才能讀取。但這是值得的投資,可以在不用買 Arduino 轉板的情況下,讓 RPi 可以玩 Arduino 的類比 sensors。
推薦大家用 Microchip MCP3008,因為外國網站的教學幾乎都是這款,資料好找。缺點是電子商場不常賣。拍賣網站可取得,但推薦 RS components 網站訂購,便宜不少還免運費 (缺點是一次一定要買兩顆以上,到貨要一週)
MCP3008 是 10-bit 的 ADC,可以將輸入類比訊號轉成 0 - 1024 之間的數值,透過 SPI 界面 (不是一般 GPIO) 讓 Raspberry Pi 讀取

連接 MCP3008 到 RPi 有兩篇不錯的教學可以參考 (請搭配下列注意事項):
https://learn.adafruit.com/reading-a-analog-in-and-controlling-audio-volume-with-the-raspberry-pi/overview
http://atceiling.blogspot.tw/2014/04/raspberry-pi-mcp3008.html#.VnWKzHYiLmU
有幾點要特別注意的
  1. 這兩篇適用舊款 Raspberry Pi 一代,若是 RPi2,照著前述教學文件接,是完全不會動的,因為 GPIO 腳位改了。請照新的 RPi2 腳位圖連接,接法相同,但所有 SPI 相關的 pin 位置幾乎都不同。
  2. Rasbian 系統預設沒開 SPI 界面,需要手動開啟 (可用 raspi-config 工具,在 Advanced 選項裡面開啟 SPI)
  3. 若 SPI 無法運作,可用 spi-test 程式檢測。需要注意的是,檢測時要用一條母-母跳線,把 SPIO MOSI 和 SPIO MISO 這兩個 pin 直接對接起來。這個動作很容易漏掉,會造成測試失敗。(原理是直接把 SPI 輸出 loop back 回輸入,也就是你送出去的資料會繞一圈送回來又送給自己,所以理論上只要 SPI 有運作,一定收得到資料,故可用來檢測)
力量感測器 (force sensing resistor)感測的是「力量」而非「壓力」,偵測範圍約 10 g - 10 Kg,在 sensor 上有效區域施力都能偵測,但精度不佳,且無法判斷施力點位置。主要的生產商是 Interlink,型號從 FSR 400-408 有多種尺寸,但一般店面少見大尺寸,款式很少,建議網拍購買較便宜。(本文使用 FSR406)
需要特別注意的,是 FSR 406 的連接方式。FSR 尾端的接頭"理論上"直接插上麵包板即可用,但這樣使用容易折彎連接頭造成 FSR 損壞或訊號干擾,建議還是用連接線。不幸的是,一般接 sensor 和麵包板用的杜邦 2.54 mm 跳線母頭,無法接上這款 FSR。經實驗可使用 JST (XH-style) 2.5 mm 的母頭代替,可密合得很好。建議購買這種線,然後在另外一端「自行壓製」杜邦 2.54 mm 的公頭,就可以製作出能從麵包板轉接到 FSR 406 的延長線了。
XH-style 的 JST 2.5 mm 線,以及其塑膠頭
FSR 406 的尾端接不上一般杜邦 2.54 跳線母頭,我問了三間電子商場,都說沒這種接頭,建議我直接焊接。我不死心,把每一種母頭都拿起來試接,發現 JST 2.5 mm 的正好可以密合,如圖,接得很好。自行購買的杜邦 2.54 公端子和塑膠套,準備壓在 JST 2.5 線的另外一端把 JST 2.5 mm 的線材,另外一端自行壓上杜邦 2.54 端子,就成了特製的延長線了,可以順利插入到麵包板上。理論上壓製線材,有專用的端子鉗,但是售價太過昂貴,我又很少用。所以最後是使用尖嘴鉗和蠻力土法煉鋼。一樣可以壓緊,也能用,但是形狀較為醜陋,而且我壓壞了一個...FSR 連接方式 連接 FSR 可以參考這篇教學,照著接即可,只有幾點要注意
  1. 原教學是把電壓變化的類比訊號,接到 Arduino 的訊號輸入,而我們是要接給 ADC 讀取轉成數位訊號,所以是要改接到 MCP 3008 的 channel (0 - 8 都可以,程式內可以控制要讀哪個 channel)
  2. FSR 只是一個電阻,本身不發出訊號,但它受到壓力電阻會變小。所以施加電壓,通過的電流大小,就可以反映出所受到的力量 (但不是線性變化)。不過我們不能直接讀電流大小,所以需要額外串聯一個電阻 Rm 做 voltage dividing,來讀取 Rm 兩端的電壓,而這個電壓就是我們給 ADC channel 的訊號輸入。(原理是:當 FSR 受到越大壓力,電阻變小,則通過的電流越大,此時串聯的電阻 Rm 兩端就會有較高的電壓 V = I * Rm 所以我們讀取 ADC,就會讀到比較大的數值了)
  3. 施加外力大小,和 FSR 的電阻或可以量到的電壓都不是線性關係,請見官方文件有曲線圖
  4. 串接的電阻不同,會使得能夠測量到的數值範圍改變,雖然教學文件建議 10K歐姆,不一定適合每種應用,需要實驗。
我最後連接好的結果長這樣,麵包板左下角超出畫面外的紅線和黑線,是連接到 FSR406 的特製 XH 2.5mm 跳線。麵包板中央的黑色晶片是 MCP3008 ADC


如果還需要 FSR 更完整詳細的資訊,可參考這篇 Integration Guide
    程式範例
    #!/usr/bin/env python3
    import time
    import spidev

    # Read SPI data from MCP3008, Channel must be an integer 0-7
    def ReadADC(spi, ch):
        if ((ch > 7) or (ch < 0)):
           return -1
        adc = spi.xfer2([1,(8+ch)<<4,0])
        data = ((adc[1]&3)<<8) + adc[2]
        return data

    if __name__ == "__main__":
    spi = spidev.SpiDev()
    spi.open(0,0)

    try:
    while True:
    value = ReadADC(spi, 0)
    print("ADC", value, float(value)*100/1024, "%")
    time.sleep(0.1)
    except KeyboardInterrupt:
    pass
    spi.close()

    省錢小撇步使用麵包板時,經常需要用跳線連接。市售跳線盒很方便,有多種長度彩色的短線可用。或也可用杜邦公-公跳線取代,但跳線盒一個通常要 80 - 150 元不等,而杜邦跳線現成的一包十條約 65元,長度通常太長,很難使用。
    推薦可以買單芯線替代,用剪刀就能輕易剪出所需長度,再兩端剝皮,可做麵包板跳線,三公尺才約台幣 10 元,非常划算又好用。(剝皮用剪刀輕輕的就可以剝,小心一些並不需要專用鉗子)
    把公-公跳線都換成單芯線,清爽很多,才花不到十元。缺點是我只買了一種顏色。後來我把接地的那幾條用奇異筆塗成黑色,就不會搞錯了... =.=  其實應該要買白色的,這樣需要什麼顏色的線就自己塗色就好了 XDD

    以上是本次實驗的經驗分享,希望對有在玩 RPi + FSR 的朋友有幫助。
    12/10/2015

    Softpedia News

    How to Install Ubuntu Linux on Raspberry Pi 2
    Softpedia News
    As you might know, the Ubuntu MATE developers released a while ago a set of tools that could allow anyone to create Raspberry Pi 2 versions of any other Ubuntu flavor, including Xubuntu, Lubuntu, Ubuntu GNOME, and even Ubuntu Server and Ubuntu ...

    Google News
    12/10/2015

    Technabob (blog)

    Pine A64 $15 64-bit Computer: Prosumer SBC
    Technabob (blog)
    Just a couple of weeks ago the jaws of makers around the world dropped when the $5 (USD) Raspberry Pi Zero was announced. Don't bother picking your jaws up girls and guys. You might not have a head to attach it to after you see the Pine A64.
    PINE A64, First $15 64-Bit Single Board Super Computer by PINE64 Inc ...Kickstarter

    Alle 37 Artikel »Google News

    Pages