Routing protocol plays a role of great importance in the performance of wireless sensor networks (WSNs). A centralized balance clustering routing protocol based on location is proposed for WSN with random distribution in this paper. In order to keep clustering balanced through the whole lifetime of the network and adapt to the non-uniform distribution of sensor nodes, we design a systemic algorithm for clustering. First, the algorithm determines the cluster number according to condition of the network, and adjusts the hexagonal clustering results to balance the number of nodes of each cluster. Second, it selects cluster heads in each cluster base on the energy and distribution of nodes, and optimizes the clustering results to minimize energy consumption. Finally, it allocates suitable time slots for transmission to avoid collision. Simulation results demonstrate that the proposed protocol can balance the energy consumption and improve the network throughput and lifetime significantly.