寫過單晶片或是FPGA的朋友,一定跟我一樣對於如何實作硬體跟電腦間的溝通感到興趣,也爾而覺得困惑要怎讓舊有的設備或是裝置與電腦或其他裝置進行更有效率的溝通。常見晶片跟其他感應器/裝置溝通的方式不外乎是 I2C / SPI / GPIO 或是 can bus 這類可以利用原先嚴格定義好的通訊協定交換資訊。
但是如果要跟電腦這類設備溝通,不外乎是利用serial port/藍芽/ USB 這類比較開放性的通訊協定。 其中最簡單實作的就是 serial port 的通訊控制,也因為所有的交換資料過程,通訊協定都可以自己掌握,也造就簡單呼叫,方便使用,但是不好擴充的狀況。
所以 arduino 釋出屬於自己版本的 serial port / USB 的 firmata protocol 讓我們可以直接在晶片內部擴充基於firmata protocol 的各種應用,而不用擔心未來可能新增某項裝置或是功能,而要把原本簡單/詳細規劃好的 protocol 打掉重練,連帶晶片內部跟host computer 端的service 都要打掉重練之類的。
所以從明天開始一連幾天都要來啃 firmata protocol 跟相關應用 :P
我們明天見