I would like to write an iOS APP to transfer some data to an embedded BLE Module and vice versa. To get the best structure of my data stream, I create my own characteristics and services with its corresponding UUID's. So far, everything is all right! But what happens, if I would like to add a second BLE Module without change my hard coded UUID's in my embedded BLE Module? Do I have to generate completely new UUID's for each BLE Module I would like to add? In this case I have to change my iOS App too, because I have to change my expected UUID's for the specific services and characteristics or? Thanks!
No you don't have to generate new UUID's for each BLE Module. Thats not the way it is designed to operate. Just make sure that you don't re-use the same UUID for any of the characteristic within the same BLE module.
Thumb rule:
This is possible since the GATT Client (the application) distinguishes and accesses the connected GATT Servers by means of connection handles, which are out of scope from other GATT servers connected to the same application.