(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

Ağ Ayarları

Description: Evarobot ile bağlantı için yapılması gereken ağ ayarları.

Tutorial Level: BEGINNER

Ağ Ortamı

Ağ ayarları, bilgisayar ve Evarobot için olmak üzere iki kategori altında toplanmıştır.

Bilgisayar için Ağ Ayarları

Evarobot'a üzerinde bulunan modem sayesinde kablosuz olarak bağlanmak mümkündür. Takip eden bölümde bağlanmak istediğiniz PC'nin ağ ayarlarını yapmak için yapmanız gerekenler anlatılacaktır. Anlatım sırasında kullanılacak PC üzerinde Ubuntu 14.04 işletim sistemi çalışmaktadır ve ROS versiyonu olarak Indigo kullanılmaktadır.

Evarobot'a kablosuz olarak bağlanmak için SSH kullanılacaktır. Bilgisayarınıza kurmak için terminalde aşağıdaki kodu çalıştırmalısınız.

> sudo apt-get install ssh ssh-contact-service ssh-contact-client

Ağ ayarlarını yaparken bilgisayarınızın adını bilmek gerekmektedir. Aşağıdaki kodu terminalde çalıştırdığınızda bilgisayarınızın adını öğrenebilirsiniz.

> hostname


hostname.png


Resimde de gördüğünüz gibi örneğimizde kullanacağımız bilgisayarın hostname'i evarobotserver. Uygulamada <hostname> yazan yere biz evarobotserver yazacağız. Sizde kendi hostname'inizi yazmanız gerekmektedir.

bashrc isimli dosyanın içerisinde ROS_HOSNAME ve ROS_MASTER_URI değişkenlerini tanımlamamız gerekmedir. Bunun için gedit editörü ile ilgili dosyayı açıyoruz.

> gedit ~/.bashrc

Açılan editörde en alltaki satıra kendi hostname'inizi yazmalı ve kaydederek editörü kapatmalısınız.

export ROS_HOSTNAME=<hostname>
export ROS_MASTER_URI=http://<hostname>:11311

Uygulamada kullanıdığımız bilgisayar için aşağıdaki gibi ekleme yapıyoruz.

export ROS_HOSTNAME=evarobotserver
export ROS_MASTER_URI=http://evarobotserver:11311

bashrc içerisinde herhangi bir değişiklik yapıldığında terminalde değişikliklerin uygulanması için açık terminalleri kapatıp yeniden açmalı ya da açık olan her terminalde aşağıdaki kodun çalıştırılması gerekmektedir.

> bash

ROS değişkenlerini tanımladıktan sonra, host isimlerini ip adresleri ile ilişkilendireceğiz. Bunun için aşağıdaki gibi super kullanıcı olarak 'hosts' isimli dosyayı açıyoruz.

> sudo gedit /etc/hosts

gedit editörü ile açtığımız 'hosts' dosyası içerisine Evarobot ve kendi bilgisayarımız için ip ve hostname bilgilerini giriyoruz. Burada dikkat edilmesi gereken konu, aynı ip birden fazla hostname'e atanmamalıdır.

192.168.3.70 <hostname>
192.168.3.10 evarobotDSK

Örnekte kullandığımız bilgisayar için aşağıdaki gibi ekleme yaptık. Sizde kendi bilgisayarınızın hostname'ine uygun olarak düzeltme yapmalısınız.

192.168.3.70 evarobotserver
192.168.3.10 evarobotDSK

Çoklu roscore çalıştırmak için multimaster_fkie ros paketi kullacağız. Bilgisayar Kurulumu uygulamasında bu paketin indirilmesi anlatılmaktadır. Aşağıdaki kod ile düzeltme yapacağımız launch dosyasını gedit editörü ile açıyoruz.

> roscd master_discovery_fkie/launch/
> gedit master_discovery.launch

Açılan editörde aşağıdaki bilgiyi içeren satırı,

<param name="mcast_group" value="226.0.0.0" />

aşağıdaki gibi değiştirip, kaydederek kapatıyoruz.

<param name="mcast_group" value="224.0.0.0" />

PC NTP Server Ayarları

Evarobot ile bilgisayar arasında zaman eşitlemesinin yapılması gerekmektedir. Bunun için bilgisayarı ntp server olarak ayarlayacağız. Böylece, Evarobot bilgisayara göre saatini ayarlayacaktır.

Ntp'nin indirilmesi için aşağıdaki kodu terminalde çalıştırıyoruz.

> sudo apt-get install ntp

NTP ayarlarını yapmak için 'ntp.conf' dosyası açılır.

> sudo gedit /etc/ntp.conf

Editörde 23. satıra aşağıdaki satırlar eklenir.

server 127.127.1.0
server 127.127.1.0 stratum 10

52. satıra ise aşadaki satırlara eklenir ve dosya kaydedilerek kapatılır.

broadcast evarobotDSK

Bilgisayar bir ağda client gibi çalışarak internetten saatini güncellerken, evarobot_wifi ağına girdiğinde ntp sunucu gibi çalışması için yeniden başlatmak gerekmektedir. Bu sebepten dolayı, evarobot_wifi isimli ağa her girildiğinde aşağıdaki kod terminalde çalıştırılarak ntp sunucunun yeniden başlatılması gerekmektedir.

> sudo /etc/init.d/ntp restart

NTP ağındaki bilgisayarlar hakkında bilgi almak için aşağıdaki kod kullanılabilir.

> ntpq --numeric --peers

evarobot_wifi ağı için ip ayarlarının yapılması

Bu kısımda evarobot_wifi ağından 192.168.3.70 ip'sini statik olarak almak için ayarlar yapacağız. Evarobot'a güç verdiğinizde bir kaç dakika içerisinde evarobot_wifi isimli ağı görebilirsiniz.

Modem bilgileri:
SSID: evarobot_wifi
Şifre: inomuh2015

Aşağıdaki resimlerdeki 'evarobot_wifi' isimli ağa girilir.

evarobot_wifi1.png


evarobot_wifi2.png


Ağdan şu anda dhcp tarafından otomatik bir ip atandı. Aşağıdaki resimlerdeki gibi 'Edit Connections..'a tıklandığında açılan ekran evarobot_wifi seçilerek 'Edit' butonuna basılır.

evarobot_wifi3.png


evarobot_wifi4.png


Açılan ekranda 'IPv4 Settings' sekmesi altında 'Method' Manual seçilerek resimdeki gibi adresler eklenir. Address: 192.168.3.70 Netmask: 255.255.255.0 Gateway: 192.168.3.1

evarobot_wifi5.png


Yeni girilen ayarların aktif olması için resimdeki gibi Wifi Enable ve ardından Disable edilir. Daha sonra evarobot_wifi ağına girilir.

evarobot_wifi6.png


evarobot_wifi7.png


Eğer ayarlamalar hatasız bir şekilde yapıldı ise terminalde aşağıdaki kod çalıştırıldığında resimdeki gibi bilgisayarın 192.168.3.70 no ip'yi almış olması beklenmektedir.

> ifconfig


evarobot_wifi8.png


Böylece bilgisayarınızın Evarobot ile sorunsuz haberleşebilmesi için, bilgisayar tarafında yapılması gerekli olan ayarlamaları yapmış bulunmaktasınız.

Evarobot için Ağ Ayarları

/!\ Evarobot ağ ayarlarını yapmadan önce Bilgisayar Ağ Ayarlarını yapmış olmasınız.

evarobot_wifi ağına statik ip ile bağlandıktan sonra, ssh ile Evarobot'a bağlanılır. (Şifre: 12345)

> ssh pi@evarobotDSK

Evarobot içerisindeki 'hosts' isimli dosyaya kendi bilgisayarımızın adını ve IP'sini eklemek için açıyoruz. Evarobot'a ssh ile bağlandığımız için içeride görsel bir şey çalıştırmak mümküm değildir. Bu yüzden gedit editörü yerine nano editörünü kullanıyoruz.

> sudo nano /etc/hosts

Aşağıdaki gibi eklemeye yapacağız. Hostname yerine bilgisayarımızın hostname'i yazacağız.

192.168.3.70 <hostname>

Örnek için kullandığımız bilgisayar için aşağıdaki gibi bir giriş yapıyoruz.

192.168.3.70 evarobotserver

Kaydederek çıkmak için Ctrl + X tuş kombinasyonunu kullanıyoruz. Kaydetmek isteyip istemediğimizi soracak Y tuşuna basıyoruz. Ardından dosya isminde değişiklik yapmadan Enter'a basıyoruz.

Evarobot NTP Ayarları

Evarobot'un bilgisayarınız ile zaman eşitlemesi yapması için bilgisayar tarafında yapılan ayarlara benzer bir ayarlama da Evarobot tarafında yapmak gerekmektedir.
Bunun için nano editörü ile ntp.conf dosyasını açıyoruz.

> sudo nano /etc/ntp.conf

Açılan dosyada 22. satıra aşağıdaki kodu, hostname olarak bilgisayarınızın adı gelecek şekilde düzenleme yaparak eklemeniz gerekmektedir. nano editöründe imlecin hangi satırda olduğunu öğrenmek için Ctrl+C tuş kombinasyonunu kullanabilirsiniz.

server <hostname> iburst

Örneğimiz için biz aşağıdaki kodu yapıştırdık. Sizde kendinize göre düzenlemeyi unutmayınız.

server evarobotserver iburst

Dosyanın en sonundaki iki satırın başında # işaretlerini siliniz.

#disable auth
#broadcastclient

Son iki satırıda aşağıdaki formata getirdikten sonra Ctrl+X ile değişiklikleri kaydederek çıkalım.

disable auth
broadcastclient

Aşağıdaki kodu teminalde çalıştırarak ntp'yi yeniden başlatmalısınız.

> sudo /etc/init.d/ntp restart

Böylece Evarobot Ağ Ayarlarını tamamlamış bulunmaktayız. Bir sonraki tutorial'a geçebilirsiniz.

Wiki: Robots/evarobot/tr/Tutorials/indigo/Network Configuration (last edited 2015-09-01 11:21:57 by makcakoca)