Warning: Use of undefined constant DISABLE_WP_CRON - assumed 'DISABLE_WP_CRON' (this will throw an Error in a future version of PHP) in /var/www/vhosts/emrebektas.com/httpdocs/wp-config.php on line 11

Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/emrebektas.com/httpdocs/wp-config.php:11) in /var/www/vhosts/emrebektas.com/httpdocs/wp-content/plugins/all-in-one-seo-pack/app/Common/Meta/Robots.php on line 89

Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/emrebektas.com/httpdocs/wp-config.php:11) in /var/www/vhosts/emrebektas.com/httpdocs/wp-includes/feed-rss2.php on line 8
Emre Bektaş https://www.emrebektas.com Kişisel Web Sayfası Sun, 10 Nov 2019 12:50:08 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 Starting of Tomcat failed Hatasının Çözümü https://www.emrebektas.com/java/starting-of-tomcat-failed-hatasinin-cozumu/ https://www.emrebektas.com/java/starting-of-tomcat-failed-hatasinin-cozumu/#comments Mon, 12 Sep 2016 19:40:46 +0000 http://www.emrebektas.com/?p=338 Merhaba arkadaşlar Netbeans IDE üzerine web server kurduğumda Tomcat Server hatası almıştım ve hatayı şu şekilde çözmüştüm. Tomcat dizininden bin klasörünün içinden catalina.bat dosyasını notepad yardımı ile açınız, Daha sonrasında şu 2 satırı bulunuz; :noJuliConfig...

The post Starting of Tomcat failed Hatasının Çözümü first appeared on Emre Bektaş.

]]>
Merhaba arkadaşlar Netbeans IDE üzerine web server kurduğumda Tomcat Server hatası almıştım ve hatayı şu şekilde çözmüştüm.

Tomcat dizininden bin klasörünün içinden catalina.bat dosyasını notepad yardımı ile açınız,

Daha sonrasında şu 2 satırı bulunuz;

:noJuliConfig
set “JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%”

:noJuliManager
set “JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%”

bu satırlardaki çift tırnakları kaldırınız. Yani kod şu şekilde olmalı;

:noJuliConfig
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%

:noJuliManager
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%

Bu değişiklikten sonra dosyayı kaydedip Netbeans’dan server’ı başlatmayı deneyebilirsiniz…

The post Starting of Tomcat failed Hatasının Çözümü first appeared on Emre Bektaş.

]]>
https://www.emrebektas.com/java/starting-of-tomcat-failed-hatasinin-cozumu/feed/ 1
Java ile Dökümandaki Cümle ve Kelimeleri Saydırma https://www.emrebektas.com/java/java-ile-dokumandaki-cumle-ve-kelimeleri-saydirma/ https://www.emrebektas.com/java/java-ile-dokumandaki-cumle-ve-kelimeleri-saydirma/#respond Thu, 03 Dec 2015 10:04:19 +0000 http://www.emrebektas.com/?p=312 Bu örnekte Java ile klasörde bulunan txt dosyalarını dinamik olarak okuyup, her birinin içerisindeki kelime ve cümle sayısını yazdırıyoruz. Veri madenciliği dersinde kullandığım bir kod bloğu idi.

Umarım sizinde bir yerlerde işinize yarar 🙂

 

 

package ise401;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
/**
 *
 * @author Emre Bektas
 */
public class Ise401 {
    public static void main(String[] args) {
        String alldata="";
        int i =1;
        int counter =0;
        while(i<=50){
        try (BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\Emre Bektas\\Desktop\\Obama\\Haber\\"+i+".txt")))
		{
			String sCurrentLine;

			while ((sCurrentLine = br.readLine()) != null) {
                            counter++;
                            alldata+=sCurrentLine;
                            alldata+=" ";
			}
                           
		} catch (IOException e) {
			e.printStackTrace();
		}
        i++;
        }
        System.out.println("Number of sentence: " + counter);
        System.out.println("Number of word: " +countWord(alldata));
        
    }
   static int countWord(String alldata){
        String[] wordArray = alldata.split("\\s+");
        int countword = wordArray.length;
        return countword;
    }  
}

 

The post Java ile Dökümandaki Cümle ve Kelimeleri Saydırma first appeared on Emre Bektaş.

]]>
https://www.emrebektas.com/java/java-ile-dokumandaki-cumle-ve-kelimeleri-saydirma/feed/ 0
Java ile TCP-UDP Server/Client Uygulamaları https://www.emrebektas.com/java/java-ile-tcp-udp-serverclient-uygulamalari/ https://www.emrebektas.com/java/java-ile-tcp-udp-serverclient-uygulamalari/#comments Wed, 28 Jan 2015 21:46:31 +0000 http://www.emrebektas.com/?p=300 Merhaba arkadaşlar bugün sizlere TCP ve UDP server cliend bağlantılarının java ile nasıl yapılabileceği hakkında kodlar vereceğim. TCP server/client dosyası ve UDP server/client java dosyalarını kodlarda belirttim. Ek olarak benim eklediğim bir bölüm var....

The post Java ile TCP-UDP Server/Client Uygulamaları first appeared on Emre Bektaş.

]]>
Merhaba arkadaşlar bugün sizlere TCP ve UDP server cliend bağlantılarının java ile nasıl yapılabileceği hakkında kodlar vereceğim.
TCP server/client dosyası ve UDP server/client java dosyalarını kodlarda belirttim. Ek olarak benim eklediğim bir bölüm var.
Benim amacım linux üzerinden bir server kurup örneğin robotu kontrol etmek ve robottan gelen verileri kod içerisinde yorumlamaktı. Örnek olarak sizlere .equals komutunu göstereceğim.
UDP Server.java dosyasında bulunana sentenceyi direkt olarak kullanamıyoruz. Eğer clienttan emre komutunu yollarsak
stringin boyutu 1024(byte[] dizisinin boyutu) oluyor. Bizim bunu indirgememiz gerekiyor ki gelen veriyi yakalayabilelim.
// olan satısı kaldırıp diğerlerini eklerseniz işlem tamam oluyor. clientden emrebektas gönderirsem emre tespit edildi 🙂 şeklinde output vermesi gerekiyor.
Tekrarlamış oluyorum ama bu değişikliği yapmayıp sentence.equalsIgnoreCase(“emrebektas”) yazarsanız emrebektas’ı yakalayamazsınız. çünkü emrebektas’ın uzunluğu 10 iken sentence uzunluğu 1024.

// String sentence = new String( receivePacket.getData());
String sentence = new String( receivePacket.getData(),0,receivePacket.getLength(),"UTF-8");
if(sentence.equalsIgnoreCase("emrebektas"))
System.out.println("emre tespit edildi :)");
System.out.println("RECEIVED: " + sentence);

 

Örnek olması amacıyla makalenin sonunda UDP server/client uygulama örneği ekledim.

TCPServer.java

import java.io.*;
import java.net.*;

class TCPServer
{
   public static void main(String argv[]) throws Exception
      {
         String clientSentence;
         String capitalizedSentence;
         ServerSocket welcomeSocket = new ServerSocket(6789);

         while(true)
         {
            Socket connectionSocket = welcomeSocket.accept();
            BufferedReader inFromClient =
               new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
            DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
            clientSentence = inFromClient.readLine();
            System.out.println("Received: " + clientSentence);
            capitalizedSentence = clientSentence.toUpperCase() + '\n';
            outToClient.writeBytes(capitalizedSentence);
         }
      }
}

TCPClient.java

import java.io.*;
import java.net.*;

class TCPClient
{
 public static void main(String argv[]) throws Exception
 {
  String sentence;
  String modifiedSentence;
  BufferedReader inFromUser = new BufferedReader( new InputStreamReader(System.in));
  Socket clientSocket = new Socket("localhost", 6789);
  DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
  BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
  sentence = inFromUser.readLine();
  outToServer.writeBytes(sentence + '\n');
  modifiedSentence = inFromServer.readLine();
  System.out.println("FROM SERVER: " + modifiedSentence);
  clientSocket.close();
 }
}

 

 

UDPServer.java

import java.io.*;
import java.net.*;

class UDPServer
{
   public static void main(String args[]) throws Exception
      {
         DatagramSocket serverSocket = new DatagramSocket(9876);
            byte[] receiveData = new byte[1024];
            byte[] sendData = new byte[1024];
            while(true)
               {
                  DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
                  serverSocket.receive(receivePacket);
                  String sentence = new String( receivePacket.getData());
                  System.out.println("RECEIVED: " + sentence);
                  InetAddress IPAddress = receivePacket.getAddress();
                  int port = receivePacket.getPort();
                  String capitalizedSentence = sentence.toUpperCase();
                  sendData = capitalizedSentence.getBytes();
                  DatagramPacket sendPacket =
                  new DatagramPacket(sendData, sendData.length, IPAddress, port);
                  serverSocket.send(sendPacket);
               }
      }
}

 UDPClient.java

import java.io.*;
import java.net.*;

class UDPClient
{
   public static void main(String args[]) throws Exception
   {
      BufferedReader inFromUser =
         new BufferedReader(new InputStreamReader(System.in));
      DatagramSocket clientSocket = new DatagramSocket();
      InetAddress IPAddress = InetAddress.getByName("localhost");
      byte[] sendData = new byte[1024];
      byte[] receiveData = new byte[1024];
      String sentence = inFromUser.readLine();
      sendData = sentence.getBytes();
      DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 9876);
      clientSocket.send(sendPacket);
      DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
      clientSocket.receive(receivePacket);
      String modifiedSentence = new String(receivePacket.getData());
      System.out.println("FROM SERVER:" + modifiedSentence);
      clientSocket.close();
   }
}


 

Örnek Program;

java tcp-udp communication

 

Kaynak: Computer Networking: A Top Down Approach, by Kurose and Ross

The post Java ile TCP-UDP Server/Client Uygulamaları first appeared on Emre Bektaş.

]]>
https://www.emrebektas.com/java/java-ile-tcp-udp-serverclient-uygulamalari/feed/ 2
Java Veritabanı Projesi – Java ile Veritabanı Bağlantısı https://www.emrebektas.com/java/java-veritabani-projesi-java-ile-veritabani-baglantisi/ https://www.emrebektas.com/java/java-veritabani-projesi-java-ile-veritabani-baglantisi/#respond Tue, 27 Jan 2015 13:57:15 +0000 http://www.emrebektas.com/?p=294 Merhaba arkadaşlar bugün sizlere Veritabanı dersinde yapmış olduğum küçük çaplı bir programı paylaşacağım. Programın işlevleri kısaca şu şekildedir; Programda JFrame kullanılmıştır. Veritabanına kişi eklemek eklenen kişiyi silmek ve kişinin bilgilerini güncellemek bu program ile...

The post Java Veritabanı Projesi – Java ile Veritabanı Bağlantısı first appeared on Emre Bektaş.

]]>
Merhaba arkadaşlar bugün sizlere Veritabanı dersinde yapmış olduğum küçük çaplı bir programı paylaşacağım. Programın işlevleri kısaca şu şekildedir;
Programda JFrame kullanılmıştır. Veritabanına kişi eklemek eklenen kişiyi silmek ve kişinin bilgilerini güncellemek bu program ile mümkündür. Eklenen herbir kişi Jtable’da görünmektedir. Aynı şekilde herhangi bir güncelleme veya kişi silme işleminin ardından Jtable güncellecektir. Jtable’a veri gönderirken net.proteanit.sql.DbUtils; kütüphanesini kullandım. kullanımı ise
DbUtils.resultSetToTableModel(resultset) result sette sizin sql sonucunuz tutulmuş olması gerekiyor. örneğin: resultset = command.executeQuery(“select * from people”); bu komutta people tablosundaki bütün bilgiler resultset’e kopyalandı ve DbUtils.resultSetToTableModel(resultset) komutu ile birnevi bu querynin outputunu Jtable’a aktarmış oluyoruz. İşimizi oldukça kolaylaştıran bir kütüphane olduğunu söyleyebilirim.

 

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.DefaultListModel;
import javax.swing.JOptionPane;
import javax.swing.JTable;

import net.proteanit.sql.DbUtils;

/**
 *
 * @author Emre Bektas
 */

public class DbProjectGui extends javax.swing.JFrame {
  protected Connection conn = null; //Bağlantı nesnemiz
    protected Statement command = null;// Komut nesnemiz
    protected String url = "jdbc:mysql://localhost:3306/";//veritabanının adresi ve portu
    protected String dbName = "test"; //veritabanının ismi   
    protected String driver = "com.mysql.jdbc.Driver";//MySQL-Java bağlantısını sağlayan JDBC sürücüsü
    protected String userName = "root"; //veritabanı için kullanıcı adı
    protected String password = ""; //kullanıcı şifresi
    protected ResultSet res; // sorgulardan dönecek kayıtlar (sonuç kümesi) bu nesne içerisinde tutulacak
    private PreparedStatement Statement1;
    /**
     * Creates new form DbProjectGui
     */
    public DbProjectGui() {
        initComponents();
    }
private void baglantiAc() throws Exception {

        Class.forName(driver).newInstance();
        conn = DriverManager.getConnection(url + dbName, userName, password);//bağlantı açılıyor       
        command = conn.createStatement();
    }
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jTextFieldName = new javax.swing.JTextField();
        jTextFieldLName = new javax.swing.JTextField();
        jTextFieldAge = new javax.swing.JTextField();
        jButtonFetchData = new javax.swing.JButton();
        jButtonInsert = new javax.swing.JButton();
        jButton2Update = new javax.swing.JButton();
        jButtonDelete = new javax.swing.JButton();
        jComboBox1 = new javax.swing.JComboBox();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTable1MouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(jTable1);

        jLabel2.setText("Name:");

        jLabel3.setText("LName:");

        jLabel4.setText("Age:");

        jLabel5.setText("Sex:");

        jTextFieldLName.setToolTipText("");

        jButtonFetchData.setText("Fetch Data");
        jButtonFetchData.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonFetchDataActionPerformed(evt);
            }
        });

        jButtonInsert.setText("Insert");
        jButtonInsert.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonInsertActionPerformed(evt);
            }
        });

        jButton2Update.setText("Update");
        jButton2Update.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2UpdateActionPerformed(evt);
            }
        });

        jButtonDelete.setText("Delete");
        jButtonDelete.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonDeleteActionPerformed(evt);
            }
        });

        jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Male", "Female" }));

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addGroup(layout.createSequentialGroup()
                                    .addComponent(jLabel2)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(jTextFieldName, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGroup(layout.createSequentialGroup()
                                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                        .addComponent(jLabel4)
                                        .addComponent(jLabel3))
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                        .addComponent(jTextFieldLName)
                                        .addComponent(jTextFieldAge))))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel5)
                                .addGap(18, 18, 18)
                                .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jButton2Update, javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jButtonInsert)
                            .addComponent(jButtonDelete)))
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 452, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(66, 66, 66)
                .addComponent(jButtonFetchData)
                .addContainerGap(71, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 183, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButtonFetchData))
                .addGap(11, 11, 11)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jButtonInsert)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton2Update)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButtonDelete))
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel2)
                            .addComponent(jTextFieldName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel3)
                            .addComponent(jTextFieldLName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel4)
                            .addComponent(jTextFieldAge, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel5)
                            .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(57, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jButtonFetchDataActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonFetchDataActionPerformed
        filltable();
    }//GEN-LAST:event_jButtonFetchDataActionPerformed
    private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked
        // TODO add your handling code here:
        String select = jTable1.getValueAt(jTable1.getSelectedRow(), 0).toString();
        try {
            baglantiAc();
        } catch (Exception ex) {
            Logger.getLogger(DbProjectGui.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
              
           Statement1 = conn.prepareStatement("select * from people where id=?");
           Statement1.setString(1, select);
           ResultSet res1 = Statement1.executeQuery();
             if (res1.next()) {
                    jTextFieldName.setText(res1.getString("name"));
                    jTextFieldLName.setText(res1.getString("Lname"));
                    jTextFieldAge.setText(res1.getString("age"));
                    if (res1.getInt("sex")==0) {
                     jComboBox1.setSelectedItem("Male");
                 }else{  
                    jComboBox1.setSelectedItem("Female");
                    }
             }
        } catch (SQLException ex) {
            Logger.getLogger(DbProjectGui.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        
    }//GEN-LAST:event_jTable1MouseClicked

    private void jButtonDeleteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDeleteActionPerformed
                  try {
            baglantiAc();
        } catch (Exception ex) {
            Logger.getLogger(DbProjectGui.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
           String select = jTable1.getValueAt(jTable1.getSelectedRow(), 0).toString();
           Statement1 = conn.prepareStatement("DELETE FROM test.people WHERE id=?");
           Statement1.setString(1, select);
           Statement1.execute();
        } catch (Exception ex) {
 String Error="Row is not selected for deleting operation.Please select data on the table.";
JOptionPane.showMessageDialog(null,Error);
        }
        filltable();
        jTextFieldName.setText("");
        jTextFieldLName.setText("");
        jTextFieldAge.setText("");
        
    }//GEN-LAST:event_jButtonDeleteActionPerformed

    private void jButton2UpdateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2UpdateActionPerformed
            try {
                
            baglantiAc();
        } catch (Exception ex) {
            Logger.getLogger(DbProjectGui.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            //burada tablodan seçilen değerin değerini string olarak aldık.
           String select = jTable1.getValueAt(jTable1.getSelectedRow(), 0).toString();
           Statement1 = conn.prepareStatement("Update people SET name=?,Lname=?,age=?,sex=? where id=?");
           // burada sql e join yapmak için parametre yolladık. (id)
           Statement1.setString(5, select);
           Statement1.setString(1, jTextFieldName.getText());
           Statement1.setString(2, jTextFieldLName.getText());
           Statement1.setString(3, jTextFieldAge.getText());
           int comboboxselectedindex = jComboBox1.getSelectedIndex();
           Statement1.setString(4, String.valueOf(comboboxselectedindex));
           Statement1.execute();
        } catch (Exception ex) {
             String Error="Data is not selected for updating operation.Please select data on the table.";
JOptionPane.showMessageDialog(null,Error);
        }   
                filltable();
        
        
    }//GEN-LAST:event_jButton2UpdateActionPerformed

    private void jButtonInsertActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonInsertActionPerformed
 try {
            baglantiAc();
        } catch (Exception ex) {
            Logger.getLogger(DbProjectGui.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
           Statement1 = conn.prepareStatement("INSERT INTO people (`ID`, `name`, `Lname`, `age`, `sex`) VALUES (NULL,?,?,?,?)");
          // sql ifadesine parametreleri ekliyoruz.
           Statement1.setString(1, jTextFieldName.getText());
           Statement1.setString(2, jTextFieldLName.getText());
           Statement1.setString(3, jTextFieldAge.getText());
           int comboboxselectedindex = jComboBox1.getSelectedIndex();
           Statement1.setString(4, String.valueOf(comboboxselectedindex));
           Statement1.execute();
        }catch (Exception ex) {
 String Error="Please Fill empty TextField area.";
JOptionPane.showMessageDialog(null,Error);
        }  
        
                filltable();
    
    }//GEN-LAST:event_jButtonInsertActionPerformed

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(DbProjectGui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new DbProjectGui().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton2Update;
    private javax.swing.JButton jButtonDelete;
    private javax.swing.JButton jButtonFetchData;
    private javax.swing.JButton jButtonInsert;
    private javax.swing.JComboBox jComboBox1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JTextField jTextFieldAge;
    private javax.swing.JTextField jTextFieldLName;
    private javax.swing.JTextField jTextFieldName;
    // End of variables declaration//GEN-END:variables

    private void filltable() { 
    try {
            baglantiAc();
        } catch (Exception ex) {
            Logger.getLogger(DbProjectGui.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            res = command.executeQuery("select * from people");
        } catch (SQLException ex) {
            Logger.getLogger(DbProjectGui.class.getName()).log(Level.SEVERE, null, ex);
        }
        
                 jTable1.setModel(DbUtils.resultSetToTableModel(res));
    }

}

 

Kodun içerisinde bazı sql sorgularına parametre yollamamız gerekiyordu. Örneğin kişinin bilgilerini güncelleyeceksek, bu kişinin id bilgisi elimizde olması gerekiyorki database’e gönderirken o kişinin bilgilerini güncellediğimizden emin olalım.

String select = jTable1.getValueAt(jTable1.getSelectedRow(), 0).toString();           
Statement1 = conn.prepareStatement("select * from people where id=?");
           Statement1.setString(1, select);
           ResultSet res1 = Statement1.executeQuery();

örneğin bu kodda string olarak tanıttığımız selectin içerisine program üzerindeki tabloda hangi kişinin üzerine tıkladıysak o kişinin id bilgisini göndermiş olduk.
jTable1.getSelectedRow() satır sayısını verir 0 değeri ise sütün oluyor. dolayısınla ilk sütünde id bilgisi olduğundan hangi kişiye tıklarsak onun id bilgisi select değişkenine yerleşmiş oluyor.
res1 objesinede bu sorgunun sonucunu atmış olduk.
Bu sorgunun ardından result setin içerisinde sütün bazında kişinin ismi, soyismi, yaşı ve cinsiyet bilgisi yerleşti. If döngüsü ile bu bilgileri textfieldlara gönderme işlemide şu şekildedir;

if (res1.next()) {
                    jTextFieldName.setText(res1.getString("name"));
                    jTextFieldLName.setText(res1.getString("Lname"));
                    jTextFieldAge.setText(res1.getString("age"));
                    if (res1.getInt("sex")==0) {
                     jComboBox1.setSelectedItem("Male");
                 }else{  
                    jComboBox1.setSelectedItem("Female");
                    }
             }

Unutmadan veritabanına oluşturduğumuz people tablosunun şeması şu şekildedir;

create table people(
id int NOT NULL AUTO_INCREMENT,
name varchar(50),
Lname varchar(50),
age int,
sex int(10),
Primary key(id)
)

Program ile ilgili bazı görseller;

java ile veritabanı bağlantısı_1

java ile veritabanı bağlantısı_2

java ile veritabanı bağlantısı_3

java ile veritabanı bağlantısı_4

Programın kodları hakkında aklınıza takılan herşeyi sorabilirsiniz.

The post Java Veritabanı Projesi – Java ile Veritabanı Bağlantısı first appeared on Emre Bektaş.

]]>
https://www.emrebektas.com/java/java-veritabani-projesi-java-ile-veritabani-baglantisi/feed/ 0
C# ile Arduino Seri Port Haberleşmesi https://www.emrebektas.com/arduino/c-ile-arduino-seriport-haberlesmesi/ https://www.emrebektas.com/arduino/c-ile-arduino-seriport-haberlesmesi/#respond Mon, 26 Jan 2015 20:59:26 +0000 http://www.emrebektas.com/?p=284 Merhaba arkadaşlar bugün sizlere C# ile serial haberleşmenin nasıl olacağını ve küçük bir arduino haberleşme programını paylaşacağım. Kullandığım sensör DHT22, yazdığım arduino programında seri porttan temp değeri gelirse sıcaklığı, hum değeri gelirse nem değerini...

The post C# ile Arduino Seri Port Haberleşmesi first appeared on Emre Bektaş.

]]>
Merhaba arkadaşlar bugün sizlere C# ile serial haberleşmenin nasıl olacağını ve küçük bir arduino haberleşme programını paylaşacağım. Kullandığım sensör DHT22, yazdığım arduino programında seri porttan temp değeri gelirse sıcaklığı, hum değeri gelirse nem değerini bize seri porttan gönderecek ve bizde C# ile bu değeri yakalayıp label’a yazacağız…

Sensör bağlantısı;

arduino c# communication dht22 sensor

Arduino kodumuz;

#include <dht.h>
dht DHT;
#define DHT22_PIN 2
String inputString = "";         // a string to hold incoming data
boolean stringComplete = false;
void setup() {
 Serial.begin(9600);
 inputString.reserve(200);  
 delay(5); 
}
void loop() {
  if (stringComplete) {
    //Serial.print(inputString);
    triggertmp();
    inputString = "";
    stringComplete = false;
    
  } 
}
void serialEvent() {
  while (Serial.available()) {            
    char inChar = (char)Serial.read();  
    inputString += inChar;                
    if (inChar == '\n') {               
      stringComplete = true;
    }
  }
}
void triggertmp()
{
if(inputString=="temp\n"){ 
 int chk = DHT.read22(DHT22_PIN);
 Serial.print(DHT.temperature, 1);
 Serial.print("\n");
}
if(inputString=="hum\n"){ 
 int chk = DHT.read22(DHT22_PIN);
 Serial.print(DHT.humidity, 1);
 Serial.print("\n");
}
}



Arduino koduna bakacak olursak benim eklediğim triggertmp fonksiyonu ile seriporttan gelen değer temp ise sıcaklık bilgisini hum ise nem bilgisini arduino tarafından yolluyoruz. Zaten programın diğer kısımları hali hazırda arduino idesinde bulunuyor.(Serialevent)

C# kodumuz;

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO.Ports;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace www.emrebektas.com_2
{
    public partial class Form1 : Form
    {
        SerialPort serial = new SerialPort("COM13");
        String arduinovalue = "";
        public Form1()
        {
            InitializeComponent();
            serial.Open();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

          
        }

        private void buttonSend_Click(object sender, EventArgs e)
        {
            String emre = null;
            emre = textBox1.Text;
            serial.WriteLine(emre);
            if (serial.BytesToRead > 0)
            {
                arduinovalue = serial.ReadLine();
                label3.Text = arduinovalue;
            }

        }

    }
}

C# tarafında

SerialPort serial = new SerialPort(“COM13”);

bu satırda com13 portuna ait bir serialport objesi oluşturuyoruz ismide serial.

serial.Open(); ile seri portumuzu açıyoruz.

Serial.WriteLine(“”); ise seri porta bilgi gönderiyoruz.

serial.BytesToRead ile seri porttan değer gelip gelmediğini kontrol ediyoruz. serial.BytesToRead > 0 ile eğer seri porttan değer geldiyse bu if döngüsü çalışacaktır. Aşağıdaki resime bakacak olursak arduino tarafına temp göndermişiz ve arduino bize 22.5 değerini göndermiş ve bir değer gönderdiği içinde if döngüsü çalıştı gelen değer label’a yazıldı.

C# programımızdan görüntüler;

c# arduino communication

The post C# ile Arduino Seri Port Haberleşmesi first appeared on Emre Bektaş.

]]>
https://www.emrebektas.com/arduino/c-ile-arduino-seriport-haberlesmesi/feed/ 0
Java MsSQL Database Bağlantısı https://www.emrebektas.com/java/java-mssql-database-baglantisi/ https://www.emrebektas.com/java/java-mssql-database-baglantisi/#respond Wed, 14 Jan 2015 16:49:32 +0000 http://www.emrebektas.com/?p=272 Merhaba arkadaşlar bugün sizlere Java ile MsSQL bağlantısı nasıl yapıcağı hakkında gerekli kodu paylaşacağım. Java ile Mysql bağlantısı yazımda detaylıca .jar yani kütüphane dosyalarını nasıl import edileceğiniz anlattığımdan dolayı tekrar etmeyeceğim. Paylaşacağım kodda biz...

The post Java MsSQL Database Bağlantısı first appeared on Emre Bektaş.

]]>
Merhaba arkadaşlar bugün sizlere Java ile MsSQL bağlantısı nasıl yapıcağı hakkında gerekli kodu paylaşacağım. Java ile Mysql bağlantısı yazımda detaylıca .jar yani kütüphane dosyalarını nasıl import edileceğiniz anlattığımdan dolayı tekrar etmeyeceğim. Paylaşacağım kodda biz sql server authentication modunu kullandık  isterseniz windows authentication ilede bağlanabilirsiniz…

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;


public class MsSqlConnection {


    public static void main(String[] args)
    {
        Connection connect=null;
        Statement statement=null;
        String Query="select * from [tablename]";

        String JDBC_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String DATABASE_URL = "jdbc:jtds:sqlserver://youraddress;database=yourdbname;integratedSecurity=true;";
        String USERNAME = "sa"; 
        String PASSWORD = "*****";
        try
        {
            //Driveri ekliyoruz.
            Class.forName(JDBC_DRIVER);
            connect=DriverManager.getConnection(DATABASE_URL,USERNAME,PASSWORD);
          
            statement=connect.createStatement();
            ResultSet result=statement.executeQuery(Query);
            
            ResultSetMetaData metaData = result.getMetaData();
            int number = metaData.getColumnCount();
            for(int i=1; i<=number; i++) 
            System.out.printf( "%-8s\t", metaData.getColumnName( i ) );
            System.out.println();
            while(result.next()) {
            for(int i=1; i<=number; i++) 
            System.out.printf("%-8s\t", result.getObject(i));
       //   int id = result.getInt("ID"); //if you want to fetch specitfic info use this method.
            System.out.println();
                 
            }
        }
 
        catch(SQLException e)
        {
            e.printStackTrace();
            System.exit(1);
        }
        catch(ClassNotFoundException e)
        {
            e.printStackTrace();
            System.exit(1);
        }
        finally
        {
            try
            {
            	connect.close();
                statement.close();
            }
            catch(Exception e)
            {
                e.printStackTrace();
                System.exit(1);
            }
        }
    }
}

Koda baktığımızda bilmemiz gereken ayrıntı;

jdbc:jtds:sqlserver satırıdır. Buradaki jtds java ile mssql arasında sql server authentication yapmamızı sağlıyor. Linux kullanan arkadaşların işine çok yarayacaktır bu yöntem. Zira windows tarafında windows authentication dosyasınıda projenize eklemeniz gerekiyor native library olarak. Ek olarak sql server authentication yapmak istiyorsak sql serverdan bu ayarı aktifleştirmek gerekiyor. Sql serverdan bağlı olduğunuz datasenin üzerine gelerek sağ tıklayıp properties seçeneğine girin ardından;

SqlServerAuthenticationMode

 

Bu ayarı etkinleştirmeniz gerekiyor.

Windows üzerinden java programlıyorsanız kodu jdbc:sqlserver olarak değiştirebilirsiniz. bu şekilde çalıştırmak isterseniz sql server authentication ile uğraşmanıza gerek yoktur.

http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774 adresinden kütüphaneyi indirip işletim sistemi türünüze göre sqljdbc_auth.dll dosyasını projenize nativa library olarak eklemeniz gerekmektedir.

[su_button url=”https://drive.google.com/file/d/0Bypgi5nv-lAOMGxNNEhDYkpGY1U/” target=”blank” style=”3d”]Download[/su_button]

 

The post Java MsSQL Database Bağlantısı first appeared on Emre Bektaş.

]]>
https://www.emrebektas.com/java/java-mssql-database-baglantisi/feed/ 0
Java ile Klavyeden Basılan Tuşu Algılama – Java Key Listener https://www.emrebektas.com/java/java-ile-klavyeden-basilan-tusu-algilama-java-key-listener/ https://www.emrebektas.com/java/java-ile-klavyeden-basilan-tusu-algilama-java-key-listener/#comments Fri, 26 Dec 2014 23:16:18 +0000 http://www.emrebektas.com/?p=264 Merhaba arkadaşlar bu yazımda java programlama dili ile klavyeden girilen tuşları algılayan küçük bir program paylaşacağım.Programımız iki tane java classdan oluşuyor.  Birincisi main fonkiyonumuzun yer aldığı JavaKeyListener.java ikincisi ise myOwnKeyListener objesinin classı olacak. JavaKeyListener.java...

The post Java ile Klavyeden Basılan Tuşu Algılama – Java Key Listener first appeared on Emre Bektaş.

]]>
Merhaba arkadaşlar bu yazımda java programlama dili ile klavyeden girilen tuşları algılayan küçük bir program paylaşacağım.Programımız iki tane java classdan oluşuyor.  Birincisi main fonkiyonumuzun yer aldığı JavaKeyListener.java ikincisi ise myOwnKeyListener objesinin classı olacak.

JavaKeyListener.java

package javakeylistener;
import javax.swing.JFrame;
/**
 *
 * @author Emre Bektas
 */
public class JavaKeyListener {
    public static void main(String[] args) {
        myOwnKeyListener klavye = new myOwnKeyListener();
        JFrame frame = new JFrame();
        frame.setTitle("Java Key Listener Event_Emre Bektaş");
        frame.setSize(400, 200);
        frame.setResizable(false);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.addKeyListener(klavye);
        frame.setVisible(true);
    }
}

Bu dosyada Jframe objesinden frame nesnesi türettik ve bazı attributelerine erişerek değerler girdik.

myOwnKeyListener.java

package javakeylistener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
/**
 *
 * @author Emre Bektas
 */
public class myOwnKeyListener implements KeyListener{
    @Override
    public void keyTyped(KeyEvent e) {
        
    }
    @Override
    public void keyPressed(KeyEvent e) {
        System.out.println("Key Pressed " + KeyEvent.getKeyText(e.getKeyCode()));
         if("Right".equals(KeyEvent.getKeyText(e.getKeyCode())))
            System.out.println("Right Button Detected");
         if(e.getKeyCode()==KeyEvent.VK_ESCAPE)
            System.exit(0);
    }
    @Override
    public void keyReleased(KeyEvent e) {
        
    }
    
}

 

java KeyListener

Eclipse projesini aşağıdaki linkten indirebilirsiniz…

[su_button url=”https://drive.google.com/open?id=0Bypgi5nv-lAOT2d0enNGTW05N2c” target=”blank” style=”3d”]Download[/su_button]

 

 

The post Java ile Klavyeden Basılan Tuşu Algılama – Java Key Listener first appeared on Emre Bektaş.

]]>
https://www.emrebektas.com/java/java-ile-klavyeden-basilan-tusu-algilama-java-key-listener/feed/ 2
Arduino ile Java’nın Seri Port Üzerinden Haberleşmesi https://www.emrebektas.com/arduino/arduino-ile-javanin-seri-port-uzerinden-haberlesmesi/ https://www.emrebektas.com/arduino/arduino-ile-javanin-seri-port-uzerinden-haberlesmesi/#respond Mon, 22 Dec 2014 20:44:59 +0000 http://www.emrebektas.com/?p=238 Arduino ile Java’nın Seri Port Üzerinden Haberleşmesi Merhaba arkadaşlar bu yazımda sizlere Java programlama dili ile seri port üzerinden arduino ile nasıl haberleşebileceğimizi göstereceğim. Aslında hali hazırda arduino’nun resmi sitesinde kodu bulunmaktadır fakat bu...

The post Arduino ile Java’nın Seri Port Üzerinden Haberleşmesi first appeared on Emre Bektaş.

]]>
Arduino ile Java’nın Seri Port Üzerinden Haberleşmesi

Merhaba arkadaşlar bu yazımda sizlere Java programlama dili ile seri port üzerinden arduino ile nasıl haberleşebileceğimizi göstereceğim. Aslında hali hazırda arduino’nun resmi sitesinde kodu bulunmaktadır fakat bu kodda sadece serial read işlemleri yapılıyor seri porta değer yazmıyor. Benim yazdığım kodda ise Seri port üzerinden arduino’ya değer gönderiyoruz ve değeri okuyabiliriyoruz.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import gnu.io.CommPortIdentifier; 
import gnu.io.SerialPort;
import gnu.io.SerialPortEvent; 
import gnu.io.SerialPortEventListener; 
import java.util.Enumeration;

public class SerialTest implements SerialPortEventListener {
	SerialPort serialPort;
        /** The port we're normally going to use. */
	private static final String PORT_NAMES[] = { 
		//	"/dev/tty.usbserial-A9007UX1", // Mac OS X
          //              "/dev/ttyACM0", // Raspberry Pi
		//	"/dev/ttyUSB0", // Linux
			"COM5", // Windows
	};
	/**
* A BufferedReader which will be fed by a InputStreamReader 
	* converting the bytes into characters 
	* making the displayed results codepage independent
	*/
	private BufferedReader input;
	/** The output stream to the port */
	private static OutputStream output;
	/** Milliseconds to block while waiting for port open */
	private static final int TIME_OUT = 2000;
	/** Default bits per second for COM port. */
	private static final int DATA_RATE = 9600;

	public void initialize() {
                // the next line is for Raspberry Pi and 
                // gets us into the while loop and was suggested here was suggested http://www.raspberrypi.org/phpBB3/viewtopic.php?f=81&t=32186
                System.setProperty("gnu.io.rxtx.SerialPorts", "COM5");

		CommPortIdentifier portId = null;
		Enumeration portEnum = CommPortIdentifier.getPortIdentifiers();

		//First, Find an instance of serial port as set in PORT_NAMES.
		while (portEnum.hasMoreElements()) {
			CommPortIdentifier currPortId = (CommPortIdentifier) portEnum.nextElement();
			for (String portName : PORT_NAMES) {
				if (currPortId.getName().equals(portName)) {
					portId = currPortId;
					break;
				}
			}
		}
		if (portId == null) {
			System.out.println("Could not find COM port.");
			return;
		}

		try {
			// open serial port, and use class name for the appName.
			serialPort = (SerialPort) portId.open(this.getClass().getName(),
					TIME_OUT);

			// set port parameters
			serialPort.setSerialPortParams(DATA_RATE,
					SerialPort.DATABITS_8,
					SerialPort.STOPBITS_1,
					SerialPort.PARITY_NONE);

			// open the streams
			input = new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
			output = serialPort.getOutputStream();

			// add event listeners
			serialPort.addEventListener(this);
			serialPort.notifyOnDataAvailable(true);
		} catch (Exception e) {
			System.err.println(e.toString());
		}
	}

	/**
	 * This should be called when you stop using the port.
	 * This will prevent port locking on platforms like Linux.
	 */
	public synchronized void close() {
		if (serialPort != null) {
			serialPort.removeEventListener();
			serialPort.close();
		}
	}

	/**
	 * Handle an event on the serial port. Read the data and print it.
	 */
	public synchronized void serialEvent(SerialPortEvent oEvent) {
		if (oEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
			try {
				String inputLine=input.readLine();
				System.out.println(inputLine);
			} catch (Exception e) {
				System.err.println(e.toString());
			}
		}
		// Ignore all the other eventTypes, but you should consider the other ones.
	}
	public static void main(String[] args) throws Exception {
		SerialTest main = new SerialTest();
		main.initialize();
		Thread t=new Thread() {
			public void run() {
				//the following line will keep this app alive for 1000 seconds,
				//waiting for events to occur and responding to them (printing incoming messages to console).
				try {Thread.sleep(1000000);} catch (InterruptedException ie) {}
			}
		};
		t.start();
                System.out.println("Resetting and Starting Arduino");
                Thread.sleep(3000);
		System.out.println("Connection Started");
		try{
			String command = "emre bektas.com\n";
			char[] char_array = command.toCharArray();
			Thread.sleep(100); // veri göndermeden önce bu thread gerekiyor.
				for (int i = 0; i < char_array.length; i++) {
					output.write(char_array[i]);
				}
			Thread.sleep(100); // connection kapatmadan önce bu thread gerekiyor.
			} catch(IOException ioe) {
			ioe.printStackTrace();
			} catch(InterruptedException ie) {
			ie.printStackTrace();
			}
		main.close(); // connection u kapattık. eğer sürekli veri gönderilip alınacaksa bu komut kaldırılmalı.
		System.out.println("Connection Closed");
	}

	
}

Ek olarak java’nın serialport kütüphanesini kullanabilmeniz için projenize txrxcommunication kütüphanesini eklemeniz ve rar dosyasının içindeki win 32 ve win 64 işletim sisteminiz kaç bit ise içerisindeki rxtxSerial.dll dosyasını C:\Windows klasörüne atmanız gerekmektedir. Eğer Netbeans kullanıyorsanız windows klasörüne dll dosyasınız atmanız gerekebilir fakat eclipsede sadece  RXTXcomm-2.2pre2.jar dosyasını projeye import etmem yetti.Dosyaları ekten indirebilirsiniz…

Eğerki her defasında jar dosyasını projenize eklemek istemiyorsanız c:\Program Files\Java\kullandıgınızjava\lib\ext klasörün e RXTXcomm-2.2pre2 dosyasını kopyalayınız…

java and arduino communication

 

 

[su_button url=”https://drive.google.com/file/d/0Bypgi5nv-lAOQldKLW9Kenp0dkU/” target=”blank” style=”3d”]Download[/su_button]

The post Arduino ile Java’nın Seri Port Üzerinden Haberleşmesi first appeared on Emre Bektaş.

]]>
https://www.emrebektas.com/arduino/arduino-ile-javanin-seri-port-uzerinden-haberlesmesi/feed/ 0
Arduino ile Python Haberleşmesi https://www.emrebektas.com/arduino/arduino-ile-python-haberlesmesi/ https://www.emrebektas.com/arduino/arduino-ile-python-haberlesmesi/#comments Sun, 21 Dec 2014 19:47:57 +0000 http://www.emrebektas.com/?p=233 Merhaba arkadaşlar bu yazımda sizlere Python programlama dili ile arduino mikrokontrolcüsünü seri port üzerinden nasıl haberleşeceğini anlatacağım. İlk olarak arduino IDE üzerinden arduino’ya yazılım yükledim bu yazılım hali hazırda arduino ide üzerinde bulunuyor. File->Examples->Communication->SerialEvent...

The post Arduino ile Python Haberleşmesi first appeared on Emre Bektaş.

]]>
Merhaba arkadaşlar bu yazımda sizlere Python programlama dili ile arduino mikrokontrolcüsünü seri port üzerinden nasıl haberleşeceğini anlatacağım. İlk olarak arduino IDE üzerinden arduino’ya yazılım yükledim bu yazılım hali hazırda arduino ide üzerinde bulunuyor.
File->Examples->Communication->SerialEvent bu yazılımı arduino’ya aktardım. Bu yazılımı çok kısaca açıklamak gerekirse seri porttan gelen değerleri karakter dizisine atıyor ve \n gördüğü yerde veriyi kesip seri porta yazıyor.örneğin emre\n yollarsak arduino bize emre’yi seri porttan gönderecektir.

import serial
import time
ser = serial.Serial("COM5", 9600)  
print("Reseting Arduino")
time.sleep(3) 
print("Arduino is ready")
for x in range(0, 3):
    ser.write("emre bektas\n")
    print ser.readline()             
print "Sending serial data"
ser.close()
if(ser.isOpen()):
    print "Serial connection is still open."
else:
    print "Serial connection is close."

Python koduna baktığımızda ilk olarak serial ve time kütüphanelerini import ettik. ve serial objesinden ser tipinde nesne üretip içerisine arduino kartımızın bağlı olduğu com portu ve bound rate’ini girdik.
Buradaki kritik nokta bu bağlantı kurulurken arduino otomatik olarak kendine reset atar ve belli bir süre beklemeniz gerekiyor. Aksi taktirde gönderdiğiniz verilerin bir kısmı arduino’ya ulaşmıyor.
Bu yüzden time.sleep ile 3 saniye beklettik.Ardından for döngüsü ile 0 dan 3 e kadar programı döndürdük. Seri porta 3 kere emre bektas\n göndermiş olduk. Koda bakacak olursaniz her ser.write(“emre bektas\n”) ifadesinin ardından  ser.readline() komutu ile arduinodan gelecek olan değeri programa alıyoruz ve print ile yazdırıyoruz.
Döngü bittikten sonra serial datalar gönderildi yazacağız ve ardından seri haberleşmemizi kapatıyoruz. En sonda da if döngüsü ile eğer connection açık kalmış ise bize uyarı veriyor kapalıysada “Serial connection is close.” yazıyor.

arduino ve python haberlesmesi

Paylaştığım görseldende anlayacağınız üzere 1. sütunda python kodunu yazıyoruz ardından Run edince 2. sütundaki pencere açılıyor ve programı gerçekleştiriyor. seri porttan 3 tane gelmesini beklediğimiz emre bektas geliyor. 3. sütunda da ilgili arduino kodunu görebilirsiniz. Tek yaptığım değişiklik Serial.println(inputString); komutunu Serial.print(inputString); yapmak oldu. Bunun nedeni ise println fonksiyonu her gönderdiği değerden sonra bir alt satıra geçer biz bunu engellemiş olduk.

The post Arduino ile Python Haberleşmesi first appeared on Emre Bektaş.

]]>
https://www.emrebektas.com/arduino/arduino-ile-python-haberlesmesi/feed/ 1
Arduino nedir ? Arduino ile neler yapılabilir ? https://www.emrebektas.com/arduino/arduino-nedir-arduino-ile-neler-yapilabilir/ https://www.emrebektas.com/arduino/arduino-nedir-arduino-ile-neler-yapilabilir/#respond Sun, 21 Dec 2014 14:44:58 +0000 http://www.emrebektas.com/?p=223 Arduino nedir ? Arduino elektronik projelerinizi gerçekleştirmek için yapılmış açık kaynak kodlu geliştirme platformdur. Arduino ile 2 taraflı geliştirme yapılıyor. Devre üzerinde ve Arduino IDE üzerinden kod yazarak projelerimizi oluşturuyoruz. Gerekli yazılımı yazıp bilgisayardan...

The post Arduino nedir ? Arduino ile neler yapılabilir ? first appeared on Emre Bektaş.

]]>
Arduino nedir ?
Arduino elektronik projelerinizi gerçekleştirmek için yapılmış açık kaynak kodlu geliştirme platformdur. Arduino ile 2 taraflı geliştirme yapılıyor. Devre üzerinde ve Arduino IDE üzerinden kod yazarak projelerimizi oluşturuyoruz. Gerekli yazılımı yazıp bilgisayardan arduino’ya aktarabiliyoruz.
Arduino elektronik bilgisi çok yeterli olmayan kişilerin elektronik projelerine başlaması için oldukça popüler bir platformdur. İnternet üzerinde pek çok kaynak bulunmaktadır. Arduino IDE üzerinden yazılan programlar C programlama diline çok yakındır.
Piyasada bir çok arduino çeşidi bulunmaktadır. Bunlardan yazıları Arduino UNO,Leonardo,MEGA,Nano ve Due dir. En yaygın kullanılan arduino çeşidi ise Arduino Uno dur. Dolayısıyla arduino platformuna yeni başlayacak olan kişilere Uno modeli tavsiye edilmektedir. Bir çok kütüphanede Uno modeline uygun olarak tasarlanıyor.
Farklı bir arduino modeli kullansanız dahi IDE tarafında syntax değişmiyor. Genel olarak kullanılan mikroişlemciler 8 bittir. Bildiğim kadarı ile sadece Arduino Due modelinde 32 bitlik Atmel’in SAM3X8E ARM Cortex-M3 işlemcisi bulunmakta ve pin voltaj seviyeleri 3.3 volt’tur. Diğer arduino modellerinde ise pinler 5 volt’tur. Genel olarak piyasadaki sensörler 5v ile tam uyumlu fakat bazı modeller 3.3 V desteklememektedir. Dolayısıyla kullanırken voltaj düşürücü modüller kullanmamız gerekmektedir.

Arduino ile neler yapılabilir ?
Arduino platformu ile yapabilecekleriniz hayal gücünüzle sınırlı diyebiliriz. Fakat bazı alanlarda arduino ile proje yapmak zor oluyor. Örneğin projenizde görüntü işleme var ise arduino bu konuda geri kalıyor. Gerçek zamanlı kamera görüntüsü aktarma, sinyal işleme gibi işleriniz var ise Raspberry pi veya Udoo gibi linux bilgisayarlara bakmanızda fayda var. Arduino ile üzerinde bulunan dijital ve analog giriş çıkışları kullanarak sensörleri yöneterek robotlar ve sistemler tasarlayabilirsiniz. Eğer arduino ile internet bağlantısı yapmak istiyorsanız arduino için tasarlanmış wifi ve ethernet shield’lar bulunmaktadır. Örneğin, hareket algılayıcı bir sensör kullanarak odanızda herhangi bir hareket olduğunda size mail atan bir uygulamayı kolaylıkla yapabilirsiniz.

Arduino ile yapılabilecek bazı proje fikirleri için: http://playground.arduino.cc/Projects/Ideas adresini ziyaret edebilirsiniz.

Arduino modellerine ve özelliklerine göz atmak isterseniz: http://arduino.cc/en/Main/Products

Arduino IDE:

arduino ide

Arduino Uno Modeli:

arduino-uno-r3

Arduino Uno teknik özellikleri:

Mikrodenetleyici ATmega328
Çalışma Gerilimi  5V
Digital I/O Pins 14 (6 Tanesi pwm)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
Flash Memory 32 KB (ATmega328)
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Saat hızı 16 MHz

The post Arduino nedir ? Arduino ile neler yapılabilir ? first appeared on Emre Bektaş.

]]>
https://www.emrebektas.com/arduino/arduino-nedir-arduino-ile-neler-yapilabilir/feed/ 0