In many Internet of Things (IoT) scenarios, the applications need to identify the location of sensors/actuators and interact with them. Thus, a basic, common and primary mechanism is needed to identify the location of things. Everybody knows that Global Positioning System (GPS) is widely accepted as a reliable, available and accurate source of positioning, able to operate across the globe. But it is unavailable for indoors, it is due to the absence of line of sight to satellites. For indoor positioning, there are many wireless technologies have been developed, includes WiFi, RFID, Bluetooth, etc. But the sensors and actuators of IoT will be deployed in anywhere and they maybe move between indoor and outdoor environment. So ubiquitous positioning systems is expected that can work in both environments. In this paper, we proposed a hybrid positioning algorithm, which combined the Complementary Extended Kalman Filter, Dead Reckoning, GPS and WiFi Fingerprinting technologies for ubiquitous positioning. Based on the algorithm, the mobile things can report its geographic coordinate no matter where they are.