Konuyu Oyla:
  • Derecelendirme: 4.5/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Raspberry Pi Genel Sorular
#1
Merhabalar;

Raspberry konusunda birkaç genel sorum var.

1-Aşağıdaki kodda çok basitçe bir led yakma işlemini aşağıdaki gibi çalıştırıyorum. Bunu Delphi tarafında Led Yandı, Led Söndü şeklinde nasıl alabilirim. Siz nasıl bir yöntem izliyorsunuz. (Python yeteneklerini henüz bilmiyorum.)
import RPi.GPIO as GPIO
import time
# blinking function
def blink(pin):
        GPIO.output(pin,GPIO.HIGH)
        time.sleep(1)
        GPIO.output(pin,GPIO.LOW)
        time.sleep(1)
        return
# to use Raspberry Pi board pin numbers
GPIO.setmode(GPIO.BOARD)
# set up GPIO output channel
GPIO.setup(11, GPIO.OUT)
# blink GPIO17 50 times
for i in range(0,50):
        blink(11)
GPIO.cleanup()
2-İlginç bir konu olarak tam bilmemekle birlikte; Yukarıdaki koddan anladığım 11 nolu pin ile + voltaj verebiliyoruz ve 1 adet ledi yakabiliyorum örneğin ben 50 adet led yakmak istesem farklı farklı saniyelerde bunu çıkış olarak nasıl yapıyoruz kafamda mantığını anlayamadım.


Byk6vv.jpg
Cevapla
#2
1 - Delphi tarafından kasıt PC ise; yani siz yukarıdaki Python kodunu Raspberry'de çalıştırıp PC'deki Delphi uygulamasına haber vermek istiyorsanız ilk aklıma gelen TCP mesaj gönder/al. Python'da TCP Client ile Delphi'deki TCP Server'a mesaj gönderebilirsiniz.

2 - Raspberry'de 50 adet GPIO çıkışı olmadığı için birbirinden bağımsız 50 LED'i yakmak için bir elektronik devre tasarlamak durumundasınız. Shift register yada Expander(genişletici) çipi kullanmanız gerekecek.
There's no place like 127.0.0.1
WWW
Cevapla
#3
Merhaba Tek Pinle yüzlerce led yakabilirsiniz ayrıca her birinin de parlaklığını renk tonlarını ayrı ayrı vererek.

Çare Neopixel
http://blog.yakupulutas.com/index.php/20...-kodlamak/
WWW
Cevapla
#4
(13-12-2017, Saat: 23:12)pro_imaj Adlı Kullanıcıdan Alıntı: Merhabalar;

Raspberry konusunda birkaç genel sorum var.

1-Aşağıdaki kodda çok basitçe bir led yakma işlemini aşağıdaki gibi çalıştırıyorum. Bunu Delphi tarafında Led Yandı, Led Söndü şeklinde nasıl alabilirim. Siz nasıl bir yöntem izliyorsunuz. (Python yeteneklerini henüz bilmiyorum.)
import RPi.GPIO as GPIO
import time
# blinking function
def blink(pin):
        GPIO.output(pin,GPIO.HIGH)
        time.sleep(1)
        GPIO.output(pin,GPIO.LOW)
        time.sleep(1)
        return
# to use Raspberry Pi board pin numbers
GPIO.setmode(GPIO.BOARD)
# set up GPIO output channel
GPIO.setup(11, GPIO.OUT)
# blink GPIO17 50 times
for i in range(0,50):
        blink(11)
GPIO.cleanup()
2-İlginç bir konu olarak tam bilmemekle birlikte; Yukarıdaki koddan anladığım 11 nolu pin ile + voltaj verebiliyoruz ve 1 adet ledi yakabiliyorum örneğin ben 50 adet led yakmak istesem farklı farklı saniyelerde bunu çıkış olarak nasıl yapıyoruz kafamda mantığını anlayamadım.


Byk6vv.jpg

Merhaba,
1- Uygulama ile IoT cihaz haberleşmeleri genellikle Network üzerinden yapılır. İşin özünde Client bir istekte bulunur, broker/bridge/sunucu (Raspberry) de aldığı isteği değerlendirir (Komutu işletir/işletmez). Değerlendirme sonucunu ana sunucuya veya istemciye bildirir.
Peki bunları hangi protokol ve mimari ile yapmak gerekir? SimaWB'nin de bahsetmiş olduğu TCP/IP protokolü ve bunlara cevap verecek bir yayın gerekiyor. 
Bu noktada Delphi 10.2.x ile geliştiriceğiniz bir WebBroker uygulamsı işinizi fazlasıyla görecektir.

2- Hiçbir sitemde (IoT ve benzeri akıllı ev, mikro lokasyon teknolojileri) işler tek bir cihaz üzerinden kontrol edilmek istenmez. O cihazda meydana gelebilecek bir sorun, tüm sistemin çalışmasını sekteye uğratacaktır.
Örneğin, 50 Adet tetikleme (Led, ampül, anahtar vb.) için;
Lokasyon mimarisi ve network alt yapısı göz önünde bulundurmak suretiyle; ortalama bir bridge'in (mini lokasyondan sorumlu, mini sunucu) 8-10 cihazı yönetmesi beklenir.  
Yani bu sistem için en az 5 Raspberry benzeri bridge (NodeMCU, WeMos, Wio Link...)'e ihtiyaç olacaktır.
1,2,3....6------->1 Nolu Bridge ----> Lobi
11,12,13...19---->2 Nolu Bridge----> 1. Kat
20,21,22...29---->3 Nolu Bridge----> 2. Kat 
şeklinde bir konfigurasyon barındıran sunucu üzerinde tüm cihazlarınızı yönetebilirsiniz.
Cevapla
#5
1- Dış dünyadan raspery pi gibi veya benzeri bir donanıma veri gönderme/alma işlemleri için iki sistem arasında bir haberleşme katmanı ve haberleşme protokolü kurmak gerekiyor.
Daha önce forumda açılan aşağıda linki bulunan konu aslında sorduğunuz sorunun cevabını bir nebze veriyor. Aradaki fark, donanım raspery pi değil microchip, donanım tarafındaki yazılım python değil c. Tercih edilen haberleşme RS232.
İlgili konu: http://www.delphican.com/delphi-microchi...ulama.html

2- ikinci sorunuzun cevabı için ilave donanıma ve bu donanımı kontrol edecek raspery pi tarafında yazılıma/sürücü kütüphanesine ihtiyaç duyacaksınız.  İhtiyaç duyacağınız donanımsal yapı seri data girişli, paralel çıkışlı, kaskat bağlanan ve latch özellikli sürücü entegreleri. A6276,MAX6969,TLC5926.... gibi farklı üreticilerin led driver chipleri var.

Not: Dinamik tarama ile görüntü ve ledli metin tabloları tarzında bir düşünceniz varsa, biraz daha fazla detaya inip hesap yapmak gerekiyor. Panel boyutu, statik yazı, video olacakmı, renkli mi, renkli ise renk çözünürlüğü vb.  durumlara göre seçim/tasarım durumları ortaya çıkacaktır.
Paneli sürecek kontrol kartının (rasperyi pi gibi ) donanımsal hızı ve yetekleri önemlidir.
Bazen zaman ve hesaplama için optimize edilmemiş bir kodu güçlü bir donanım üzerinde çalıştırdığımızda hesaplama ve gecikme problemeleri ile karşılaşmayız. Fakat donanım kapasitesi düştüğünde yazılım tarafında ve/veya elektronik tarafta çeşitli optimizasyonlar yapmak gerekebilmektedir.

Not kısmı biraz uzadı ve konu dışına çıkmaya başladı. Burada kesmek en iyisi Smile

Bu arada SimaWB'nin verdiği cevabı farklı kelimeler ile ifade etmiş oldum Smile

Yorumu yazarken sadece SimaWB beyin mesajı vardı. İlk cümleyi yazdıktan sonra pc başından ayrılmam gerekti yazmaya başlamam ve cevabı göndermem arasından 1 saat kadar geçmiş. Bu arada farklı cevaplarda gelmiş Smile
Cevapla
#6
Farklı cevapların gelmesi çok güzel.  Bu kadar kısa sürede böyle cevapların gelmesi de forum kalitesi ile açıklanabilir  Heart
Bir problemin birden çok çözümü olabilir. Muhtemelen soruyu sormadan evvel pro_imaj'ın da çözümü vardı ama kendisi için en uygununa ulaşmaya çalışıyordur Wink
Yapılmak istenen iş biraz daha detaylandırılırsa bence daha çoooook cevaplar gelir bu konuya...
There's no place like 127.0.0.1
WWW
Cevapla
#7
Raspberry Pİ özelinde söylemek gerekirse; Linux'u desteklemesi nedeniyle kawasakiyi mobilet gibi kullanmaya gerek yok diye düşünüyorum. Sunduğu imkanlardan faydalanmak daha verimli olur. Linux / Lazarus ikilisi kullanılarak (ve hatta şimdilik Delphi konsol uygulamaları çerçevesinde) daha yüksek seviye uygulamalar geliştirilebilir.
YouTube Delphi Tips
"Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır" Peyami Safa
WWW
Cevapla
#8
Verdiğiniz cevaplar için çok teşekkür ederim.

17 yıl kadar önce dijital elektronik konuları görmüş biri olarak terimlere yabancı olmasamda elektronik parçalar konusundaki eksikliğim ufkumu daralttığı aşikar.

Sizlerin nasıl çözdüğü konusunu ayrıntılı açıklamanız çok faydalı oldu.

Aldığım 2 kitabı henüz bitiremedim, bittiğinde daha anlamlı sorular soracağım.

@simaWB hocam; Kafamdaki proje; Kameradan görüntüyü ve sesi alıp telefondan sesi cihaza gönderebilmek, kısacası; Apartman girişindeki iletişimi telefondan sağlamak. 

*Raspiberry pi wireless modulu üstünde geliyor. Şuan ağ ve internet kısmında bu şekilde ilerliyorum.
Cevapla
#9
Testlere Python tarafında ilerlemeye devam ediyorum. Bununla birlikte lazarus tarafı görsel tarafta işimi görsede henüz lazarus tarafında gpio pinlerine göre led yakamadım.

Bu konuda sorun şöyle oluşuyor;
Python çok hızlı ve kolay, fakat Lazarus ta Delphi /Pascal alışkanlıklarında ve object olmasından dolayı Lazarus iler ilerlemeyi istiyorum.

Lazarus ile Gpio pinlerini kullanan var mı acaba.

İyi çalışmalar.
Cevapla
#10
Merhaba,

Lazarus'un kendi Wiki sayfasında bu konu ile ilgili birkaç örnek var, şu linkt sanırım sana ışık tutacaktır;

http://wiki.freepascal.org/Lazarus_on_Ra...library.29

Ayrıca şu linklerde de bu işin nasıl olabileceği ile ilgili yazılar yazılmış,

https://bigdanzblog.wordpress.com/2015/0...ee-pascal/
https://bigdanzblog.wordpress.com/2014/0...ee-pascal/

Ayrıca şurada da bir Github projesi var, güzel bir çalışma, incelemeni tavsiye ederim;

https://github.com/rudiratlos/rpi-hal
YouTube Delphi Tips
"Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır" Peyami Safa
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Raspberry Pi, MQTT ve Delphi SimaWB 15 9.046 26-01-2022, Saat: 15:08
Son Yorum: Jakarta2
  Delphi ile Arduino & Raspberry PI gibi Cihazlarla İletişim Kurmak TescilsizUzman 17 19.577 13-10-2019, Saat: 18:42
Son Yorum: TescilsizUzman
  Raspberry Pi3 Lunix Server Tarzı kullanma nguzeller 12 9.500 29-03-2018, Saat: 22:44
Son Yorum: nguzeller
  Bilgisayrda Arduino & Raspberry PI Cihaz Tanıtımı TescilsizUzman 0 3.333 02-09-2016, Saat: 15:33
Son Yorum: TescilsizUzman
  Arduino & Raspberry PI Örneği Beklentisi Tuğrul HELVACI 4 6.763 02-09-2016, Saat: 12:24
Son Yorum: Tuğrul HELVACI



Konuyu Okuyanlar: 1 Ziyaretçi