Building Wireless Sensor Networks

Errata for Building Wireless Sensor Networks

Submit your own errata for this product.


The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update



Version Location Description Submitted By Date Submitted Date Corrected
Printed, PDF, ePub
Page 74
73

In the section on "Buzzer Output" instruction 1 says to connect the red power lead of the buzzer to digital pin 5. However, in the corresponding figure 3-15 it shows the red lead of the buzzer connected to ground.

Note from the Author or Editor:
Correct the colors in Figure 3-15 to show a red buzzer lead connected to the arduino and a black one connecting to ground (swap the red and black colors directly under the buzzer).

Thomas Weisbach  Apr 25, 2013 
Printed, PDF, Safari Books Online, Other Digital Version
Page 36
First step of sidebar

Incorrect link for: 1. Visit the Digi FTP site. Incorrectly references to: http://ftp1.digi.com/support/firmware/update/ The CORRECT link is: ftp://ftp1.digi.com/support/firmware/update/

Robert Faludi
Robert Faludi
O'Reilly Author 
Apr 03, 2012 
Printed, PDF, Safari Books Online, Other Digital Version
Page 108
last paragraph

New version of Arduino IDE 1.0 has deprecated the use of BYTE parameter in the function Serial.print(...), so code shown in page 108 does not compile under new versions of Arduino IDE. Solution is to replace all Serial.print functions for Serial.write functions and pass as parameter just the values (so deleting ", BYTE"). So where before the code example said: Serial.print(0x7E, BYTE); we should change to: Serial.write(0x7E); Note also that where we pass the 0 value, we should use the (byte) modifier if we do not want to receive compiling errors, so where before the code example said: Serial.print(00, BYTE); we should change to: Serial.write((byte)0);

Note from the Author or Editor:
Find and replace all instances of Serial.print(xxx, BYTE) with Serial.write(xxx). These are present in code throughout the book. [note that this will break compatibility will all previous version of Arduino, but probably worthwhile going forward as more people will begin to download the new IDE]

Jordi Segura  Feb 18, 2012 
Printed, PDF, Safari Books Online, Other Digital Version
Page 90
Figure 4-1

The caption reads: "I/O pins as seen from below on a breakout board". It should read: "I/O pins as seen from above on a breakout board".

Note from the Author or Editor:
Please change this line to read: "I/O pins as seen on a breakout board".

Arun Kumar  Nov 03, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 164
Figure 6-1

Pin numbers are wrong for the bottom view of XBee. See Figure 1-12 on page 16 for reference.

Note from the Author or Editor:
Swap pin numbers in image 6-1 left-for-right. Please renumber with pin 20-11 starting on the upper-left and pin 1-10 starting on the upper-right. 20 1 19 2 18 3 17 4 16 5 15 6 14 7 13 8 12 9 11 10

Robert Jensen  Oct 23, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 111
3rd paragraph

Says 'as' when it should be 'at' Line should read: "At the same time, they could care less about readability."

Anonymous  Oct 17, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 275
Table A-12

PWM is not supported yet. Change entry to read as follows: You can use the I/O commands to work with features such as PWM (will be implemented in future versions), digital I/O, and analog input. I/O is the focus of Chapter 4.

Robert Faludi
Robert Faludi
O'Reilly Author 
Oct 02, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 263
Standards Organizations

The URL for Official ZigBee Specifications & Public Application Profiles has changed. The new one is: http://www.zigbee.org/Specifications/ZigBee/download.aspx

Robert Faludi
Robert Faludi
O'Reilly Author 
Oct 02, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 261
Arduino Resources

The URL for the Arduino Forum has changed. The new one is: http://arduino.cc/forum/

Robert Faludi
Robert Faludi
O'Reilly Author 
Oct 02, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 249
last paragraph

Line number mentioned is not correct. Should read as follows: "Look for a string variable called apiKey and an integer variable called feedID starting near line 31."

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 27, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 242
last paragraph

Says 'million' when it should be 'billion' (however the remaining math is still correct). Line should read: "A frame counter protects against replay attacks but tops out at 4 billion (32 bits). If you are going to send more than 4 billion messages..."

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 27, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 243
Last paragraph

The URL (http://www.zigbee.org/Products/DownloadZigBeeTechnicalDocuments.aspx) is obsolete. Please change to this new URL: http://www.zigbee.org/Specifications/ZigBee/download.aspx

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 27, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 240
1st paragraph

The URL (http://www.zigbee.org/Products/DownloadZigBeeTechnicalDocuments.aspx) is obsolete. Please change to this new URL: http://www.zigbee.org/Specifications/ZigBee/download.aspx

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 27, 2011  Jan 13, 2012
PDF
Page 52
session example below figure 2-23

The parameter for the ATDH command should be 0013A200 (Digi's address) and not 0013A300 (ATDH without any parameters shows the correct address in the example session).

Note from the Author or Editor:
Please change ATDH 0013A300 to read: ATDH 0013A200

Lukas Zaugg  Sep 24, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 225
Liquid crystal display (LCD) output

URL has changed. The new one is: http://www.mijnprintplaat.nl/datasheet/HD44780_16x2_Character_LCD_Display.pdf

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 21, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 222
end of first paragraph

Account name has changed. Line should read: ...or try out schnitznthings if you have a hankering for flat meat in Manhattan.

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 21, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 190
next to last paragraph

URL for CAN (or CAN-bus) has changed. The new one is: http://www.skpang.co.uk/catalog/arduino-canbus-shield-with-usd-card-holder-p-706.html

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 21, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 181
line 8

Wrong word. Line should read: // make an array list of switch objects for display

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 21, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 177
first instruction

Wrong word. Line should read: When the transistor's flat side is facing you, the leads from left to right are emitter, base, and collector.

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 21, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 174
Configure Your Router XBees

Wrong word. Line should read: For each of your actuator node radios:

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 21, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 168
Warning text, middle of page

Wrong word. Line should read: Your end device radios will use the AT firmware so you can easily con- figure them using a serial terminal. Be sure you select the AT version for your end devices!

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 21, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 168
Prepare Your End Device Radios

Wrong word. Line should read: ...to configure each of your sensor node radios as a ZigBee End Device AT.

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 21, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 165
First paragraph.

Incorrect hex number. Line should read: Time before sleep can be set to as little as 0x1 for one millisecond of timeout, or as high as 0xFFFE for about 65 seconds of delay before returning to low-power cyclic sleep.

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 21, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 170
first bullet in sidebar

Bullet should read as follows: If the radio is in sleep mode 1 (pin sleep) or sleep mode 5 (cyclic sleep with pin wake-up), bringing physical pin 9 low by connecting it to ground will wake the radio.

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 21, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 130
third line of table

Incorrect hex number. Should read as follows: LSB 2 0x12

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 21, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 129
last paragraph

Remove the bit about the frame ID, which is wrong. Line should read: So in addition to the usual preamble bytes, including the frame type of 0x90 to indicate a ZigBee Receive Packet, we get to see the 64-bit and 16-bit source addresses along with a receive options indicator, and of course the payload data itself, followed by a checksum.

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 21, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 126
3rd paragraph, about the middle

Says bits when it should be bytes. Line should read: If you donít know the 16-bit address that the coordinator has assigned for the destination, simply set these two bytes to 0xFF and 0xFE respectively.

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 21, 2011  Jan 13, 2012
Printed, PDF, Safari Books Online, Other Digital Version
Page 91
2nd paragraph

Should read as follows: ATP0...ATP2 Configures pins 10, 11 and 12 for I/O mode (thereís a P3 for pin 13, but it is not supported in the current firmware). Again, the number after the P indicates which pin youíll be configuring, and is followed by a numeric code to indicate what purpose the pin will serveódigital in, digital out, or nothing. For example, to configure I/O pin 11 as a high digital output (code 5) the command would be ATP15. Pins 10 - 12 do not support any analog functions.

Robert Faludi
Robert Faludi
O'Reilly Author 
Sep 21, 2011  Jan 13, 2012
Printed, PDF
Page 176, 178/ 179
Figure 6-4, Figure 6-5

According to the PowerSwitchTail datasheet: "DC input: 3-5 vdc, nominal 40mA (200 mW) @ 5vdc; terminal block accepts #26-16 AWG wire. Do not exceed 6 volts". If you connect the PowerSwitchTail to the power plug as depicted in figure 6-4 and figure 6-5 and apply more than 6 volts to the input, you may exceed the maximum DC input voltage (input for the power plug is rated 5~12V in both figures). The text on page _176_ last paragraph says: "This relay is usually activated by at least 5 V of direct current. The XBee canít provide enough voltage or amperage by itself to drive that relay, so we use an NPN transistor as an electronic switch to send 5 or 9 volts directly to the relay." I think this has to be corrected. As seen above the PowerSwitchTail works from 3-5 volts DC (not 9 volts). The transistor is used to provide enough current (40mA @ 5 VDC) to drive the relay inside the PowerSwitchTail. The maximum output source current for the XBee is 4/ 8mA according to the datasheet. So the XBee might have enough voltage but not sufficient current to drive the relay. With the 10k resistor attached to physical pin 20 (DIO0, 4mA max.) the output is 2.6mA (3.3v-0.7v/10k) that drives the base of the 2N3904 which has a hFE of about 100 at this current. This provides enough current to drive the relay.

Note from the Author or Editor:
(The PowerSwitchTail's data sheet has been updated to reflect a new reduced minimum and maximum voltage.) Change page 176 to read: "This relay is usually activated by 5 V of direct current. The XBee canít provide enough voltage or amperage by itself to drive that relay, so we use an NPN transistor as an electronic switch to send 5 volts directly to the relay."

Markus Ulsass  May 15, 2011  Aug 12, 2011
Printed
Page 7
First Section

The section titled "Digi Evaluation Board" is no longer relevant. The Digi Evaluation Board was obsoleted by Digi, and there are no immediate plans to replace it. I tried to order it, and was given this information by Digi customer support.

Note from the Author or Editor:
The board is still available. For the next revision, please change the first sentence on page 7 under "Digi Evaluation Board" to add the part number at the end, like this: "...it will include an evaluation board with a power supply, a USB connector, and some handy buttons and lights (Digi part no. XBIB-U)."

Ray Hopper  Apr 21, 2011  Aug 12, 2011
Printed, PDF, Safari Books Online, Other Digital Version
Page 76
List item number 6

The PAN ID is a 16 bit identifier, so it should range from 0X0000 to 0XFFFF, as correctly stated previously (e.g., Table 2-5). Here the book says "Select a PAN ID between 0x0 and 0xFFFFFFFFFFFFFFFF to define...".

Note from the Author or Editor:
PAN ID is actually a 64-bit identifier, so Table 2-5 should read 0x0 to 0xFFFFFFFFFFFFFFFF Also on page 48 under the ATID heading the text should read 0x0-0xFFFFFFFFFFFFFFFF

Vincenzo Pii  Apr 14, 2011  Aug 12, 2011
Printed, PDF, Safari Books Online, Other Digital Version
Page 67
Parts list

XBee breakout board is SFE BOB-08276 (it's correct on page 10) not SFE BOB-08669 as listed in the parts list on page 67.

Note from the Author or Editor:
Change incorrect part numeber SFE BOB-08669 on page 67 parts list for doorbell projects to correct part number which is SFE BOB-08276.

Markus Ulsass  Apr 07, 2011  Aug 12, 2011
Printed, PDF, Safari Books Online, Other Digital Version
Page 268
Top - Table A-2

In looking for packet sniffers, I went to the Daintree Networks website and found: Sensor Network Analyzer (SNA) Please note that Daintree's Sensor Network Analyzer software and Sensor Network Adapter hardware were discontinued on March 31, 2010, and are no longer available for sale. The following information is provided for support purposes only.

Note from the Author or Editor:
Remove the entry for Daintree Sensor Network Analyzer

Carl Van Wormer  Mar 22, 2011  Aug 12, 2011
Printed, PDF, Safari Books Online, Other Digital Version
Page 202
Naming Radios sidebar

In both places that mention "Mary's Temperature Sensor" change this phrase to "Mary's Temp Sensor" to keep within the command's 20 character limit.

Robert Faludi
Robert Faludi
O'Reilly Author 
Mar 20, 2011 
Printed, PDF, Safari Books Online, Other Digital Version
Page 104
2nd paragraph

Should not the router configuration be Zigbee Router and not Coordinator?

Note from the Author or Editor:
Yes, that's a typo. Page 104, item 3 should read " (ZigBee Router AT) "

Roger Chapman  Feb 23, 2011  Aug 12, 2011
Printed, PDF, Safari Books Online, Other Digital Version
Page 135
Breaking Large Numbers into Bytes

( 0x3 * 0xFF ) + 0xDB = 0x3DB is incorrect: ( 0x3 * 0xFF ) = 0x2FD (not 0x300) ( 0x3 * 0x100 ) = 0x300

Note from the Author or Editor:
Yes, the equation should be: ( 0x3 * 0x100 ) + 0xDB = 0x3DB

Donald R. Blake  Feb 04, 2011  Aug 12, 2011
Printed, PDF, Safari Books Online, Other Digital Version
Page xvii
end of page

We should add a sentence explaining that the diagrams in the book were created with the Fritzing software. This could go at the end of the acknowledgments or the first place a Fritzing diagram appears (p14?): The connection diagrams in this book were created with Fritzing, an open source tool for documenting, sharing, teaching, and designing interactive electronic projects. For more information, see their website http://fritzing.org/

Brian Jepson  Jan 29, 2011  Aug 12, 2011
Printed
Page 37
Figure 2-10

"Version" field in Figure 2-10 is show as "2041". Suggest update to value listed at this field to "2070" to match the configuration text example on page 38, step 2.

Note from the Author or Editor:
This is actually a "before" configuration screenshot, so it's entirely possible that the radio will have an older version of the software. However, if it had you confused then it might be worth changing.

Dave Jenson  Jan 26, 2011 
Printed
Page 37
Second sentence

s/XB24P-B/XBP24-B/ I believe the part number is not XB24P-B, but is actually XBP24-B. I cannot confirm about the XB24P-SE part as I do not have that one; may want to check it too.

Note from the Author or Editor:
Yes, the correct part numbers should be XBP24-B and XBP24-SE respectively.

Dave Jenson  Jan 26, 2011  Feb 01, 2011
Printed
Page 6
Vendor's list , subhead Maker Shed

This section (and elsewhere in the text) states that a kit is available that was specifically designed for this book. Please provide details and/or a part number, I have contacted the website (www.makershed.com) and the support person was unaware of any such offering.

Note from the Author or Editor:
Kits are under development and are scheduled to be available in February. Watch my blog for more updates: http://www.faludi.com

Greg Shead  Jan 19, 2011 
Printed
Page 149
Figure 5-7

U2 out goes to ground, pin 1 and connected to 300 Ohm resistor. I believe the ground symbol should be eliminated from this figure.

Note from the Author or Editor:
Yes, the ground symbol can/should be moved to XBee pin 10. The breadboard layout in figure 5-6 and the text descriptions are correct.

laserled  Jan 16, 2011  Jan 13, 2012
Printed, PDF
Page 149
Figures 5-6 and 5-7

The resistor in figure 5-6 and 5-7 that is labeled 300K ohm should be labeled simply 300 ohm. (The color bands in the figure and the body text are correct.)

Robert Faludi
Robert Faludi
O'Reilly Author 
Jan 04, 2011  Aug 12, 2011