µÚÒ»·¶ÎÄÍø - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

TinyOS 2.x ÈëÃÅ½Ì³Ì - ͼÎÄ

À´Ô´£ºÓû§·ÖÏí ʱ¼ä£º2025/5/25 15:48:35 ±¾ÎÄÓÉloading ·ÖÏí ÏÂÔØÕâÆªÎĵµÊÖ»ú°æ
˵Ã÷£ºÎÄÕÂÄÚÈݽö¹©Ô¤ÀÀ£¬²¿·ÖÄÚÈÝ¿ÉÄܲ»È«£¬ÐèÒªÍêÕûÎĵµ»òÕßÐèÒª¸´ÖÆÄÚÈÝ£¬ÇëÏÂÔØwordºóʹÓá£ÏÂÔØwordÓÐÎÊÌâÇëÌí¼Ó΢ÐźÅ:xxxxxxx»òQQ£ºxxxxxx ´¦Àí£¨¾¡¿ÉÄܸøÄúÌṩÍêÕûÎĵµ£©£¬¸ÐлÄúµÄÖ§³ÖÓëÁ½⡣

TinyOS Programming

Received packet sequence number 6 Sending packet 4 Received packet sequence number 7 Received packet sequence number 8 Sending packet 5 Received packet sequence number 9 6.2 ´®¿ÚÖúÊÖ£ºPCÉÏÏÔʾ´Ó´®¿Ú¶ÁÈ¡µÄÊý¾Ý

ÎÒÃÇ¿ÉÒÔÖ±½ÓÓÃTinyOS×Ô´øµÄһЩ¹¤¾ß²é¿´´®¿ÚÊÕµ½µÄÊý¾Ý£¬Ò²¿ÉÒÔÏÂÔØÒ»Ð©µÚÈý·½´®¿ÚÈí¼þ¶ÁдÈí¼þ£¬ÉõÖÁ×Ô¼º±àд¡£

1£©ÓÃTinyOS×Ô´øµÄ¹¤¾ß£¬Ê×ÏÈÒªÖªµÀÄãµÄTelosb½ÚµãËùÕ¼ÓõĶ˿ڣ¬ÒªÖªµÀËùÕ¼ÓõĶ˿ڣ¬´ò¿ªCygwin£¬ÊäÈëmotelistÃüÁî¼´¿É£¬ÀýÈ磺COM17¡£È»ºó£¬ÊäÈ룺java net.tinyos.sf.SerialForwarder ¨Ccomm serial@COM17:57600£¬Èçͼ6.1Ëùʾ£¬×¢ÒâÕâ¸öCOM17£¬¼´¿ÉÆô¶¯TinyOS×Ô´øµÄ´®¿ÚÊý¾Ý²é¿´¹¤¾ßÖ®Ò»¡£ÆäÖÐ7D֮ǰ£¨°üÀ¨7D£©ÊÇһЩЭÒé»òÆäËüÊý¾Ý£¬ÕæÕý·¢Ë͵ÄÊý¾ÝÖ»ÓÐ7DºóÃæµÄÊý¾Ý¶øÒÑ£¡

ͼ6.1 ʹÓÃTinyOS×Ô´ø´®¿Ú¹¤¾ß

2£©ÓõÚÈý·½Èí¼þ£¬ÔÚ´ËÎÒÃÇʹÓÃÒ»¸ö½Ð×ö¡°´®¿ÚÖúÊÖ¡±£¨´ò¿ªºó±êÌâÀ¸Îª¡°´®¿ÚÖúÊÖ¡±£©µÄ´®¿Ú¶Áд¹¤¾ß£¬¸Ã¹¤¾ß¿ÉÒÔÔÚwindowsƽ̨ÔËÐУ¬ÏÂÔØµØÖ·ÔÚ¸½Â¼Ò»ÓÐ˵Ã÷¡£´®¿ÚÖúÊÖʹÓÃÒ²ºÜ¼òµ¥£¬Ê×ÏȽøÐС°´®¿ÚÅäÖá±£¬µ¥»÷¡°´®¿ÚÅäÖá±°´Å¥£¬µ¯³öÒ»¸ö¶Ô»°¿ò£¬Èçͼ6.2Ëùʾ£¬Ñ¡ÔñÏàÓ¦µÄ¶Ë¿Ú (port) ºÍ²¨ÌØÂÊ (Baud rate)£¬µ¥»÷¡°OK¡±¼´¿É¡£×¢Ò⣺²¨ÌØÂÊΪ57600£¡

ͼ6.2 ÅäÖô®¿Ú

Page 38 of 94

TinyOS Programming

È»ºóÑ¡Ôñ16½øÖÆÏÔʾ£¬¼´¡°HEXÏÔʾ¡±¡£¾Í¿ÉÒÔÒÔ16½øÖƵÄÐÎʽ²é¿´´Ó´®¿Ú½ÓÊÕµ½µÄÊý¾ÝÁË¡£Èçͼ6.3Ëùʾ£º

ͼ6.3 µÚÈý·½´®¿Ú¹¤¾ß½ÓÊÕÊý¾Ý

ÔÚµÚÈý·½´®¿Ú¶ÁдÈí¼þ¡°½ÓÊÕÇø¡±¿ÉÒÔ¿´µ½£¬½ÓÊÕTelosb½Úµã·¢Ë͹ýÀ´µÄÒ»¸öÊý¾Ý°ü£¬Êý¾ÝÁ¿ËƺõÒª±ÈTinyOS×Ô´øµÄ´®¿Ú¶Áд¹¤¾ßµÄÊý¾ÝÁ¿¶àºÜ¶à¡£Æäʵ£¬TinyOS×Ô´øµÄ¹¤¾ß¸úµÚÈý·½Èí¼þ¶ÁÈ¡µ½µÄÊý¾ÝÊÇÒ»ÑùµÄ£¡¶¼ÊǵÚÈý·½Èí¼þÏÔʾµÄÄÇЩÊý¾Ý£¬Ö»²»¹ýTinyOS×Ô´øµÄ¹¤¾ßÊÇÊìϤTinyOS´®¿ÚÊý¾ÝµÄÈËÔ±±àдµÄ£¬È¥µôÁËһЩЭÒéÊý¾Ý¶øÒÑ£¬ÀýÈç£ºÇ°ÃæµÄ7E 42¼°ºóÃæµÄ93 01 7EµÈÊý¾Ý¡£ÕæÕýµÄÊý¾ÝÊÇ5DºóÃæµÄijЩÊý¾Ý£¨±¸×¢£º×îºóÃæÈý¸öÊý¾Ý²»ÊÇ£©£¬¼´ºìÉ«·½¿òȦסµÄÊý¾Ý£¬¾ßÌåµÄÊý¾ÝÁ¿¸úÄã·¢Ë͵ÄÊý¾ÝÁ¿Ò»Ö¡£

6.3 Telosb´Ó´®¿Ú¶ÁÈ¡Êý¾Ý

Ò»°ãÀ´Ëµ£¬Ö»ÓиúPCÁ¬½ÓµÄTelosb½Úµã²ÅÐèÒª¶ÁÈ¡´®¿ÚµÄÊý¾Ý¡£ÕâЩÊý¾Ý²»»áÌ«¶à£¬Ò²²»»áÌ«¸´ÔÓ£¬ËùÒÔ±ÊÕßʹÓÃTelosb¶ÁÈ¡´®¿ÚÊý¾Ýʱ£¬Ê¹ÓÃHPLUART½Ó¿Ú£¬»òÕßʹÓñÊÕß×Ô¼º±àдµÄ´®¿Ú×é¼þ¶ÁÈ¡´®¿ÚÊý¾Ý¡£HPLUART½Ó¿Úÿ´Î½ÓÊÕ»ò·¢ËÍÒ»¸ö×Ö½ÚµÄÊý¾ÝÖÁ´®¿Ú¡£

ÏÖÔÚÀ´¿´¿´HPLUART½Ó¿Ú£¬Æä¶¨ÒåÈçÏ£¬´ó¼Ò¿ÉÒÔÔÚtinyos-2.x\\tos\\interfaces Ŀ¼ÏÂÕÒµ½¸Ã½Ó¿ÚµÄ¶¨ÒåÎļþ£º

interface HPLUART { /*³õʼ»¯´®¿Ú*/ async command result_t init(); /*Í£Ö¹´®¿Ú*/ async command result_t stop(); /*·¢ËÍÒ»¸ö8bitµÄÊý¾Ý*/ async command result_t put(uint8_t data); /*Èô´®¿Ú½ÓÊÕµ½Ò»¸ö×Ö½ÚµÄÊý¾ÝÔò´¥·¢´Ëʼþ*/ async event result_t get(uint8_t data); /*·¢ËÍÒ»¸ö×Ö½ÚÊý¾ÝÍê±Ï´¥·¢´Ëʼþ*/ async event result_t putDone(); } ´ÓÉÏÃæ´úÂë´ó¼Ò¿ÉÒÔ¿´µ½£¬¸Ã½Ó¿ÚÏ൱¼òµ¥£¬Ê¹Óúܷ½±ã£¬ÓÈÆäÊÇÊý¾ÝÁ¿²»¶àʱÊÇ×îºÃµÄÑ¡Ôñ£¡¸Ã½Ó¿ÚÓÉHPLUARTC×é¼þÌṩ£¬´ó¼Ò¿ÉÒÔÔÚ´ËĿ¼ÕÒµ½´ËÎļþ£ºtinyos-2.x\\tos\\platform\\telos¡£

Page 39 of 94

TinyOS Programming

ÏÂÃæÈÃÎÒÃÇ¿´Ò»¸öʹÓÃHPLUART½Ó¿Ú¶ÁÈ¡´®¿ÚÊý¾ÝµÄ·Ç³£¼òµ¥µÄʾ·¶³ÌÐò£ºtestHPLUART¡£¸Ã³ÌÐòÔÚtinyos-2.xĿ¼ÏÂÊÇÕÒ²»µ½µÄ£¬ÊDZÊÕß×Ô¼º±àдµÄ¼òµ¥³ÌÐò¡£

Ê×ÏÈ£¬¿´¿´testHPLUARTMÄ£¿éµÄ´úÂ룺 module testHPLUARTM { uses { interface HPLUART; interface Leds; } provides interface StdControl; }

implementation { command result_t StdControl.init() { call Leds.init(); call Leds.redOff(); call Leds.greenOff(); call Leds.yellowOff(); return SUCCESS; } command result_t StdControl.start() { call HPLUART.init(); return SUCCESS; } command result_t StdControl.stop() { call Leds.set(0); call HPLUART.stop(); return SUCCESS; } async event result_t HPLUART.putDone() { return SUCCESS; }

async event result_t HPLUART.get(uint8_t data) { uint8_t tmp; atomic tmp = data; if(1 == tmp) { call Leds.redToggle(); }

Page 40 of 94

TinyOS Programming

} } else if(2 == tmp) { call Leds.greenToggle(); } else if(3 == tmp) { call Leds.yellowToggle(); } return SUCCESS; Õâ¸öÄ£¿éʹÓÃHPLUART½Ó¿ÚÖеÄgetʼþ»ñÈ¡´®¿ÚµÄÊý¾Ý£¬´ó¼ÒÂÔΪעÒâһϼӴֵIJ¿·Ö¾ÍÐÐÁË£¬²»¹ýÖµµÃÖ¸³öµÄÊÇ£ºÊ¹ÓÃHPLUART½Ó¿Ú½Ó·¢Êý¾Ý֮ǰҪ³õʼ»¯´®¿Ú¡£

½ÓÏÂÀ´¿´¿´testHPLUARTÅä¼þµÄ´úÂ룺 configuration testHPLUART { } implementation { components Main ,LedsC ,HPLUARTC ,testHPLUARTM ; Main.StdControl -> testHPLUARTM; testHPLUARTM.Leds -> LedsC; testHPLUARTM.HPLUART ->HPLUARTC; } ÉÏÊö´úÂëÖУ¬ÐèҪעÒâµÄͬÑùÊÇ×ÖÌå¼Ó´ÖµÄÓï¾ä¡£

6.4 OscilloscopeÓ¦ÓóÌÐò¡ª¡ªÊý¾Ý¸ÐÖª

½ÚµãÉϵijÌÐòÔÚÎļþ¼Ð£ºtinyos-2.x\\apps\\Oscilloscope¡£´Ë³ÌÐò´ÓÄÚ²¿Î¶ȴ«¸ÐÆ÷ÿ¶Á10¸öÊý¾Ý¾Í°Ñ²É¼¯µ½µÄÊý¾Ý¹ã²¥³öÈ¥¡£¼´OscilloscopeÖÜÆÚÐԵĽ«´«¸ÐÆ÷¶ÁÈ¡µÄÊý¾Ý·¢Ë͵½»ùÕ¾½Úµã¡£

³ÌÐòʹÓõÄÊÇĬÈϵĴ«¸ÐÄ£¿é£¬ÎÒÃÇ¿ÉÒÔÓÃÈçÏÂÓï¾ä¶ÔÆä½øÐбàÒ룺 SENSORBOARD= make ͬʱ£¬ÎÒÃÇ¿ÉÒÔͨ¹ýÐÞ¸ÄOscilloscopeAppC.ncÅäÖÃÎļþ¶Ô³ÌÐòËùµ÷ÓõÄĬÈϵÄ̽²âÄ£¿é£¬ÈçζÈ̽²â¡¢¹âǿ̽²âµÈ¡£

Ê×ÏÈ£¬ÈÃÎÒÃÇÂÔΪä¯ÀÀÒ»ÏÂOscolloscopeCÄ£¿éµÄ´úÂ룺

#include \#include \ module OscilloscopeC @safe()

Page 41 of 94

ËÑË÷¸ü¶à¹ØÓÚ£º TinyOS 2.x ÈëÃÅ½Ì³Ì - ͼÎÄ µÄÎĵµ
TinyOS 2.x ÈëÃÅ½Ì³Ì - ͼÎÄ.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c1fkq86cfyf6msok1o3zn_11.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©

Ïà¹ØÍÆ¼ö£º

ÈÈÃÅÍÆ¼ö
Copyright © 2012-2023 µÚÒ»·¶ÎÄÍø °æÈ¨ËùÓÐ ÃâÔðÉùÃ÷ | ÁªÏµÎÒÃÇ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£ºxxxxxx ÓÊÏ䣺xxxxxx@qq.com
ÓåICP±¸2023013149ºÅ
Top