## For instruction on writing tutorials
## http://www.ros.org/wiki/WritingTutorials
####################################
##
== Python Kullanılarak Yayıncı (Publisher) ve İzleyici (Subscriber) Düğümleri Yazma ==
=== Publisher Düğümü Yazma ===
“Düğüm” tabiri ROS jargonunda, birbiriyle haberleşen, programlanabilir bağlantılar olarak bilinir. Bu kısımda mesaj yayını yapan bir publisher (talker) düğümünün nasıl yazıldığı açıklanmaktadır.Bununla ilgili örnek dizisi aşağıda sıralanan işlemlerdeki gibidir.

 * Öncelikle beginner_tutorials paketine gidilir.
  ||''$ roscd beginner_tutorials'' ||



 * Bu paket içine ‘scripts’ adında bir klasör kurulur.Bu klasör yazılacak Python kodlarını muhafaza edecektir.
  ||''$ mkdir scripts'' ||
  ||''$ cd scripts'' ||



 * Hali hazırda daha önce yazılmış ‘talker.py’ kodları, açılan scripts klasörüne indirilir ve çalıştırılabilir hale (executable) getirilir.
  ||''$ wget https://raw.github.com/ros/ros_tutorials/kinectic-devel/rospy_tutorials/001_talker_listener/talker.py'' ||
  ||''$ chmod +x talker.py'' ||


 * “$ rosed beginner_tutorials talker.py” komutu ile indirilen kodlara bakılabilir/düzenlenebilir.

Kodlar aşağıdaki şekilde verilmiştir.

--- [[attachment:talker.py]]

=== Subscriber Düğümü Yazma ===
Subscriber düğümü için gereken Python kodları “listener.py” adındaki bir kod dosyası şeklinde scripts dosyasına aşağıdaki komutlarla indirilebilir.

 ||''$ roscd beginner_tutorials/scripts'' ||
 ||''$ wget https://rawgithub.com/ros/ros_tutorials/kinetic-devel/rospy_tutorials/001_talker_listener/listener.py'' ||



Listener.py kod dosyası aşağıdaki şekildeki gibidir.

-- [[attachment:listener.py]]

Bu dosyanın çalıştırılabilir hale getirilmesi unutulmamalıdır.

 ||''$ chmod +x listener.py'' ||



=== Düğümleri Yapılandırma ===
Python kodlarıyla kurulan düğümlerin catkin_ws içinde ‘catkin_make’ komutu ile CMake’e yazılıp yapılandırılması gerekir.Bunun için gereken komutlar aşağıdaki gibidir.

 ||''$ cd ~/catkin_ws'' ||
 ||''$ catkin_make'' ||



####################################
## for a custom note with links:
## note =
## for the canned note of "This tutorial assumes that you have completed the previous tutorials:" just add the links
## note.0=
## descriptive title for the tutorial
## title = Python Kullanılarak Yayıncı (Publisher) ve İzleyici (Subscriber) Düğümleri Yazma
## multi-line description to be displayed in search
## description = Bu kısımda takipçi ve yayıncı düğümlerinin Python’da nasıl yazılacağı açıklanmıştır.
## the next tutorial description (optional)
## next =
## links to next tutorial (optional)
## next.0.link=
## next.1.link=
## what level user is this tutorial for
## level= (BeginnerCategory, IntermediateCategory, AdvancedCategory)
## keywords =
####################################
<<IncludeCSTemplate(TutorialCSHeaderTemplate)>>

<<TableOfContents(4)>>

## AUTOGENERATED DO NOT DELETE
## TutorialCategory
## FILL IN THE STACK TUTORIAL CATEGORY HERE