LoraWan Low Range communication Low power =====components===== * end devices * Gateways * lorawan network server * applications lora is the physical layer ultra low power consumption long range - small bandwidth lorawan mac media access control {{:lorawan:screenshot_from_2023-04-17_23-15-54.png?400|}} devicese usually are asleep only enable wifi when it needs to send a lot of information frequency on a free spectrum for example: eu 863 to 870 mhz, 433 to 434 mhz china 779 to 787 us 902 to 928 australia 915 to 928 + many others modulation: chirp spectrum modulation {{:lorawan:screenshot_from_2023-04-17_23-28-25.png?400|}} super robust on interference because ti change modulation, differently from narrowband {{:lorawan:screenshot_from_2023-04-17_23-30-48.png?400|}} differences between end devices and a gateway is that the gateway can listen on multiple frequency at the same time uplink from device to gateway downlink from gateway to device ====spreading factor==== number of databit per second: the symbols that are modulated per time units the higher is the spreading factor, the slower is the communication lower SF -> Shorter range -> less time on air -> lower energy consumption -> higher data rate {{:lorawan:screenshot_from_2023-04-17_23-39-08.png?400|}} =====Adaptive Data Rate mechanism===== minute 13:00 2 lorawan fundamentals =====what is lorawan=====lora lorawan is a protocol based on example of frequency plan in usa US915 is from 902 to 928 Mhz fixed number of channels; for uplink on perspective of end device * 64 channels of 125khz BW * 8 channels of 500khz BW for downlink * 8 channles of 500khz BW (to end devices) =====class devices===== Class A: * implemented by all end devices * end devices start transmissions * for example: every devices at any time can send an hearthbeat like : hey i'm here and my battery life is... class B: * transmission initiated by the end deice or o- n fixed interval - by network beaconing - segnalazione - sent by network at fixed interval through the gateway for example my end device wake up every 2 minutes to check if network want to start a downlink or not. class C: * transmission initiated by the network at any time continuos downlink: end devices continue to check if network wants to send a message to the end device it can be an end devices connected to electrical source, like street light {{:lorawan:screenshot_from_2023-04-19_22-29-19.png?400|}} handlinkg downlink based on different class: {{:lorawan:screenshot_from_2023-04-19_22-40-30.png?400|}} =====limitations===== * limited payload 51-241 bytes depending on data rate (they send json) * low data rates - max 5.5kbps on 125khz * region specific rules - EU duty cycle restrictions - US dwell time restrictions * asynchronous communications - more uplink then downlink capacity =====security in lorawan===== physical layer doesn't provide security mechanisms it only has an optional crc field that helps detecting transmission errors lorawan provides security with the 3 pillars of security: * Authenticity - every device are authenticate * Integrity - no intermediate can modify the message * Confidentiality - on the application layer we can encrypt the data so nobody can understand the payload two layer security with aes encryption algorithm * 128-bit network session key - authentication, integrity * 128-bit for application session key - confidentiality {{:lorawan:screenshot_from_2023-04-19_22-54-38.png?400|}} =====sessions===== network sessions: * device address devaddr * network session key nwkskey * frame counters fcntup fcntdown * mac state - channels, data rate, etc application session - between end device and application server * application session key appskey * frame counters fcntup fcntdown during a lorawan session: * session keys remain the same * frame counters are incremented and never reused a session can be * dynamically established joining a network OTAA over the air activation * hardcoded (apb activation by personalization) devaddr and security keys are hardcoded into device