2014/05/23

自造 Time Plotting Clock, (5) 遠端遙控

PlotClock, 聽寫模式
這是 Time Plotting Clock 系列的最後一篇文章了. (終於..)

萊恩大兵第一次去 Openlab.Taipei 時, 當場就被 Time Plotting Clock 的療瘉效果吸引住. 看著機械手臂自動地提筆寫時間, 收筆歸位, 再抹去前次時間, 重新寫下現在時間. 每分鐘每分鐘周而始, 心情都平靜下來了.  好想要一個喔. 就請 Honki 幫忙帶著萊恩大兵, 從零件採購到組裝校正, 一步一步的親手做一個來.

要讓 Time Plotting Clock 能接收遠端遙控命令, 萊恩大兵首先改寫了 Arduino 端的程式, 讓它能從 serial port 接收並解析一串文字命令, 且讓機械手臂做出相對應的動作 (寫字或將筆歸位). 然後再整合 SpaceBrew 的雲端應用, 從而做到遠端遙控.

簡單的說明一下萊恩大兵的作法: 

Arduino 端 

程式主要的修改, 就是讓它從 serial port 接收並解析一串文字命令, 且讓機械手臂做出相對應的動作. 支援的命令包括:
  • ggpr,ck : 切換為時鐘模式.
  • ggpr,wb : 切換為白板模式.
  • wbc,clr : (白板模式) 清除桌面. 
  • wbc,fr : (白板模式) 畫一個框. 
  • wbc,park : (白板模式) 將筆歸位.
  • wbc,ln,x1,y1,x2,y2 : (白板模式) 畫一條線 [x1,y1] to [x2,y2].
  • wbc,str,x,y,string : (白板模式) 在 [x,y] 寫一串字. 



Processing 端

下回再來品嚐黑莓派吧
本來是想將這隻程式放在 Raspberry Pi 上面執行的, 沒想到供電不足. (這問題之後再解決吧)
程式主要的功能為, 
  • 連線 Spacebrew Cloud, 並登錄一個 subscriber.
  • 將接收到的字串/命令轉傳給 Arduino.



JavaScript 端

這隻程式放在 Google Drive 上, 從 iPad 端的 browser 載入執行.
程式的功能為,
  • 連線 Spacebrew Cloud, 並登錄為一個 publisher.
  • 提供友善的介面讓使用者輸入字串或命令.



Spacebrew Cloud 端

這邊主要是做雲端中介, 讓 publisher 和 subscriber 兩邊能串接在一起.
  • 連上 admin console, 手動連結 plot clock 的 publisher 和 subscriber.



好, 各環境設置妥當. Time Plotting Clock 終於可以遠端遙控了.
你敲我寫

有興趣的大家, 可以在 [https://github.com/GoGoPrivateRyan/plotclock.git] 取得全部的 source code.

[萊恩大兵的其它文章]

自製大四軸

自製大四軸, (1) 零組件篇, 遙控器 (Drone, Quadcopter, Futaba, Maker, Arduino, Animatronic Eye)
自製大四軸, (2) 零組件篇, 飛控板 (Drone, Quadcopter, MultiWii, Arduino, Futaba, Maker)
自製大四軸, (3) 零組件篇, 自行雷切木質機架 (Drone, Quadcopter, Maker, Laser Cut)
自製大四軸, (4) 零組件篇, 馬達與電變調整 (Drone, Quadcopter, Maker, Electric Speed Control, Motor)
自製大四軸, (5) 組裝篇, 四軸飛行器成形 (Drone, Quadcopter, MultiWii, Arduino, Maker, Electric Speed Control, Motor)
自製大四軸, (6) 調整篇, 飛行前兩三事 (Drone, Quadcopter, Maker, Futaba, Arduino, MultiWii)
自製大四軸, (7) 充電篇, iMax B6 充電器操作記要 (Charger, Battery)
自製大四軸, (8) 問題篇, 機架損壞維修 (Drone, Quadcopter, Laser Cut)
自製大四軸, (9) 改良篇, 方便拆卸的木質機架 (Drone, Quadcopter, Maker, Laser Cut)

自動報球速的棒球


CC2540 Bluetooth Low Energy
筆記, CC2540 Bluetooth Low Energy, (1) 開發環境 架設 (Bluetooth, CC2540)
筆記, CC2540 Bluetooth Low Energy, (2) 跑第一個範例程式 (Bluetooth, CC2540)
筆記, CC2540 Bluetooth Low Energy, (3) SimpleBLEPeripheral 簡單介紹 (Bluetooth, CC2540)
筆記, CC2540 Bluetooth Low Energy, (4) 在智慧手機上執行範例程式 (Bluetooth, CC2540)
筆記, CC2540 Bluetooth Low Energy, (5) 偵測與發送 iBeacon 訊號 (Bluetooth, CC2540, iBeacon)
實作, iBeacon 發訊器 x 防丟器 (Bluetooth, CC2540, iBeacon)
實作, iBeacon 尋寶遊戲 (Bluetooth, CC2540, iBeacon, iOS app)
實作, BLE + iOS app, 遙控燈泡君 (Bluetooth, CC2540, iOS app)
做實驗, 用 iBeacon 做自動控制的可行性 (Bluetooth, iBeacon, CC2540, Automation, URL Scheme, iOS app)

藍色小鋪一起來做

藍色小鋪一起來做, (1) 用 beacon 控制開關的枱燈
藍色小鋪一起來做, (2) 講解 BLE CC2540 UART 通訊範例程式 (Bluetooth, CC2540, UART)
藍色小鋪一起來做, (3) 藍牙枱燈專案實作 (上) (Bluetooth, CC2540)
藍色小鋪一起來做, (4) 藍牙枱燈專案實作 (下) (Bluetooth, CC2540)
藍色小鋪一起來做, (5) iBeacon scanner 專案示範與解說 (Bluetooth, CC2540, iBeacon)
藍色小鋪一起來做, (6) 完成, 用 iBeacon 控制開關的枱燈 (Bluetooth, CC2540, iBeacon)

小惡魔 無線溫度感測器

108 大眼仔
Plot Clock
體驗, 原住民互動故事書@宜蘭大同鄉泰雅生活館
體驗, 蛋生音互動裝置@兒童美術館 (Arduino, 3D Printing, HC-SR04, Interactive)


實作, 電容感應音樂樹

沒有留言:

張貼留言