Nano 33 BLE IoT communication with PC

Hi guys, I am very new to use the Bluetooth module of Arduino Nano 33 IoT and I'd appreciate if you guys can give me some suggestions.

My task:
I need to use my PC (Ubuntu) to receive data remotely from 2 Nano 33 IoTs. Eventually the data will be published in a topic in Robotics Operating System (ROS).

I am thinking of 2 ways:

  1. Using the Bluetooth module of PC or a third Nano 33 IoT board to directly access data from each Nano 33 IOTs. (I know PC can connect to multiple Bluetooth devices but I do not know whether one Nano 33 IOT can also connect to multiple Bluetooth devices)

  2. First treat one Nano 33 IoT as peripheral and send data to the other central Nano 33 IoT and use this central Nano 33 IoT additionally as another peripheral device to send data either directly to PC or to a third Nano 33 IOT and the third board then passes data to PC.

If you guys think the above ways are feasible can you guys lead me to some examples of:
1: Reading data of Nano 33 IoTs via PC
2: Simultaneously connect one Nano 33 IoT to two other Nano 33 IoTs and subscribe data

Thanks

rickhan:
If you guys think the above ways are feasible can you guys lead me to some examples of:
1: Reading data of Nano 33 IoTs via PC
2: Simultaneously connect one Nano 33 IoT to two other Nano 33 IoTs and subscribe data

There is no such thing as reading data of Nano 33 IoT via PC. Your PC can read data using all kinds of interfaces. How you do this exactly is not something people here can help you with. This is the Arduino forum and we can give you some pointers but this is a question you need to ask in forums about the software you are using on your PC.
We can help you figure out how you send/receive data on your Arduino using a specific interface.

There are example for Bluetooth peripherals in the ArduinoBLE library.

  1. Install the library using the Library Manager (Tools -> Manage Libraries ...)
  2. File -> Examples -> ArduinoBLE -> Peripheral -> Battery Monitor or LED

You should first try to read/write the data using a smartphone app like BLE Scanner on iPhone or similar. They are available on Android as well. Then modify the app.

Then read the data via another Arduino using the central examples. Connecting to multiple peripherals might not work with the current library. Then you need to find a way to write apps that can access Bluetooth devices on your PC.

Unless you are power constricted it is likely easier to use WiFi because there are way more protocols to choose from and they have been around for decades.

Personally, I would choose option 1.

  1. Using the Bluetooth module of PC or a third Nano 33 IoT board to directly access data from each Nano 33 IOTs. (I know PC can connect to multiple Bluetooth devices but I do not know whether one Nano 33 IOT can also connect to multiple Bluetooth devices)

You'll need to check that your PC has either Bluetooth 5.x or Bluetooth 4.x adaptor. Then you'll need to use software on PC to configure so that it would scan for your peripherals and connect to allocated GATT service and characteristics. If you know what you doing then should work fine.

An alternative is to use something like an ESP32, rather than another nano IOT board as this can readily be coded via Arduino to scan and connect with multiple peripheral devices to read data etc. To do this you would be using the ESP32 library rather than the ArduinoBLE library. Then just use a USB cable to connect ESP32 to PC and read data via serial port. I have used this method in the past and it works.