yakut özcan kişisel blog

27 Haziran 2017 Salı

Android Studio "no permissions" Hatası ve Çözümü

Tablet Modeli
Merhaba arkadaşlar letgo'dan debug işlemlerim için 50TL bir ultra-uber tablet aldım. Android Studio ile deneme için uygulama yazdım taktım tableti veee tabi ki hata ile karşılaştım. 
Ve hemen google da aradım ve stack overflow da çözümü buldum ve burada da bulunsun diye yazıyorum. 
Android Studio Terminal

Evet tek yaptığımız adb server öldürüp tekrar başlatmak oldu :) 

18 Haziran 2017 Pazar

Android Things ve RaspberryPi ile Blink Led Uygulaması

Uzun zamandır denemeyi düşündüğüm android things i sonunda bu akşam raspberry pi 3 ile denedim ve ilk led uygulamamı yaptım. Tahmin ettiğimden kısa sürdü uygulamam ve sorunsuz çalıştı.
Şu adresten raspberry pi için olan imajı indirdim.
https://developer.android.com/things/preview/download.html

Etcher ile imajı 8GB bir hafıza kartına yazdırdım ve aşağıda ki işlemleri yaptım.
Öncelikle imaj yazdırma bittikten sonra modeme ethernet kablosu ile bağlamanız gerekiyor ve cihaz ip aldıktan sonra terminalden adb yardımı ile bağlanabiliyorsunuz.
"adb connect Android.local" 
Bu şekilde bağlandı mesajı aldıktan sonra başarıyla bağlandınız demektir. Sırada kolaylık olsun diye Wi-Fi bağlantısı da yapalım onun içinde adb yardımı ile yapacağız.
"adb shell" yazıyoruz sonrasında da
"am startservice \
    -n com.google.wifisetup/.WifiSetupService \
    -a WifiSetupService.Connect \
    -e ssid "WiFiAdi" \
    -e passphrase "WiFiSifre"  "
yazıp enter ile işlemimiz bitiyor sonra Android Studio LogCat de bağlanıp bağlanmadığını görebilirsiniz. 
Android Things için pin isimleri farklı ona da şu adresten ulaşabilirsiniz.
https://developer.android.com/things/hardware/raspberrypi-io.html

Ben örneğimde GND ye yakın olan "BCM4" kullandım.

Örnek projenin github linki aşağıda iyi çalışmalar.
https://github.com/yakutozcan/HelloAndroidThings

**https://developer.android.com/things/hardware/raspberrypi.html


Ücretsiz MQTT Araçları


Merhaba arkadaşlar benim nesnelerin interneti ve mqtt çalışmalarımda kullandığım bazı araçları github da listeledim ve sizlerle de paylaşmak istedim iyi çalışmalar. Araçlar ile ilgili bir sorunuz olursa her zaman sorabilirsiniz. İyi çalışmalar.

15 Haziran 2017 Perşembe

Ücretsiz MQTT Sunucuları


Merhaba arkadaşlar bu yazımda elimizin altında dursun niteliğinde Mqtt sunucu hizmeti veren yerleri yazacağım. Bu servisleri de github da tutacağım ki sizinde eklemek istediklerinizi ekleye-bilelim. 



11. sırada ki en çok kullandığım.
Umarım ilerleyen günlerde güncelleme ve ekleme fırsatım olur iyi çalışmalar.. 

11 Haziran 2017 Pazar

Arduino NodeMCU ile aRest Kullanımı


Merhaba arkadaşlar NodeMCU ile olan maceralara kaldığımız yerden devam ediyoruz. Şimdi size bir arduino kütüphanesi tanıtmaya çalışacağım. ESP8266'li bir cihazınıza uzaktan veya local erişmenize olanak sağlıyor. İsmi arest.io isminde REST geçiyor şimdi burada REST ne diye anlatmayalım google'da var :)

Bu yazımda localde çalıştırmayı göstereceğim.

Örneğin hem arayüzü mevcut hemde asıl özelliği olan GET methoduna JSON çıktı verebiliyor olması :)



Kodlarda ingilizce açıklama mevcut ben kullanımı için TR açıklama yaptım.
3 Ana özelliği ile localde led açıp kapatabilirsiniz.
  //http://192.168.1.104/digital/6/0 pin 6 kapat  //http://192.168.1.104/digital/6/1 pin 6 aç  //http://192.168.1.104/mode/56/o output ayarla
Yukarıda ki şekilde basit bir kullanımı var bu istekleri gönderdiğimiz de aşağıda ki gibi bir çıktı veriyor.
{"message": "Pin D6 set to 1", "id": "1", "name": "esp8266", "hardware": "esp8266", "connected": true}  
{"message": "Pin D6 set to 0", "id": "1", "name": "esp8266", "hardware": "esp8266", "connected": true}
{"message": "Pin D6 set to output", "id": "1", "name": "esp8266", "hardware": "esp8266", "connected": true}

İlgili Kütüphane:
arest.io

7 Haziran 2017 Çarşamba

Arduino String veriyi Char veri tipine dönüştürme.

Merhaba arkadaşlar arduino ile uğraşırken kullandığım bir fonksiyonu sizinle paylaşmak istedim String giren veriyi char olarak çıkartıyor :) Maksat blog da bulunsun..

6 Haziran 2017 Salı

ESP8266 ile Telegram Bot Kullanımı

Telegram uygulaması
Merhaba arkadaşlar yine ıvır-zıvıra İnternet erişimi verip herhangi bir servise, mesajlaşma uygulama botlarına bağladığım bir yazı ile karşınızdayım..
Olay zaten çok aşırı efsane zor bir şey değil kütüphane hazır ben sadece sizinde bilginiz olsun "aaa böyle bir şey varmış" demenizi ve test etmek için böyle bir yazı yazdım :) Botun kütüphanesine gelecek olursak çok stabil değil bağlanması uzun sürüyor galiba kaynak kodlarını incelemedim ama bir kere komutları almaya başladığında sorunsuz çalışmaya devam ediyor.
Şu yazıda nasıl telegram botu oluşturulur değinmiştim.
https://yakutozcan.blogspot.com.tr/2016/11/raspberrypi-telegram-botu-hareket-sensoru.html

9 Mayıs 2017 Salı

RaspberryPi Toggle Switch ile SSH Aktif Etme

RaspberryPi SSH Toggle
Merhaba arkadaşlar RaspberryPi yazılarımıza kaldığım yerden devam ediyorum. Yine ufak bir python scripti ve elektronik bilgisi ile RaspberryPi için bir pratik uygulama yapacağız.

Sorun: RaspberryPi'nin SSH bağlantısını açık bırakmak güvenlik açığı oluşturabiliyordu. 

Çözüm: Bende bunun için bir fiziksel switch ekledim eğer switchden açık konumuna getirirseniz, python kodumuz sayesinde SSH serviside aktif hale geliyor. Bence basit ama etkili bir çözüm oldu. :)


Benim ortam böyle :) 

14 Mart 2017 Salı

Android Studio 2.3 instant run hatasi ve çözümü

Merhaba arkadaşlar Android Studio güncelledikten sonra Asus Zenfone 2 telefonumda uygulamalar instant run hatası vermeye başlamıştı

Yukarıda ki gibi bir hata ile karşılaşıyordum ufak bir araştırmadan sonra Asus'un kendi optimizasyon yazılımı benim uygulamamın servisini engelliyormuş. Aşağıda ki görselde ki gibi

Sizde benzer bir hata ile karşılaşırsabilirsiniz diyerekten paylaştım iyi çalışmalar.


10 Mart 2017 Cuma

En çok kullandığım linux komutları

Merhaba arkadaşlar bu yazımda daha önce bahsettiğim Linux komutlarının devamı ve daha kapsamlı halde toparlayıp kısa açıklamalar ile sizinle paylaşacağım. Genelde “$” işareti görürsünüz yanlış hatırlamıyorsam “root” yetkisi gereken komutlar için dolar işareti kullanılıyordu.

  • lsb_release -a “Dağıtım bilgisine erişmeyi sağlar”
  • dmidecode --type bios “ ile sisteminizin donanım özelliklerinin bilgisine ulaşabilirsiniz.”
    • system
    • Baseboard
    • Processor
    • Memory
  • uname -a “Kernel(Çekirdek) bilgisini öğrenmek için kullanabilirsiniz.
  • fdisk -l “Disk bölümlerini görüntüleme”
  • uptime “Sistemin açık kalma süresi”
  • free -m “Kullanılan ram miktarı”
  • cd /dizinadi “Dizinler arası gezinme”
  • cp kopyalanacak_dosya kopyalanan_dosya “Dosya kopyalamaya yarar”
  • mv kopyalanacak_dosya kopyalanan_dosya “Dosya taşımaya yarar, aynı zamanda isim değiştirme için kullanılır”
  • pwd “bulunduğun dizini gösterir
  • ls “Dosyaları listeler”
  • mkdir klasör_adi “Klasör oluşturmaya yarar”
  • mkdir -p klasor_adi/altklasor_adi/son “Alt dizinler oluşturarak klasör oluşturma”
  • rm -rf “İzin istemeden klasör silme”
  • ls -la “Gizli dosya ve dizinleri de listeler”
  • cat dosya_ismi “Dosya içeriğini terminalde okuma”
  • nl dosya_ismi “Dosya içeriğini terminalde satır sayıları ile birlikte gösterir”
  • tail -n 5 dosya_ismi “Son 5 satırı terminalde okumamızı sağlar”
  • head -n 5 dosya_ismi “İlk 5 satırı terminalde okumamızı sağlar”
  • wc dosya_ismi “-l satır, -c karakter, -w ile de kelime sayısını görürüz”
  • find /dizin_adi -name dosya_adi.txt “Dizinde arama yapmak için kullanılır”
  • find /dizin_adi -perm 777 “Dizinde 777 ile izin verilmiş dosyaları bulur”
  • whereis program_adi “Programın çalıştırılabilir dizinin olduğu yeri gösterir”
  • clear[CTRL+L] “Terminali temizler”
  • history “Terminal geçmişini gösterir” (Ev dizininde .bashrc ile HISTORY size değiştirebiliriz)
  • !! “Terminalde son kullandığınız komutu çalıştırır”
  • !k “k ile başlayan daha önce kullandığınız komutu çalıştırır”
  • history -c “Terminal geçmişini siler”
  • komut1&&komut2 “iki komut çalıştırmak için kullanılır”
  • [TAB] “Terminalde kod tamamlamaya yarar iki kez üst üste bastığınızda liste şeklinde gösterir.
  • shutdown -h now “Sistemi kapatır”
  • shutdown -h now+10 “Sistemi 10dk sonra kapatır”
  • reboot “Sistemi yeniden başlatır”
  • ps aux “Sistemde çalışan işlemleri görüntüler”
  • top “Bir başka sistem işlemlerini gösteren komut”
  • kill 785 “Çalışan uygulamayı sonlandırır 785 = pid”
  • who “Sistem üzerindeki kullanıcıları listeler”
  • whoami “O an komutu çalıştıran kullanıcının kim olduğunu söyler”
  • su - kullaniciadi “Kullanıcılar arası geçişi sağlar”
  • dpkg -i paketadi.deb “Debian sistemlerde paket kurmaya yarar”
  • dpkg --purge remove programadi “Sistemde kurulu paketi kaldırma”
  • rpm -ivh paketadi.rpm “RedHat sistemlerde paket kurmak için kullanılır”
  • rpm -ev paketadi “RedHat sistemlerde kurulu paketi kaldırma”
  • apt-get install programadi “Debian sistemlerde program kurmaya yarar”
  • apt-cache search programadi “Debian sistemlerde depolarda programadi var mı diye arar”
  • apt-cache show programadi “Debian sistemlerde programadi ile ilgili bilgileri gösterir”
  • apt-get update “Debian sistemlerde güncelleme için kullanılır”
  • apt-get uprade “Debian sistemlerde yükseltme için kullanılır”
  • apt-get dist-upgrade “Debian sistemlerde Debian dağıtımınızın versiyonunu yükseltir”
  • apt-get autoremove “Debian sistemlerde kullanılmayan paketleri kaldırır”
  • apt-get autoclean “Debian sistemlerde program kalıntılarını siler”
  • yum install programadi “RetHat sistemlerde program kurmaya yarar”
  • ifconfig “Sistemimizin ağ ayarlarını görüntülemek için kullanılır”
  • iwconfig “Sistemimizin wireless ayarlarını görmek için kullanılır”
  • ping -c 3 ip_adresi “Ip adresine 3 adet sorgu gönderir”

Şimdilik bu kadar arkadaşlar. 

14 Şubat 2017 Salı

Java ile seriport haberleşmesi

Uygulama Ekran Görüntüsü
Merhaba arkadaşlar bu yazımda Java ile serialport ile arduino haberleşmesi için önceki yazımda kullandığım uygulama üzerinden daha gelişmiş ve düzenli hale getirdiğim uygulamayı tekrar paylaşıyorum kodlar da açıklama satırları mevcut. Uygulama serimonitörü açık kaldığı sürece dinliyor ve altta ki "Gelen Veri" kısmına yazıyor.

9 Şubat 2017 Perşembe

RaspberryPi ile barkod okuma işlemi

Merhaba yine belki bir işe yarar diyerek yazdığım ve dilim döndüğünce anlatmaya çalıştığım bir konu ile karşınızdayım. 

Örnek QR kodu
Python, raspberry pi ve usb web cam ile bar kod okuduktan sonra NodeJS mini web servisimize GET isteği ile bu okunan barkod içerisinde ki veriyi göndereceğiz.


İlk önce python için kurmamız gereken araçları aşağıda ki komut ile raspberrypi kuruyoruz.
sudo apt-get install ipython python-opencv python-scipy python-numpy python-setuptools  python-pip

Kurulum bittikten sonra
sudo pip install https://github.com/sightmachine/SimpleCV/zipball/master
SimpleCV kuruyoruz daha sonra barkodları okumamıza yardımcı olacak "Zbar" isimli uygulamayı kuruyoruz.
sudo apt-get install python-zbar
Bu kurulum işlemi de bittikten sonra aşağıdaki komut ile usb de bağlı olan webcam i kontrol ediyoruz. 
lsusb 
lsusb görünüm
Eğer tüm işlemler sorunsuz gerçekleşirse işlemin sonunda benim yaptığım uygulama şu şekilde bir hal aldı.
Sol tarafta raspberry pi üzerinde çalışan barkod okuma uygulamamız ortada bakodumuz, sağ tarafta ise NodeJS web servisimiz var.

htop
Uygulama kodları

4 Şubat 2017 Cumartesi

Stacer - Ubuntu sistem optimizasyon aracı


Merhaba arkadaşlar uzun bir yazı değil sadece geliştiren arkadaşa destek olmak ve tasarımını beğendiğim için paylaşma gereği duydum. 
Başlıktan da anlaşılacağı üzere uygulama Ubuntu için bir sistem optimizasyon aracı bu araç ile sistem önbelleği, sistem servisleri, sistem başlangıç uygulamalarını görüp kontrol edebiliyorsunuz. 
Kurulum için debian paketi mevcut .deb indirdikten sonra aynı dizinde
sudo dpkg --install Stac*
komutunu çalıştırmanız yeterli olacaktır.

Github:
İndirme link:
Stacer/releases