Skip to content

Bluetooth Module für mBot V1

Bernhard "Ted" Fröhlich edited this page Jan 1, 2018 · 4 revisions

mBot Bluetooth Module V1

This page describes the communication module used to remote control the mBot via a Bluetooth enabled smartphone, similar to the mBot-2.4G-Wireless-Serial, which does the same using RF instead of Bluetooth.

The Module uses the BLE (Bluetooth Low Energy) protocol to communicate, which is included in the Bluetooth V4.0 specification.

Note that this device is different from the "Me Bluetooth Modul (Dual Mode) V1", which can be connected to the mBot using the RJ25 sockets. I don't know that one yet, so I can't say much about differences or common things.

Hardware

The device consists mainly of a ELET114A module, which itself seems to be based on a NUC100 microcontroller from Nuvoton (ARM Cortex M0 - core) and a Cypress CYW20710A1KUBXG Bluetooth Transceiver to do the Bluetooth communication.

BLE Details

Found some basics about working with BLE on Linux at the RPi Bluetooth LE page

Discovery with sudo hcitool lescan worked as described there, the devicename returned is "Makeblock_LE"

Primary Services

After connecting the device as described at the RPi Bluetooth LE page, the primary command of the gatttool (note the three "t"!) returns this services:

  • attr handle: 0x0001, end grp handle: 0x0007 uuid: 00001800-0000-1000-8000-00805f9b34fb
  • attr handle: 0x0008, end grp handle: 0x000b uuid: 00001801-0000-1000-8000-00805f9b34fb
  • attr handle: 0x000c, end grp handle: 0x0010 uuid: 0000ffe1-0000-1000-8000-00805f9b34fb
  • attr handle: 0x0013, end grp handle: 0xffff uuid: 0000ffe4-0000-1000-8000-00805f9b34fb

Characteristics

The characteristics command returns this characteristics:

  • handle: 0x0002, char properties: 0x0a, char value handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb
  • handle: 0x0004, char properties: 0x02, char value handle: 0x0005, uuid: 00002a01-0000-1000-8000-00805f9b34fb
  • handle: 0x0006, char properties: 0x02, char value handle: 0x0007, uuid: 00002a04-0000-1000-8000-00805f9b34fb
  • handle: 0x0009, char properties: 0x20, char value handle: 0x000a, uuid: 00002a05-0000-1000-8000-00805f9b34fb
  • handle: 0x000d, char properties: 0x10, char value handle: 0x000e, uuid: 0000ffe2-0000-1000-8000-00805f9b34fb
  • handle: 0x0010, char properties: 0x04, char value handle: 0x0011, uuid: 0000ffe3-0000-1000-8000-00805f9b34fb
  • handle: 0x0014, char properties: 0x06, char value handle: 0x0015, uuid: 0000ffe5-0000-1000-8000-00805f9b34fb

Readable characteristics:

  • --handle=0x0003: "Makeblock_LE", this is the Device Name characteristic as specified in the
  • --handle=0x0005: 00 00, Appearance characteristic, value 00 00 is "unknown appearance"
  • --handle=0x0007: 50 00 a0 00 00 00 e8 03 Peripheral Preferred Connection Parameters characteristic, value is:
  • Minimum Connection Interval: 100 ms
  • Maximum Connection Interval: 200 ms
  • Slave Latency: 0
  • Connection Supervision Timeout Multiplier: 1000
  • --handle=0x000b: 00 00
  • --handle=0x000e: "Hello\r\n"
  • --handle=0x000f: 00 00, has same UUID as --handle=0x000b
  • --handle=0x0015: 02

Clone this wiki locally