د VPN له لارې ROS 1 موضوعات: اعلان شوې پای ټکي تعقیب کړئ
په ROS 1 کې master راجستر د موضوع معلومات نه وړي. اعلان شوی د نوډ URI ولولئ، هغه پته د لارښوونې وړ کړئ، بیا د خپرونکي پورټ اجازه ورکړئ.
ستاسو کاري سټیشن د تونل له لارې ROS 1 master ته رسیږي او بیا هم د موضوعاتو لیست خالي ښیي۔ دا بڼه عامه ده ځکه چې master راجستر او د موضوعاتو لېږد دوه جلا خبرې اترې دي، او له master څخه یوازې لومړی تېریږي۔ لاندې چک لیست دوهمه خبره اتره تېروي: هغه پای ټکی چې خپرونکی یې اعلانوي، هغه پته چې ګډونوال باید ورته ورسیږي، او هغه اجازه چې دواړو ته د خبرو کولو اجازه ورکوي۔ دلته هر څه یوازې زوړ ROS 1 ته اړه لري، چې د Noetic ملاتړ موده یې په 2025 کال کې د مې په میاشت کې پای ته ورسیده۔
ګام 1: ثابته کړئ چې د master اړیکه د موضوع اړیکه نه ده
د هغه څه جلا کولو سره پیل وکړئ چې کار کوي له هغه څخه چې نه کار کوي۔ بریالی rostopic list ثابته کوي چې ستاسو شیل د master د XMLRPC پورټ ته رسیږي او master د موضوعاتو په اړه پوهیږي؛ دا د دې په اړه هیڅ نه وایي چې ګډونوال کولای شي خپرونکي ته ورسیږي که نه۔ لاندې درې امرونه دا توپیر ښکاره کوي، او ټول یوازې د لوستلو لپاره دي۔
echo "$ROS_MASTER_URI"
rostopic list
rostopic info /chatter
د rostopic info پایله د خپرونکي د نوډ URI نوم اخلي، کوم چې د خپرونکي په کوربه کې XMLRPC پته ده۔ همدا پته ستاسو ګډونوال بل ځل غواړي، نو باید له هر ځایه چې ګډونوال چلیږي هلته ورسیږي۔ که دا داسې انټرفیس ته اشاره وکړي چې یوازې د روبوټ په خپل LAN کې شته، master پلټنه بریالۍ کیږي او معلومات هیڅکله نه رسیږي۔
ګام 2: اعلان شوې پای ټکی له خپل نوډ څخه ولولئ
ROS 1 خپل اعلان شوی کوربه هویت له ROS_IP یا ROS_HOSTNAME څخه غوره کوي کله چې یو یې ټاکل شوی وي، او که نه نو د کوربه خپل نوم حل ته ورګرځي۔ د هغه پروسې چاپیریال وګورئ چې واقعاً پیل شوې، ځکه چې systemd واحد، کانټینر یا دوهم ټرمینل کولای شي ستاسو د ازموینې له شیل څخه بېل ارزښت ولري۔
echo "$ROS_IP" "$ROS_HOSTNAME"
rosnode info /talker
getent hosts robot-host
د کوربه نوم اعلان یوازې هغه وخت کار کوي کله چې هر همکار هغه نوم د پام وړ د لاسرسي وړ پتې ته حل کړي۔ که هغه نوم یوازې د روبوټ په خپله شبکه کې حل شي، د تونل بلې غاړې کاري سټیشن د هغې د کارولو هیڅ لاره نه لري، او هغه VPN چې هیڅ DNS پسوند نه ټېله کوي هغه ناسمونې نوره هم خرابوي۔ کله چې ټوپولوژي لارښوونکې وي، د ROS_IP د تونل پتې ته ټاکل کوچنی بدلون دی۔ هر څه چې غوره کړئ، د دواړو پایونو لپاره یې ولیکئ، ځکه چې د هویت په اړه ناسمونکي خپرونکی او ګډونوال به خبرې وکړي او بیا به ونه توانيږي چې وصل شي۔
که اعلان شوی URI داسې پته وکاروي چې هیڅ همکار یې لارښوونه نه شي کولای، دلته ودروئ۔ هیڅ د اور دیوال کار به هغه نوم جوړ نه کړي چې غلط انټرفیس ته حل کیږي۔
ګام 3: اعلان شوې پته د حل وړ او لارښوونکې وګرځوئ
URI په لاس کې، د لاسرسي وړتیا له روبوټ څخه نه بلکې د ګډونوال له کوربه ازموئ۔ TCPROS پورټ د خبرو اترو په جریان کې غوره کیږي، نو ګټور لومړنی ازموینه XMLRPC پورټ دی او ګټور وروستی ازموینه جوړ شوی ساکټ دی۔ هغه لار چې یوازې په یوه لوري شته، په لارښوونکو VPN کې عامه خرابي ده، او د بېرته راتلو لار د تلو لارې په څیر مهمه ده۔
ip route get 10.70.0.2
nc -vz 10.70.0.2 33911
ss -tnp dst 10.70.0.2
لارښوونکې TUN انټرفیس دا IP خبرې اترې وړي پرته له دې چې د روبوټ Ethernet برخه پراخه کړي، کوم چې معمولاً لرې آپریټر غواړي۔ که په سټیک کې څه شی د دې پرځای پر broadcast یا multicast تکیه وي، هغه اړتیا باید جلا ارزول شي؛ د یوې وسیلې د خوښولو لپاره تونل TAP ته بدلول هر ګډونوال لپاره شبکه پراخوي۔
که لار یا د بېرته راتلو لار نشته، دلته ودروئ۔ هغه خپرونکی چې په خپل کوربه ځواب وایي خو له کاري سټیشن څخه ورته لاسرسی نشته، د لارښوونې ستونزه لري، د ROS ستونزه نه۔
ګام 4: د همکارانو خبرې اترې اجازه کړئ او یوه موضوع وګورئ
یوازې هغه پورټونه پرانیزئ چې خبرې اترې ته اړین دي، او هر قانون یوازې اعلان شوو ګډونوالو ته محدود کړئ۔ د master اورېدونکی د موضوعاتو بار لپاره ریلې نه دی، نو یوازې د هغه اجازه ورکول د خپرونکي پای ټکی بند پاتې کوي۔ ROS اورېدونکي د خصوصي VPN په پوله کې وساتئ، د دې پرځای چې دوی عامه انټرنیټ ته ښکاره کړئ۔
rostopic hz /chatter
rostopic echo -n1 /chatter
rosnode ping /talker
له ریښتیني خپرونکي څخه ریښتیني ګډونوال ته یوه بې زیانه موضوع وګورئ او اعلان شوې پای ټکی او د ځواب لار دواړه تایید کړئ۔ یو پیغام ثابته کوي چې لار کار کوي؛ ثابته کچه ثابته کوي چې لار پرانیستې پاتې کیږي۔ د اکچویټر کنټرول او د خوندیتوب ازموینې له دې یوازې شبکې ازموینې بهر وساتئ، ځکه چې کار کوونکې موضوع کار کوونکی روبوټ تصدیق نه کوي۔ هغه ROS نسخه او د پای ټکو جوړه چې تاسو لیدلې ولیکئ، تر څو بل کس د ټوپولوژي بدلون له رېګریشن څخه جلا وپیژني۔
چک لیست هغه وخت بشپړیږي کله چې اعلان شوی URI له ګډونوال څخه د لاسرسي وړ وي، خبرې اترې شوی پورټ یوازې هغه همکار ته پرانیستی وي، یوه اعلان شوې موضوع بهیږي، او د چاپیریال ارزښتونه د دواړو کوربه لپاره لیکل شوي وي۔ زوړ ROS 1 به په دې برخه کې سمونونه ونه مومي، نو ریکارډ هغه برخه ده چې د خلکو له بدلون وروسته هم کار ته دوام ورکوي۔