Kris Wang

[Raspberry Pi Project] LEGO Mail version 1

Leave a Comment

好一陣子前,在kickstarter上看到了Toymail這個產品,整個人就是ㄧ個心動,所以決定自己來打造一個類似功能的LEGO Mail(叫LEGO Mail是因為手邊只有女兒的樂高積木可以拿來做成小朋友能接受的外殼)
[目標]
利用手機錄製並傳送一段語音訊息到LEGO Mail上並播放通知音.小朋友聽到後按下按鈕後可以播放語音訊息. 如果沒有聽到通知息,也可以從亮起的LED知道有新訊息
這樣的功能如果商品化,應該可以跟Toymail一樣當小朋友的玩具,或者情侶之間傳情的小玩偶.

[硬體]
本來只需要個LED做明暗顯示就可以當成新訊息的通知,但是因為上一個project玩了LCD,所以就依然拿LCD當訊息通知的顯示
至於聲音播放部分,因為RPi板子上有3.5 mm jack,所以預期使用者都是用外接喇叭,目前還沒看到on board speaker的接法.(如果這樣的玩具要商品化,勢必要找到不用外接電源的喇叭)

[軟體]
因為不打算花時間在架構上,所以我採用最現成的做法 "手機錄音軟體錄製wav並傳送到gmail,RPi端去 parsing gmail並且儲存附件的wav後,播放通知音並且顯示有新訊息"

手機端上現成的wav錄製軟體蠻多的,而且也都有直接分享到gmail的功能,所以就不用自己在寫一個了(我使用android上的"Easy Voice recorder")
RPi端上主要是實做的功能有兩個:gmail的parsing and save attached file,以及按鈕播放wav. 在wav播放部分,本來試想使用pygame內的music play,不過不知為何一直不成功,所以後來還是走比較簡單的方式,就是直接呼叫ALSA的aplay直接撥放檔案:
aplay ./res/bicyclebell.wav
另外,如果需要調整播放的音量,也可以利用另一個command: amixer
amixer set Master 100%

[Demo]


[source code]
https://github.com/kris2808/RPi/tree/master/legomail

[延伸]
為了最簡化實做,所以目前LEGO mail上只存最新收到的聲音檔,後續可以做成儲存多個,但是播放操作的UX,就要思考一下了

另外,version 2應該要做到可以在LEGO mail上錄音當成回覆傳送.但是因為RPi上沒有microphone的接頭,如果要做還得再去買個外接音效卡,所以暫時還沒有預備進行version 2

0 意見:

張貼留言