Sercanca Çözümler..

Mikrotik – Lazarus-Delphi API Kullanımı #1

Mikrotik – Lazarus-Delphi API Kullanımı #1

Bu yazıyı yazarken yaşadığım en büyük ikilem Delphi mi yoksa Lazarus ile mi örneği yapmam olmuştur. Delphi 10.2 kurulu olsa da genelde Free tarafta Lazarus ile uygulama yazmaya özen gösteriyorum. Tabiki de Lazarusta Delphi IDEsinde bulunan konfor yer almıyor. Ama açıkçası konfordan çok sonuca odaklandığım için şuanda sıkıntı yaşamıyorum.

Bu yazımızın konusu Mikrotik ürün ailesi olan RouterOS işletim sisteminin API ile kontrolü olduğu için öncelikle API kodlarımızı indirmemiz gerekiyor. RouterOS API leri farklı dillerde mevcuttur. Biz Pascal/Delphi API sini indirip Lazarus ortamında uygulama yazacağız.

Mikrotik Kontrolü için API dosyasını aşağıdaki linkten edinebilirsiniz.

Mikrotik Delphi-RouterOS-API
https://github.com/Chupaka/Delphi-RouterOS-API/releases

Delphi ve Lazarus ortamında çalışıyor. Hatta Platform bağımsızlığı da söz konusu. Yani yapacağınız uygulama Linux, MAC OS, Windows ortamında çalışacaktır.

API Dosyasını incelerseniz bağlantı ve soket işlemlerinde “Synapse TCP/IP and serial library” kullanılmış. Bu kütüphaneyide aşağıdaki linkten indirip kullanmamız gerekiyor.

Synapse TCP/IP and serial library
http://synapse.ararat.cz/doku.php/download

indireceğiniz dosya : “2012-04-23 – release no. 40″ olacaktır.

Yazının bu kısmına geçtiğinize göre sanırım dosyaları indirdiniz. Bu aşamada Lazarus kurulu olduğunu varsayıp projeye nasıl ekleyeceğinize değineceğim.

Eğer Lazarusu hakkında bilgi almak ve indirmek isterseniz aşağıdaki linke tıklayın.

http://www.sercanca.com/free-pascal-ozgur-pascal-derleyicisi/

İndirdiğiniz dosyaları yeri değişmeyecek bir konuma uygun şekilde kopyalayın. Lazarusu Açın ve “Dosya->Yeni->Uygulama” seçenekleri ile yeni bir uygulama oluşturun. Oluşturduğunuz Uygulamayı uygun bir yere klasör açıp kaydedin.

Artık Kütüphanelerimizi projemize ekleyip kod yazabiliriz.

Yeni oluşturduğumuz projemiz açık iken “Proje->Proje Seçenekleri..” menüsüne tıklatın. Karşınıza yukarıdaki gibi bir pencere gelecektir. Sol tarafta bulunan “Derleyici Seçenekleri->Yollar” menüsüne tıklatın.

Açılan “Yol Editörü” penceresinde projemize dahil edeceğimiz yolları eklemeliyiz. Yukarıdaki resimde örnek olarak kendi bilgisayarımda bulunan lokasyonları ekledim. Sizlerde benzer mantıkta kendi bilgisayarınızdaki lokasyonları ekleyin.

Listeye ekledikten sonra pencerelerdeki “Tamam” butonu ile kaydedip projenizi Ctrl S ile Kaydedin.

Artık kodları yazıp uygulama yapabiliriz.

Kodları yazmaya geçmeden önce bu işlemler sayesinde neler yapabileceğimizden söz etmek istiyorum.

Neler Yapabiliriz ?

Eğer programlama bilginiz varsa Mikrotik RouterBoard güvenlik duvarına yönelik bir uygulama geliştirebilirsiniz. Bu işlem için kullandığınız programlama dilinde yazılmış API dosyalarına ihtiyacınız vardır. Bu linkten temin edebilirsiniz : “https://wiki.mikrotik.com/wiki/Manual:API“. Yanlış anlaşılmasın yazacağınız uygulama sadece cihazdan data alıp ona data göndermenize yarayacaktır. Yani RouterOS içerisinde uygulama olarak çalışmaz. Yazacağınız uygulama ile Mac, Linux, Windows, Android, IOS platformları üzerinden cihaza hükmedebilirsiniz. Mikrotik’in komut satırını kullanarak neler yapabilirseniz yazacağınız uygulama ile aynı işlemleri yapabilirsiniz.

Mikrotik Ayarları

Yazacağınız uygulama ile cihaza bağlanmak için 3 tane temel ihtiyaç vardır.

1- Ip Adresi

Cihazın portlarından en az birine ulaşmanız gerekiyor. LOCAL ağdan ya da WAN ağdan olabilir. Cihaz ile aynı lokasyonda olmanız daha sağlıklı ama farklı bir lokasyonda olmanız durumunda dış IP üzerinden erişebilirsiniz.

2- API Servisi ve Portu

Cihaza erişmeniz yetmez. Cihaz içerisinde API servisinin ve Portunun etkin olması gerekiyor. Kontrol için cihaza winbox ile bağlanıp “IP->Services” menüsüne tıklatın. Aşağıdaki gibi bir pencere açılacaktır.

Listede ben kullanmadıklarımı pasif duruma getirdim. Sizlere de tavsiye ederim. “api” isimli servis ve portu etkin durumda. Standart olarak “8728” portunu kullanır. Değiştirirseniz uygulamanızdan da değiştirmeniz gerekiyor. Eğer API-SSL kullanılacak ise 8729 ile bağlantı kurulmalıdır. O zaman API dosyasının elden geçmesi gerekiyor. Biz 8728 ile bağlanalım.

3- Kullanıcı Adı

Cihaza bağlantı kurduğunuzda login olabilmek için kullanıcı adı ve şifreye ihtiyacınız olacaktır. Tavsiyem bunun için Kullanıcı açmanız.

System->Users” menüsünden yeni bir kullanıcı ekleyip kullanıcıyı sadece uygulamada kullanın.

Uygulamaya geçmeden önce yazıyı burada sonlandırmak istiyorum. Henüz vereceğim örnek kodlar ve görseller hazır değil. Gerekli hazırlığı yapınca 2. bölümünü yazacağım.

Yazının ikinci bölümü : http://www.sercanca.com/mikrotik-lazarus-delphi-api-kullanimi-2/

Başka bir yazıda görüşmek üzere

Sercan TEK

BİR YORUM YAZIN

This site uses Akismet to reduce spam. Learn how your comment data is processed.

ZİYARETÇİ YORUMLARI - 3 YORUM
  1. Sevgi dedi ki:

    Çok başarılı bir site tebrik ederim.

    1. Sercan TEK dedi ki:

      Teşekkür ederim.

Yayımlanan tüm yazılar Sercan TEK tarafından yazılmaktadır. İzinsiz kullanımı yasaktır.