In this repository, I create a communication between two microcontrollers using XBee protocol, then sending frames to phone through Bluetooth Low Energy (BLE). In near future, database will be added soon.
Components:
- NODEMCU ESP32 (I used the Arduino IDE to program esp32, so you may need this link How to Program ESP32 with Arduino IDE? )
- module XBee S2C (with module board base shield for easily serial connecting)
- DHT22 Sensor Module
- A phone has been installed nRF Connect
Install XCTU. Use XCTU for installing the firmware to the XBee® devices. XBee® ZigBee network must have only one Coordinator. All other devices in the network must be XBee® ZigBee End Device or XBee® ZigBee Router. Here, the second xbee is configured as a router.
XBee® ZigBee Coordinator:
- Coordinator must have the firmware with
ZigBee Coordinator APIfunctional set. - Use XCTU to set
PAN ID,Coordinator Enable. - Use XCTU to set
BD(Baud Rate) to9600.
XBee® ZigBee Router:
- Devices must have the firmware with
ZigBee Routerfunctional set. - Use XCTU to set
PAN ID. It must be equal with Coordinator. - Use XCTU to set
DHandDLto 0x0 (send data to Coordinator).
Next, we will connect each Esp32 to each Xbee by using serial protocol (Rx->Tx, Tx->Rx). The one with xbee coordinator is called receiver, the other one is called transmitter.
Then we connect DHT22 sensor to Esp32 (transmitter) like this:

- Install all necessary libraries
- Upload code to Esp32 board
- Turn on your Bluetooth, connect to BLE server in receiver, and get result.
