Recent Posts
NMEA 2000 Data Scanner with Bluetooth, BLE for Android, iOS, PC Applications
Posted by
onOur N2K-BT gateway functions as a NMEA 2000 to Bluetooth data scanner for any host device with a Bluetooth or BLE (Bluetooth Low Energy) port, such as PCs, phones, or tablets. Therefore, it supports operating systems such as Windows, Linux, iOS, Android, and more. In addition, the wireless communication protocol employs easy-to-read and easy-to-process ASCII data strings, making it easy for iOS and Android developers to interpret the data stream.
Hardware
The data scanner hardware utilizes the ESP32 processor with Bluetooth, BLE, and WiFi capabilities and a CAN Bus port with a transceiver.
The ESP32 series employs a Tensilica Xtensa LX6 microprocessor in both dual-core and single-core variations and includes built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power management modules.
The module accepts an external power supply between 7 and 36 VDC with reverse polarity protection. It operates safely within a temperature range of -40C to +85C. The NMEA 2000 port is accessible via a Micro-C connector (M12 5Pin Male Socket).
Software
It is important to emphasize that the module merely transmits processed CAN data frames as they appear in the network, i.e., it does not support NMEA 2000 protocol management features.
However, it allows the user to monitor and filter PGNs needed for their application.
The ASCII data string includes:
- Data Page
- PGN
- Priority
- Destination Address
- Source Address
- DLC (Data Length Code)
- Data
- Checksum
Bluetooth Test
We used a Windows PC with terminal software to test the Bluetooth communication. The terminal software connects to the Bluetooth COM port. Our test device connects to a NMEA 2000 simulation network based on our SAE J1939 to USB Gateway (NMEA 2000 is a derivative of SAE J1939). In addition, we monitor the CAN Bus data traffic with a separate CAN Bus monitor system.
The below screen shot shows the received data traffic on the Windows PC:
However, let's have a look at a single data frame. In the following example, we are using PGN 65336 (0xFF38, broadcast message) with a source address of 34 (0x22) and priority = 6.
The BT scanner converts the CAN data into the ASCCI string as shown below:
0 - Data Page
FF38 - PGN
6 - Priority
FF - Destination Address (Global Address)
20 - Source Address
8 - Data Length
8877665544332211 - Data
67 - Checksum
We are working on a documentation of our testing with an Android phone, and we will follow up with another post.
BLE (Bluetooth Low Energy)
BLE is a requirement for communication with Apple's iOS. At this point, we have a working version and will also introduce it in another post. The testing environment is, of course, different, i.e., we are using an iMac, and an iPhone in combination with the nRF Connect app.
Status and Availability
Officially, the N2K-BT module is still under development, and we target a release in October 2022. We consider the software development as finished regarding the mere data scanning capabilities, but we are considering, among others, the implementation of PGN filters to reduce the wireless data traffic.
Please feel free to contact us in case you need further information. We are also available to develop customized hardware and software to meet your requirements.
Getting Started with Bluetooth Low Energy: Tools and Techniques for Low-Power Networking
With Bluetooth Low Energy (BLE), smart devices are about to become even smarter. This useful guide shows how this impressive wireless technology helps developers create mobile applications that share data with external hardware and how hardware engineers can obtain easy and reliable access to mobile operating systems.
This book renders a reliable, high-level overview of how devices use BLE to communicate with each other. You learn about valuable low-cost tools for developing and testing BLE-enabled mobile apps and embedded firmware and get examples using various development platforms, including iOS and Android for app developers and embedded platforms for product designers and hardware engineers.
- Understand how data is organized and transferred by BLE devices
- Explore BLE’s concepts, key limitations, and network topology
- Dig into the protocol stack to grasp how and why BLE operates
- Learn how BLE devices discover each other and establish secure connections
- Set up the tools and infrastructure for BLE application development
- Get examples for connecting BLE to iPhones, iPads, Android devices, and sensors
- Develop code for a simple device that transmits heart rate data to a mobile device