SPOT - 小型无线设备


未知
嵌入式
Java

软件简介

SPOT ( Small Programmable Object Technology ) 是运行 Java™ 程序的小型无线设备。SPOT
载有很多传感器,用于监视它的环境,还有一组彩色 LED 用于与外部通信,以及两个用于提供基本反馈的按钮。我使用 LED 来显示构建的状态。可以通过一条
USB 线将一些 SPOT 连接起来,作为一个基站,其他 SPOT 可以通过这个基站访问工作站上的资源,例如数据库或 Web 应用程序。

SPOT 由以下硬件元件组成:

  • 主处理器是一个 180MHz Atmel AT91RM9200 系统芯片(system-on-chip)。
  • 每个 SPOT 有 4MB Flash RAM 和 512K 伪静态 RAM。
  • 电力由内部充电电池(圆柱形锂电池)、外接电源或 USB 主机提供。
  • 电池充电后可无间断使用大约 3 小时。当无事发生时,它进行休眠,从而延长使用寿命。
  • 演示子板包含温度和光传感器、一个三轴加速计、8 个三色 LED 以及两个按钮开关。必要时,还可以通过 5 个通用 I/O 插脚和 4 个高电流输出插脚增加更多的子板。
  • 无线通信通过一个遵从 IEEE 802.15.4 的收发器完成,该收发器采用 2.4GHz-to-2.4835GHz 免授权频段。

在这样的硬件上,SPOT 运行一个名为 Squawk 的小型 JVM,这个 JVM 几乎完全是用 Java 语言编写的。Squawk 遵从
Connected Limited Device Configuration(CLDC)1.1 Java Micro Edition(Java
ME)配置。它无需底层操作系统便可运行 — 也就是所谓的 “在裸机上运行”

用于 SPOT 的应用程序是根据 Java ME MIDlet 编程模型编写的。这意味着每个 SPOT 上的 JVM 以类似于 Java EE 下管理
servlet 和 Enterprise JavaBeans(EJBs)的方式来管理 MIDlet 的生命周期。但是,由于 MIDlet
运行环境的限制,CLDC 以 JDK 1.3.1 作为开始的基础,剥离所有不必要的部分。因此,SPOT
程序不能访问文件流;没有反射,没有串行化,没有本地方法,没有正则表达式,没有 Swing,只有有限的数据类型。唯一可用的集合数据结构是向量栈、枚举和
hash 表。有些特定于 CLDC 的连接类被添加到这个子集中,但是编程过程中仍然要受很多限制。