The traffic congestion present in practically every city has, among its increasing factors, the unavailability of enough parking spaces. A typical driver invests a considerable part of the total trip time looking for a free space where to park his vehicle; in many cases, this leads to delays and the consequent discomfort due to the undesired consequences of the generated tardiness. For this problem it is possible to find partial palliative solutions, minimizing the time spent searching for parking by applying Internet of Things techniques, oriented to smart cities and buildings. This research has been focused on finding an appropriate computer architecture that will allow the implementation of a distributed system, which, thanks to the use of computer vision and machine learning techniques, detects free parking spaces inside a parking lot, and provides real time information to the driver, allowing him to go as directly as possible to a vacant parking space.