這是去年使用Mini2440試做的一個燈控模組,從買板子到達成一定程度的穩定共花了約2個月的時間,是一個有趣+很傷睡眠的經驗 ~~
燈控模組開機後的主畫面如下:
系統架構
下方是我的系統架構圖,Mini2440在整個系統裡扮演的角色是燈控模組,他的功能主要是讓使用者透過觸碰式螢幕來控制輸出接點(燈具)。另外也有提供Modbus TCP及Web介面的控制方式,也就是說使用者除了可以在現場按螢幕之外,也可以透過支援Modbus TCP通訊的圖控軟體及瀏覽器做遠端監控。
一些開發上的想法
在整個開發過程,大部份的時間都花在移植Linux Kernel並讓上面的Driver跑得穩定些。Mini2440官方移植的某些Driver真的有夠....,還好以前有開發RTOS及寫Driver的經驗不然肯定會暈倒。 另外~Mini2440不愧是發展板,PL2303系列的USB to RS232傳輸線,只要邊邊的電扇OR電視一開....Port就跑掉了!! ttyUSB0變ttyUSBX果然無法當產品用!! 板子上跑的軟體如下,大多是移植現成的軟體,少部份是自己開發的:- lighttpd
- Dropbear SSH server
- SDL + Framebuffer 支援 (不透過X...快很多!!)
- Tcl 8.5
- Modbus Server (用Tcl自製)
- EzHMI (以SDL為基礎的自製圖控引擎)
另外,SDL真的超好用的,又容易上手,一邊學SDL一邊寫EzHMI沒有遇到特別的困難!!
畫面展示
下方的圖是主畫面,畫面上的每一個按鈕執行時都會送出一條Modbus的命令到本地或是遠端的設備上。這個畫面在背景還有一個程式會polling遠端設備上的狀態,並反應到按鈕上。下面是由framebuffer倒出來的畫面~~
然後接下來的畫面是燈控模組的設定的項目。操作者需要密碼才能進入設定畫面。
燈控排程的功能,讓我可以在特定的時間控制燈光的明滅。
預設提供了8組的燈控排程功能。
燈控排程的設定畫面。
預設提供了4組的情境控制。
每一組情境控制都有這樣的設定畫面。
系統設定畫面用來設定燈控模組的IP及串列埠的通訊參數。
透過Web監控
Web介面的主畫面。
Web介面的情境設定。
按右上方的「#」號切換側邊欄




5 個意見
cooper maa | 2011年12月26日下午10:26
Dai, 您真厲害!^o^
您寫的 Tcl/Tk 教學文件和 ezdit 這些工具一定造福了不少人
替大家跟您說聲感謝。
退伍快半年了吧? 不知道您現在在哪裏工作?
dai | 2011年12月27日下午6:41
您客氣了!! 其實用的人應該不多!! 畢竟Tcl/Tk冷門了些!! 哈~
我目前在台南某間科技大學教課 ~ 過著平淡的生活 @@
cooper maa | 2012年1月2日下午5:24
你在科技大學教課啊!? 嗯,你喜歡寫文章也喜歡分享,教書應該很適合你!
其實我半年前曾經跟公司推薦你,不過後來卻沒成功把你延攬進來。沒有緣份跟你一起共事,真是可惜啊。
honkiaa | 2012年1月3日上午10:49
哈囉,dai大哥,可以跟你談合作嗎?我想找人幫忙把我最喜歡的自由軟體修正中文輸入的問題。我會付錢。
資訊如下:http://pdtaipei.blogspot.com/2011/03/puredata-043.html
我的聯絡:
honkiaa@gmail.com
感恩
紅旗
dai | 2012年1月3日下午2:01
回信給你了,不知道有沒有能力做 ~ 哈
留下您的意見