2017年3月26日 星期日

TJBOT: 替換LED與外殼打磨


目前為止,嘗試了使用wire-pi函式庫,讓綠光LED發亮的部分完成,接下來要試用wire-pi去驅動RGB LED發光。


還有打磨3D列印TJBot的殼,現在完成相機架的安裝,列印出來的零件有點殘”墨“,要一個個打薄才能裝進去,變成比較費工的任務。

2017年3月23日 星期四

用nodejs控制RGB LED

因為買到的不是Neopixl可程式化的LED,需要再研究一下LED的規格看有沒有需要加電阻,


根據歐姆定律,
R=V/I
V 為電壓單位是伏特(V),I為電流單位是安培(A),R為電阻使用的單位是歐姆(Ohm)

試算一下如果Pi的輸出電壓是3.3V(查到的GPIO電壓 3.3v),算下來只需要15歐姆的電阻

R=3.3v-3.0V/0.02=15ohm

但手上好像沒這麼小的。很怕把pi燒掉,有查到可以使用緩衝版,這樣好像越買越多材料了,還是先試試看好了。

至於控制LED的library要怎麼替換呢?在網路上搜尋到有三種方法:
  • 使用pi-blaster函式
  • wiring-pi
  • RPI.GPIO函式, 但他是用python寫的, 所以還要使用python-shell呼叫
    • 參照如何用python控制Pi 3的GPIO
    • https://www.youtube.com/watch?v=b4_R1eX9K6s
    • https://einhugur.com/blog/index.php/xojo-gpio/working-with-leds-and-wiring-4-pin-rgb-led-to-raspberry-pi/
    • https://github.com/geerlingguy/raspberry-pi-dramble/tree/dfe8b763513566e664506ee06378b261673ab831/playbooks/roles/leds/templates
  • 電路的連接要參考一下Pi3的腳位,不太確定應該怎麼接,找到一個arduino的專案參考



2017年3月21日 星期二

使用Watson Conversation寫一個chatbot

先前想寫一隻爬匯率的chatbot, 進度一直停留在可以抓到匯率, 但對話的部分還不知道從何下手, 剛好看到 developerWorks上有相關的文章, 先來研究一下Watson conversation service, 看是不是能達到我想要的功能.

概念:
Intent
Entities
Dialog

結合watson developer cloud的node sdk.

2017年3月15日 星期三

完成TJBOT還需要做的事情


1. 安裝nodejs
2. 安裝vnc(會議室只有投影機, 一次只能一個人連線)
    Pi 3 vnc 更新, TigerVnc install
3. 安裝vim(程式編輯器)
    sudo apt-get install vim
    vim教學
4. 申請Twitter帳號(參考, 參考二
a. 要使用twitter的api必須先申請twitter帳號    
b. 連到https://apps.twitter.com/ 建立一個新的 Twitter App 。     
c. 輸入 Name, Description, URL 。    
d. 到控制面板的 Keys and Access Tokens ,建立一個 Access Token 。    
e. 紀錄 Consumer Key, Consumer Secret, Access Token, Access Token Secret 在修改nodejs的設定的時候        會用到

5. 研究rpi-nodejs的專案 (需要公對母接線,對接pi跟麵包板, LED, 電阻)








6. 部署三塊
  • Speech to Text : 用語音控制LED變色
  • Sentiment Analysis: 用Watson Tone Analyzer與Twitter API判別大眾對某個語詞的感覺
  • Conversation:使用Watson Speech to Text, Conversation, 與Text to Speech服務建立一個可以回答問題的機器人

另外可同時並行的有
  • 機器人的殼安裝


延伸應用

2017年3月14日 星期二

Raspberry pi 無線上網 & LED連接

不想把Pi註冊到公司的資產系統上接受掃描,所以只能用自己的4G上網(參照:用usb連接iphone個人熱點上網

測試結果,連接自家Access Point或者是透過iphone wifi連接個人熱點上網,兩者都可以透過GUI設定成功連網。iphone的部分需注意個人熱點名稱不能含中文字,會跳出認證參數錯誤的視窗。

所有材料都差不多到貨了,才悲劇發現TJBot的code用的是Neopixel的LED,連接使用nodejs的ws281x函式庫,跟之前買的RGB共陽的LED不能直接替換,要改程式,電路連接方式要研究一下,找到參考資料如下。



補充資料

  • 在辦公室不方便每次聚會都搬著螢幕,應該要把vnc設定起來比較方便(參考Problem vnc server設定
  • Raspbian常用的套件參考此文




2017年3月9日 星期四

Rapsberry Pi 系統安裝與相機模組安裝


這次跟同事一起玩的小計畫, 要做的是IBM開源的這個機器人TJBOT













設定TJBOT需要的環境參照developerWorks 跟兩段Ustream上面的影片 (影片一  影片二)。

首先要安裝raspberry pi (官方文件 網友提供中文版本)安裝很順利,目前已經裝好了OS跟相機模組。可以參考下面的步驟,因為不同的OS有的工具程式不一樣,所以分成windows跟Mac有不同的安裝步驟。
我自己使用的是Mac的步驟:簡單筆記一下
清空SD
1. 使用SD Format把SD卡清空

燒錄OS
a. 確認SD卡的代號
diskutil list
b. unmount SD卡(假設上一步驟找出來的disk號碼是3)
diskutil unmountDisk /dev/disk3
c. 拷貝img檔到SD卡
sudo dd bs=1m if=2017-02-16-raspbian-jessie.img of=/dev/rdisk3
d. 退出SD卡

sudo diskutil eject /dev/rdisk3


接著先把無線網路設定起來, 參照鏈結。因為有連接螢幕,幾乎沒有用到命令列的地方。
點右上角的wifi按鈕, 選到要連接的AP,輸入密碼就完成連接。

參考用的config檔案完全沒用到:
# WPA-Personal(PSK) with TKIP and enforcement for frequent PTK rekeying
network={
 ssid="example"
 proto=WPA
 key_mgmt=WPA-PSK
 pairwise=TKIP
 group=TKIP
 psk="not so secure passphrase"
 wpa_ptk_rekey=600
}