3

I am using a raspberry pi as the brain of a mobile robot. For debug reasons I'd like to keep a wireless connection with a PC. Communication speed is probably not an issue here, but a little bit of headroom would be great.

Is there an easy-to-use wireless communication way that does (ideally) not need a self-built application running on the debug PC?

Important are:

  • low power usage (the robot is running of a 3000mAh battery, so every mA saved is important)
  • low processing usage (there will be some image processing getting on)
  • ease of use (on the RPi on one hand, also on the PC - "open a website" is better than "write your own program")

I've looked into bluetooth, but I couldn't find an easy way to implement it on the debug PC. Also I considered the idea of using a wifi-stick with a simple web server running on the pi, but I can't really tell whether this will put a burden on the power and processing time.

Ghanima
  • 15,958
  • 17
  • 65
  • 125
Luke35
  • 33
  • 3

2 Answers2

3

I suggest using Bluetooth Low Energy (BLE). You can get a dongle (pay attention that it is a BLE and not regular Bluetooth dongle). As name already says - it is low energy.

Then I would setup an ad hoc network over Bluetooth connection. I have written a blog post about that.

You can use ssh with IP address set up by DHCP.

Boštjan Jerko
  • 365
  • 2
  • 5
2

You will need to allocate the extra resource for a server software to send these details to your chosen solution. It is unclear what you want to be sending over, just text data? Or image data too?

For Images, video streams, you can use a normal WiFi dongle, during debug mode plug it in and start your server. A simple Python web server that can push the data you need via a web browser over Wifi, images, text, and HTML. You can set it to run in 802.11a/b/g/n to tweak power and also you can set the TX/RX power to tweak the power usage on the dongle. You will need to do your own research on this.

For pure text debugging you can use the UART on the Pi. You need to disable the console out put first. Then you create a script, in any language you prefer that will dump data to the UART. Then to the UART you attach a transparent Bluetooth Serial Device (more power efficient than WiFi)(try and find BLE but the range is extremely cut down on BLE!). Basically you pair your PC with that Bluetooth Serial device and you get a virtual COM Port. Now you can connect to the Pi using Putty on COMx, over Bluetooth reading all the data on the console.

As mentioned before, debugging should only be used when you testing things out locally, so battery shouldn't play to much of a factor. When you done and happy, you then turn of all debugging platforms, servers, processor and peripherals - and let your robot do its thing. (You may let you logger run and save to a file to review offline, in the event things go wrong while you are in production mode)

Piotr Kula
  • 17,336
  • 6
  • 66
  • 105