60 October 2016
Tool and drop the hammer. In Screenshot 10 under
the GAP tab, we enabled advertising by commanding
the BM70 into Standby Mode. The Log View window
shows the Enter Standby Mode command going out
(0x00021C01). The following incoming packet tells us that
the command was successfully executed (0x0003801C00).
The last incoming message gives us the current status
of the BM70, which is Standby Mode (0x00028103).
The outgoing command packet breakdown is illustrated
in Figure 1. The incoming command response packet
structure can be seen in Figure 2. Everything is ducky
according to the BLEDK3 manual test tool. If there are
advertisements flying about, we should be able to catch
them with Wireshark. The Wireshark capture you see
in Screenshot 11 comes to you courtesy of the Nordic
nRF Sniffer firmware and Adafruit’s LE Sniffer hardware.
It’s all there in the capture. You should be able to easily
find the device name (NUTS), the manufacturing data
(0xDEADBEEF), and the flag breakdown.
Another view of the advertisement data can be seen in
Screenshot 12. This view is presented by the nRF Connect
app. We are just one tap away from a connection here. So,
the finger falls and Screenshot 13 appears. Again, you can
easily relate the information you see in Screenshot 13 to
the advertisement information we entered, and the Built-in
Service window displayed in Screenshot 8.
All This Work and No Data??
That’s right. All of the work we’ve done so far was to
simply get a pair of BLE devices connected to each other.
The BLE peripheral application to transfer data between a
central (tablet, smartphone, etc.) and a peripheral (PICtail
Plus) exists in the host microcontroller. Even though the
BM70 can perform GPIO tasks, generate PWM signals, and
measure voltages using its onboard ADC (analog-to-digital
converter), in the end the BM70 depends on an external
n SCREENSHOT 12. This is a pre-connection view of the BM70
advertisement provided by Nordic’s nRF Connect app. It doesn’t tell us
much as we didn’t give our BM70 much to tell.
n FIGURE 1. The Start Delimiter and Checksum
bytes are not displayed in the Log View. However,
using this figure and the contents of Screenshot
10 make it easy to decipher the Enter Standby
mode command byte order (0x00021C01).
n SCREENSHOT 11. The hardware used to interface
to Wireshark is an Adafruit Bluefruit LE Sniffer. The LE
Sniffer is based on the Nordic nRF51822.
n FIGURE 2. You can easily pick out the fields of the
BM70 responses, which are blue in color within the Log
View window. The hex string 0x0003801C00 indicates a
successful execution of the previous command. Standby
Mode status is signaled by the hex string 0x00028103.
BM70 PICtail Plus
BLEDK3 Programming Tools
Bluefruit LE Sniffer