For constructing a Pub/Sub middleware to detect and disseminate events in the Internet of Things (IoT), we have to pay close attention to the following requirements: (1) the IoT applications usually care about the events with both spatial and temporal extents, (2) It must address the issues brought by the IoT features, such as autonomy embedded in collaboration among things, dynamics implied by running environments. In this paper, we provide a concise and expressive formulation for the events in IoT, i.e. complex spatio-temporal events. We also present the architecture of the corresponding Pub/Sub middleware, which aims at achieving the desired functionality and efficiency.