Internet of things (IoT) is pushing the integration of physical and virtual worlds. Sensor devices provide rich sensory information to context-aware services. Actuators implement in the physical world application needs. The role of software is increasing as more and more resources become virtualized and software-defined. Smart environment is an emerging concept that has the potential to address many of the humanity problems. In this context, what are the promising tools for building the smart environments of the future? This paper provides a review of platforms, middleware, and frameworks that can help in this big challenge, discussing their architectures, service life-cycling, digital twins, cloud-based operation, virtualization, security, privacy, communication model, support for AI and machine learning, among other aspects. The proposed revision innovates by employing previous work on future Internet key enablers as parameters for qualitative comparisons. The idea is to determine the degree of alignment among current initiatives for smart environments and the ones emerging from future Internet research. Among the main conclusions are: (i) heterogeneity come to stay; (ii) many contemporary proposals do not cover important aspects raised in future Internet research; (iii) publish/subscribe model is largely employed; (iv) many proposals are stuck to the limitations of current Internet model (another reason to explore the relationship among current platforms and previous future Internet research for IoT); (v) devices interoperability is a problem solved; (vi) ingredients from future Internet research, such as SDN/NFV, ICN and SCN are systematically being adopted for smart environments design. Many others are to come; (vii) AI, machine learning, and big data support are missing not only in TCP/IP-based approaches, but also in future Internet-based.