001 使用Arduino生態建構小型設備程式框架


因為工作的關係,需要常常弄一些小型的裝置放到現場去給別人使用,久而久之就偷懶使用Arduino 生態系來進行這類小系統的程式撰寫。

因為這種小裝置通常都是用來串聯(膠合)一些本來就存在的設備,所以系統的重點在於”串” 起整個連結。

雖然我本身在研發RTOS的單位(資策會嵌入式系統實驗室2000~2004)混過幾年,但是這類的小東西用RTOS實在是太耗費心力,於是久而久之就利用Arduino 現有的一些library 來搭建一個屬於我自己的工作流程,在這裡分次的為大家介紹一下我的手法

所謂的框架就是某種可以重複利用的招,我的招有兩階段....
  1. 畫下列四種圖來形容一個系統(如下圖)
  2. 用這一些特定招式來實作這個系統https://github.com/allen54a0/moreStableArduinoCode/wiki

下列是我對這個框架的期待
• 可以快速建立原型
• 方便單元測試/ 系統測試
• 固定的發展架構(Frame Work)
• 簡單的程式架構 (Setup() Loop() …… )
• “最好” 是Hard real time


對部分高手來說這可能是雕蟲小技,不過我用Arduino 生態系這麼久,也靠他清理了不少案子,覺得還是要要野人獻曝一下,回饋社群。


這是我拆解工作的流程,一律先畫圖,然後再把架構寫好,最後放程式進去。


系統方塊圖是一個靜態的描述圖,說明整個系統的硬體連接方式。
sequence diagram 說明系統跟其他系統的"動態" "順序" "關係"

流程圖雖然很基本,但是很重要

大便的大致流程是

進廁所,放下馬桶坐墊,脫褲子,大便,擦屁股,穿褲子,然後沖水,掀馬桶蓋,離開廁所

雖然我們天天在做,但是上面的順序只要隨便轉換一組,保證會讓你很難過。。

我就常看到有人不先規劃直接就開寫,常常弄到褲子上面都是大便還清不完。。



留言

這個網誌中的熱門文章

002 如何用4個圖面拆解小設備需求( 說明 )

A001 番外篇 如何處理需要等很久的外部呼叫