The Routing over Low Power and Lossy Networks (RPL) protocol is an important standardized routing solution for the Internet of Things (IoT), characterized by significant benefits, including IPv6 support and efficient low-power operation over noisy channels, especially for many-to-one communication scenarios (i.e., a set of deployed devices gathering periodic measurements destined to a single sink node). However, the RPL faces performance issues in networks with mobility or point-to-point communication requirements, raising applicability constraints in a number of real-world IoT applications, spanning from environmental monitoring to industrial and urban networks. In this paper, we approach RPL from the Software-Defined Networking (SDN) perspective, exploiting its high customization features to address the above inefficiencies. We apply an evolutionary methodology, i.e., building over the widely deployed RPL protocol, while maintaining compliance with its standard. More precisely, we investigate two routing control strategies exploiting the global view of the network: (1) the Moderate RPL control that enables dynamic reconfigurability of crucial protocol parameters to improve its operation in mobile environments; and (2) the Deep RPL control that utilizes a new RPL Objective Function (OF) we proposed that enforces direct point-to-point paths through link-coloring. We implemented and evaluated the two strategies based on a novel centralized routing control facility. Our experimental analysis considers hybrid scenarios with both fixed and mobile nodes, as well as many-to-one and point-to-point communication. Compared to the standard RPL in mobile topologies, the proposed solution achieves improved packet delivery ratio of up to 33 percent and 21 percent for the mobile nodes and for the whole network, respectively, while maintaining RPL compliance. In case of point-to-point communication in a random topology, the improvements rise up to 32.7 percent for the trip-time and 42 percent for the round-trip time, while the packet loss ratio for the same experiment is improved up to 75 percent in the non-storing mode.