codegenius tarafından yazılmış tüm yazılar

Go Kurulumu ve PATH Ayarları (Linux)

Merhaba,

Linux üzerinde Go programlama ortamını kurmak için aşağıdaki adımları takip edelim.

1. Kurulum

  • Buradan en son go versiyonunu indirelim. (Yaklaşık 104mb)
  • İndirdiğimiz klasöre gelerek .tar dosyasını /usr/local içerisine aşağıdaki komutla açalım.
  • sudo tar -C /usr/local/ -xzf go1.9.1.linux-amd64.tar.gz

2. Ortam Değişkenlerini (PATH) Ayarlama

  • PATH ayarlarına go’nun kurulu olduğu yeri eklemek için $HOME/.profile dosyasını favori text editörünüzle açın.
  • sudo vim /home/codemania/.profile
  • export PATH=$PATH:/usr/local/go/bin  kopyalayıp yapıştırın. Böylece path değişkenine go eklenmiş olacaktır.

  • PATH değişkenine eklendiğini görmek için
  • source $HOME/.profile
  • echo $PATH komutlarını sırayla çalıştırın, eğer doğru şekilde eklediyseniz değişkenin sonuda /usr/local/go/bin/ görünecektir.

  • Sonrasında terminale go yazarak ortam değişkeninin çalıştığını gözlemleyebilirsiniz.
  • Önemli Not: Go’yu /usr/local içine açarsanız GOROOT değişkenini ayarlamanıza gerek yok. Başka yere kuracaksınız GOROOT ortam değişkenini de ayarlamayı unutmayın.

Bu kurulum sonucunda GOROOT ve GOPATH değişkenleri aşağıdaki gibi setlemiş olacak. Bu değişkenleri terminale go env yazarak görüntüleyebilirsiniz.

  • GOROOT = /usr/local/go
  • GOPATH = $HOME/$USER/go

Örneğin benim bilgisayarım için ortam değişkenleri:

Son olarak çalışma ortamımızı ayarlayalım.

  • mkdir $HOME/go  komutunu çalıştıralım.
  • Böylece home dizinimizde go klasörü oluşturacağız.

3. Test

Kurulumu tamamladık. Şimdi “hello, world” diyelim.

  • Çalışma ortamımızın olduğu dizine gelelim. Biz o dizini $HOME/go olarak ayarlamıştık.
  • O dizinin altında aşağıdaki komutları uygulayarak src/ ve hello/ dizinini oluşturalım.
  • cd $HOME/go
  • mkdir src
  • cd src
  • mkdir hello
  • cd hello

  • Favori text editörünüzü kullanarak aşağıdaki örnek kodu hello.go olarak kaydedelim.
package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}

  • go build yazarak hello.go programımızı derleyelim. Sonucunda hello adında çalıştırılabilir dosya çıkacaktır.

  • Son olarak hello programımızı çalıştıralım.
  • ./hello

Sonuç yukarıdaki gibi olacaktır. İyi kodlamalar.

Kaynakhttps://golang.org/doc/install

Loading

Facebooktwitterredditpinterestlinkedinmail

Go Kurulumu ve PATH Ayarları (Windows)

Selam,

Windows üzerinde Go programlama ortamını kurmak için aşağıdaki adımları takip edelim.

1. Kurulum

  • Buradan en son GO versiyonunu indirelim. (Yaklaşık 92mb).
  • Yükleme adımlarını takip ederek kurulumu tamamlayalım.
  • Kurulum sırasında farklı bir yer seçmezseniz Go ortamı C:\Go olarak kurulacaktır. Farklı bir dizine kurmak isterseniz o yerin adresini girin örneğin ben T:\Go olarak değiştirdim.

2. Ortam Değişkenlerini Ayarlama

  • Go kurulumu başarılıyla tamamlandıktan sonra test için Windows PowerShell’i açalım.
  • go yazıp enter’a basalım. Kurulum düzgün bir şekilde yapıldıysa sonuç ekrandaki gibi olacaktır.

Go kurulurken “GOROOT” isimli ortam değişkenini kurduğunuz dizine atayacaktır. Buna ek olarak çalışma dizinini ayarlamamız gerekiyor.

Ortam değişkenleri -> Sistem Değişkenlerine “GOPATH” değişkenini ekleyelim.

Çalışmak istediğiniz dizinde go workspace klasörü oluşturun. Örneğin ben “GoWorkspace” adını verdim.Siz de istediğiniz adı verebilirsiniz.

3. Test

GOROOT ve GOPATH değişkenlerini ayarladıktan sonra şimdi go ortamını örnek bir uygulamayla test edelim.

Daha önce oluşturduğumuz workspace için /src/hello/ adında yeni dizin açalım ve aşağıdaki kodu bu hello.go olarak kaydedelim

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}

 

Programımızı kaydedip çıkalım ve dosyayı oluşturduğumuz klasörde powershell’i açalım.

“go build” yazalım. Böylece programımız derlenecek ve hello.exe oluşacaktır. Daha sonra hello.exe‘yi çalıştırarak aşağıdaki sonucu görelim.

 

Artık go ortamımız hazır. İyi kodlamalar 🙂

Kaynak:  https://golang.org/doc/install

Loading

Facebooktwitterredditpinterestlinkedinmail

Fastboot Flash Hatası ((bootloader) Data size exceeds download buffer) Çözümü

Merhaba,

Fastboot scripti ile image atarken bazı durumlarda aşağıdaki hata  ile karşılaşırsanız kesin çözüm için fastboot scriptini güncellemeniz gerekiyor.

Öncelikle android sdk’yı güncelleyelim. Daha sonra sdk/platform-tools/ içerisindeki fastboot scriptine sembolik link yapalım .

#sudo ln -sf [FULL_PATH_TO_ANDROID_SDK]/platform-tools/fastboot  /usr/local/bin/fastboot

komutunu çalıştıralım.

Örneğin benim bilgisayarım için:

sudo şifrenizi girdikten  sonra atacağınız image içerisindeki flash-all.sh komutunu kullanabilirsiniz. Artık hata vermeyecektir.

Windows içinse güncel sdk içerisindeki fastboot’u PATH’e eklemeniz yeterli olacaktır.

İyi çalışmalar,

Loading

Facebooktwitterredditpinterestlinkedinmail

Android Things Raspberry Pi 3 Pin Dizilimi ve Desteklediği Arayüzler

Merhaba arkadaşlar,

Android Things OS ile Raspberry Pi 3’ü kullanırken pin adlandırması Raspbian OS’e göre farklı. GPIOx isimlendirmesi yerine BCMx isimlendirmesi kullanılıyor.
Android Things ile kullanılması gereken pin dizilimi:

GPIO arayüzünü kullanırken seçtiğimiz pine erişmek için “BCMx” şeklinde kullanmalıyız.

PeripheralManagerService manager = new PeripheralManagerService();
// Use bcm notation.For example BCM21 
Gpio mGpio = manager.openGpio("BCMx");

Raspberry Pi 3’te bir adet I2C arayüzü mevcut. 3 numaralı pin SDA, 5 numaralı pin ise SCL olarak kullanılıyor. Aynı arayüzü kullanarak I2C destekli 127 cihaz bağlayabilirsiniz. Peripheral Manager Apisini kullarak I2C arayüzüne erişmek için “I2C1” isimlendirmesini kullanacağız. Örneğin;

PeripheralManagerService mngr = new PeripheralManagerService();
// sample adress 0x77
mngr.openI2cDevice("I2C1",0x77);

Raspberry Pi 3’te 2 adet donanımsal PWM arayüzü mevcut. PWM0 arayüzü 12. pin olan BCM18 ile ortak olarak kullanılıyor. PWM1 araüyüzü ise BCM13 ile ortak olarak kullanılıyor. Bu arayüzlere erişmek içinse “PWM0” ve “PWM1” adlandırmasını kullanabiliriz. Örnek erişim :

PeripheralManagerService mngr = new PeripheralManagerService();
mngr.openPwm("PWM0");
mngr.openPwm("PWM1");

Eğer servo motor kontrol ediyorsanız doğrudan servo sürücüsü üzerinden de erişebilirsiniz. Örneğin;

            mServo = new Servo("PWM1");
            mServo.setPulseDurationRange(1, 2); // according to your servo's specifications
            mServo.setAngleRange(-90, 90);       // according to your servo's specifications
            mServo.setEnabled(true);

            mServo2 = new Servo("PWM0");
            mServo2.setPulseDurationRange(1, 2); // according to your servo's specifications
            mServo2.setAngleRange(-90, 90);       // according to your servo's specifications
            mServo2.setEnabled(true);

UART arayüzünü sağlayan pinler ise 8. pin (TX) 10. pin (RX). UART arayüzüne erişmek için kullanacağımız isimlendirme ise “UART0”. Örneğin;

PeripheralManagerService mngr = new PeripheralManagerService();
                  
mngr.openUartDevice("UART0");

SPI için ise 2 adet arayüz mevcut bunlar SPI0.0 ve SPI0.1. Bu arayüzlere aşağıdaki şekilde ulaşabiliriz:

MOSI – 19. Pin
MISO – 21. Pin
SCLK – 23. Pin
SS0 – 24. Pin
SS1 – 26. Pin

PeripheralManagerService mngr = new PeripheralManagerService();
mngr.openSpiDevice("SPI0.0");
mngr.openSpiDevice("SPI0.1");

Tüm arayüzler ise aşağıdaki gibi :

Kaynak: https://developer.android.com/things/sdk/pio/index.html

İyi çalışmalar,

Loading

Facebooktwitterredditpinterestlinkedinmail