CMSTR: A Constrained Minimum Spanning Tree Based Routing Protocol for Wireless Sensor Networks