我在大學研究的專題可以說是自幹一個 Zigbee 的無線網路系統,我所採用無線傳輸模組是不在 IEEE 規範中的 2.4GHz 無線網路模組 nRF24L01,並且利用 Arduino 以及 Raspberry Pi 做雛形開發。很久之前還有為了它與 Launchpad 之間的通訊而寫過一篇文章。至於我專題的細節,改天再來說說。
分類: TI
Energia – 讓你用 LaunchPad 像 Arduino 一般容易!
先前曾介紹過 TI LaunchPad ,當時所推薦的 IDE 是 TI 自己出的 CCS 這個軟體,不過在最近我找到了一個更好用、更簡單、更輕巧的 IDE ,那就是 Erengia。這個 IDE 與 Arduino IDE 以及 Processing IDE 所用的是相同的環境,唯一不同的只有編譯器的部分。
Energia 與上述其他兩個IDE都是屬於開放源碼的產物,專案開始於2012年1月,由 Robert Wessels 所主導,他當時希望的是,能夠把 Wiring 與 Arduino 的編寫架構方式套到 TI MSP430 LaunchPad 上。
專題研究日記 Day Demo
這系列文的上一篇是 Day 1 今天這篇就變成了 Day Demo 了,老實說,好像,似乎跳得非常快啊 XD
昨天,也就是星期五那天,是我們系上的專題展示與口試的日子。
我用輕鬆愉快的心情去面對,但結局實在令我有點兒的意外,我的成績居然低到連我自己都覺得很不可思議的地步,哈哈哈。
這是一個失敗,對我來說是個非常失敗的局面。
我想了想,除了簡報出了一些差錯之外,其他應該沒有什麼太大的問題。
簡報上,當我發現我似乎放太少應該要放的東西的時候,再加上我自己莫名其妙的自亂陣腳,中間亂講了一通不知所云的東西之後,我就已經有預感,「死啊,這分數感覺上不高。」
結果,還真的很不好。導致我鬱卒了一小段時間,惱怒的說了幾句評審老師的不是之後我就開始自省。檢視著自己的問題,期待下次(希望沒有)會更好。
若你想問起我的專題的細節部分,我目前還不打算放出來,不過我會開始整理內容,逐步的去寫下我研究的過程。雖然我做的東西看起來是個不知所以然的東西,也看起來沒有一點市場價值,而且目前也還沒有一個友善的介面去給使用者操作…
我想靠自己的力量去完成想做的東西,而不只是去找程式碼來用跟修改這樣而已。
專題研究日記 Day 1
標題寫著 Day 1 ,實際上則是不知道進行到了第幾天了,姑且就把開始紀錄的這天當作第一天吧!畢竟,歷史是從有文字紀錄才開始的。
大三的我目前正努綠的實現我一直想要做的一項東西,她的架構其實頗為龐大,為了節省時間以及避免不必要的研究耽誤到了畢業的良辰,我將研究計畫縮減到簡單的核心部分。未來再從這個當作雛形的核心慢慢地擴展成我期望的那個樣貌。
幾天來,專題的進展速度讓我自己有點嚇到。因為前面兩個月以來我都在做與專題不相關或稍微相關的研究,或是修改一些理論性較重的設計稿,幾乎沒有去實作那些內容。就在上上星期隻到這星期六要專題口試後,我才開始卓少把那堆理論的設計逐漸的實驗與實作,也順勢刪除了一些不合用的設計。
這驗證了一件事情,大學生的效率往往出現在死線即將到來之前便會成為指數等級的成長。
▲正在開發時經常發生的事情…
目前專案用到兩種程式語言,一是古老但很好用的C,另一個則是先進的C#。C主要是用在單晶片的程式上面,畢竟編譯器也只支援C來做為開發的程式語言。
而C#則是為了能夠快速實現一些功能而選擇的程式語言,主因是她的IDE非常好用,很快地就能把一個小小的但又符合需求的應用程式生出來,另外一個原因則是,她也能夠轉移平台到Linux上,我認為她是電腦端應用程式開發上另一個非常好的選擇。
目前程式碼總長度超過700行,除了幾個區動用的library不是自己寫的之外,幾乎每個功能都是由自己一個個刻出來並加以驗證。有趣的是,因為每個功能都必須要經過測試才能夠驗證動作是否正常,所以每個功能的設計我有大半時間都在做燒錄IC、插拔板子、編譯…之類的等待時間,平均一個功能的完整實現約需要耗費一個小時。目前最久的紀錄是,用約5小時,只為了開發一個功能…Orz
今天,完成度粗估60%~65%。最令我開心的是,經過了約七天的時間,主要功能與動作都已經完成了!
然後,我決定在此公告,未來這個專題完成且時機成熟,將會公開這個專題的內容,給有興趣的朋友玩玩。
Open Hardware,正在改變世界的新開放觀念。
Code Composer Suite 安裝
Code Composer Suite(CCS),是一套由TI德州儀器所出的IDE,專門用來開發與設計由TI所出品的可程式IC,例如:MSP430系列、Stellaris系列等等。 這套開發軟體有兩種版本,一種是免費的,一種是付費的,兩者之間的差異只在於可編譯的程式大小。不過別擔心,TI很有良心,免費版本下的編譯可達32KB(比KEIL還多)。因此,若沒有太大需求,免費的版本就足以應付許多設計。
當LaunchPad遇上nRF24L01
時間過得真快,又到了一週一文的截止時間後了(?),今天要來跟大家談談Jack和Rose相遇的故事,讓我們把時間回到1912年的鐵達尼號…
啊,不對,是LaunchPad與nRF24L01才對。LaunchPad我相信有在關注Single.9的朋友們應該不會很陌生才是,假如你是隨Google大神的指引而來到寒舍的話,那麼你可以先參考這篇文章後在來看也不遲。 閱讀全文〈當LaunchPad遇上nRF24L01〉
如何在Linux中使用LaunchPad?(安裝設定篇)
MSP430 Launchpad是TI(德州儀器)所推出的一種超小型單晶片實驗板,其特色為太多多餘的元件在板子上,所以又稱為核心實驗板,細節內容你可以參考這篇文章~
而今天主要是要來教各位如何在Linux上使用這個小巧又便宜的實驗板,嗯?你說CCS本身就有出Linux版本?喔,是的,的確有出,但是他的Debug並沒有支援這板子上面的USB裝置,雖然Linux可以辨認,但就是無法使用。關於這點,TI討論區上有人曾經問過,而TI工程師也很認真的回覆了,詳情可以點這裡前往。
最近因為自己有點怪怪的,又把小筆電的作業系統從Windows換成Ubuntu然後發現要拿作專題的MSP430 LaunchPad居然不能用…百般搜尋後,終於在Hack a day找到要的資料,建議閱讀原文,因為以下將直接解釋安裝步驟。(作業系統環境是Ubuntu其他環境不清楚能否正常執行)
安裝MSPGCC
第一步是安裝必須的套件與環境,請打開終端機(或用Ctrl+Alt+T)然後輸入以下指令:
1 2 3 4 |
sudo apt-get install subversion gcc-4.4 texinfo patch \ libncurses5-dev zlibc zlib1g-dev libx11-dev libusb-dev \ libreadline6-dev |
裝完之後,用SVN下載原始碼:
1 2 |
svn checkout https://mspgcc4.svn.sourceforge.net/svnroot/mspgcc4 |
接下來開始進行編譯!
1 2 3 |
cd mspgcc4 sudo sh buildgcc.sh |
在這會顯示一些資訊要你選擇,基本上就是一直按Enter到底,最後要記得選YES。
這個步驟會用掉很多時間約20~45分鐘,依電腦效能而定。這段時間你可以逛逛臉書或者是看看其他的文章。
編譯完成之後,我們要把這個專門給MSP430的編譯器加入到Path中,方便未來使用。請執行以下指令:
1 2 |
sudo nano /etc/profile |
在檔案最後面加入:
1 2 |
export PATH=${PATH}:/opt/msp430-gcc-4.4.3/bin |
然後用Ctrl+X儲存並離開。 重新載入Path設定。
1 2 |
source /etc/profile |
安裝MSPDebug
接下來是安裝mspdebug程式,剛剛那些步驟是在裝編譯環境,這個則是燒錄與除錯用的。 請先到MSPDebug下載最新的檔案,然後開始編譯…
1 2 3 4 5 |
tar xvfz mspdebug-0.20.tar.gz cd mspdebug-0.20 make sudo make install |
別擔心,這個的編譯與安裝速度很快就完成了!
連接LaunchPad
1 2 |
mspdebug rf2500 |
在終端機下這個指令,這個指令是連接到Launchpad,通常剛安裝好是無法正常工作的,錯誤訊息如下顯示…原因是,沒有適當的驅動。
1 2 3 4 5 |
Trying to open interface 1 on 033 rf2500: warning: can't detach kernel driver: Operation not permitted rf2500: can't claim interface: Operation not permitted rf2500: failed to open RF2500 device |
所以…要來弄一下驅動,讓Linux可以辨認與使用這個裝置。
1 2 |
sudo nano /etc/udev/rules.d/46-TI_launchpad.rules |
輸入:
1 2 |
ATTRS{idVendor}=="0451", ATTRS{idProduct}=="f432", MODE="0660", GROUP="plugdev" |
然後重啟。
1 2 |
sudo restart udev |
重新下指令,這時應該應該可以正確連上,並且進入另一個操作介面。
1 2 |
mspdebug rf2500 |
那麼這個要如何使用呢?你可以先到Hack a day看底下的說明,或者等我假日更新…最近有點忙,這篇原訂昨天發表的文章拖到今天才發…囧。
MSP 430 Launch Pad Experiment: Blink LED.
摸了一陣子的 Launch Pad 後,除了因為它便宜、嬌小且功能充足之外的驚訝,剩下的就是不斷閱讀英文文件的地獄…還好,有人弄了一個中文的教學站點,方便初學者入門,也讓我好開始起頭,雖然後來發現我還是參考官方Blog以及IDE內的範例程式比較多就是了,哈。
那麼,我們開始進入今天的主題。
今天要呈現給各位的是微電腦系統最喜歡的 Hello, World 方式,讓 LED 閃來閃去! (戴墨鏡)
摸了一陣子的 Launch Pad 後,除了因為它便宜、嬌小且功能充足之外的驚訝,剩下的就是不斷閱讀英文文件的地獄…
還好,有人弄了一個中文的教學站點,方便初學者入門,也讓我好開始起頭,雖然後來發現我還是參考官方Blog以及IDE內的範例程式比較多就是了,哈。
開箱 TI MSP430 Launch Pad
最近買進了很多開發用的設備,所以近日應該都會是開房箱文…XD
今天要來開的是有機會跟 Arduino 這個被稱為電子玩具積木互拚高下的 MSP430 Launch Pad ,至少我是這麼認為啦。這個發射台小而巧、以14~20隻腳位的MSP430作為開發板核心,板上預載 MSP430G2553 這顆擁有較多功能的 MCU ,且單價也較高,約台幣 30 元。對,就是 30 元一顆,不要懷疑你的眼睛,而且他只有 20 隻腳,雖然內部空間有點小,約 2KB 但用來設計小玩具之類的產品事實上已經綽綽有餘了,而且體積又小,內部功能比起 8051 家族中的 AT89C2051 還要來的多上一些,價格卻比他低廉許多,這真的很超值。
最近買進了很多開發用的設備,所以近日應該都會是開房箱文…XD
今天要來開的是有機會跟 Arduino 這個被稱為電子玩具積木互拚高下的 MSP430 Launch Pad ,至少我是這麼認為啦。這個發射台小而巧、以14~20隻腳位的MSP430作為開發板核心,板上預載 MSP430G2553 這顆擁有較多功能的 MCU ,且單價也較高,約台幣 30 元。對,就是 30 元一顆,不要懷疑你的眼睛,而且他只有 20 隻腳,雖然內部空間有點小,約 2KB 但用來設計小玩具之類的產品事實上已經綽綽有餘了,而且體積又小,內部功能比起 8051 家族中的 AT89C2051 還要來的多上一些,價格卻比他低廉許多,這真的很超值。
不只IC便宜,這個板子也很便宜。我是在露天拍賣上面購買的,各位可以自行搜尋看看,這塊板子只要幾百元就可以入手,而官方建議售價 US$4.30 換算台幣約 129 元,而且還含運費…只是付費方式我不喜歡,所以就選擇給別人賺一點小費這樣 😛
而且啊,這個開發板上面也沒有很多 2266 的東西在占空間,以前我就很疑惑,為啥每個開發板上面都要有一堆多餘的東西…就給我一個燒錄器跟有IC接腳延伸的板子就好了,我不需要那麼多液晶螢幕(我家已經有4片了)、LED顯示、變壓器(這現在都用USB)…然後又大又貴的…真的很多餘。然而話不能這麼說,那種一堆功能在上面的開發板的好處是你不用接來接去,但是你要在電路圖上找相應的位置去寫程式…其實這很麻煩 Orz
總之,現在比較喜歡這中只有核心,沒有什麼周邊的開發板,就如我上面所說的,你只要給我一個燒錄器跟一個有接腳延伸的核心板子就好,其他的我都不需要!不過這應該跟我自己就會做那些擴充板有關係吧…XD 廢話說完了,那,來開箱囉~
打開,拿起說明書後底下就直接看到板子了!其實我比較好奇那兩張貼紙的目的是什麼,發射火箭?
從這裡開始…
喔?內附一些小零件,另一顆 IC 、接頭以及一顆石英震盪器…
看到這個其實頗開心的,可以看出這個團隊的用心,讓開箱體驗變得很愉快。
疊疊樂 + 內容物一覽。
換個角度再來一張!話說這是 TI(德州儀器) 原廠的,不是別人代為製造的呢,光那盒子就有一種說不出的感覺(工程師得意貌)
就是這顆IC!
不小心失焦了,感覺所有焦點都在 IC 上 XD
這內附的石英晶體震盪器是要我自己和的意思嗎(汗)
結語
在一開始的時候我有提到這個由 TI 原廠出品的開發板與 Arduino 之間的關係,我說這板子將會與 Arduino 競爭這話其實一點也不假。 雖然 Arduino 的功能性更多也更強,而且內部記憶體(ROM、RAM)比起 MSP430G2 (LaunchPad能夠支援的 IC)這一系列產品還要來得多上許多,但對於初入門或是想要拿來做點小玩具的人,其實不大需要一個功能性這麼強而且又貴的東西。
想想 Arduino 一塊最基本的板子也要 900 多,比起 LaunchPad 要多上約6倍以上的價格,若不談開發板的價格,就連最基本的核心也貴上許多。Arduino 上所搭載的 Atmel AVR 系列 MCU 隨便一顆就破百,MSP430G2系列最高價格僅僅是他的一半….當然,功能性有差別倒是真的。但重點是, TI 可以申請到免費的樣品來玩,台灣買不到 IC (這點很槓)不要緊,可以申請樣品來用,而且不用錢喔~
其實還是要看你的需求是什麼啦!如果你是想要接觸較多功能、速度較快一些的 MCU 那麼 Arduino 是個很好的系列,因為它支援多,網路上能找到的資源也多,而且被應用到很多東西上面,包括一些機器人的控制,甚至還被拿來做 3D 影印機呢!
而 MSP430 這個小型開發板,雖然目前看起來很少人討論,不過在官方的頁面上其實也有很多人分享許多有趣的專案在上面,而且這是由 TI(德州儀器) 官方直接支援的系列,我相信這個便宜的小東西也能引起一陣旋風吧?
而且對於一些互動裝置的設計師來說,MSP430 在抹種程度上更符合他們的需求。
看完這些,如果你有興趣可以到TI的官方頁面上面瞧瞧更多的資訊,日後我會不定時的放上一些使用過程與研究紀錄等等的訊息,希望讓各位想玩互動設計以及微電腦控制器的朋友除了 Arduino 之外還有其他的選擇~
話說我拿到這東西的日子好像就是北韓準備發射火箭的前幾天…恩,還好這火箭跟那火箭不一樣,哥的這火箭發射台只能給你扔,雖然也飛不上去就是。
TI Stellaris Development board
今天要來開一下好久沒開的箱子,恩…我是指文章啦!
這次要開的是不怎麼熱門,但是是工程師的玩具的箱子「TI Stellaris Development board」。
這片開發板不同於先前 Microchip 的板子,在這片板子上面採用的是 TI 的晶片(不然是 Microchip 的喔),32 位元基於 ARM Cortex-M3 的處裡核心,擁有 80 MHz 的處理速度、512 KB 的 Flash ROM、 96 KB 的 SRAM…等等,詳情請翻閱 Datasheet 。
今天要來開一下好久沒開的箱子,恩…我是指文章啦! 這次要開的是不怎麼熱門,但是是工程師的玩具的箱子「TI Stellaris Development board」。
這片開發板不同於先前 Microchip 的板子,在這片板子上面採用的是 TI 的晶片(不然是 Microchip 的喔),32 位元基於 ARM Cortex-M3 的處裡核心,擁有 80 MHz 的處理速度、512 KB 的 Flash ROM、 96 KB 的 SRAM…等等,詳情請翻閱 Datasheet 。
為什麼會買這一片板子呢? 因為有一些準備進行的研究中會用到這種 CPU 來處理會比較恰當,而在查找幾項產品之後,我覺得 TI 的晶片以及開發板最符合我所需要的。他能夠支援 SD Card 、 乙太網路、USB 2.0 OTG/Host/Device…等等,雖然這些特色在其他廠商也有,例如 ST 就有類似的 CPU ,但我嫌他速度慢、容量小所以就沒選了…
OK,前情提要就到此結束,接下來我們一起來看看這塊價值 NT$ 3,280 的板子吧~
外盒
歐噴!
內容物一覽。
TI 的伸縮網路線…鳥鳥的就是了 XD
內附 Keil Evaluation for ARM 試用版軟體(左,有 32 KB 編譯限制),以及相關文件與軟體的電子書(右)。
主體!
嘿,這塊板子的另一個特色就是這個觸控螢幕啦!
好大的網路插孔…
Micro SD Card 插槽。
開機!這是 TI 隨機內建的測試程式,現在已經被我洗掉了 XD
這片板子還在摸索階段,這是目前我跟我朋友們將用到的最高階板子。未來會開發出什麼有趣的東西呢? 嘿,我也不知道(被打)
總之,東西買了,小朋友也投靠別人了,接下來是我們大肆亂搞的時間啦~
對了,這次開箱文的照片不是用 F300EXR 拍的,是用 Xperia ray 拍的,畫質呈現挺不錯的,果然沒挑錯機子 XD