You are on page 1of 11

Simple Sensor Network

7KLVSURMHFWFDQVHUYHDVDPRGHOIRUDOPRVWDQ\VHQVRUQHWZRUN\RXGOLNHWREXLOG
<RXZLOOFUHDWHDVHWRILQH[SHQVLYHWHPSHUDWXUHVHQVRUVWKDWDUHPHVKQHWZRUNHGWR
JHWKHUWRVWUHDPWKHLUGDWDWRDEDVHVWDWLRQUDGLR7KLVEDVHVWDWLRQZLOOEHFRQQHFWHG
WRDFRPSXWHUZKHUHWKHUHDOWLPHWHPSHUDWXUHGDWDZLOOEHYLVXDOL]HGRQWKHVFUHHQ
,QWKHQH[WFKDSWHUZHZLOOGLVFXVVPDNLQJWKHVHQVRUQRGHVYHU\SRZHUHIILFLHQWVR
WKDWWKH\FDQEHUXQHIIHFWLYHO\IURPEDWWHULHV)RUQRZWKHVHQRGHVFDQEHSRZHUHG
IURPZDOORXWOHWVVRZHFDQFRQFHQWUDWHRQWKHEXVLQHVVRIEXLOGLQJRXUILUVWFRPSOHWH
ZLUHOHVVVHQVRUQHWZRUN
7KHH[DPSOHSURMHFWLQ)LJXUHVKRZVWZRVHQVRUQRGHVDQGDEDVH
VWDWLRQ7KDWVWKUHHUDGLRVLQWRWDO,I\RXKDYHRQO\WZRUDGLRV\RXFDQ
EXLOGLWZLWKDVLQJOHVHQVRUQRGHDQGWKHEDVHVWDWLRQ<RXFDQDOVR
FUHDWH PDQ\ PRUH VHQVRU QRGHV ,I \RXU QHWZRUN KDV PRUH WKDQ 
QRGHVUHPHPEHUWRH[WHQGWKH3URFHVVLQJFRGHWRFKDQJHWKHGLVSOD\
VL]HDQGOLPLWVVRWKDWLWFDQVKRZDOOWKHGDWD

)LJXUH6LPSOHVHQVRUQHWZRUN

Parts
7ZRVROGHUOHVVEUHDGERDUGV $)'.1'6)(357
+RRNXSZLUHRUMXPSHUZLUHNLW $)'.1'6)(357

142 | Chapter 5:API and a Sensor Network

7ZRYROWRUYROWSRZHUVXSSOLHV YROWEDWWHULHVDOVRZRUNZHOOIRUVKRUWWHUP
XVH  $)RUZLWK9EDWWHU\566)(72/RU72/
7ZR  9 YROWDJH UHJXODWRUV 72 SDFNDJH  '. 1' 6)(
&20
7ZR'&SRZHUMDFNV PP,'PP2'  '.&3$1'56
6)(357
7ZR.RKPUHVLVWRUV '.3.%$&71'566)(KDVDQDVVRUWHG
UHVLVWRUNLW&20
7ZR.RKPUHVLVWRUV '.3.%$&71'RUXVHWZR.UHVLVWRUVLQVHULHV
IRUHDFKERDUG
7ZRRKPUHVLVWRUV '.3%$&71'56
7ZR)HOHFWURO\WLFFDSDFLWRUV '.31'566)(&20
7ZR)HOHFWURO\WLFFDSDFLWRUV '.31'56
7ZR/0WHPSHUDWXUHVHQVRUV LQ72SDFNDJLQJ  '.1'6)(
6(1
2QH;%HHUDGLR 6HULHV=%ILUPZDUH FRQILJXUHGDVD=LJ%HH&RRUGLQDWRU$3,
PRGH 'LJL;%=:,7'.1'
7ZR;%HHUDGLRV 6HULHV=%ILUPZDUH FRQILJXUHGDVD=LJ%HH5RXWHU$7PRGH
'LJL;%=:,7'.1'
7ZR;%HHEUHDNRXWERDUGVZLWKPDOHKHDGHUVDQGPPIHPDOHKHDGHUVLQVWDOOHG
$) DGG6)(357 6)(%2%357DQG357
;%HH86%VHULDODGDSWHU ;%HH([SORUHU'LJL(YDOXDWLRQERDUGRUVLPLODU  $)
6)(:5/
86%FDEOHIRU;%HHDGDSWHU $)6)(&$%
:LUHVWULSSHUV $)'.3$/1'6)(72/

Prepare Your Coordinator Radio


 )ROORZ WKH LQVWUXFWLRQV XQGHU 5HDGLQJ &XUUHQW )LUPZDUH DQG &RQILJXUD
WLRQRQSDJHLQ&KDSWHUWRFRQILJXUHRQHRI\RXUUDGLRVDVD=LJ%HH&RRUGL
QDWRU$3,1RWHWKDW\RXUFRRUGLQDWRUUDGLRPXVWXVHWKH$3,ILUPZDUHIRUWKLV
SURMHFWWRZRUNEHFDXVH,2GDWDLVRQO\GHOLYHUHGLQ$3,PRGH%HVXUHWRVHOHFW
WKH$3,YHUVLRQIRU\RXUFRRUGLQDWRU
:KHQ\RXFKDQJHIURP$7WR$3,PRGHXVLQJ;&78\RXPD\
JHWDQHUURUPHVVDJHWKDWWKHUDGLRLVQRORQJHUFRPPXQLFDWLQJ
*REDFNWRWKH3&6HWWLQJVWDEDQGFKHFNWKH(QDEOH$3,ER[WR
HQDEOHFRPPXQLFDWLRQVZLWK\RXUUDGLR:KHQ\RXODWHUFKDQJH
$3,PRGHWRJREDFNWRWKDWWDEDQGFKRRVH8VHHVFDSHFKDU
DFWHUV $7$3  

Simple Sensor Network | 143

 2QFHDUDGLRKDVEHHQVHWWR$3,PRGHLWFDQRQO\EHFRQILJXUHGLQ;&78<RX
ZLOOQRWEHDEOHWRPDNHDGMXVWPHQWVWRWKLVUDGLRVFRQILJXUDWLRQLQ&RRO7HUP
8VH ;&78 WR FRQILJXUH WKH FRRUGLQDWRU ZLWK D 3$1 ,' EHWZHHQ [ DQG
[)))))))))))))))) WKDW\RXYHVHOHFWHGWKHQFOLFN:ULWH:ULWHGRZQWKLV
3$1,'VR\RXFDQSURJUDP\RXUURXWHUUDGLRZLWKWKHVDPHRQH(YHU\UDGLRLQ
\RXUQHWZRUNPXVWXVHWKHVDPH3$1,'VRWKDWWKH\FDQFRPPXQLFDWHZLWKHDFK
RWKHU WKHUHVQRQHHGWRVHWWKH'+DQG'/LQWKLVFDVHEHFDXVHWKHFRRUGLQDWRU
ZLOORQO\EHUHFHLYLQJGDWDQRWVHQGLQJLW 
Pan ID:
_____________________________

 7KHVRIWZDUHOLEUDULHVWKDWZHDUHXVLQJLQ3URFHVVLQJUHTXLUHWKDWWKHEDVHVWDWLRQ
;%HHEHLQ$3,0RGH $3,2SHUDWLRQZLWKHVFDSHGFKDUDFWHUV 8VH;&78WR
VHW$3 $3,(QDEOH WRDQG:ULWHWKHFRQILJXUDWLRQWR\RXUUDGLR
%H VXUH WKDW \RX VHW WKH FRRUGLQDWRUV $3, WR PRGH  RWKHUZLVH WKH
SURMHFWZLOOQRWZRUN

Prepare Your Router Radios


 )ROORZ WKH LQVWUXFWLRQV XQGHU 5HDGLQJ &XUUHQW )LUPZDUH DQG &RQILJXUD
WLRQRQSDJHLQ&KDSWHUWRFRQILJXUHHDFKRI\RXUVHQVRUQRGHUDGLRVDVD
=LJ%HH5RXWHU$7<RXUURXWHUUDGLRVZLOOXVHWKH$7ILUPZDUHVRWKDW\RXFDQ
HDVLO\FRQILJXUHWKHPXVLQJDVHULDOWHUPLQDO%HVXUH\RXVHOHFWWKH$7YHUVLRQIRU
\RXUURXWHUV
:KHQ\RXFKDQJHIURPDQ$3,UDGLRWRDQ$7UDGLR\RXPD\JHW
DQHUURUPHVVDJHWKDWWKHUDGLRLVQRORQJHUFRPPXQLFDWLQJ,IVR
JREDFNWRWKH3&6HWWLQJVWDEDQGXQFKHFNWKH(QDEOH$3,0RGH
ER[

 /DEHOWKHFRRUGLQDWRUUDGLRZLWKD&VRWKDW\RXNQRZZKLFKRQHLWLVODWHURQ
(DFKURXWHUUDGLRFDQEHODEHOHGZLWKDQ5

Prepare the Sensor Boards


:HOOEHJLQE\FRQILJXULQJWKHURXWHU;%HHV:HOOXVHWKH&RRO7HUPWHUPLQDOSURJUDP
DQGDQ;%HH([SORUHU86%DGDSWHUDJDLQWRVHWXS\RXUUDGLRV)RUHDFKRI\RXUVHQVRU
QRGHUDGLRV
 6HOHFWDURXWHU;%HH\RXYHODEHOHGZLWKDQ5DQGSODFHLWLQWRWKH;%HH([SORUHU
 3OXJWKH;%HH([SORUHULQWR\RXUFRPSXWHU

144 | Chapter 5:API and a Sensor Network

 5XQWKH&RRO7HUPSURJUDPDQGSUHVVWKH2SWLRQVEXWWRQWRFRQILJXUHLW
 6HOHFWWKHDSSURSULDWHVHULDOSRUWDQGFKHFNWKH/RFDO(FKRER[VR\RXFDQVHH
\RXUFRPPDQGVDV\RXW\SHWKHP
 &OLFNRQWKH&RQQHFWEXWWRQWRFRQQHFWWRWKHVHULDOSRUW
 7\SH +++WRJRLQWRFRPPDQGPRGH<RXVKRXOGUHFHLYHDQ2.UHSO\IURPWKH
UDGLR
 6HOHFWWKHVDPH3$1,'\RXHQWHUHGIRU\RXUILUVWUDGLRDERYH
 7\SHATIDIROORZHGE\WKH3$1,'\RXVHOHFWHGDQGSUHVV(QWHURQWKHNH\ERDUG
<RXVKRXOGUHFHLYH2.DJDLQDVDUHSO\
 (YHU\=LJ%HHFRRUGLQDWRUDOZD\VKDVDVLWVELWQHWZRUNDGGUHVV,QIDFWWKDWV
WKHGHIDXOWGHVWLQDWLRQDGGUHVVIRUDQ\QHZO\FRQILJXUHG;%HHUDGLR7RXVHELW
DGGUHVVLQJ WKH KLJK SDUW RI \RXU UDGLRV GHVWLQDWLRQ DGGUHVV ZLOO EH ]HUR 7\SH
ATDH 0DQGSUHVV(QWHURQWKHNH\ERDUG<RXVKRXOGUHFHLYHDQ2.UHVSRQVH
 (QWHUATDLIROORZHGE\WKHORZSDUWRI\RXUUDGLRVGHVWLQDWLRQDGGUHVVLQWKLVFDVH
DOVRD]HUREHFDXVHWKDWVWKHIL[HGDGGUHVVIRUWKHFRRUGLQDWRU7\SH ATDL 0DQG
SUHVV(QWHU<RXVKRXOGUHFHLYHDQ2.UHVSRQVH
 (QWHUATJV1WRHQVXUHWKDW\RXUURXWHUDWWHPSWVWRUHMRLQWKHFRRUGLQDWRURQVWDUWXS
 (QWHUATD02WRSXWSLQLQDQDORJPRGH
 (QWHUATIR3E8WRVHWWKHVDPSOHUDWHWRPLOOLVHFRQGV KH[( 
 6DYH\RXUQHZVHWWLQJVDVWKHUDGLRVGHIDXOWE\W\SLQJATWRDQGSUHVVLQJ(QWHU
,WVQRWDEDGLGHDWRUHFKHFN\RXUFRQILJXUDWLRQVDIWHU\RXHQWHUWKHP
)RUH[DPSOHWRUHFKHFNWKDW\RXHQWHUHGWKHGHVWLQDWLRQDGGUHVVFRU
UHFWO\IURPFRPPDQGPRGHW\SHATDLDQGSUHVV(QWHUWRVHHWKHFXUUHQW
VHWWLQJ

Connect voltage regulator circuit and power jack to breadboard


 :LUHXSDEUHDGERDUGZLWKDYROWYROWDJHUHJXODWRU /'9 DVVKRZQLQ
)LJXUH7KHUHJXODWRUKDVWKUHHOHJVW\SLFDOO\JURXQGRXWSXWDQGLQSXW
ZKHQYLHZHGIURPWKHIURQW ZKHUHWKHZULWLQJLV 6RPHWLPHVWKHVHOHJVDUHLQD
GLIIHUHQWRUGHUVRILQGDQGFKHFNWKHGDWDVKHHWLI\RXUHQRWVXUH,QSXWLVZKHUH
DKLJKYROWDJHIRUH[DPSOHRUYROWVLVDSSOLHGWRWKHUHJXODWRU2XWSXWLVZKHUH
\RXZLOOJHWWKHUHJXODWHGYROWV*URXQGLVWKHFRPPRQJURXQGIRU\RXUHQWLUH
FLUFXLWLQFOXGLQJLQSXWRXWSXWDQGDOOWKHRWKHUFRPSRQHQWV%ULQJJURXQGRXW
WRERWKEOXHJURXQGUDLOVWKDWUXQDORQJWKHVLGHVRI\RXUEUHDGERDUG%ULQJ
YROWRXWSXWSRZHUWRERWKRIWKHUHGSRZHUUDLOV

Simple Sensor Network | 145

)LJXUH9ROWDJHUHJXODWRUFLUFXLWRQEUHDGERDUG

 6ROGHUDUHGZLUH DERXWFP WRWKHVKRUWFHQWHUSLQRI\RXUSRZHUMDFNDQG


VROGHUDVLPLODUEODFNZLUHWRWKHORQJHURXWHUSLQDVVKRZQLQ)LJXUH'RQW
DOORZWKHWZRFRQQHFWLRQVWRWRXFKHDFKRWKHUVLQFHWKDWZLOOFUHDWHDVKRUWFLUFXLW
ZKHQ\RXSRZHUXS
 $WWDFKWKHUHGZLUHIURPWKHSRZHUMDFNXVLQJWKHEUHDGERDUGWRFRQQHFWLWWRWKH
LQSXWSLQRIWKHYROWDJHUHJXODWRU$WWDFKWKHEODFNJURXQGZLUHWRWKHJURXQGSLQ
RIWKHYROWDJHUHJXODWRULQWKHVDPHZD\
 +RRNXSWKHRXWSXWSLQRIWKHYROWDJHUHJXODWRUWRRQHRIWKHSRZHUUDLOVRIWKH
EUHDGERDUGXVLQJDUHGZLUH+RRNXSWKHJURXQGSLQWRRQHRIWKHJURXQGUDLOV
RQWKHEUHDGERDUG
 8VHWKHWZRFDSDFLWRUVWRGHFRXSOHWKHSRZHUVXSSO\LQWKHIROORZLQJZD\DWWDFK
WKHVKRUWJURXQGOHDGRIWKH)FDSDFLWRU DOVRPDUNHGZLWKDVWULSHRQWKH
FDSDFLWRUV JURXQG VLGH  WR JURXQG QHDU WKH YROWDJH UHJXODWRU$WWDFKWKHRWKHU
SRVLWLYHOHDGRIWKH)FDSDFLWRUWRWKHYROWDJHUHJXODWRUVLQSXWSLQ7KLVZLOO
UHPRYHVRPHORZHUIUHTXHQF\QRLVHFRPLQJIURPWKHZDOOSRZHUVXSSO\$OVRDW
WDFKWKHVKRUWJURXQGOHDGRIWKH)FDSDFLWRUWRJURXQGDQGWKHRWKHUSRVLWLYH
OHDGWRWKH9RXWSXWSLQ7KLVZLOOUHPRYHVRPHKLJKHUIUHTXHQF\QRLVHFRPLQJ
RXWRIWKHYROWDJHUHJXODWRU'HFRXSOLQJZLOOSUHYHQWQRLV\SRZHUIURPUHDFKLQJ
\RXUUDGLRDQGLQWHUIHULQJZLWKLWVVLJQDO

146 | Chapter 5:API and a Sensor Network

)LJXUH3RZHUMDFNZLWKZLULQJVROGHUHGLQSODFH

 +RRNXSSRZHUDQGJURXQGDFURVVWKHEUHDGERDUGVRWKDWWKHUDLOVRQERWKVLGHV
DUHOLYH
,WVDUHDOO\JRRGLGHDWRFKHFNWKHYROWDJHOHYHOVXVLQJDPXOWLPHWHUDIWHU
\RXILUVWZLUHXSWKHEUHDGERDUGIRUSRZHU0DNHVXUHWKDW\RXUSRZHU
UDLOVKDYHYROWVRQERWKVLGHVZKHUH\RXH[SHFWLW<RXGRQWZDQW
WRVHQGYROWVWR\RXUUDGLRDQGFRRNLW

Router XBee connection to power


 :LWKDURXWHU;%HHPRXQWHGRQLWVEUHDNRXWERDUGSRVLWLRQWKHEUHDNRXWERDUG
LQWKHFHQWHURI\RXURWKHUEUHDGERDUGVRWKDWWKHWZRURZVRIPDOHKHDGHUSLQV
DUHLQVHUWHGRQRSSRVLWHVLGHVRIWKHFHQWHUWURXJK
 8VHUHGKRRNXSZLUHWRFRQQHFWSLQ 9&& RIWKH;%HHWRYROWUHJXODWHG
SRZHU
 8VHEODFNKRRNXSZLUHWRFRQQHFWSLQ *1' RIWKH;%HHWRJURXQG

Simple Sensor Network | 147

Temperature input
7KLVSURMHFWXVHVWKH/0SUHFLVLRQDQDORJWHPSHUDWXUHVHQVRU7KLVVHQVRUKDVD
OLQHDURXWSXWRIP9SHUGHJUHH.HOYLQ,WKDVDQDGMXVWPHQWSLQIRUFDOLEUDWLRQ
EXWWKLVFDQEHVDIHO\LJQRUHGXQOHVV\RXPLQGRQHRUWZRGHJUHHVRIHUURUDWURRP
WHPSHUDWXUH<RXFDQJHWWKHHQWLUHGDWDVKHHWIRUWKH/0DWKWWSZZZQDWLRQDO
FRPGV/0/0SGI
 7KH/0WHPSHUDWXUHVHQVRUKDVWKUHHOHDGV:KHQWKHVHQVRUVIODWVLGHLVIDFLQJ
\RXWKHOHDGVIURPOHIWWRULJKWDUHDGMXVWPHQWSRVLWLYHDQGQHJDWLYH,QVHUWWKH
/0VRWKDWHDFKOHDGLVLQLWVRZQURZRQWKHEUHDGERDUG
 8VHDEODFNZLUHWRFRQQHFWWKHULJKWPRVWQHJDWLYHOHDGWRRQHRIWKHJURXQGUDLOV
 ,QVHUWWKHRKPUHVLVWRUVRWKDWLWVFRQQHFWHGWRSRZHURQRQHHQGDQGWRWKH
SRVLWLYHFHQWHUSLQRIWKH/0RQWKHRWKHU<RXFDQXVHMXPSHUZLUHVWRPDNH
WKHFRQQHFWLRQLIWKDWVPRUHFRQYHQLHQWLQ\RXUEUHDGERDUGOD\RXW
 ,QVHUWD.RKPUHVLVWRUVRWKDWLWVFRQQHFWHGWRWKHSRVLWLYHFHQWHUSLQRQRQH
HQGDQGWRDQHPSW\EUHDGERDUGURZRQWKHRWKHU
 8VHDMXPSHUZLUHWRFRQQHFWEHWZHHQWKHXQDWWDFKHGHQGRIWKH.RKPUHVLVWRU
WR;%HHGLJLWDOLQSXW SK\VLFDOSLQ 
 ,QVHUWD.RKPUHVLVWRUVRWKDWRQHHQGFRQQHFWVWR;%HHGLJLWDOLQSXW DQG
WKH.UHVLVWRU 7KHRWKHUHQGRIWKH.RKPUHVLVWRUJRHVWRJURXQG$JDLQ
XVHMXPSHUZLUHVDVQHHGHGWRFRPSOHWHWKHVHHOHFWULFDOFRQQHFWLRQV

Second sensor board


&UHDWHWKHVHFRQGVHQVRUERDUGLQWKHVDPHZD\DVWKHILUVW<RXFDQPDNHDVPDQ\
VHQVRUERDUGVDV\RXOLNH7KHV\VWHPZLOOZRUNZLWKDVIHZDVRUDVPDQ\DV
ZLWKRXWDQ\DGMXVWPHQWWRWKHVRIWZDUH)LJXUHVKRZVWKHEUHDGERDUGOD\RXWIRU
RXUVLPSOHVHQVRUQHWZRUNDQG)LJXUHVKRZVWKHVFKHPDWLF

Prepare the Base Station


Connect to computer
<RXUEDVHVWDWLRQUDGLRLVVLPSO\DQ;%HHVHULDODGDSWHUFRQQHFWHGWR\RXUFRPSXWHU
 6HOHFWWKHFRRUGLQDWRU;%HH\RXYHODEHOHGZLWKD&DQGSODFHLWLQWRWKH;%HH
([SORUHU
 3OXJWKH;%HH([SORUHULQWR\RXUFRPSXWHU

148 | Chapter 5:API and a Sensor Network

)LJXUH6LPSOHVHQVRUQHWZRUN/0EUHDGERDUGOD\RXW

)LJXUH6LPSOHVHQVRUQHWZRUN/0VFKHPDWLF

Simple Sensor Network | 149

)LJXUH7KH3URFHVVLQJ,'(ZLWKFRQWUROEXWWRQVDWWKHWRSWH[WDUHDLQWKHPLGGOHDQGVSDFH
IRUPHVVDJHVDQGFRQVROHRXWSXWDWWKHERWWRP

Program the Base Station


7KHVLPSOHVHQVRUQHWZRUNEDVHVWDWLRQXVHVWKHIROORZLQJ3URFHVVLQJSURJUDP'RZQ
ORDGWKH=,3ILOHRIDOOWKHOLEUDULHVDQGUHVRXUFHVIURPWKLVERRNVZHEVLWH,QVLGHWKH
3URFHVVLQJVNHWFKIROGHUIRUWKH6LPSOH6HQVRU1HWZRUNSURJUDPDUHWZRVXEGLUHFWRULHV
FDOOHG FRGH DQG GDWD VHH )LJXUH   7KH FRGH IROGHU FRQWDLQV WKH ORJMMDU DQG
[EHHDSLMDUOLEUDU\ILOHV7KHVHFRQWDLQDOOWKHFRGHIRUFRPPXQLFDWLRQZLWKWKH

152 | Chapter 5:API and a Sensor Network

;%HH LQ $3, PRGH 7KH GDWD IROGHU KROGV WKH ORJMSURSHUWLHV ILOH UHTXLUHG E\
ORJMMDU,WDOVRKDVDIRQWILOHIRUDVDQVVHULISRLQWIRQWXVHGIRUVFUHHQGLVSOD\

)LJXUH'LUHFWRU\VWUXFWXUHIRUWKH3URFHVVLQJVNHWFKSURJUDP6LPSOH6HQVRU1HWZRUNLQFOXGLQJ
DOOUHTXLUHGOLEUDULHVFRQILJILOHVDIRQWILOHDQGWKH3URFHVVLQJSGHVNHWFKLWVHOI
<RX PXVW UHSODFH WKH &20 SRUW OLVWHG LQ WKLV FRGH ZLWK \RXU DFWXDO
&20SRUW/RRNIRULWLQWKHFRGHDURXQGOLQH3RUWQDPHVDUHOLVWHG
LQWKHFRQVROHLQ3URFHVVLQJDV\RXUSURJUDPVWDUWVXS

2QFH\RXKDYHORDGHGWKHILOHVDQGGLUHFWRULHVRQWR\RXUFRPSXWHUDQGRSHQHGWKH
6LPSOHB6HQVRUB1HWZRUNSGHILOHLQ3URFHVVLQJSUHVVWKH5XQEXWWRQ ODEHOHGZLWKD
WULDQJOH WRODXQFKWKHGLVSOD\FRGH,WZLOORSHQLQDQHZZLQGRZDQGVKRZDWKHU
PRPHWHUIRUHDFKVHQVRUQRGHGHWHFWHGDVVKRZQLQ)LJXUH

)LJXUH6LPSOH6HQVRU1HWZRUNWHPSHUDWXUHGLVSOD\VFUHHQLQ3URFHVVLQJ

Simple Sensor Network | 153

Simple Sensor Network display code in Processing


+HUHVWKHVRXUFHFRGHIRUWKH3URFHVVLQJVNHWFK7KHFRPPHQWVKRZQLQEROGDERXW
WKHVHULDOSRUWKLJKOLJKWVDQHVVHQWLDOFKDQJH2WKHUFRPPHQWHGLQVWUXFWLRQVDUHRQO\
LPSRUWDQWLI\RXGLGQWGRZQORDGWKHVRXUFHIURPWKHZHEVLWHOLVWHGLQWKH3UHIDFH
/*
* Draws a set of thermometers for incoming XBee Sensor data
* by Rob Faludi http://faludi.com
*/
// used for communication via xbee api
import processing.serial.*;
// xbee api libraries available at http://code.google.com/p/xbee-api/
// Download the zip file, extract it, and copy the xbee-api jar file
// and the log4j.jar file (located in the lib folder) inside a "code"
// folder under this Processing sketch's folder (save this sketch, then
// click the Sketch menu and choose Show Sketch Folder).
import com.rapplogic.xbee.api.ApiId;
import com.rapplogic.xbee.api.PacketListener;
import com.rapplogic.xbee.api.XBee;
import com.rapplogic.xbee.api.XBeeResponse;
import com.rapplogic.xbee.api.zigbee.ZNetRxIoSampleResponse;
String version = "1.01";
// *** REPLACE WITH THE SERIAL PORT (COM PORT) FOR YOUR LOCAL XBEE ***
String mySerialPort = "/dev/tty.usbserial-A1000iMG";
// create and initialize a new xbee object
XBee xbee = new XBee();
// make an array list of thermometer objects for display
ArrayList thermometers = new ArrayList();
// create a font for display
PFont font;
void setup() {
size(800, 600); // screen size
smooth(); // anti-aliasing for graphic display
// You'll need to generate a font before you can run this sketch.
// Click the Tools menu and choose Create Font. Click Sans Serif,
// choose a size of 10, and click OK.
font = loadFont("SansSerif-10.vlw");
textFont(font); // use the font for text
// The log4j.properties file is required by the xbee api library, and
// needs to be in your data folder. You can find this file in the xbee
// api library you downloaded earlier
PropertyConfigurator.configure(dataPath("")+"log4j.properties");
// Print a list in case the selected one doesn't work out
println("Available serial ports:");

154 | Chapter 5:API and a Sensor Network

You might also like