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 API
functional 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 Router
functional set. - Use XCTU to set
PAN ID
. It must be equal with Coordinator. - Use XCTU to set
DH
andDL
to 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.