mirror of
				https://github.com/manuelbl/ttn-esp32.git
				synced 2025-10-31 10:40:35 +01:00 
			
		
		
		
	Generate device EUI from MAC
This commit is contained in:
		| @ -104,6 +104,32 @@ public: | ||||
|      */ | ||||
|     bool provision(const char *devEui, const char *appEui, const char *appKey); | ||||
|  | ||||
|     /** | ||||
|      * @brief Sets the information needed to activate the device via OTAA, using the MAC to generate the device EUI | ||||
|      * and without actually activating. | ||||
|      *  | ||||
|      * The generated device EUI and the provided app EUI and app key are saved in non-volatile memory. Before | ||||
|      * this function is called, 'nvs_flash_init' must have been called once. | ||||
|      *  | ||||
|      * The device EUI is generated by retrieving the ESP32's WiFi MAC address and expanding it into a device EUI | ||||
|      * by adding FFFE in the middle. So the MAC address A0:B1:C2:01:02:03 becomes the EUI A0:B1:C2:FF:FE:01:02:03. | ||||
|      * The TTN console requires the device EUI in MSB format, so it has to be reversed and entered as | ||||
|      * "03 02 01 FE FF C2 B1 A0". | ||||
|      *  | ||||
|      * Generating the device EUI from the MAC address allows to flash the same app EUI and app key to a batch of | ||||
|      * devices. However, using the same app key for multiple devices is insecure. Only use this approach if | ||||
|      * it is okay for that the LoRa communication of your application can easily be intercepted and that | ||||
|      * forged data can be injected. | ||||
|      *  | ||||
|      * Call join() without arguments to activate. | ||||
|      *  | ||||
|      * @param appEui  Application EUI of the device (16 character string with hexadecimal data) | ||||
|      * @param appKey  App Key of the device (32 character string with hexadecimal data) | ||||
|      * @return true   if the provisioning was successful | ||||
|      * @return false  if the provisioning failed | ||||
|      */ | ||||
|     bool provisionWithMAC(const char *appEui, const char *appKey); | ||||
|  | ||||
|     /** | ||||
|      * @brief Start task that listens on configured UART for provisioning commands. | ||||
|      *  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user