Robotics StackExchange | Archived questions

Connect React native application to my robot with bluetooth

Hello guys,

I'm working on an outdoor robot. For now, the user interacts with the robot as follow :

  1. Connection to the robot hotspot with your smartphone
  2. Use the simple Web UI with your browser on your smartphone

To do so, I used the rosbridge_suite package of ROS noetic.

I don't like this way of working because it isn't totally transparent. I like the way your smartphone is always connected to your smart watch transparently using bluetooth. In addition to it, I would like to create a real smartphone application (Android + IOS) instead of a web based application.

So my question is : what is the best way to connect this smartphone application (in react native) to my ROS robot using bluetooth ? Is there some ros package, a bit like rosbridge_suite, to deal with this use case ?

Thanks in advance for your response.

Asked by vanmalleghema on 2023-01-14 09:03:22 UTC

Comments

Could you clarify what you mean by "this isn't totally transparent"?

Asked by gvdhoorn on 2023-01-14 11:17:56 UTC

With bluetooth, your smartphone can be connected to several devices in parallel and the reconnection is transparent while with an hotspot you can't be connected to a wifi in the same time and so the user of the smartphone will have to reconnect to the hotspot each time he wants to interact with the robot... I believe it isn't the best user experience.

Asked by vanmalleghema on 2023-01-15 07:29:01 UTC

I'm not sure I necessarily agree, but: easiest would probably be to use Bluetooth to setup a network connection between your robot and your phone. As soon as you have IP working, everything else you already have should also work (ie: rosbridge, etc).

Asked by gvdhoorn on 2023-01-16 03:30:37 UTC

Thanks for your answer ! Can you explain to me why you disagree ? In addition, can you provide a link or a tutorial on how to create this network connection over bluetooth ?

Asked by vanmalleghema on 2023-01-16 16:05:00 UTC

re: tutorial: it's an OS-level configuration task. You're likely to find information on the Ubuntu (or whatever your OS is) documentation site. Same for your mobile device/OS.

Asked by gvdhoorn on 2023-01-17 03:03:53 UTC

Answers