Yesterday, I got an email from our facebook admin, saying a lot of fans wanted to know about XBee. OK….. I will have to work in that case 🙁
So is XBee ZigBee? Yes and no. Many confused about XBee and Zigbee, even myself sometime ago. Not to worry, everyone learn from mistake 🙂
ZigBee is a standard defined by the IEEE ( Institure of Electrical and Electronics Engineers) back in 1998. When a group of big guy say WiFi and Bluetooth might not be suitable enough for some applications, they started to define new protocol, new standard. ZigBee aim to have lower data rate compared to Bluetooth, at 250Kbps (Bluetooth is 1Mbps back then, now is higher with EDR-Enhanced Data Rate). More importantly, ZigBee aims for lower power applications which should offer years (2 to 3 years) of operation on non-rechargeable battery and it can connect to more nodes (2 ^ 16 = 16-bit address > 65,000); while Bluetooth only offers 8 devices connection in piconet. ZigBee designed for control and monitor while Bluetooth for cable replacement. ZigBee uses RF (Radio Frequency) to communicate. There are 3 frequencies available, 2.4GHz – which we are using in Malaysia (this is actually world wide frequency and it is sharing with Bluetooth and WiFi), 915MHz – For America, forbiden in Malaysia 🙂 and the last frequency is 868MHz – For Europe, again forbiden in Malaysia too. So what the hack for me to know all these technical stuff? OK, you can forget about it, let’s talk about XBee.
XBee is a product name :), not a standard. OK, so what is the different between standard and product? Standard is like WiFi, product is like modem from Aztech or linksys. So why is XBee being used widely and mistakenly as ZigBee? One of the reasons is XBee is low cost and easy to use, therefore it gains the popularity, further making it to have a equal sign between these 2 words. XBee = ZigBee.
XBee is a product series (brand) name from Digi International. Currently (2013), there are XBee Series 1 (802.15.4), Series 2(ZigBee compliance) and XBee-Wifi. And this might surprise you, The XBee and XBee Pro that you are using today is not fully ZigBee standard compliance, if you are using Series 1. Again, what does that mean? It means XBee that you are using nowsaday cannot communicate with other ZigBee product 🙂 Are you kidding me? I need to do a ZigBee wireless project, how can you tell me this is not ZigBee? Sorry, but that’s the true, XBee is not fully ZigBee….is partially ZigBee, at least this applied to Series 1 and XBee-WiFi.
The popular XBee is actually XBee 802.15.4 (sometime called XBee series 1), it uses the same MAC (Medium Access Control) layer as the ZigBee, but XBee’s upper layer is proprietary by the manufacturer 🙂 So what is that again? OK, not to worry too much about that. Let me put it this way, this is about communication. If I want to communicate with my friend, he have to know what I am talking about and of course the other way around, I need to understand what he is talking about – Same language. If I want to talk to him, I have a lot of method, writing email, sending mail, call, telegram, SMS, these are what we called lower layer, the method you send information. MAC is low layer of communication. ZigBee defines 802.15.4 MAC, XBee uses 802.15.4 MAC too, so why can’t XBee communicate with other ZigBee product? Because at higher layer they speak in different language. If I talk in English, my friend talk in Japanese, though I call his phone and he accept it, we still fail to communicate. OK, maybe is lousy example, I still hope you get the idea.
Back to the question, is XBee ZigBee? No, I have answered in the above discussion. Yes, because the manufacturer of XBee do have another series of XBee, they called it XBee ZB or it is more known as XBee series 2.0.
OK, I think that is good enough for a brief introduction on XBee. I know we should talk about how to use it, not to worry, the time will come. Let’s move to XBee and XBee Pro that we are going to use. Commonly, we are using 2 types of XBee – XBee & XBee Pro. For your information, Cytron is carrying XBee and XBee PRO series 1, we do not carry other series of XBee, at least during the time I write this. We do carry XBee Series 1, 2 and Wifi now (Updated on July 2013).
XBee with Integrated Whip antenna (known as wire antenna)
XBee Pro with integrated Whip Antenna (known as wire antenna)
The spec between these 2 modules are listed:
Technically XBee PRO is better in communication range, the data rate is same, but it will require much more power consumption compare to XBee. So unless you need to have long distance communication, choose XBee is sufficient :). Besides, XBee PRO is more expensive. Talking about distance, many have also asked, the spec of XBee say 30 meters indoor and 90 meters outdoor, but how come your XBee lost communication in just 10 meters indoor and 30 meters outdoor? Well, the 30 meters stated in spec have their special way of measurement, and that is very good communication range for a tiny little module, normally you will not get this distance as concrete walls, Interference from Bluetooth devices, your WiFi on laptop, etc will greatly affect the communication range. As for outdoor measurement, you need to look at the keyword – Line-of-sight, this mean the distance measured in area which is not blocked by buildings, trees, etc where light can travel, or some time we call open space. Of course interference from other RF need to be counted too. Even if you are doing testing in open area such as flying field for RC hobbyist…. don expect you can get 90 meters for XBee and 1 mile for XBee PRO 🙂 Just give you an idea ahead.
So what can XBee do? That is important, we often receive this question, thinking of making it to be one of FAQ. Should I? Later maybe. As explained above, XBee is used for mostly control and monitoring applications, what are those? As long as the speed of 250kbps fit your applications, you can used it. Then pop out another question, is my application within 250Kbps? Let me give you an idea, video streaming is out of picture for XBee (though there are applications that stream JPEG picture) as the data rate is too low for that. XBee is good for telemetry, remote control for mobile robot, wireless sensor network and home appliances remote control and monitor; of course there are many applications fit in this category, is up to you to be creative and dare to try it.
Good if you have identified that XBee is suitable for your project and you want to use it. But how to start? 1st thing to understand, XBee must communicate with XBee, not with Bluetooth or WiFi on your laptop or phone. So if you get one XBee, it is useless 🙂
2nd, XBee can be transceiver or standalone. OK, another new terms, standalone and transceiver? OKOK, just be patient, is not easy to be engineer, you need to learn a lot 🙂 That is why you get paid for.
Transceiver. Transceiver is Transmitter and Receiver as one module, XBee can transmit data and receive data. OK, you already knew that, so do you know in this mode, a host is needed? 🙂 What is a host? Host is microcontroller or computer that transmit data to XBee(A) via wire and XBee(A) transmit that data wirelessly to XBee(B); upon receiving data from XBee(A) wirelessly, XBee(B) will then transmit that data to host(B) via wire. Same applied when data is transmitted from Host(B). Understand this carefully before proceed to following discussion. In this example, we are using XBee in transparent mode. What ever it receives from UART receive pin(wired), it will transmit out through the another XBee wirelessly over the air which has been paired up with the correct MY and DL address. What ever data received wirelessly from another XBee will be transmit to host (it does not care whether the host aware or not). This is why it is called transparent mode, because the host does not need to know the XBee is there, host(A) is actually talking with host (B). Sometime this is called cable replacement, the pair of XBee is just to replace the cable, wired with wireless. Besides transparent mode, there are API 1 and API 2, we leave that some other time.
How about standalone? I just said XBee need to communicate with XBee, how can it be standalone? Well, standalone does not mean you can safe a XBee, it means the XBee can communicate with each other to preform some simple control and monitor without any help from host; you can save the trouble to write program for host. For this example, you can visit Cytron DIY project, PR20 – Standalone Control & Monitoring. There are actually several digital input and output pin + PWM output + Analog input pin on a XBee module. These I/O pins can be pair up using what we call the AT command. You still need to do some pairing up with MY and DL address, and further configure the XBee to pair the input and output pin up. Again, visit the DIY project, you should be able to understand the concept behind it. The main point here, you don need any microcontroller or PC at either end of XBee.
Let’s move on. Most of application will require microcontroller 🙂 As we know, with microcontroller it is more flexible and challenging, right? We will continue to discuss how to start when you get a SKXBee. Going to continue with meeting and product development next week, hopefully I can continue the discussion after next week, so stay tuned!