The Lorawan specification defines three device types: Class A, Class B, and Class C. All Lorawan devices must implement Class A, while Class B and Class C are extensions of the Class A device specification and all device classes support bidirectional communication (uplink and downlink).
① Class A
All Lorawan end devices must support Class A implementation, and Class A communications are always initiated by the end device. A device can send uplink messages at any time. After the uplink transmission is complete, the device will open two short receive (downlink) windows. There is a delay between the end of the uplink transmission and the start of the receive window (RX1 and RX2 respectively). If the network server does not respond during these two receive windows, the next downlink will follow the next uplink transmission. Class A terminals have the lowest power among the three classes of terminals.
② Category B
In addition to the Class A-initiated receive window, Class B devices open scheduled receive windows to receive downlink messages from the network server. By using a time synchronization beacon transmitted by the gateway, the device opens a receiving window at a predetermined time. The time interval between two beacons is called the beacon period. The device opens a downlink "ping slot" at scheduled times in order to receive downlink messages from the network server. Additionally, Class B devices also open a receive window after sending uplink.
③Category C
Class C devices extend Class A by keeping the receive window open (unless they are transmitting). Also because the receive window is always open, the power consumption of the end device will be higher than that of the first two categories, but the communication latency is minimal. Class C and A are basically the same, except that during the sleep period of Class A, the receiving window RX2 is opened.