A ZigBee network-based data transmission method, wherein the method comprises: when a first routing node detects that a current working channel of the first routing node is interfered, acquiring, by the first routing node, interference energy intensities of remaining channels, and determining that channels, whose interference energy intensities are less than a first threshold, in the remaining channels are available switching channels of the first routing node; sending, by the first routing node, a first channel report message to a second routing node, wherein the first channel report message comprises the available switching channels of the first routing node, and the second routing node is an upper-layer routing node of the first routing node; receiving, by the first routing node, a first channel switching message sent by the second routing node, wherein the first channel switching message comprises a first target switching channel that is determined by the second routing node for the first routing node; and switching, by the first routing node, itself to the first target switching channel, and receiving data by using the first target switching channel; wherein the sending, by the first routing node, the first channel report message to the second routing node comprises: if the first routing node does not receive the first channel switching message after preset duration, sending, by the first routing node, a search message by using each channel, wherein the search message comprises a network address and a working channel of the first routing node, so that the second routing node returns a search response message according to the network address and the working channel of the first routing node; when the first routing node receives the search response message returned by the second routing node, acquiring, by the first routing node, a current working channel of the second routing node from the search response message, switching, by the first routing node, itself to the current working channel of the second routing node, and sending, by the first routing node, the first channel report message to the second routing node again. when a first routing node detects that a current working channel of the first routing node is interfered, acquiring, by the first routing node, interference energy intensities of remaining channels, and determining that channels, whose interference energy intensities are less than a first threshold, in the remaining channels are available switching channels of the first routing node; sending, by the first routing node, a first channel report message to a second routing node, wherein the first channel report message comprises the available switching channels of the first routing node, and the second routing node is an upper-layer routing node of the first routing node; receiving, by the first routing node, a first channel switching message sent by the second routing node, wherein the first channel switching message comprises a first target switching channel that is determined by the second routing node for the first routing node; and switching, by the first routing node, itself to the first target switching channel, and receiving data by using the first target switching channel; wherein the sending, by the first routing node, the first channel report message to the second routing node comprises: if the first routing node does not receive the first channel switching message after preset duration, sending, by the first routing node, a search message by using each channel, wherein the search message comprises a network address and a working channel of the first routing node, so that the second routing node returns a search response message according to the network address and the working channel of the first routing node; when the first routing node receives the search response message returned by the second routing node, acquiring, by the first routing node, a current working channel of the second routing node from the search response message, switching, by the first routing node, itself to the current working channel of the second routing node, and sending, by the first routing node, the first channel report message to the second routing node again. if the first routing node does not receive the first channel switching message after preset duration, sending, by the first routing node, a search message by using each channel, wherein the search message comprises a network address and a working channel of the first routing node, so that the second routing node returns a search response message according to the network address and the working channel of the first routing node; when the first routing node receives the search response message returned by the second routing node, acquiring, by the first routing node, a current working channel of the second routing node from the search response message, switching, by the first routing node, itself to the current working channel of the second routing node, and sending, by the first routing node, the first channel report message to the second routing node again.