Several wireless technologies have recently emerged to enable efficient and scalable internet-of-things (IoT) networking. Cognitive radio (CR) technology, enabled by software-defined radios, is considered one of the main IoT-enabling technologies that can provide opportunistic wireless access to a large number of connected IoT devices. An important challenge in this domain is how to dynamically enable IoT transmissions while achieving efficient spectrum usage with a minimum total power consumption under interference and traffic demand uncertainty. Toward this end, we propose a dynamic bandwidth/channel/power allocation algorithm that aims at maximizing the overall network’s throughput while selecting the set of power resulting in the minimum total transmission power. This problem can be formulated as a two-stage binary linear stochastic programming. Because the interference over different channels is a continuous random variable and noting that the interference statistics are highly correlated, a suboptimal sampling solution is proposed. Our proposed algorithm is an adaptive algorithm that is to be periodically conducted over time to consider the changes of the channel and interference conditions. Numerical results indicate that our proposed algorithm significantly increases the number of simultaneous IoT transmissions compared to a typical algorithm, and hence, the achieved throughput is improved.