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

Bilgisayar ve Zeka – A.M. Turing – 2

2. Yeni Problemin Eleştirileri ( Critique of the New Problem)

Önceki yazıda belirttiğimiz gibi sorunun yeni formundaki cevabı ne olacaktır ? Bazılarınız soruabilir : “Bu yeni öneri sorgulamaya değer mi?

Yeni problemin ilk soruya göre avantajı olayın fiziksel ve zihinsel sınırları hakkında oldukça belirgin bir çizgi çizmemizi sağlar. Hiç bir kimyager veya mühendis insan derisinden ayırt edilemeyecek bir madde üretemez. En azından şimdilik. Bu buluş yapılsa bile düşünen bir makine yapmanın en önemli adımı ona insan eti giydirmek olmayacaktır. Belirlediğimiz kurallara göre sorgulayıcının yarışmacıları görmesi, duyması, dokunması yasak olduğundan bu durum sorun teşkil etmeyecektir. Önerilen kriterlerin diğer avantajları ise aşağıdaki soru cevaplar ile gösterilebilir. Örneğin;

S: Forth Köprüsü ile ilgili bana bir mısra yazar mısın?
C: Beni geç. Ben asla şiir yazamam.

S: 34957 + 70764 toplamı kaçtır?
C: (30 Saniye bekler ve cevap verir : 105621) 

S: Satranç oynar mısın?
C: Evet.

S: Sadece K1(e1)’de şahım var. Senin ise sadece K6(e3)’da şahın ve R1(h8)’de kalen var. Hamle sırası sende.  Hamlen ne olurdu ?  (Notasyon İngiliz Notasyonu -K1,K6,R1 etc. )

C: 15 Saniye durakladıktan sonra Kale,R-R8 (h8->h1) MAT.

Soru ve cevaplardan görülebileceği gibi bu oyun herhangi bireyi dahil ederek oynanabilecek bir oyun. Makineyi güzel olmamasından dolayı cezalandırmak istemeyeceğimiz gibi bir insanı da uçakla olan  yarışı kaybetmesinden dolayı cezalandıramayız. Örnekteki gibi yetenek dışı şeylerden oyuncular sorumlu olmayacaktır. Oyuncular isterse kendi cazibeleri, kahramanlıkları, güçleri hakkında övünebilirler ancak sorgulayıcı bu konular hakkında somut deliller talep edemez.

Burada kuralların makine açısında oldukça ağır olduğunu düşünebilirsiniz. Eğer insan makine taklidi yapmaya çalışırsa aritmetik işlemlerdeki yavaşlığıyla ve tutarsızlığıyla kendini kolaylıkla ele verecektir. Ya makine düşünce olarak tanımlanacak bir şey yaparsa  veya bir insanın yaptığı şeylerden çok daha farklı şeyler yapabilirse bu durumda ne olacak ? Bu itiraz daha güçlüdür, ancak eğer makine gerçekten böyle bir şey yapabilirse zaten taklit etme oyununun hakkını vermiş demektir ki bu konuyu sorun etmeye gerek kalmaz.

Taklit etme oyununu oynarken makine için en iyi stratejinin insan davranışlarının taklit etmekten daha farklı bir şey olacağını düşünebiliriz. Bu geçerli olabilir ancak bence çok güçlü bir etki oluşturmayacaktır. Sonuçta burada oyun teorisine göre hareket etmeyeceğine göre en iyi strateji insanın verebileceği doğal cevapları üretebilmektir.

Makalenin tam versiyonuna buradan ulaşabilirsiniz.

Loading

Facebooktwitterredditpinterestlinkedinmail

Bilgisayar ve Zeka – A.M. Turing – 1

Merhaba,

Alan Turing’in 1950 yılında yazdığı  yakın zamanda okuduğum ve oldukça ilgimi çeken “Computing Machinery And Intelligence” makalesinden bahsedeceğim. Makale uzun olduğu için küçük küçük parçalar halinde yazacağım. Makalenin orijinal versiyonuna buradan ulaşabilirsiniz.

1. Taklit Etme Oyunu ( The Imitation Game )

Bu soruyu irdelemenizi öneriyorum, “Makineler düşünebilir mi?”.  Sorunun cevabı öncelikle “makine” ve “düşünce” terimlerinin tanımından geçiyor. Tanımlar kelimelerin normal kullanımını olabildiğince yansıtacak şekilde incelenip cevaplanabilir fakat bu tutum oldukça tehlikelidir.  “Makine” ve “düşünce” kavramları yaygın olarak kullanıldığı şekilde açıklanarak soruya cevap verilecek olursa “Makineler düşünebilir mi” sorusunun cevabına ulaşmak zordur. Soruya istatistiki bir şekilde yaklaşmakta yine bu nedenden dolayı absürd olacaktır. Soruyu bu şekilde tanımlamak yerine sorunun anlamını bozmayacak ve birbiriyle çelişki içermeyecek şekilde soruyu değiştirelim.

Problemi yeni şekliye “taklit etme oyunu” olarak ele alabiliriz. Bu oyun, bir erkek(A), bir bayan(B) ve sorgulayıcı(C) (herhangi bir cinsiyetten olabilir) olmak üzere üç kişi tarafından oynanan bir oyundur. Sorgulayıcı A ile B kişilerinin arasında durur ve  kimin erkek kimin bayan olduğuna karar vermeyeçalışır. Onları X ve Y etiketiyle tanır ve oyun sonunda “X, A’dır, Y, B’dir” veya “X, B’dir, Y, A’dır” diye karar verir. Sorgulayıcı (C), A ve B’ye aşağıdaki gibi sorular yöneltebilir:

C : X, Bana saçının boyundan bahseder misin?

Şimdilik X’in A olduğunu varsayalım.  Bu durumda A cevaplayacaktır. A’nın amacı C’ye yanlış cevabı verdirmektir. Bu durumda aşağıdaki şekilde cevap verebilir:

“Örülü ve 22 cm boyunda saçlarım var.”

Ses tonlarının C’ye yardımcı olmaması için cevaplar yazılı bir şekilde verilmelidir. Oyunda B’nin amacı ise yargılayıcıya yardım etmektir. B için ise en iyi strateji dürüst cevaplar vermek olabilir. Böylelikle B ” Bayan olan benim, onu sakın dinleme” diye cevap verebilir. Fakat aynı şeyleri A da söyleyebilir.

Şimdi asıl soruya gelelim. Bu oyunda A’nın yerine makine geçerse ne olurdu ? Yargılayıcı yanlış cevap verebilir miydi? Bu soru aslında “Makineler düşünebilir mi” sorusuyla aynıdır.

Loading

Facebooktwitterredditpinterestlinkedinmail

Kod yazmak anlamaktır.