A method of transmitting and receiving data bidirectionally in a wireless sensor network having a plurality of nodes, wherein an active duration of each node includes an upstream duration for transmitting a signal from a terminal node to a sink node and a downstream duration for transmitting a signal from a sink node to a terminal node, wherein each of the upstream duration and the downstream duration includes a second receive slot RX2, a second receive processing slot RXP2, a first receive slot RX1, a first receive processing slot RXP1, a transmit slot TX, a transmit processing slot TXP, a first acknowledge slot ACK1, a first acknowledge processing slot ACKP1, a second acknowledge slot ACK2, and a second acknowledge processing slot ACKP2, the method including steps of:
- (a1) synchronizing the RX1 and the ACK1 of the upstream duration of a specific node with the TX of the child node and the TX of the parent node and synchronizing the RX2 and the ACK2 with the TX of the grandchild node and the TX of the grandparent node;
- and
- (a2) synchronizing the RX1 and the ACK1 of the downstream duration of the specific node with the TX of the parent node and the TX of the child node and synchronizing the RX2 and the ACK2 with the TX of the grandparent node and the TX of the grandchild node.