It is true that you need a multimeter, but you must be careful with it, the multimeter measure the instant consumption, or of the variations are quickly, the mean value, and the consumption depends of the radio state. If the variations in the states are quickly, you will measure the mean consumption, in other case, if the multimeter doesn’t have memory, it will be difficult to measure.
It depends on the XBee module kind(There are lots check out this:https://www.sparkfun.com/pages/xbee_guide),Each kind of module has a pre-measured and documented power rating(Again check the ampere ratings if you want form the site).
Now if you want to measure the power in real time,
1.You already know that XBee works on 3.3v rating.
2.You could insert an ammeter with extremely lower resistance,and high precision precision(Go for Digital ones) in between the tx of arduino and rx of the xbee or rx of the arduino and tx of the xbee.
3.Now the readings will appear when there is transmission obviously, so make sure you deploy a code which will make sure there is continuous transmission.
But a personal suggestion, would be to refer to the official documentation of the particular XBee type you are using.
Yes but provided you know AT command set. So simplest way is to put ammeter in seriesor connect a resistor of 100 ohm in series and measure voltage around it.
I would go with measuring the voltage variation across a shunt resistor that is either connected on the high side (i.e. between the Vcc and the processor) or the low side (i.e. between the processor and the ground). Low side is often the preferred method as the ground voltage provides a solid reference.
You will need to feed the voltage drop across the shunt resistor to an ADC to take the readings. Following are what you need to watch out for:
1 - The sampling rate of the ADC needs to be high enough to capture all the fast voltage variations you are interested in. (You will notice short bursts of peaks and troughs in the voltage variations while the ZigBee transceiver is transmitting or receiving)
2 - The resolution of the ADC needs to be sufficiently high to allow you to capture the minimum voltage variations of interest.
3 - The interface circuitry to the ADC should not add noise that might significantly affect what you are trying to measure. (This is often an issue when you are trying to track small signals)
4 - The buffer where you are going to be storing discrete ADC samples needs to be deep enough to capture a time window wide enough to store the signal period to allow you to calculate a reliable average.
If you have the meas, I would strongly recommend using a digital oscilloscope (with >200 MHz bandwidth and >1 Mbps storage depth) to capture the voltage variations across the shunt resistor to get a visual idea of what happens when the modem is transmitting or receiving. If you are only trying to measure an average number, this method should suffice. However, if you need to capture the voltage (or the current) variations in time domain on an MCU for other purposes, steps 1-4 will apply.
This information is available in datasheet of Xbee. Data rate is known to you as per your requirement. Xbee datasheet will give power ratings. Then you can calculate energy consumption during transmission.