This example demonstrates using of HM-10 Bluetooth module using theCore. With Bluetooth application on Android device it is possible to establish communication link between the smartphone and any embedded device with HM-10 attached.
See theCore documentation for HM-10 Bluetooth example for more information.
Target name | Configuration file | Description |
---|---|---|
stm32f4_disc | stm32f4_discovery.json | STM32F4 discovery board |
Connect USART2 and power to HM-10 on the Discovery board using following pins:
PA2 (USART2 TX)
module's RX
PA3 (USART2 RX)
module's TX
+3.3V
module's VDD
GND
module's GND
Attach any preferable UART-to-USB converter such as this module according to following pinout:
PD8 (USART3 TX)
module's RX
PD9 (USART3 RX)
module's TX
GND
module's GND
To be able to communicate with HM-10 module via Android smartphone, a special application must be installed.
Open Play Store and find BLE Terminal app. Install it as usual.
Install and initialize theCore (if not done previously):
pip3 install tcore tcore bootstrap
Download the example:
tcore init --remote https://github.com/theCore-embedded/example_hm10_bluetooth
Step into the project directory:
cd example_hm10_bluetooth
tcore compile --target tiva_tm4c_launchpad
Launch minicom with device associated with USB <-> UART converter. (
/dev/ttyUSB0
here used as an example):# From new terminal tcore runenv "minicom -D /dev/ttyUSB0"
Or the same, but with superuser permissions:
# From new terminal tcore runenv --sudo "minicom -D /dev/ttyUSB0"
Determine stm32f4discovery board revision.
If you don't remember your board revision, check FAQ section https://forgge.github.io/theCore/faq.html#how-to-check-stm32f4-discovery-board-revision.html
Launch
flash
command in separate terminal, as shown below.For old STM32F407G-DISC boards, with STLINK/V2:
tcore flash --sudo
For new STM32F407G-DISC1 boards, with STLINK/V2.1:
tcore flash --sudo --debugger-config stlink-v2.1
Check
minicom
terminal. You should be able to see:Welcome to theCore the_core v0.3.236 b9c05be-dirty Starting HM-10 Bluetooth example... Bytes sent: 16 Bytes received: 0 Bytes sent: 16 Bytes received: 0 Bytes sent: 16 Bytes received: 0
Open BLE Terminal on your smartphone. You must be able to see nearby BT devices:
Select HM-10 device.
You will be presented with a terminal window where the data sent from device is displayed
Now, type something to the terminal prompt in BLE Terminal app and tap "Send ASCII" button:
Check
minicom
terminal again:Bytes received: 0 Bytes sent: 16 Bytes received: 16 data in return
Let it out! File an issue or create a pull-request, if you already have an idea how to fix it.