Raspberry pi icin programi komple Python ile yazarsam kodlar cok yavas calisiyor fakat kodlama cok kolay oluyor.
Lazarus (Pascal) kullanirsam kodlar cok daha hizli kosuyor fakat eksikliklerimden dolayi bazi fonksiyonlari yazmam zor.
Aklima gelen cozum programin bazi kisimlarini Lazarus ile bir kismini Python ile yazarsam isin icinden carcabuk cikacagim.
Fakat iki program arasinda veri alisverisi yapabilmem gerekiyor.
Bu islem icin text dosya acsam cozum olur ama dosya flashda acilirsa yaz oku sil yaz oku sil flashin canina okur.
Ramdisk yapabilir ve dosyayi ramdiskde olusturursam bu sorun hallolur.
Iki program parcacigi arasinda veri alisverisi icin baska neler yapabilirim?
Not:
Projeyi kople Lazarusda yazmaya kalkarsam zorlanacagim konular.
1. SPI
2. GPIO toogle ve giris pinlerindeki degisimlere ait event rutinleri
3. Threading
Çare: Unix domain sockets
@z hocam ram de belli bir adresi bloke edip malloc gibi ordan data alisverisi yapilabilir mi acaba, aslinda yapilir ama isletim sistemi buna izin verir mi keza kendileri istedigi gibi kullaniyor, ram disk swap vs.
@digiman evet yapilabiliyor. Windows'da "memory mapped file", linux'da "shared memory" olarak geciyor.
Ben olsam lazarusta indy ile udp client kullanıp Python ile udp server kurarak birbirleri ile haberlestiririm. Tcp de kullanilabilinir.
Merhaba,
Bunun bir çok çözüm yolu olabilir.
Daha önce incelemediyseniz eğer bu linke bir göz atın : https://wiki.freepascal.org/Lazarus_on_Raspberry_Pi (https://wiki.freepascal.org/Lazarus_on_Raspberry_Pi)
SPI, IO portlar vs. bir çok konudan bahsediyor.
Yukarıdaki sayfada birden fazla kütüphaneden bahsedilmiş ve en belirgini sanırım şu linkteki : http://asphyre.net/products/pxl (http://asphyre.net/products/pxl)
Delphi içerisinden harici ve dahili olarak Python çalıştırmakta mümkün.
Argüment göndermede bir çözüm olabilir.