We have a project where we use two Bluno Nano (BN) in a 2-way communication.
One BN (BN1) is used in a box with buttons and LEDs
The other BN (BN2) is connected to a PC and other hardware (relays, LEDs, Buttons)
Please see picture in attached file
We want to send some I/O states of BN1 to be handled by BN2 and some to be handled by PC.
And the other way around: we want to send some signals from PC to BN1 , from PC to BN2 and from BN2 to BN1.
For instance we press a button at BN1 and send via Bluetooth the massage “Switch1On” with the Arduino program Serial.println(“Switch1On”)
This message reaches BN2 via Bluetooth , and BN2 automatically send it over USB to the PC.
The problem is that we have no access on BN2 to the message “Switch1On” and we want to handle that message at BN2!
Serial.available() gets nothing on BN2, while the message is send through…
Is there any way to intervene in this chain of communication? Could be get the serial communication at BN2??? Bluno Nano.pdf (178 KB)
Since the BN1 is capable of using its hardware serial interface to send messages through its own Bluetooth interface, it means they can interact with it, right?
It seems that at this moment you have your BN2 setup as a Bluetooth “passthrough”, where the module is basically getting data from its Bluetooth interface straight to the PC via its hardware serial interface / VCP (Virtual COM Port) by USB. Would that be what is happening? If so, this would mean one of your device is acting as a “central” (BN2).
The way Bluetooth typically works, every peripheral can be connected to only one central. Therefore, the best solution would be to have both BN1 and BN2 work as peripheral and they would both connect to your PC through a Bluetooth 4.0 BLE USB dongle, such as the RB-Dfr-610. On your PC you would need to run a piece of software that monitors the two VCP (from BN1 and BN2) and relay information between them. It can also accept messages at the same time that are destined to itself and also send out its own messages.
If you prefer to function in a mesh (where every component can talk to each other directly / to all other components at once (broadcast)), you would be better off with something like XBee/ZigBee wireless module instead of Bluetooth, since this have this behavior by default! You can find XBee/ZigBee modules here and interfaces/converters here.
sorry for the late replay and thank you for the answer.
We have to remaining points:
Yes that is the case. BN2 is central and BN1 is peripheral
In our hardware configuration, that is not possible. We use BN2 to turn ON/OFF the PC (and other HW systems). Thus PC is not always on to handle/relay information to/from BN1 and BN2
Is it possible to disable the bluetooth passthrough?
*** EDIT: The manufacturer is on holiday until the 2017-10-08, so we do not expect to hear back from them until at least the 2017-10-09. We apologize for the inconvenience. ***
Hi,
If you disable the passthrough mode on the BN2 that is connected to your PC then it will not be able to be used as a Bluetooth gateway for the PC.
One possible option would be to keep the BN1 as slave and the BN2 as master (configure using AT commands). Then, add a USB to serial interface to your BN2 and use that instead of its regular USB port.
The best here might be to ask the manufacturer directly for help concerning this specific setup as there does not seem to be any information covering this use case directly.
We have sent a message to the manufacturer and we will get back to you shortly.
We’ve discussed your situation a bit more with the manufacturer. On the subject of using the Bluno Nano as a passthrough for the PC and also control hardware, here is what they had to say:
Two possible options would be:
As mentioned before, using a serial-to-USB device to connect one of the Bluno to the PC. This device would be used with a SoftwareSerial port instead of the normal port.
Add a third Bluno that will work as a passthrough with the PC. The other two will be connected to that passthrough by Bluetooth and control hardware.