Mesh Network using Zigbee and Microcontrollers - zigbee

I would like establish a mesh network using Zigbee modules and ATmega8.
I need some basic c routines for establishing the network. My Controller is running with ATmega32. and end nodes will be on ATmega8.
I want plug and play wireless connection between Controller unit and nodes.
Please help me.

The Digi XBee series of RF modules is popular for plug and play wireless. In it's simplest configuration, a pair of modules operates as a serial cable replacement, with bytes going in on one module coming out on the other.
If you want to have a multi-node network, you'll have to use the radios in API mode, where frames include a header with addressing information and checksum in the footer. Digi has released an ANSI C XBee Host Library as Open Source on GitHub that could be a good starting point for that since you mention using C. It looks like there's even a fork of the library targeting the AVR platform.

#user2031622, zigbee nowdays has builtin microcontroller such as CC2530 provided by TI stack (Texas instruments).CC2530 has a inbuilt 8051 microcontroller which supports mesh networking.

Related

Can Xbee communicate with Probee?

I have two Zigbee modules:
Probee ZU10
https://www.tigal.com/product/2093
Xbee Series 2
http://www.digikey.com/product-detail/en/XB24-Z7WIT-004/602-1098-ND/1942304
I want to communicate with these two Zigbee modules. Is this possible?
Yes, it should be possible if they are both configured for the same ZigBee network. Note that you'll need to set ATZS to 2 on the XBee modules since you're going to use the ZigBee standard instead of a running a proprietary XBee network. You won't be able to send Remote AT commands, or use the XBee module's "Transparent Serial" cluster. You'll need to have a host library for the XBee that supports ZDO and ZCL protocol layers of the ZigBee standard.
If you're using C, you can make use of this Open Source library on GitHub that includes ZDO and ZCL.

Simulating wireless network transmission

I have an embedded wireless driver for wireless communication that I would like to run in a simulated environment so that I don't have to own hundreds of the devices to test my code.
Ultimately I would like to be able to specify a network connection between nodes, which would be an instance of the C++ code that is used in the embedded device. The connection should simulate the wireless medium such that no packets arrive to the node whilst it is transmitting and no packets arrive at the node if two or more nodes are trying to transmit. Connections modelled by a basic connectivity graph.
I wonder if such a model is possible in the Python Twisted framework. If it is not are there any networking frameworks that would make such a task simple.
Language preferences are Python or Java.
Thanks.
You can use Network Simulator 2 (NS2). Its a awesome network simulator. Its uses C++ and TCL.

Are the ZigBee APIs still AT commands?

I'm attempting to get some ZigBee equipment to communicate with each other. I've had some success with the XBee USB, but I have had to switch to Telegesis recently. This piece appears to have a specific AT command set. Will it be compatible with ZigBee sensors made by other companies?
Also - I've run across a few APIs for ZigBee. Are they all just AT commands at the core?
AT commands are just used to configure the Telegesis ZigBee module. It's a SoC and can work in any mode (coordinator/router/zed). On the other side, it talks the ZigBee language and can communicate with any ZigBee certified device. So it can be used to create a ZigBee network or can be included in any ZigBee network.
All ZigBee radios should interoperate -- you just need to make sure they are configured to join to each other. With XBee modules, be sure to set ATZS to 2 so the radios form and try to join a true ZigBee network. The default setting of 0 is for non-ZigBee networks.
To have modules join to each other, you'll need to know the PAN ID and possibly link key used to secure the network.
Once you start communicating via ZigBee, expect to use these modules in an API frame mode, where you need to set address information (destination node, source/destination endpoint, cluster) in the headers.

microcontroller based sensor project: ZIGBEE vs GSM

My application will be having many microcontrollers with sensors monitoring a large area. The application requires all these microcontrollers to send the data to the master microcontroller. From the master microcontroller the data must go to desktop PC via serial connection and to a mobile application. Which one (Zigbee/GSM) will be suitable?
This completely depends on what you mean by "Wide Area." A few hundred square meters? A few hundred square kilometers? Zigbee is more cost effective and simpler to implement if you're within range. You could even mesh your nodes together to extend the collective reach of your network. Otherwise, well, you have no choice but to use something like GSM.
RF Line-of-sight range on readily available XBee Modules can be up to 2 miles. Higher power models can be had with 40 mile LOS range.
If you are within range, I would recommend ZigBee as that saves you the cost from having a sim-card in each device.
Buy zigbee modules that have SDK and HW ability for mesh networking. That will give you ability to talk to far nodes via routing nodes. Unfortunately zigbee can not do adhoc mesh networking so you need to know in advance what your routers will be, or to program your nodes routing your self. Another 802.15.4 module (by Synapse) can solve all this since it supports ad hoc mesh networking for you via SNAP protocol. It is not zigbee compatible, but Synapse modules are already adopted by big players like Garmin so this should not bother you. They also run much longer on batteries then zigbee modules. They can also give onboard analog and digital IO accessible without need for additional MCU (although you can connect it and give control to it if you wish). There is also USB stick that will enable your PC to talk to these modules.

How do I use Zigbee to communicate to a laptop?

What I have in mind is having a number of sensors (temperature, accelerometer, sound level meter) that are controlled by a micro controller. What I want to do is take this information and transmit it wireless to a laptop that will take this information and put it on to a web server using Zigbee. I don't know where to start.
Since you don't have any hardware as of yet, you might want to give the Arduino a try. The hardware is affordable, can be connected to your system via USB while being programmable in-system.
The basic board can be extended via so called "shields", which offer additional features. In your case, the XBee shield would be appropriate. Connecting your laptop to a XBee module is as simple as using Sparkfun's breakout board and a mini-USB cable.
The Arduino has a large community, so you will find a lot of resources, like books, online material, example code etc.
We also provide wireless modules that can be used for serial data transmission. They can be found at www.starmanelectric.com Our modules are very similar to the xbee, but more plug and play. They can be a great for going wireless for the first time. Our devices are designed to function like a "wireless cable" so if you're used to using wires then you'll be up and running in no time at all. We also have circuit examples for transmitting to a laptop serial port or USB. Any micro-controller will be fine for this application, as long as it has a serial port and a few ADCs to sample your data. Our modules also provide simple analog in/out which can run in parallel to the serial. If you want to compare to other systems, I would google "wireless serial modules"
Regards,
Michael
Starman Electric

Resources