2014年11月21日 星期五

為 Raspberry pi 的 wlan 設定固定的區域網路 IP

        承接之前讓 HP 印表機變網路印表機的文章,在我把印表機變網路印表機以後,家中要列印文件的確方便許多了,但還有個小問題:我的 Raspberry pi 是透過 USB 無線網卡上網(wlan0),但家裡 Hinet 的小烏龜如果重開,或是 Raspberry pi 重新開機,IP 有可能會變,這樣子連接時就要重新設定 IP ,很麻煩!所以我小小研究了一下讓 Raspberry pi 的 wlan0 IP 可以固定的方法,蠻簡單的,以下說明設定流程。

2014年11月13日 星期四

微軟開放 .NET Source code 及發布免費的 Visual Studio 2013 Community 版本

        從大學就開始接觸 .NET ( 雖然當時還不知道我寫的是.NET的東西 ) 到現在也是蠻久了,作為第一個帶我進入視窗程式設計的 Framework ,相較於其他的開發環境, Visual Studio 對我來說還是比較習慣,不過 .NET 在跨平台這部分似乎都沒有很積極處理,雖然有 Mono 專案,不過以目前的狀況來看,使用 .NET 開發通常也就是沒有打算要跨平台了 ,畢竟 .NET 程式要運行在 Linux 和 Mac 環境下還是有很多問題和麻煩,要處理跨平台還有很多更好的選擇。

2014年11月12日 星期三

用 Raspberry Pi 讓 HP 印表機變網路印表機!

        因為家裡有不少電腦,但實際連接家中印表機的只有一台筆電,便宜的印表機也沒有網路介面,因此桌電要印東西都得傳檔到筆電裡面,麻煩,所以就想說拿樹梅派來當共享印表機的列印伺服器,這樣其他電腦要列印就只要透過區域網路連線,把印表機當作網路裝置來使用就可以了,在 Windows 上的操作就跟一般的印表機是一樣的,方便多啦。

2014年10月31日 星期五

Python 學習筆記(4) - 函數、模組與類別

        函數、模組與類別是實踐封裝及抽象化很重要的功能,這部分 Python 的支援也是挺完整的。

Python 學習筆記(3) - 條件述句與迴圈

        本篇筆記 Python 的條件述句 (if statement) 與迴圈 (while and for loop) 的用法

2014年10月30日 星期四

Python 學習筆記(2) - 運算子

Python 運算子整理表
和C語言不同的使用紅字標註

Python 學習筆記(1) - 註解、變數、資料型別

        這是我自己學 Python 的簡單筆記,有 C 語言或 C++ 程式語言底子的人應該能夠看懂及上手。

Python 學習筆記(0) - 使用 Visual Studio 2013 作為 Python IDE

        最近發現 Python 這個語言越來越夯了,不認識一下好像有點對不起自己,所以就開始找資料來學學看 Python。雖然說寫程式只要使用隨意的文字編輯器就可以寫了,像是 Notepad++, Sublime text 都是很好用的編輯器,不過我還是習慣找個 IDE 來用,後來發現 Visual Studio 就有支援 Python 的插件,叫做 Python Tool for Visual Studio (PTVS),而且是開源的,所以就決定使用 Visual Studio 來練習寫 Python。

        以下簡單說明一下如何在 Visual Studio 建置 Python 開發環境。

2014年10月15日 星期三

Visual Studio 2013 配置 OpenCV 2.4.9 專案環境

        以下筆記如何在 Visual Studio 2013 建置 OpenCV 2.4.9 專案環境,我想這個安裝流程在 2.4.X 的版本應該都是適用,之後的版本應該也是大同小異,沒有很複雜。

2014年10月13日 星期一

在 Visual Studio 2013 中使用 Bitbucket 進行 Git 版本控管

        程式寫久了以後自然會發現版本控管的重要性,但這部分學校通常不會教,學生自然而然就是使用 tar 或 zip 版本控管 (複製複製再複製) ,不過現在有不少版本控管軟體可以輔助我們做這些事情,而且也更便利、更有效率,而這些版控軟體中我想最廣泛使用的應該還是 Git 和 SVN。

        最近在玩 Visual Studio 2013 的時候,發現微軟已經把 Git 版本控管整合進 Visual Studio 中了,一些版本控管的操作現在只要在同一套 IDE 中就可以進行,不用額外安裝其他軟體,這讓軟體開發變得更便利快速。

        以下簡單介紹一下 Visaul Studio 2013 中如何使用 Git 版本控管,並且使用 Bitbucket 這個免費的 Git Server 作為雲端伺服器。由於 Bitbucket 並不像 Github 強制免費使用者 Open source,這對一些個人的程式練習或小型開發來說蠻便利實用的。

2014年9月30日 星期二

Ethercat + Raspberry Pi + ASDA A2 Servo Motor = ?

        終於成功在 Raspberry Pi 上透過 Ethercat 控制伺服馬達,其實程式寫起來並不會很複雜,是我自己卡在 ASDA A2 的 Profile Velocity Mode 的 OD 0x6080 (馬達最高轉速) 似乎不能改,所以馬達速度一直上不去,讓我一直誤認為程式有問題。 (我不確定是否和 realtime 有關,我認為應該不是 )

2014年9月28日 星期日

Raspberry Pi 安裝 IgH EtherCAT Master for Linux

        這篇筆記我在樹梅派上安裝 IgH EtherCAT Master 的流程,以下所有指令都是在樹梅派上執行,沒有使用任何的 Cross compile toolchain。

2014年9月27日 星期六

用 Win32 Disk Imager 備份和燒錄 Raspberry Pi 的 SD 卡

        不少網站已經介紹過如何使用 Win32 Disk Imager 燒錄 Raspberry Pi 的 SD 卡。但實際上,這套軟體還有讀取 SD 卡的內容並轉成 img 檔的備份功能,玩 Pi 玩一玩怕把穩定的系統玩壞的時候,便可以利用此功能把現在的 SD 卡備份下來,真的出問題的話再重新燒進去就可以還原了,而且此軟體是 Windows 工具,對 Windows 使用者而言也相當方便親民。

2014年9月24日 星期三

最簡單的 Kernel module : Hello world kernel module

        本篇記錄如何建立一個最簡單的 Kernel module : 也就是 Hello world kernel module,總共只包含了兩個函式,一個在 module 載入時被呼叫,另一個則是在卸載時被呼叫。

2014年9月23日 星期二

Visual C++/C# 專案的 SVN 全域忽略樣式設定 (ignore pattern)

        在使用SVN的時候,有一些IDE自動產生的檔案是相依於不同的開發者或電腦,它們不需要上傳到SVN的檔案庫裡面,在團隊開發的情況下,這些檔案很容易會產生衝突,在送交或更新時常常需要檢查或過濾,造成使用者困擾。

在 Blogger 內貼程式碼 : 使用 Google Code Prettify

        這裡介紹如何使用 Google Code Prettify 來幫助我們將 Blogger 文章裡面的程式碼上色。

2014年9月22日 星期一

VMWare Player & Ubuntu 安裝流程

        我第一次碰 Linux 是在大二時當國網中心科學夏(冬)令營的志工,國網中心的營隊小隊員主要是以國中這個年齡層為主,除了我們帶的一些活動以外,還有電腦和樂高機器人教學等國網中心的老師開的課程。當時教這群國中生的電腦課程就是以 Ubuntu 作業系統為主,對於我這種從小用 Windows 到大的人而言,Linux 給我的感覺就是麻煩的 Command line 還有學習門檻很高之類的,對於那些國中就能接觸 Linux 的小隊員真的是蠻敬佩和羨慕。

        在帶完國網中心營隊以後就再也沒碰過 Linux ,一直到最近開始想玩嵌入式系統才又開始接觸。Linux 的 distribution (流通版) 還蠻多的,但我對 Linux 的第一印象除了企鵝以外就是 Ubuntu ,稍微研究了一下以後就開始著手建置環境。

        Linux 這方面我真的是新手,像是 "Windows 8 完全攻略手冊" (虛構書名,如有雷同純屬巧合) 之類完全不太想翻的書改成 Linux 版對我來說搞不好就是聖經,哈。在平常的作業電腦安裝雙系統可能風險太大了,所以還是優先選擇使用虛擬機器 ( Virtual machine ) ,在虛擬機器中練習和調教作業系統對 Host 作業系統來說是不會有影響的,也相對較安全。

        最常見的 x86-64 虛擬機器軟體應該就是 VMware 和 VirtualBox 了,VMware 的產品主要都是商用版的,但他也有推出免費使用的 VMware Player 。 VMware 和 VirtualBox 我都有稍微試用過,差別在哪我是還感覺不出來,等以後玩比較深入的時候再來討論,這裡主要介紹如何在 VMWare Player (7) 中安裝 Ubuntu (14.04.1)。