Interfaces

Mobile beacon ("hedge") interfacing protocol to robots

  1. Via virtual UART via USB:
    • This is the easiest way to connect since no soldering is required and protocol is the same for different operating systems.
    • Hedge HW v4.5+ : USB protocol for mobile beacon - description of the USB protocol between mobile beacon and a host device for Windows and Linux
  2. Via SPI:
    • SPI & UART interface pins on beacon board.
    • Hedge HW v4.5+ : USB protocol for mobile beacon - description of the USB protocol between mobile beacon and a host device for Windows and Linux
  3. Python library for beacon:
    • Here is the Python code for Linux-based devices integration via virtual UART via USB
    • Library is easy to use. Also, here is detailed description and example
    • Code is fairly universal; Tested on:
      • Ubuntu 16.04
      • Raspbian Jessie
      • Mac (OS X 10.10)
      • Python v2.7
    • CRC calculation is done in "pythonic way", i.e. library crcmod is used
    • There are handlers of different exceptions, for example, non-standard states of COM/USB
    • The Python library provides quick and easy ability for integration of ultrasound navigation system with various linux-based devices. Among them are Raspberry Pi and other single-board PCs. This code is free to use in your applications (please include a reference link to this web page).
  4. C library for beacon:
    • Here is the C code + guiding document
    • Supported operating systems:
      • Microsoft Windows
      • GNU/Linux (including Raspberry Pi)
      • Mac OS X
    • Additionally, link to Bitbacket repository
  5. Connection of Marvelmind hedgehog to Arduino via UART and SPI:
  6. ROS support on Raspberry 2 and Raspberry 3:
  7. Pixhawk support and NMEA interface description:
  8. Sending path to your robot/copter:
    • Here is an explanation how to send path data via mobile beacon to your robot/copter sample code.
    • Protocol description => 2.3.1. Request of writing the movement path
    • Relevant forum discussion

Modem and dashboard interfaces

It is possibly to get location data not only from the mobile beacon, but directly from the modem or the Dashboard:

  1. Protocol of data exchange with modem via USB interface: link
  2. The Dashboard software log description: forum link or direct link to the image. First column appeared later, and it is discussed in this topic. It is an additional absolute column - a timestamp - time in milliseconds passed from january,1 of 1970 (UNIX time) - Dashboard SW permanently writes coordinates into log file 'hedgehogs.log' that is stored into the Dashboard folder
  3. Protocol of data exchange with Dashboard via UDP: link
  4. UDP SW example:
    • Here is the C-written UDP example
    • Supported operating systems:
      • Microsoft Windows
      • GNU/Linux
    • Supported streaming as well as master-slave mode
  5. Marvelmind modem C library and sample code: