Forum
Merhaba,
Üniversitede hobi olarak çalıştığım projede 16 bit mikrodenetleyicili bir sistemim var. Bu sistem bazı otomatik kontrol işlemlerini yerine getiriyor ve sistemin RTC si ile saat ve tarih bazlı işlemler yapıyor.
Bu sisteme arkadaşım NTP server ile bağlanarak RTC mi güncellemek istiyor. Benim sistemin ve karşı tarafın sabit IP si olacak. Ben oradan belli aralıklar ile zaman bilgisi isteyeceğim.
Network konusunda açıkçası pek deneyimli değilim. Ancak NTP protokolünü araştırdığımda benim C ve ya C++ dilini kullanarak mikrodenetleyiciye NTP protokolünü geçirmem oldukça zor gibi geldi. (Yoksa zor değil mi NTP protokolü- paket yapısı- zaman hesaplaması? checksum-ACK gerekiyor mu?)
Bu yüzden şöyle bir şey aklıma geldi. Raspberry Pi ( http://www.mcu-turkey.com/linux-tabanli-raspberry-pi-incelemesi/ ) adında bir geliştirme kiti var. Bu kitdeki işlemciye Raspbian (linux tabanlı) adında bir işletim sistemi kurulabiliyor. Ayrıca bu kit üzerinde 2 adet USB girişi ve LAN bağlantısı var.
Bu kit arkadaşın NTP Server üzerinden saat bilgisini alacak (LAN üzerinden) bende bu bilgiyi kitin USB sinden kendi sistemime alacağım.
(Bu harici kit üzerine kurulu linux sistemin ntp.conf dosyası mevcut. Bu dosyada sadece server xxxxxx(karşı tarafın ipsi) olarak değiştiricem ve bir rutin komutu hazırlayıp belirli aralıklarla update etmesini sağlayacağım)
Şimdilik bu fikir aklıma yattı :).
Ancak sizlerin bana önerebileceğiniz bir sistem var mı? Mesela NTP protokolüyle çalışıp benim ordan daha rahat bir protokol ile direk zaman bilgisine ulaşabileceğim bir şey?
Umarım derdimi anlatabilmişimdir.
Yorumlarınız için şimdiden teşekkür ederim.
Programcılık konusunda çok bir bilgim yok lakin bahsi geçen sistem üzerinde python, perl gibi program yazan programların programcıklarını kullanıyorsan opensource dünyasında hali hazırda yazılmış olan programları kullanabilirsin.
http://stackoverflow.com/questions/13011532/get-time-date-from-server-with-sntpwindows-c
C ile bir şeyler yapmışlar ama çok anlamadım.
Aslında hazır C/C++ kütüphane varsa NTP protokolü için işim çok kolay. Çünkü mevcut sistemin LAN girişi var. UDP ile NTP server a bağlanıp belirli periyotlarla zaman bilgisini isteyecek gelen veriyi kütüphanedeki fonksiyonlarla değerlendirip zaman bilgisine dönüştürecek.
Merhaba ntpd.conf DHCP ile bağlanırken ntp.conf ise static ip ile bağlanırken mi kullanılıyor.
Çünkü benim kullanacağım NTP server internete bağlı olmayacak GPS den alacak zaman bilgisini. İnternet bağlantısı olmadığı için statikten haberleşmesi gerekiyor sanki.
/var/lib/ntp/ntp.conf.dhcp dosyasını silince dhcp den bağlanmıyormuş.
/etc/ntp.conf dosyasını kullanılacakmış.