Esp8266 Programlama (Arduinoyla)

Bu yazımda yakın zamanda kullanma ve programlama tecrübesi edindiğim  esp8266 isimli Wifi modülünün programlamlanmasından bahsedeceğim.

http://benlo.com/esp8266/ESP8266-ESP01.jpg

Çipler ya tek sefer programlanabilr özelliktedir yada tekrara tekrara programlanabilirler. Esp8266 çok gez programlanabilri çiplerden yani bir flash belleğe sahip. Tıpkı bir Arduino- Waspmote kartı özünde mikrodenetleyiciler hepsi gibi programlamak mümkün.

Örenk iki senaryo üzerinden anlatayım :

  1. Bir arduinoya yazdığınız program Seri haberleşme sonucu aldığı komutu icrada edebilir. Mesela “{Yak,Led1}”, “{Sondur,Led1}” , {Ölç, SIcaklık} şeklinde örneklendirlecilecek bir programda tasarlanabilir.
  2.  Sadce led yakacaksanız Bu kadar komut içeren bir sistemi kullanmak yerine daha basit, özelleştirilmiş ve kullanışlı bir sistem geliştirmek mükündür. Bu senaryodada ona bir örnek verelim. Ledleri digital çıkışlara bağladığınızı düşünürrsek “{PinNo, Durum}” şeklinde basit bir komut sistemi oluşturabiliriz. Bunu ebnf ile ifade edersek uno için {  (1|2|3|4|5|6|7|8|9|10|11|12|13 , (0|1)  } şeklinde olabilir. Örn: {1,1} Digital 1 pinindeki ledi yakacaktır.

Senryo 1 de örnekleri verilmiş olan komutlar arttırlılarak tüm sistemin yönetilmesi mümkündür. Fakat ihtiyacınız özelse bu komplexlikten kurtamak anlamlı labilir sistemi. Bunuda senaryo 2 ile örneklemeye çalıştım.

Gelelim esp8266ya. Esp8266 satın alındığında genelde her donanımın yönetilmesinde ve yapılandırılmasında kullanılan AT komutlarıyla kontrol edilebilecek bir şekilde programlanmış olarak geliyor. Ve standart RX-TX bağlantısını yaparak At komutları üzerinden çalıştırabiliyorsunuz. Bu genel ve komplex kullanımdan kurtulmak isteyenler ise modülle At komutları üzerinden konuşmaktansa direk programlamayı tercih ediyorlar

Esp8266 modülü ve en popiler kütüphanenin kullanımı gitbook.com da krzychb takma adlı kullanıcı tarafından hazırlanmış kılavuz   yeni kılavuz da anlatılmış. Bizde bu yazıda aynı projenin (Github da barınıdırılan esp8266/Arduino projesin) derlenmesinden ve kullanılmasından bahsedeceğiz.

  1. Derleme ve yazılım geliştirme ortamının hazırlanması,
  2. Programlama için donanımsal hazırlıkların yapılması,
  3. Geliştirilen yazılımın yüklenmesi

şeklinde 3 ana başlıkta açıklanacaktır.

Derleme ve yazılım geliştirme ortamının hazırlanması

Programlama için Arduino IDEsinin kullanımı tercih edilmiş ve uygun geliştirmeler yapılmış o yzüden bizde arduino idesi üzerinden ilerleyeceğiz. IDE’nin Son sürümünü buradan indirebilirsiniz. Son sürümle denemeniz tavsiye olunur. Sürüm değiştikçe geliştirmeler yapıldığı için eski sürüm kullandığınızda uyum problemi yaşayabilirisiniz.

IDE’ ye esp8266 yı programlamak için gerekli kart ve kütüphane tanımlamalrının yapılması gerekiyor. Fakat bu iş gerçekten kolaylaştırılmış.

IDE’yi açıp Dosya-> Tercihlere tıklayıp Ek devre kartları Yöneticisi URL’leri yazan kısıma projenin README.md sinde yazan Boards Menager linkini: http://arduino.esp8266.com/stable/package_esp8266com_index.json kopyalayıp yapıştırıyoruz. Tamam diyerek seçeneklerden çıkıyoruz.

Yine Araçlar-> Kart -> Kart Yöneticisi ne tıklayarak açılan listeden esp8266 by ESP8266 Comunity yazan kart setini bulup Kur butonuna basarak yüklüyoruz.

Programlama için donanımsal hazırlıkların yapılması

Genel olarak modüller farklı modlarla başlatılmak istendiğinde (buna farklı yetkiler veya programlama modu örnek verilebilir) donanımsal olarak bazı pinlere farklı gerilim bağlantıları yaparak başlatılması gerekir.

Esp8266 da ise programlama moduna geçebilmek için donanımsal ololarak yapılması gerekenler:

  1. 3.3 V u arduinoda 3.3 volta bağlayın
  2. RX ‘i RX e
  3. TX i TX e
  4. Gnd yi Gnd ye
  5. Ch_PD yi 5 Volta
  6. GPIO_0’ı GND ye
  7. Arduinonun üzerindeki (esp8266’nın reseti değil) reset bacağı gnd ye bağlanmalı (bu sayede arduino devre dışı kalır. Wifi programlanır).

Bağlamanız gerekli. Tüm bağlantıları yaptıktan sonra 3.3 volt gücü çekip tekrar takarsanız modül programlama modunda çalışacaktır. Ve arduinodan program yükleyebileceksiniz. Program yüklendikten sonra direk çalışmaya başlayacaktır. Programlama yapmadan çalıştırmak isterseniz GPIO_0’i gnd bacağından çıkartmalısınız.

alıntı : http://www.electroschematics.com/11276/esp8266-datasheet/

Esp8266 pin Diyagramı

Geliştirilen yazılımın yüklenmesi

Yükleme için donanımsal atarlamlaır yaptığınızı var sayarak devam ediyorum.

  • Araçlar-> Kart -> Sekmesinden Generic ESP8266 Modüle kart olarak seçilmelidir.
  • Port kımında ise arduino ile programlayacağımız kullancağımız arduinonun ilişkili olduğu com port seçilmelidir.

Klavuzdaki örnek program yeni_program veya Blink.ino örneği yüklenebilir. Yükleme aynen arduinoya yüklermiş gibi derle ve yükle butonuna basılarak yapılmaktadır.

 

Güncelleme:

1.0.1:  kılavuz ve program linki güncellendi. uyarısı için okuyuma teşekkürler.

SauRo Akıllı Araba (Android – Arduino RC Araç)

SauRo Akıllı Araba bir Eğitim ve Gömülü Sistem Tanıtım Projesidir.

Özet
Bu proje bir SauRo eğitim projesi olarak gerçekleştirilmiş ve ürünün üniversite öğrencilerine gömülü sistemin tanıtımı için kullanılacağı ön görülmüştür. Bu kapsamda Android işletim sistemi yüklü akıllı telefonlar için uygulama geliştirilmiştir. Telefon hareketi algılanarak RC-Jip ‘e (oyuncak jip) bluetooth aracılığıyla komutlar gönderilerek aracın hareketi sağlanmıştır. Çarpma korumalı, kademeli yön ve hız kontrollü, bir araç geliştirilmiştir. Stant görevlisi yetki vermeden yani RFID (Öğrenci kimlik) kartını aracın üzerinde bulunan RFID kart okuyucusuna okutmadan araç ziyaretçi (öğrenci) tarafından kullanıma geçmeyecek şekilde tasarlanmıştır.

Aracın ve Uygulamanın Görüntüsü

Aracın ve Uygulamanın Görüntüsü

Üretilme Sebebi
Araç, Sakarya Üniversitesi Elektrik elektronik topluluğu olarak eğitim faaliyetlerimize farklı bir bakış açısı getirmek amacıyla başlatılan eğitim projesi kapsamında üretilmiştir. Üniversite öğrencilerine gömülü sistemin tanıtımı amacıyla stantlarda kullanılmak üzere tasarlanmıştır.

Kapsam

Uygulama projesi kapsamı belirl enirken üretilecek ürünün gömülü sistemin tanıtımı için kullanılacağı göz önünde bulundurulmuştur. Bu amaçla günümüz üniversite gençliğine hitap edeceğini düşündüğümüz, stantlarımızda kişilerin kendi akıllı telefonlarıyla kullanabilecekleribir RC araç üretilmiştir.

Üst Soldan itibaren: RFID, Bluetooth, Lipo Pil Orta Soldan itibaren: Ultrasonik Sensor, Servo Motor, Arduino Mega 2560, LCD, DC Motor, Ultrasonik Sensor Alt Soldan itibaren: Motor Sürücü

Üst Soldan itibaren: RFID, Bluetooth, Lipo Pil
Orta Soldan itibaren: Ultrasonik Sensor, Servo Motor, Arduino Mega 2560, LCD, DC Motor, Ultrasonik Sensor
Alt Soldan itibaren: Motor Sürücü

Gömülü sistem eğitimi Arduino ü zerinden verildiği için Merkezi Yönetim Birimi olarak Arduino Mega 2560 Kartı yani ATmega 2560 ter cih edilmiştir. Bunun yanı sıra:

Donanımsal olarak ,

  • Neredeyse her akıllı telefonda bulunan bluetooth modülü sayesinde kontrol edilebilen bir RC araç geliştirilmiştir. Bluetooth iletişimi için HC06 modülü kullanılmış ve B u modülle AT komutları kullanılarak ay arlar yapılmış ve Kullanıcı bilgileri elde edilmiştir.Donanımsalserial ile haberleştirilmiş akıllı tel efondan gelen hareket komutları modül aracılığı yla alınıpArduino megadaişlenmiştir.
  • Stantlarda tanıtım esnasında görevlinin kontrolünü kolaylaştırmak amacıyla RFID (RFID- RC522) modülü kullanılm ıştır. Üniversite kimlikleri sayesinde stant görevlileri yetkilendirilmiştir.
  • Ekip üyelerinden birine a it olan RC-Jipin arka motor haricindeki tüm aksam sökülmüş ve Şekil 2’de ki modüller monte edilmiştir.
  • Aracın üzerinde bulunan DC yön motoru Servo motor ile değiştirilmiştir. Bu sayede kademeli bir dönüş sağlanmıştır.
  • L298N Motor sürücü entegresi içeren sürücü kartı kullanılarak aracın kendi DC motoruna kademeli ileri-geri hareket özelliği kazandırılmıştır.
  • 2 Adet HC-SR04Ultrasonik mesafe sensoru aracın ön ve arkasına 1 adet olmak üzere yerleştirilmiştir. Testler sonucunda aracın çarpmadan kullanılabilmesi için uygun mesafeler tespit edildi. Mesafe ölçümleri doğrultusunda kumandadan bağımsız çarpmayı önleyici kontroller gerçekleştirilmiştir.
  • LCD panel kullanılarak aracın durumu hakkında bilgi verilmiştir.
  • Akıllı telefonların pozisyon bilgisini elde edebilmek için telefonlarda bulunan sensorler kullanılmıştır.

Yazılımsal olarak,

  • Akıllı telefon (Android işletim sistemli) tarafında sensorler yardımıyla telefonun Y ve Z düzlemindeki derecesi algılanarak aracın hareketi için komutlar gönderecek yazılım geliştirilmiştir. Bu yazılım sayesinde RC aracımıza on kademe sağa, on kademe sola
    Mobil cihazın X,Y,Z ordinat sistemindeki görüntüsü

    Mobil cihazın X,Y,Z ordinat sistemindeki görüntüsü

    olmak üzere yön verilmiştir. Yine onar kademe olmak üzere ileri ve geri hız ayarı yapılabilmektedir.

  • Ekip çalışmalarını kolaylaştıran Uzak Git Deposu kullanılarak proje geliştirildi. Tam testlerin soncunda proje Özgür yazılım olarak Git sistemi üzerinden erişime açılacaktır.
  • Araç üzerindeki tüm kodlamalar Arduino IDE’si ile geliştirilmiştir. Nesneye Dayalı Programlama metodolojisi kullanılmıştır.

ihtiyaçları karşılanmıştır.

Otonomluk

  • Araç güç verildikten sonra bluetooth aracılığıyla uzaktan bağlanılıldığında kullanıla bilmektedir. Proje kapsamında kullanılan RFID üzerinden yetki sistemi sürücü açısından otonomluğa zarar veriyor gibi gözükse de aslında çok sayıdaki stant görevlisinin yetkilendirilebilmesi açısından bakıldığında otonumluğa katkısı görülecektir.
  • Aracın Ultrasonik sensorler ve bu sensorlerin yazılımsal olarak ileri-geri motor kontrolüne yani hız kademesine müdahalesi sayesinde ön ve arkadan olası çarpmalara karşı önce yavaşlatılması ve gerektiğinde durdurulması sureti ile korunması sağlanmıştır.
  • Lcd panel aracılığıyla aracın durumu hakkında kullanıcıya anlık bilgi verilmektedir. Bu sayede cihaz bluetooth bağlantı durumu, stant görevlisi yetki durumu, aracın hızı ve yönü ile alakalı bilgiler kullanıcıya sunulmuştur.

Yenilikçilik

  • Kumanda olarak akıllı telefonların kullanılması ve yine buton kontrolü yerine sensörler aracılığıyla kontrolün gerçekleştirilmesi.
  • Uygulayarak öğrenme projesi olması.

Dayanıklılık

  • Kullanılan modüllerin tamamı endüstriyel standartlarda fabrika üretimi modüller (kartlar) olup sadece kablolar aracılığıyla birbiriyle haberleştirilmiştir.
  • Kablolamada tanıtım amaçlı olduğu için sabit kablolar yerine modüller arası bağlantı için özel tasarlanmış Jumperler kullanılmıştır.
  • Dayanıklılığı sürdürülebilir kılmak için çarpmaya karşı sensörler ve yazılımsal iyileştirmeler aracığıyla önlemler alınmıştır.
  • RC araç kullanmış olduğumuz projede çarpmalara karşı gerekli önlem alınmış olsa da araç tercih edilirken mümkün oluğunca dış ortam koşullarından: tümsek, engebeli zemin, gibi; etkilenmeyecek yüksek ve süspansiyonlu bir jip tercih edilmiştir.

Maliyet tablosu

Adı Kulanılan adet Birim maliyet (TL) Toplam maliyet (TL)
ATmega 2560 1 150 150
HC-SR04 Ultrasonik mesafe sensoru 2 10 20
L298N Motor sürücülü kart 1 16 16
Servo motor 1 9 9
RC-Jip 1 100 100
RFID-RC522 1 20 20
HC06 bluetooth modülü 1 20 20
Kablolama 7
1450 mA Lipo Pil 1 80 80
Toplam 422

Basitlik

  • Yön kontrolü için değiştirilen servo motorun uyumlaştırması dışında donanımsal olarak kartların kablolama ile birleştirilmesinin dışında bir zorluğu yoktur.
  • Geliştirirmiş olan yazılımın sadece Araç üzerindeki Arduino Mega geliştirme kartına yüklenmesi gerekmektedir.
  • Ziyaretçiler Google Play üzerinden yayınlayacağımız uygulamayı aratarak indirebilecekleri gibi broşürümüzde bulunan kare kod vasıtasıyla da indirebilecekleridir.

Uygulanabilirlik

  • Donanımsal olarak piyasadan alınabilecek her türlü RC araca uygulanabilecek bir mimariye sahiptir. Kısa süreli bir çalışma sonucunda donanımsal olarak araç hazır hale getirilebilecektir.
  • Nesneye dayalı programlama ile geliştirilmiş olan yazılım modüler olarak geliştirilmiştir. Birkaç parametre değiştirilerek farklı hız ve ebatlardaki araçlarda kullanılabilecek hale getirilebilmektedir.

Eğitim Katılımcıları ve Proje Ekibi:

Proje kapsamında Sakarya Üniversitesi Bilgisayar Mühendisliği bölümünden 7, Elektrik-Elektronik Mühendisliği Bölümünden 1, Mekatronik Mühendisliği Bölümünden 3 ve Makine Mühendisliği Bölümünden 1 kişi olmak üzere 12 kişilik bir ekip çalışmıştır.

Rabia KARA
Elif Esra GÖRGÜLÜ
Sümeyye SARIÇAM
Halil İbrahim  ŞEKER
Mehmet KARAKAYA
Hayyam İSLAMZADE
Abdullah Salih BAYRAKTAR
Fatih ARSLAN
Yasemin KARACA
Bilal MAT
Fadime USLU
Yunus Emre KAHVECİOĞLU

Kütüphane Kodlamak Eğitim Serisi (Video Anlatım ve Notlar)

Bismillahirrahmanirrahim. Bir başlangıçsa bu Besmeleyle olsun: Aziz olsun, kolay olsun, hayırlı olsun. Muhataba Selam olsun.

Öncelikle şunu belirtmek isterim ki bu yazıda ve eğitim içeriğinde vaat edilen her şey doğal olarak şuana kadar edinmiş olduğum tecrübelerim ve bilgim dahilinde olacaktır. Sürç-i lisan ederisek affola.

Bu eğitim serisi kapsamında Drawing Dendrogram isimli bir kütüphane kodlayacak, örnek kullanım kodlarıyla birlikte son kullanıcı dokümanı oluşturarak hizmete sunacağız.

Dendrogram Örneği

Kütüphanemiz veri madenciliği ( data maining ) alanında gösterim şekli olarak kullanılan dendrogram’ın c# ortamında çizilmesine yardımcı olacaktır.

 

KazanımSeri sonunda elde edeceğimiz kazanımlardan bahsedersek:

Fikrin ürüne yolculuğu

Fikrin ürüne yolculuğu

  1. Bir Projenin Fikir aşamasından son kullanıcıya sunulması arasında geçen tüm sürecin aktarılması.
  2. Açık kaynak (open source) dünyasına bir adım.
  3. Git sürüm kontrol sistemlerinin öğrenilmesi (Github – SourceTree).
  4. Nesneye dayalı programlamanın standartlarına uygun kodlama.
  5. Projelerin Analiz, Tasarım, Mimari ve Gerçekleştirim kısımlarının anlaşılması.
  6. Artırımsal (çevik) kodlamanın öğrenilmesi. ( Giriş seviyesinde görmüş olduğum en büyük problem ).
  7. Programlama temellerinin öğrenilmesi, kütüphaneleri kullanma becerisini geliştirme, algoritma geliştirme.
  8. Analiz.
  9. Tasarım (Kağıt kalem çalışmak).
  10. Seri boyunca kullanılacak olan teknoloji ve araçları tanıma olanağı.

Daha fazla söz etmeden sizi Seri ile başa bırakmak isterim: Görüş, öneri ve uyarılarınızı gerek e-mail gerekse yorum aracılığıyla iletmeniz işleyişi iyileştirecektir.

İyi seyirler.

Git projelerini commit bazlı nasıl takip edebileceğinizi bu_videodan (5:28 dk’lık) öğrenebilrisiniz.

Not: Ayrıntılar Zamanla Eklenecektir. Kodlara ve Hazır olan eğitim videolarına asağıdaki linklerden ulaşabilirisiniz.

Linkler:

Github kod deposu : https://github.com/AbdullahBay/DrawingDendrogram

Youtube Seri Linki: Oynatma Listesi: Kütüphane Kodlamak ( Dendrogram c# )

BitBucket ve SourceTree ile Ekip olarak kodlamak

Bitbucked nedir?

Genelde kod paylaşımı ve ekip çalışmalarında ortak bir havuz oluşturmak için kullanılan depolama sistemlerinden biridir. Tabi paylaşmak istediğiniz yazı, tanıtıcı dokuman, ders dokumanı gibi şeyleride paylaşmak mümkün.

Ekip çalışmalarında projeyi yönetmek için kullanacağınız araçlar sayesinde tek bir proje ekip olarak çalışmayıda mümkün kılar.

Neden Bitbucket derseniz :

  • 5 kullanıcıya kadar ücretsiz ekip kurabilme,
  • Projelerinizi gizli olarak geliştirebilme,
  • En az 5 farklı ekip kurabilme (tecrübe)- Her ekibe 5 kişi :),

özellikleri benim tercih sebebim oldu.

Bitbucket’e aşağıdaki linkten üye olunuz:

https://bitbucket.org/

Ve Alttaki linkten yönetim aracını indiriniz.

http://www.sourcetreeapp.com/

Kurulum ve kullanım için videoya göz atınız:

Kullanım ayrıntıları

Daha fazla bilgi için :

Bitbucket Dokumanları:

SourceTree Dokumanları:

Genel Git Dökümanları:

Bir Yapı (Bağlı Liste) ve Gerçeklenmesi (C++ Kodlama)

Bu Eğitim vidyosuda Nesneye dayalı programlama prensiplerine bağlı kalınarak aşşağıda ki konular işlenmeye çalışılmıştır. Ayrıca kod test edilerek ve debug işlemleri ile incelenerek geliştirilmiştir.
Delete işlemleri ilk iki class için yapılmış diğer classlarda zaman almaması için gerçeklenmemiştir.

Konular – İçerik:

  • Giriş – Senaryo(0-8:45 dk)
  • Bağlı liste (8:45) yapısının oluşturulması

    4 adet class(Karakter,Dugum,BagliListe, Yonetim,) + Main.cpp oluşturularak Bir bağlı  liste üzerinde ekleme işlemleri gerçekleştirildi.

  • Bağlı liste yazdırma(1:43:00- 1:53:40)
  • string(char) tipli sayıların toplanması (1:53:40 – 2:08:00)
  • Operatör Aşırı Yükleme (Fonksiyonla benzerliği) (2:08:00 – 2:15:00)

Sorularınız ve Önerilerinizi yorum yazarak belirtebilir diğer okurlarada takıldığınız konularda bilgi aktarımını sağlayabilirisiniz.

Dökümanlar ve Kodlar: https://www.dropbox.com/sh/llycfi61is4yreo/AAD5tukR3meWxgYUVGTW_k8_a?dl=0

Abdullah Salih BAYRAKTAR

Bir Probleme nasıl yaklaşmalı – Veri yapıları – Algoritma – Ödev

Bir bilgisayar programcısının ödeve(projeye) bakması gereken açıyı anlatmya çalıştım.

İçerik :

  1. Ödev dökümanı nasıl okunlmalı,
  2. ekrana şekil bastırma (çıktıyı düzenleme)
  3. Nesneye dayalı programlama,
  4. cout aşırı yükleme (function overloading)- 35:52 dk,
  5. hep bellek bölgesi (new)
  6. eden çöpleri toplamalıyız: (delete)
  7. Örnek bir uygulama incelendi

Birkaç aksaklık (girişte biraz heycan, static 🙂 ) olsada, faydalı olması dileğiyle…..

Dökümanlar:
https://www.dropbox.com/sh/jwar422ozjtxo36/AAAH0osmak05V8rJTuWbZ3ZBa?dl=0

Not: İlk anlatılan dökümanda(ödev dokumanı): Sepet içinde çivilerin bulunmsa durumu değilde, Sepetlerin Çiviye asılamsı durumu istenmiş görselde de gösterilmiş. Yani harfler Çivi değil.

çivi

Keywordler: Veri yapıları, Ödev1, Sakarya Üniversitesi, Bir yaklaşım, Problem Çözme, Algortima geliştirme, Ödev yapmak, Bilgisayr Mühendisliği, c++

Yanıyorduk Kardeşim – Şiir

01.07.2014- Gazze Bombardımanı

01.07.2014- Gazze Bombardımanı

Yanıyordu seni, beni ısıtmak için
Yanıyordu bir şey;  senin için, benim için
Yanıyordu tabi ki Allah (c.c.) rızası için

Sadece yanmıyordu yakıyordu aslında
Kömür, yok yok petroldü sanki
Belki yürekti: senin ki, benim ki

Evet evet bu özeldi
Yakıyordu kendini
Sadece ısıtmak içindi seni, beni

Neredeydi harbi?
Suriye’de yok yok Filistin’di sanki
Yanıyorduk kardeşim dünyada harbi…

Abdullah Salih BAYRAKTAR

Bu şiir 01.07.2014 tarihinde Bombalanan Gazze için yazılmıştır. Biliyoruz ki ölmek mümin için son değil, kutlu bir başlangıçtır.

Dağıtımda Optimizasyon Vogel Algoritması ( C# )

Bu yazımda hem bir algoritmadan hemde C# taki ilk kapsamlı form uygulamamdan bahsedeceğim.

Ekran Göörüntüsü

Kodların GitHub linki: https://github.com/AbdullahBay/Uygundagilim

Çalıştırılabilir Dosya: https://www.dropbox.com/s/429xrtjky5q2odk/ayrik.exe

Ana Ekran

Ana Ekran

Örnek Problem ve Çözümü

Örnek Problem ve Çözümü

Abdullah Salih BAYRAKTAR
Alıntı yaparken link veriniz.

Cmd de Java Konsol uygulaması çalıştırmak.

Bu yazımda Cmd de Java Konsol uygulamasını nasıl çalıştırabileceğimizi anlatacağım.

1. Adım: jar dosyası oluşturma

Çalıştırılabilir jar (.exe gibi) oluşturma işini eclipse’te export yardımıyla yapabiliyoruz.(bu sadece bir seçenek ve ben bu yazımda sadece bundan bahsedeceğim.)

export

Projemizi jvm için derleyelim

1. Package Explorerda Projemize sağ tıklıyoruz
2. Export’a tıklıyoruz
3. Java/Runnable JAR File seçiyoruz
4. Yeni ekranda oluşacak jarık konumunu seçiyoruz(Export destination). Launch Configuration seçeneği altında çalışacak olan ana sınıfı seçiyoruz. Eğer kullandığımız kütüphaneler varsa “Package required libraries into generated JAR” seçeneğini seçmeyi unutmuyoruz.
5. Finish ile sonlandırıp jarımızı oluşturuyoruz.

2.Adım: Java ayarlarını yapmak (Windows için)

Bilgisayarınızda javanın kurulu olduğunu varsayıyorum. Ki zaten java yoksa eclipse çalışmayacaktır. Ayarları yapmaya başlayalım.

Path Ayarları

Path Ayarları (Windows)

  1.  Bilgisayarım’a sağ tıklıyoruz özellikleri seçiyoruz
  2. Gelişmiş sistem ayarlarına tıklıyoruz.
  3. Gelişmiş sekmesinden  Ortam değişkenlerini açıyoruz
  4. Daha sonra Sistem değişkenleri altındaki PATH değişkeninin sonuna  “;C:\Program Files\Java\jre1.5.0_02\bin” i ekliyoruz. {\jre1.5.0_02\ versiyonu belirtir,sizde farklı olabilir kontrol ediniz}
  5. Ve şimdi artık java komutu sorunsuz çalışıyor olmalı.

Adım3: .jar isimli kendi yazdığımız programımızı cmd de açalım.cmd

  1. cmd (konsol)da  .jar dosyasını oluşturduğumuz klasöre gidiyoruz. Burada kasörü açıp adres çubuğuna cmd yazmak pratik oluyor.
  2. konsola şunu yazıyoruz “java -jar programımızınadı.jar” ve enterlıyoruz.
  3. Programınız çalışıyor olmalı.
  4. Her zaman bu işlemi yapmak istemiyorsanız Pratik bir yol:  metin editörünüzü açın ve içine “java -jar programımızınadı.jar” yazın sonra bunu jar dosyanızın yanına  istediğiniz-isim.bat diye kaydedin. çalıştırdığınız da programınız konsolda açılacaktır.

Abdullah Salih BAYRAKTAR