SPOT小型無線設(shè)備
SPOT (Small Programmable Object Technology) 是運(yùn)行 Java? 程序的小型無線設(shè)備。SPOT 載有很多傳感器,用于監(jiān)視它的環(huán)境,還有一組彩色 LED 用于與外部通信,以及兩個(gè)用于提供基本反饋的按鈕。我使用 LED 來顯示構(gòu)建的狀態(tài)??梢酝ㄟ^一條 USB 線將一些 SPOT 連接起來,作為一個(gè)基站,其他 SPOT 可以通過這個(gè)基站訪問工作站上的資源,例如數(shù)據(jù)庫或 Web 應(yīng)用程序。
SPOT 由以下硬件元件組成:
- 主處理器是一個(gè) 180MHz Atmel AT91RM9200 系統(tǒng)芯片(system-on-chip)。
- 每個(gè) SPOT 有 4MB Flash RAM 和 512K 偽靜態(tài) RAM。
- 電力由內(nèi)部充電電池(圓柱形鋰電池)、外接電源或 USB 主機(jī)提供。
- 電池充電后可無間斷使用大約 3 小時(shí)。當(dāng)無事發(fā)生時(shí),它進(jìn)行休眠,從而延長使用壽命。
- 演示子板包含溫度和光傳感器、一個(gè)三軸加速計(jì)、8 個(gè)三色 LED 以及兩個(gè)按鈕開關(guān)。必要時(shí),還可以通過 5 個(gè)通用 I/O 插腳和 4 個(gè)高電流輸出插腳增加更多的子板。
- 無線通信通過一個(gè)遵從 IEEE 802.15.4 的收發(fā)器完成,該收發(fā)器采用 2.4GHz-to-2.4835GHz 免授權(quán)頻段。
在這樣的硬件上,SPOT 運(yùn)行一個(gè)名為 Squawk 的小型 JVM,這個(gè) JVM 幾乎完全是用 Java 語言編寫的。Squawk 遵從 Connected Limited Device Configuration(CLDC)1.1 Java Micro Edition(Java ME)配置。它無需底層操作系統(tǒng)便可運(yùn)行 — 也就是所謂的 “在裸機(jī)上運(yùn)行”
用于 SPOT 的應(yīng)用程序是根據(jù) Java ME MIDlet 編程模型編寫的。這意味著每個(gè) SPOT 上的 JVM 以類似于 Java EE 下管理 servlet 和 Enterprise JavaBeans(EJBs)的方式來管理 MIDlet 的生命周期。但是,由于 MIDlet 運(yùn)行環(huán)境的限制,CLDC 以 JDK 1.3.1 作為開始的基礎(chǔ),剝離所有不必要的部分。因此,SPOT 程序不能訪問文件流;沒有反射,沒有串行化,沒有本地方法,沒有正則表達(dá)式,沒有 Swing,只有有限的數(shù)據(jù)類型。唯一可用的集合數(shù)據(jù)結(jié)構(gòu)是向量棧、枚舉和 hash 表。有些特定于 CLDC 的連接類被添加到這個(gè)子集中,但是編程過程中仍然要受很多限制。
