Radio Frequency (RF) energy harvesting is strongly believed to be a sustainable solution to the power depletion problem in battery powered IoT devices. In addition to harvesting energy from ambient RF signals, the use of dedicated energy transmitters (ETs) that transmit energy to nearby IoT devices via RF signals has recently been proposed. In this paper, we study the problem of designing an energy harvesting policy for a group of cognitive radio-enabled IoT (CR-IoT) devices served by a number of ETs to maximize the minimum of their charging rates. With the help of cognitive radios, a CR-IoT node is capable of changing its frequency channel of operation allowing for multi-channel energy harvesting. Frequency channels are assumed to be opportunistically accessible depending on the activity of wireless users that are licensed to use those channels. The problem entails the design of the ET’s transmission policy (to what CR-IoT device, and over what channel) and the design of an ambient harvesting policy for every CR-IoT device (when it is not served by ETs). The problem is formulated as a mixed integer linear program (MILP). The objective is to maximize a lower bound on the total harvested energy in a given time frame per CR-IoT node. This optimization is subject to scheduling, total energy budget, and maximum transmit power constraints. Given the intractability of MILP formulations, a sub-optimal algorithm is proposed. Extensive experimentation is carried out to assess the effectiveness of the proposed sub-optimal algorithm by comparing it to the MILP’s solution obtained using IBM CPLEX solver with a limit on the execution time. We also combine our sub-optimal algorithm withe the CPLEX solver to produce a new two-stages algorithm that improves the original one by around 47%. Finally, we investigate the effect of multiple parameters including number of ETs, number of channels, and channel availability probability on the minimum charging rate.