{"id":34139,"date":"2025-11-11T22:01:22","date_gmt":"2025-11-11T19:01:22","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/"},"modified":"2025-11-11T22:01:22","modified_gmt":"2025-11-11T19:01:22","slug":"projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/","title":{"rendered":"Projeto Sirios: Banana Pi \u00dczerinde Web ile LED Kontrol\u00fc (Apache + Python)"},"content":{"rendered":"<p><body><\/p>\n<p>Geli\u015fen teknolojiyle birlikte, fiziksel d\u00fcnyay\u0131 dijital aray\u00fczler \u00fczerinden kontrol etme arzusu hi\u00e7 bu kadar g\u00fc\u00e7l\u00fc olmam\u0131\u015ft\u0131. Ak\u0131ll\u0131 ev sistemlerinden end\u00fcstriyel otomasyona kadar bir\u00e7ok alanda kar\u015f\u0131m\u0131za \u00e7\u0131kan bu ihtiya\u00e7, mikrodenetleyiciler ve web teknolojilerinin birle\u015fimiyle somutla\u015f\u0131yor. Peki, Banana Pi gibi uygun maliyetli bir donan\u0131m \u00fczerinde Apache ve Python kullanarak LED&#8217;leri web \u00fczerinden nas\u0131l kontrol edebilirsiniz? Bu makale, Projeto Sirios ad\u0131n\u0131 verdi\u011fimiz bu heyecan verici projeyi ad\u0131m ad\u0131m hayata ge\u00e7irmeniz i\u00e7in size kapsaml\u0131 bir rehber sunuyor.<\/p>\n<p>G\u00fcn\u00fcm\u00fczde, nesnelerin interneti (IoT) kavram\u0131 hayat\u0131m\u0131z\u0131n her alan\u0131na n\u00fcfuz etmi\u015f durumda. Evdeki \u0131\u015f\u0131klar\u0131 uzaktan a\u00e7\u0131p kapatmaktan, bah\u00e7e sulama sistemlerini otomatikle\u015ftirmeye kadar bir\u00e7ok senaryoda, fiziksel cihazlarla dijital etkile\u015fim kurma ihtiyac\u0131 hissediyoruz. Bu noktada, Projeto Sirios gibi bir proje, size sadece bir dizi LED&#8217;i kontrol etme becerisi kazand\u0131rmakla kalmaz, ayn\u0131 zamanda IoT d\u00fcnyas\u0131n\u0131n temel prensiplerini ve donan\u0131m-yaz\u0131l\u0131m entegrasyonunun inceliklerini ke\u015ffetmeniz i\u00e7in sa\u011flam bir ba\u015flang\u0131\u00e7 noktas\u0131 sunar. D\u00fc\u015f\u00fcnsenize, bir web sayfas\u0131ndaki basit bir buton t\u0131klamas\u0131yla fiziksel bir LED&#8217;in an\u0131nda yan\u0131t verdi\u011fini g\u00f6rmek, teknolojiye olan merak\u0131n\u0131z\u0131 k\u00f6r\u00fckleyecek ve daha karma\u015f\u0131k projelere yelken a\u00e7man\u0131z i\u00e7in ilham verecektir.<\/p>\n<p>Peki, tam olarak neden bu projeye odaklanmal\u0131y\u0131z? \u00d6ncelikle, Banana Pi gibi tek kart bilgisayarlar (SBC&#8217;ler), Raspberry Pi muadilleri olarak olduk\u00e7a uygun maliyetli ve g\u00fc\u00e7l\u00fc alternatifler sunar. Bu cihazlar, genel ama\u00e7l\u0131 giri\u015f\/\u00e7\u0131k\u0131\u015f (GPIO) pinleri sayesinde d\u0131\u015f d\u00fcnyayla kolayca etkile\u015fime ge\u00e7ebilir. \u0130kincisi, Apache web sunucusu, istikrarl\u0131 yap\u0131s\u0131 ve geni\u015f topluluk deste\u011fiyle web tabanl\u0131 uygulamalar i\u00e7in m\u00fckemmel bir platform sa\u011flar. Son olarak, Python programlama dili, basit s\u00f6zdizimi, zengin k\u00fct\u00fcphane ekosistemi ve donan\u0131m kontrol\u00fcne y\u00f6nelik g\u00fc\u00e7l\u00fc yetenekleriyle bu t\u00fcr projeler i\u00e7in bi\u00e7ilmi\u015f kaftand\u0131r. Bu \u00fc\u00e7 bile\u015fenin bir araya gelmesiyle, hem yaz\u0131l\u0131m hem de donan\u0131m becerilerinizi geli\u015ftirebilece\u011finiz, ger\u00e7ek d\u00fcnya sorunlar\u0131na uygulanabilir \u00e7\u00f6z\u00fcmler \u00fcretebilece\u011finiz bir ekosistem in\u015fa etmi\u015f olursunuz.<\/p>\n<p>Projeto Sirios sadece bir LED yakma-s\u00f6nd\u00fcrme demosundan ibaret de\u011fildir; ayn\u0131 zamanda ak\u0131ll\u0131 ev otomasyonu, uzaktan sens\u00f6r okuma, robotik uygulamalar veya hobi elektroni\u011fi projeleriniz i\u00e7in temel bir altyap\u0131 olu\u015fturur. Bu projenin sundu\u011fu esneklik sayesinde, \u00f6\u011frendi\u011finiz bilgileri farkl\u0131 senaryolara kolayca adapte edebilir ve yarat\u0131c\u0131l\u0131\u011f\u0131n\u0131z\u0131 s\u0131n\u0131r tan\u0131madan kullanabilirsiniz. \u00d6rne\u011fin, LED&#8217;lerin yerine bir r\u00f6le ba\u011flayarak evdeki bir lambay\u0131 kontrol edebilir veya bir s\u0131cakl\u0131k sens\u00f6r\u00fcnden gelen verileri web aray\u00fcz\u00fcnde g\u00f6r\u00fcnt\u00fcleyerek bir iklim izleme sistemi olu\u015fturabilirsiniz. Bu makalenin ilerleyen b\u00f6l\u00fcmlerinde, bu temel bile\u015fenlerin her birini detayl\u0131ca inceleyecek ve ad\u0131m ad\u0131m Projeto Sirios&#8217;u nas\u0131l kurup \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 \u00f6\u011freneceksiniz. Haydi, dijitalin fizikselle bulu\u015ftu\u011fu bu heyecan verici d\u00fcnyaya birlikte ad\u0131m atal\u0131m!<\/p>\n<div class=\"uzman-ipucu\" style=\"background-color: #e0f7fa; border-left: 5px solid #00bcd4; padding: 15px; margin: 20px 0; border-radius: 5px;\">\n  Uzman \u0130pucu: Bu projeyi tamamlad\u0131ktan sonra, Arduino veya ESP32 gibi daha k\u00fc\u00e7\u00fck mikrodenetleyicilerle Raspberry Pi\/Banana Pi aras\u0131ndaki entegrasyonlar\u0131 ara\u015ft\u0131rarak IoT yeteneklerinizi bir \u00fcst seviyeye ta\u015f\u0131yabilirsiniz. B\u00f6ylece, Banana Pi&#8217;yi merkezi bir kontrol \u00fcnitesi olarak kullan\u0131p, daha spesifik g\u00f6revler i\u00e7in optimize edilmi\u015f k\u00fc\u00e7\u00fck cihazlarla kablosuz ileti\u015fim kurabilirsiniz.\n<\/div>\n<h2>Temel Kavramlar: Banana Pi, Apache ve Python&#8217;\u0131n Rol\u00fc Nedir?<\/h2>\n<p>Projeto Sirios&#8217;u hayata ge\u00e7irmek i\u00e7in \u00fc\u00e7 temel bile\u015fene ihtiyac\u0131m\u0131z var: Banana Pi donan\u0131m\u0131, Apache web sunucusu ve Python programlama dili. Her birinin projedeki rol\u00fcn\u00fc ve neden tercih edildi\u011fini anlamak, sistemin b\u00fct\u00fcn\u00fcne hakim olman\u0131z\u0131 sa\u011flayacakt\u0131r.<\/p>\n<h3>Banana Pi Nedir ve Neden Tercih Edilmeli?<\/h3>\n<p>Banana Pi, Raspberry Pi gibi tek kartl\u0131 bir bilgisayard\u0131r (Single Board Computer &#8211; SBC). \u00c7e\u015fitli modelleri bulunmakla birlikte, genellikle Allwinner i\u015flemcilere sahip olup, Linux tabanl\u0131 i\u015fletim sistemlerini \u00e7al\u0131\u015ft\u0131rabilirler. Raspberry Pi&#8217;ye g\u00f6re baz\u0131 modellerinde daha fazla RAM, Gigabit Ethernet veya SATA aray\u00fcz\u00fc gibi \u00f6zellikler sunabilen Banana Pi, bu projede GPIO pinleri \u00fczerinden LED&#8217;leri kontrol etmek i\u00e7in ideal bir platformdur. Uygun maliyeti, k\u00fc\u00e7\u00fck boyutu ve d\u00fc\u015f\u00fck g\u00fc\u00e7 t\u00fcketimi sayesinde, s\u00fcrekli \u00e7al\u0131\u015fan bir sunucu veya otomasyon kontrol \u00fcnitesi olarak kullan\u0131lmaya olduk\u00e7a elveri\u015flidir.<\/p>\n<p>Banana Pi&#8217;nin tercih edilme nedenleri aras\u0131nda esneklik ve eri\u015filebilirlik ilk s\u0131ralarda yer al\u0131r. \u00dczerindeki GPIO pinleri, harici elektronik bile\u015fenlerle (sens\u00f6rler, motorlar, LED&#8217;ler) kolayca ileti\u015fim kurmas\u0131n\u0131 sa\u011flar. Ayr\u0131ca, tam te\u015fekk\u00fcll\u00fc bir Linux da\u011f\u0131t\u0131m\u0131 \u00e7al\u0131\u015ft\u0131rabildi\u011fi i\u00e7in, Apache gibi bir web sunucusunu kurmak ve Python kodlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak sorunsuz bir deneyim sunar. Yani, k\u00fc\u00e7\u00fck bir bilgisayardan bekleyece\u011finiz t\u00fcm yaz\u0131l\u0131m yeteneklerini, donan\u0131m kontrol\u00fc ile birle\u015ftirme g\u00fcc\u00fcne sahiptir. Bu da onu, hem ba\u015flang\u0131\u00e7 seviyesindeki hobiciler hem de daha deneyimli geli\u015ftiriciler i\u00e7in cazip bir se\u00e7enek haline getirir. Raspberry Pi&#8217;nin piyasada bulunabilirli\u011finin zorla\u015ft\u0131\u011f\u0131 zamanlarda, Banana Pi gibi alternatifler projenizi kesintisiz bir \u015fekilde ilerletmenize olanak tan\u0131r.<\/p>\n<h3>Apache Web Sunucusu: Projede Neden Kritik?<\/h3>\n<p>Apache HTTP Sunucusu, d\u00fcnyan\u0131n en yayg\u0131n kullan\u0131lan web sunucular\u0131ndan biridir. A\u00e7\u0131k kaynak kodlu olmas\u0131, g\u00fc\u00e7l\u00fc mod\u00fcler yap\u0131s\u0131 ve geni\u015f topluluk deste\u011fi sayesinde, web uygulamalar\u0131n\u0131 bar\u0131nd\u0131rmak i\u00e7in olduk\u00e7a pop\u00fcler bir tercihtir. Projeto Sirios&#8217;ta Apache, kullan\u0131c\u0131lar\u0131n web taray\u0131c\u0131lar\u0131 \u00fczerinden LED&#8217;leri kontrol etmelerini sa\u011flayan aray\u00fcz\u00fc sunmakla g\u00f6revlidir. Yani, bir web sayfas\u0131nda g\u00f6rd\u00fc\u011f\u00fcn\u00fcz butonlar veya durum g\u00f6stergeleri, Apache taraf\u0131ndan istemcilere g\u00f6nderilir ve kullan\u0131c\u0131 etkile\u015fimleri yine Apache \u00fczerinden i\u015flenir.<\/p>\n<p>Apache&#8217;nin bu projede kritik olmas\u0131n\u0131n temel nedeni, Python kodumuz ile web aray\u00fcz\u00fc aras\u0131nda k\u00f6pr\u00fc g\u00f6revi g\u00f6rmesidir. Mod_wsgi gibi mod\u00fcller veya CGI (Common Gateway Interface) mekanizmas\u0131 arac\u0131l\u0131\u011f\u0131yla, web isteklerini Python betiklerine y\u00f6nlendirebilir ve bu betiklerin donan\u0131m kontrol i\u015flemlerini ger\u00e7ekle\u015ftirmesini sa\u011flayabiliriz. Ayr\u0131ca, Apache&#8217;nin sanal ana bilgisayar (virtual host) yap\u0131land\u0131rma yetenekleri, gelecekte projenizi geni\u015fletmek istedi\u011finizde birden fazla web uygulamas\u0131n\u0131 ayn\u0131 sunucu \u00fczerinde bar\u0131nd\u0131rman\u0131za olanak tan\u0131r. G\u00fcvenlik ve performans a\u00e7\u0131s\u0131ndan da kan\u0131tlanm\u0131\u015f bir sicile sahip olmas\u0131, Apache&#8217;yi bu t\u00fcr embedded web projeleri i\u00e7in sa\u011flam ve g\u00fcvenilir bir se\u00e7im yapar. Dolay\u0131s\u0131yla, web taray\u0131c\u0131n\u0131zdan g\u00f6nderilen bir komutun Banana Pi&#8217;ye ula\u015farak LED&#8217;i yakmas\u0131 veya s\u00f6nd\u00fcrmesi s\u00fcrecinde Apache, merkezi bir rol \u00fcstlenir.<\/p>\n<h3>Python ve GPIO: Donan\u0131m Kontrol\u00fcn\u00fcn Anahtarlar\u0131<\/h3>\n<p>Python programlama dili, basitli\u011fi, okunabilirli\u011fi ve geni\u015f k\u00fct\u00fcphane deste\u011fi sayesinde donan\u0131m projelerinde olduk\u00e7a pop\u00fclerdir. \u00d6zellikle tek kart bilgisayarlar \u00fczerinde GPIO pinlerini kontrol etmek i\u00e7in PyAIO gibi \u00f6zel k\u00fct\u00fcphaneler sayesinde donan\u0131m ile yaz\u0131l\u0131m aras\u0131nda etkili bir k\u00f6pr\u00fc kurulmas\u0131n\u0131 sa\u011flar. GPIO (General Purpose Input\/Output) pinleri ise Banana Pi&#8217;nin d\u0131\u015f d\u00fcnyaya a\u00e7\u0131lan kap\u0131lar\u0131d\u0131r. Bu pinler arac\u0131l\u0131\u011f\u0131yla, elektrik sinyalleri g\u00f6nderip alabilir, b\u00f6ylece LED&#8217;ler gibi \u00e7\u0131k\u0131\u015f cihazlar\u0131n\u0131 kontrol edebilir veya sens\u00f6rler gibi giri\u015f cihazlar\u0131ndan veri okuyabiliriz.<\/p>\n<p>Python&#8217;\u0131n bu projede kullan\u0131lmas\u0131n\u0131n ba\u015fl\u0131ca nedenleri \u015funlard\u0131r: h\u0131zl\u0131 prototipleme imkan\u0131, anla\u015f\u0131l\u0131r kod yap\u0131s\u0131 ve GPIO kontrol k\u00fct\u00fcphanelerinin zenginli\u011fi. PyAIO k\u00fct\u00fcphanesi (veya Banana Pi&#8217;nin belirli modeline uygun di\u011fer bir GPIO k\u00fct\u00fcphanesi) sayesinde, Python kodundan sadece birka\u00e7 sat\u0131r ile bir GPIO pinini \u00e7\u0131k\u0131\u015f olarak ayarlayabilir ve ona y\u00fcksek (1) veya d\u00fc\u015f\u00fck (0) voltaj sinyalleri g\u00f6ndererek bir LED&#8217;i a\u00e7\u0131p kapatabiliriz. Bu do\u011frudan ve basit etkile\u015fim, donan\u0131m kontrol\u00fcn\u00fc karma\u015f\u0131k bir g\u00f6rev olmaktan \u00e7\u0131kar\u0131p, daha eri\u015filebilir hale getirir. Sonu\u00e7 olarak, Python, web aray\u00fcz\u00fcnden gelen talepleri al\u0131p, bu talepleri Banana Pi&#8217;nin GPIO pinleri \u00fczerinden fiziksel LED kontrol\u00fcne d\u00f6n\u00fc\u015ft\u00fcren anahtar bile\u015fen g\u00f6revini \u00fcstlenir. Bu sayede, &#8220;d\u00fc\u011fmeye bas&#8221; komutunu &#8220;pini y\u00fcksek yap&#8221; elektrik sinyaline \u00e7eviren sihirli de\u011fnek Python olur.<\/p>\n<h2>Ad\u0131m Ad\u0131m Kurulum ve Uygulama: LED&#8217;leri Web&#8217;den Yak\u0131n!<\/h2>\n<p>\u015eimdi teoriden prati\u011fe ge\u00e7me zaman\u0131! Bu b\u00f6l\u00fcmde, Projeto Sirios&#8217;u Banana Pi&#8217;nizde ad\u0131m ad\u0131m nas\u0131l kurup \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 \u00f6\u011freneceksiniz. Her a\u015fama detayl\u0131ca a\u00e7\u0131klanacak, b\u00f6ylece s\u00fcreci kolayca takip edebilirsiniz.<\/p>\n<h3>Banana Pi \u0130lk Kurulum ve Sistem Haz\u0131rl\u0131\u011f\u0131 Nas\u0131l Yap\u0131l\u0131r?<\/h3>\n<p>Projenin ilk ad\u0131m\u0131, Banana Pi&#8217;nizin temel sistemini haz\u0131rlamakt\u0131r. Bu, i\u015fletim sistemi kurulumu ve temel sistem ayarlar\u0131n\u0131 i\u00e7erir.<\/p>\n<ol>\n<li><strong>\u0130\u015fletim Sistemi Kurulumu:<\/strong> Banana Pi i\u00e7in genellikle Armbian veya Debian tabanl\u0131 bir i\u015fletim sistemi tercih edilir. \u0130lgili Banana Pi modelinize uygun i\u015fletim sistemi imaj\u0131n\u0131, Banana Pi&#8217;nin resmi web sitesinden veya Armbian&#8217;\u0131n sitesinden indirip, balenaEtcher gibi bir ara\u00e7la bir microSD karta yaz\u0131n. Kart\u0131 Banana Pi&#8217;ye tak\u0131n.<\/li>\n<li><strong>\u0130lk \u00c7al\u0131\u015ft\u0131rma ve A\u011f Ayarlar\u0131:<\/strong> Banana Pi&#8217;nizi Ethernet kablosuyla a\u011f\u0131n\u0131za ba\u011flay\u0131n (veya Wi-Fi mod\u00fcl\u00fcn\u00fcz varsa kablosuz a\u011fa ba\u011flay\u0131n) ve g\u00fc\u00e7 verin. SSH (Secure Shell) ile cihaza eri\u015fmek, genellikle klavye, fare ve monit\u00f6r ba\u011flamaktan daha pratik bir yoldur. A\u011f\u0131n\u0131zdaki Banana Pi&#8217;nin IP adresini bulduktan sonra (\u00f6rne\u011fin router aray\u00fcz\u00fcnden veya Nmap ile), bir terminalden a\u015fa\u011f\u0131daki komutla ba\u011flan\u0131n:\n<pre><code class=\"language-bash\">\nssh kullan\u0131c\u0131ad\u0131@banana_pi_ip_adresi\n        <\/pre>\n<p><\/code><br \/>\n        Varsay\u0131lan kullan\u0131c\u0131 ad\u0131 genellikle 'pi' veya 'root' olabilir, varsay\u0131lan \u015fifreleri belgelerinden kontrol edin ve ilk giri\u015fte de\u011fi\u015ftirmeniz istenir.\n    <\/li>\n<li><strong>Sistem G\u00fcncellemesi:<\/strong> Her yeni kurulumda oldu\u011fu gibi, sisteminizi g\u00fcncel tutmak \u00f6nemlidir. Paket listelerini g\u00fcncelleyin ve y\u00fckl\u00fc paketleri y\u00fckseltin:\n<pre><code class=\"language-bash\">\nsudo apt update\nsudo apt upgrade -y\n        <\/pre>\n<p><\/code>\n    <\/li>\n<li><strong>Python ve Geli\u015ftirme Ara\u00e7lar\u0131:<\/strong> Python genellikle kurulu gelir, ancak GPIO k\u00fct\u00fcphaneleri i\u00e7in pip paket y\u00f6neticisinin ve di\u011fer geli\u015ftirme ara\u00e7lar\u0131n\u0131n y\u00fckl\u00fc oldu\u011fundan emin olun:\n<pre><code class=\"language-bash\">\nsudo apt install python3 python3-pip git -y\n        <\/pre>\n<p><\/code>\n    <\/li>\n<\/ol>\n<p>Bu ad\u0131mlarla Banana Pi'niz Projeto Sirios i\u00e7in temel olarak haz\u0131r hale gelmi\u015f olacakt\u0131r. Unutmay\u0131n, do\u011fru IP adresini bulmak ve g\u00fcvenli bir SSH ba\u011flant\u0131s\u0131 kurmak, projenin sonraki ad\u0131mlar\u0131 i\u00e7in hayati \u00f6neme sahiptir. Ayr\u0131ca, varsay\u0131lan \u015fifrenizi g\u00fc\u00e7l\u00fc bir \u015fifreyle de\u011fi\u015ftirmeyi asla ihmal etmeyin.<\/p>\n<h3>Apache Web Sunucusu Kurulumu ve Python Entegrasyonu<\/h3>\n<p>Banana Pi'niz haz\u0131r oldu\u011funa g\u00f6re, web sunucumuzu kurmaya ve Python betiklerimizle ileti\u015fim kurmas\u0131n\u0131 sa\u011flamaya ge\u00e7ebiliriz.<\/p>\n<ol>\n<li><strong>Apache Kurulumu:<\/strong> Apache'yi y\u00fcklemek olduk\u00e7a basittir:\n<pre><code class=\"language-bash\">\nsudo apt install apache2 -y\n        <\/pre>\n<p><\/code><br \/>\n        Kurulum tamamland\u0131ktan sonra, Banana Pi'nizin IP adresini web taray\u0131c\u0131n\u0131za yazarak Apache varsay\u0131lan sayfas\u0131n\u0131 g\u00f6rmeniz gerekir. Bu, Apache'nin d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.\n    <\/li>\n<li><strong>Python ile Apache Entegrasyonu (mod_wsgi):<\/strong> Python betiklerini Apache \u00fczerinden \u00e7al\u0131\u015ft\u0131rman\u0131n en etkili yollar\u0131ndan biri <code>mod_wsgi<\/code> kullanmakt\u0131r. Bu mod\u00fcl, Python uygulamalar\u0131n\u0131 do\u011frudan Apache s\u00fcrecinde bar\u0131nd\u0131r\u0131r, bu da daha iyi performans sa\u011flar.\n<pre><code class=\"language-bash\">\nsudo apt install libapache2-mod-wsgi-py3 -y\nsudo a2enmod wsgi\nsudo systemctl restart apache2\n        <\/pre>\n<p><\/code>\n    <\/li>\n<li><strong>Apache Sanal Ana Bilgisayar (Virtual Host) Yap\u0131land\u0131rmas\u0131:<\/strong> Projemiz i\u00e7in \u00f6zel bir yap\u0131land\u0131rma dosyas\u0131 olu\u015ftural\u0131m. \u00d6rne\u011fin, <code>\/etc\/apache2\/sites-available\/projeto-sirios.conf<\/code> ad\u0131nda bir dosya olu\u015fturun:\n<pre><code class=\"language-bash\">\nsudo nano \/etc\/apache2\/sites-available\/projeto-sirios.conf\n        <\/pre>\n<p><\/code><\/p>\n<pre><code class=\"language-apache\">\u0130\u00e7eri\u011fini a\u015fa\u011f\u0131daki gibi doldurun (kendi projenize g\u00f6re d\u00fczenleyebilirsiniz):<\/pre>\n<p><\/code><br \/>\n<VirtualHost *:80><br \/>\n    ServerAdmin webmaster@localhost<br \/>\n    DocumentRoot \/var\/www\/html\/projeto-sirios<br \/>\n    ErrorLog ${APACHE_LOG_DIR}\/error.log<br \/>\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined<\/p>\n<p>    WSGIDaemonProcess projeto-sirios user=www-data group=www-data threads=5<br \/>\n    WSGIScriptAlias \/ \/var\/www\/html\/projeto-sirios\/app.wsgi<\/p>\n<p>    <Directory \/var\/www\/html\/projeto-sirios><br \/>\n        WSGIProcessGroup projeto-sirios<br \/>\n        WSGIApplicationGroup %{GLOBAL}<br \/>\n        Require all granted<br \/>\n    <\/Directory<\n<\/VirtualHost><br \/>\n        <\/code><br \/>\n        Bu yap\u0131land\u0131rma, <code>\/var\/www\/html\/projeto-sirios<\/code> dizinini web k\u00f6k dizini olarak atar ve <code>app.wsgi<\/code> dosyas\u0131n\u0131 Python uygulaman\u0131z\u0131n giri\u015f noktas\u0131 olarak belirler. \u015eimdi bu dizini olu\u015ftural\u0131m ve sanal ana bilgisayar\u0131 etkinle\u015ftirelim:<\/p>\n<pre><code class=\"language-bash\">\nsudo mkdir \/var\/www\/html\/projeto-sirios\nsudo a2ensite projeto-sirios.conf\nsudo a2dissite 000-default.conf # Varsay\u0131lan siteyi devre d\u0131\u015f\u0131 b\u0131rak\u0131n\nsudo systemctl restart apache2\n        <\/pre>\n<p><\/code>\n    <\/li>\n<\/ol>\n<p>Bu ad\u0131mlarla Apache, Python uygulaman\u0131zla etkile\u015fime ge\u00e7meye haz\u0131r hale gelecektir. Art\u0131k web isteklerini i\u015fleyebilecek ve Python betikleriniz arac\u0131l\u0131\u011f\u0131yla donan\u0131m kontrol\u00fcn\u00fc tetikleyebileceksiniz. Bu entegrasyon, web tabanl\u0131 aray\u00fcz\u00fcn\u00fcz ile Banana Pi'nin GPIO pinleri aras\u0131ndaki ileti\u015fimin anahtar\u0131n\u0131 olu\u015fturur.<\/p>\n<h3>Python ile Banana Pi GPIO Pinlerini Y\u00f6netmek<\/h3>\n<p>\u015eimdi s\u0131ra geldi Python ile LED'lerimizi kontrol etmeye. Banana Pi'de GPIO pinlerini y\u00f6netmek i\u00e7in <code>PyAIO<\/code> veya benzeri bir k\u00fct\u00fcphane kullanabiliriz. E\u011fer \u00f6zel bir k\u00fct\u00fcphane bulmakta zorlan\u0131rsan\u0131z, <code>\/sys\/class\/gpio<\/code> yoluyla do\u011frudan Linux \u00e7ekirde\u011fi ile etkile\u015fime ge\u00e7mek de bir se\u00e7enektir, ancak k\u00fct\u00fcphane kullan\u0131m\u0131 daha pratiktir.<\/p>\n<ol>\n<li><strong>GPIO K\u00fct\u00fcphanesini Kurma:<\/strong> Banana Pi'nizde GPIO kontrol\u00fc i\u00e7in en uygun k\u00fct\u00fcphaneyi kurun. E\u011fer <code>PyAIO<\/code> kullanacaksan\u0131z:\n<pre><code class=\"language-bash\">\npip3 install PyAIO # E\u011fer PyAIO mevcut de\u011filse, alternatif bir Banana Pi GPIO k\u00fct\u00fcphanesi aray\u0131n.\n                   # Baz\u0131 Banana Pi modelleri, \"WiringPi\" veya \u00f6zel \"gpio_sunxi\" gibi C tabanl\u0131 k\u00fct\u00fcphaneler gerektirebilir.\n                   # Bu durumda Python i\u00e7in bir sar\u0131c\u0131 (wrapper) kullanman\u0131z gerekebilir.\n        <\/pre>\n<p><\/code><br \/>\n        *Not: Banana Pi modelleri aras\u0131nda GPIO pinout ve k\u00fct\u00fcphane uyumlulu\u011fu farkl\u0131l\u0131k g\u00f6sterebilir. Kendi Banana Pi modelinizin belgelerini kontrol etmeniz \u00f6nemlidir. Bu \u00f6rnekte genel bir k\u00fct\u00fcphane kullan\u0131m\u0131 \u00fczerinden ilerleyece\u011fiz.*\n    <\/li>\n<li><strong>Basit Bir LED Kontrol Beti\u011fi (led_control.py):<\/strong> Proje dizininizde (<code>\/var\/www\/html\/projeto-sirios<\/code>) <code>led_control.py<\/code> ad\u0131nda bir dosya olu\u015fturun:\n<pre><code class=\"language-python\">\n# \/var\/www\/html\/projeto-sirios\/led_control.py\nimport sys\nimport time\n\n# PyAIO k\u00fct\u00fcphanesini kullan\u0131yorsan\u0131z:\n# import AIO\n\n# E\u011fer PyAIO mevcut de\u011filse ve \/sys\/class\/gpio kullan\u0131yorsan\u0131z:\n# Bu k\u0131s\u0131m daha d\u00fc\u015f\u00fck seviyeli bir yakla\u015f\u0131md\u0131r ve hata y\u00f6netimi i\u00e7ermez.\n# Ger\u00e7ek projelerde daha sa\u011flam bir k\u00fct\u00fcphane kullanmak \u00f6nerilir.\ndef set_gpio_direction(pin, direction):\n    with open(f\"\/sys\/class\/gpio\/gpio{pin}\/direction\", \"w\") as f:\n        f.write(direction)\n\ndef write_gpio_value(pin, value):\n    with open(f\"\/sys\/class\/gpio\/gpio{pin}\/value\", \"w\") as f:\n        f.write(str(value))\n\ndef export_gpio(pin):\n    try:\n        with open(\"\/sys\/class\/gpio\/export\", \"w\") as f:\n            f.write(str(pin))\n    except IOError:\n        pass # Pin zaten d\u0131\u015fa aktar\u0131lm\u0131\u015f olabilir\n\ndef unexport_gpio(pin):\n    try:\n        with open(\"\/sys\/class\/gpio\/unexport\", \"w\") as f:\n            f.write(str(pin))\n    except IOError:\n        pass # Pin zaten d\u0131\u015fa aktar\u0131lmam\u0131\u015f olabilir\n\n# Kullanaca\u011f\u0131m\u0131z GPIO pini. Banana Pi modelinize g\u00f6re de\u011fi\u015ftirmelisiniz.\n# \u00d6rne\u011fin, 12 numaral\u0131 pin i\u00e7in, l\u00fctfen kendi Banana Pi pinout \u015feman\u0131z\u0131 kontrol edin!\nLED_PIN = 12\n\ndef control_led(action):\n    export_gpio(LED_PIN)\n    set_gpio_direction(LED_PIN, \"out\")\n\n    if action == \"on\":\n        write_gpio_value(LED_PIN, 1)\n        return \"LED A\u00c7IK\"\n    elif action == \"off\":\n        write_gpio_value(LED_PIN, 0)\n        return \"LED KAPALI\"\n    else:\n        return \"Ge\u00e7ersiz Eylem\"\n\nif __name__ == \"__main__\":\n    if len(sys.argv) > 1:\n        action = sys.argv[1]\n        print(control_led(action))\n    else:\n        print(\"Kullan\u0131m: python3 led_control.py [on|off]\")\n\n        <\/pre>\n<p><\/code><\/p>\n<p>Bu betik, komut sat\u0131r\u0131ndan 'on' veya 'off' parametresi alarak LED'i kontrol eder. <code>\/sys\/class\/gpio<\/code> do\u011frudan dosya sistemini manip\u00fcle ederek \u00e7al\u0131\u015f\u0131r. Fiziksel olarak bir LED'i ba\u011flarken, ak\u0131m s\u0131n\u0131rlay\u0131c\u0131 bir diren\u00e7 (genellikle 220-330 Ohm) kullanmay\u0131 unutmay\u0131n.<\/p>\n<\/li>\n<li><strong>WSGI Uygulama Beti\u011fi (app.wsgi):<\/strong> Apache'nin Python beti\u011finizi \u00e7al\u0131\u015ft\u0131rmas\u0131 i\u00e7in <code>app.wsgi<\/code> ad\u0131nda bir dosya olu\u015fturun:\n<pre><code class=\"language-python\">\n# \/var\/www\/html\/projeto-sirios\/app.wsgi\nimport sys\nsys.path.insert(0, '\/var\/www\/html\/projeto-sirios')\n\nfrom led_control import control_led\n\ndef application(environ, start_response):\n    status = '200 OK'\n    headers = [('Content-type', 'text\/plain')]\n    start_response(status, headers)\n\n    query_string = environ.get('QUERY_STRING', '')\n    action = None\n    if query_string:\n        params = dict(qc.split('=') for qc in query_string.split('&') if '=' in qc)\n        action = params.get('action')\n\n    if action:\n        response_message = control_led(action)\n    else:\n        response_message = \"Eylem belirtilmedi. \u00d6rnek: \/?action=on\"\n\n    return [response_message.encode('utf-8')]\n        <\/pre>\n<p><\/code><\/p>\n<p>Bu betik, HTTP isteklerinden <code>action<\/code> parametresini okur ve <code>led_control.py<\/code> i\u00e7indeki <code>control_led<\/code> fonksiyonunu \u00e7a\u011f\u0131r\u0131r. Ard\u0131ndan, i\u015flemin sonucunu bir HTTP yan\u0131t\u0131 olarak geri d\u00f6nd\u00fcr\u00fcr.<\/p>\n<\/li>\n<li><strong>\u0130zinleri Ayarlamak:<\/strong> Web sunucusunun GPIO dosyalar\u0131na eri\u015febilmesi i\u00e7in gerekli izinleri vermelisiniz. <code>\/sys\/class\/gpio<\/code> dizinine <code>www-data<\/code> kullan\u0131c\u0131s\u0131n\u0131n eri\u015fimini sa\u011flamak i\u00e7in UDEV kurallar\u0131 veya grup atamalar\u0131 kullanmak en g\u00fcvenli yoldur. Basit bir ba\u015flang\u0131\u00e7 i\u00e7in, <code>www-data<\/code> kullan\u0131c\u0131s\u0131n\u0131 <code>gpio<\/code> grubuna ekleyebilirsiniz:\n<pre><code class=\"language-bash\">\nsudo usermod -aG gpio www-data\nsudo chmod -R 775 \/sys\/class\/gpio # Ge\u00e7ici ve g\u00fcvenlik a\u00e7\u0131\u011f\u0131 i\u00e7eren bir \u00e7\u00f6z\u00fcm, uzun vadede UDEV kullan\u0131n.\nsudo systemctl restart apache2\n        <\/pre>\n<p><\/code><br \/>\n        *UYARI: <code>chmod -R 775 \/sys\/class\/gpio<\/code> komutu bir g\u00fcvenlik riski olu\u015fturabilir. Daha g\u00fcvenli bir y\u00f6ntem i\u00e7in UDEV kurallar\u0131 olu\u015fturarak sadece belirli GPIO pinlerine <code>www-data<\/code> kullan\u0131c\u0131s\u0131n\u0131n eri\u015fimini sa\u011flay\u0131n. \u00d6rne\u011fin, <code>\/etc\/udev\/rules.d\/99-gpio.rules<\/code> dosyas\u0131na a\u015fa\u011f\u0131daki gibi bir kural ekleyerek belirli bir pinin (\u00f6rn: gpio12) izinlerini d\u00fczenleyebilirsiniz:*<\/p>\n<pre><code class=\"language-text\">\n# \/etc\/udev\/rules.d\/99-gpio.rules\nSUBSYSTEM==\"gpio\", KERNEL==\"gpio12\", MODE=\"0660\", GROUP=\"gpio\"\nSUBSYSTEM==\"gpio\", KERNEL==\"gpiochip*\", MODE=\"0660\", GROUP=\"gpio\"\n        <\/pre>\n<p><\/code><br \/>\n        *Sonras\u0131nda <code>sudo udevadm control --reload-rules && sudo udevadm trigger<\/code> komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n.*\n    <\/li>\n<\/ol>\n<p>Bu ad\u0131mlarla, Python betikleriniz Apache \u00fczerinden tetiklenebilir hale gelir. Art\u0131k tek yapman\u0131z gereken, kullan\u0131c\u0131lar\u0131n bu betikleri \u00e7a\u011f\u0131rabilece\u011fi bir web aray\u00fcz\u00fc olu\u015fturmakt\u0131r.<\/p>\n<h3>Web Aray\u00fcz\u00fc Geli\u015ftirme: HTML, CSS ve JavaScript ile Kontrol Paneli<\/h3>\n<p>Kullan\u0131c\u0131lar\u0131n LED'leri web \u00fczerinden kontrol edebilmesi i\u00e7in basit ama i\u015flevsel bir web aray\u00fcz\u00fc tasarlayaca\u011f\u0131z. Bu aray\u00fcz HTML, CSS ve JavaScript kullan\u0131larak olu\u015fturulacak.<\/p>\n<ol>\n<li><strong>HTML Yap\u0131s\u0131 (index.html):<\/strong> Proje dizininize (<code>\/var\/www\/html\/projeto-sirios<\/code>) <code>index.html<\/code> ad\u0131nda bir dosya olu\u015fturun:\n<pre><code class=\"language-html\">\n<!DOCTYPE html>\n<html lang=\"tr\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Projeto Sirios - LED Kontrol\u00fc<\/title>\n    <link rel=\"stylesheet\" href=\"style.css\">\n<\/head>\n<body>\n    <div class=\"container\">\n        <h1>Projeto Sirios: LED Kontrol Paneli<\/h1>\n        <div class=\"led-status\">\n            LED Durumu: <span id=\"statusText\">Bilinmiyor<\/span>\n        <\/div>\n        <div class=\"controls\">\n            <button id=\"onButton\">LED'i A\u00e7<\/button>\n            <button id=\"offButton\">LED'i Kapat<\/button>\n        <\/div>\n        <div id=\"response\" class=\"response-message\"><\/div>\n    <\/div>\n    <script src=\"script.js\"><\/script>\n<\/body>\n<\/html>\n        <\/pre>\n<p><\/code>\n    <\/li>\n<li><strong>CSS Stilleri (style.css):<\/strong> Ayn\u0131 dizine <code>style.css<\/code> ad\u0131nda bir dosya olu\u015fturarak aray\u00fcz\u00fcm\u00fcz\u00fc g\u00fczelle\u015ftirelim:\n<pre><code class=\"language-css\">\n\/* \/var\/www\/html\/projeto-sirios\/style.css *\/\nbody {\n    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n    background-color: #f0f2f5;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    min-height: 100vh;\n    margin: 0;\n    color: #333;\n}\n\n.container {\n    background-color: #ffffff;\n    padding: 30px;\n    border-radius: 10px;\n    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);\n    text-align: center;\n    width: 90%;\n    max-width: 400px;\n}\n\nh1 {\n    color: #007bff;\n    margin-bottom: 25px;\n    font-size: 1.8em;\n}\n\n.led-status {\n    font-size: 1.2em;\n    margin-bottom: 25px;\n    padding: 10px;\n    background-color: #e9ecef;\n    border-radius: 5px;\n}\n\n#statusText {\n    font-weight: bold;\n    color: #dc3545; \/* Varsay\u0131lan olarak kapal\u0131 *\/\n}\n\n.controls button {\n    background-color: #28a745;\n    color: white;\n    border: none;\n    padding: 12px 25px;\n    margin: 10px;\n    border-radius: 5px;\n    cursor: pointer;\n    font-size: 1em;\n    transition: background-color 0.3s ease;\n}\n\n.controls button:hover {\n    background-color: #218838;\n}\n\n#offButton {\n    background-color: #dc3545;\n}\n\n#offButton:hover {\n    background-color: #c82333;\n}\n\n.response-message {\n    margin-top: 20px;\n    padding: 10px;\n    border-radius: 5px;\n    background-color: #fff3cd;\n    color: #856404;\n    border: 1px solid #ffeeba;\n    font-size: 0.9em;\n    visibility: hidden; \/* Ba\u015flang\u0131\u00e7ta gizli *\/\n}\n\n.response-message.show {\n    visibility: visible;\n}\n\n\/* Mobil Uyumlu Tasar\u0131m *\/\n@media (max-width: 600px) {\n    .container {\n        padding: 20px;\n        width: 95%;\n    }\n    h1 {\n        font-size: 1.5em;\n    }\n    .controls button {\n        width: 100%;\n        margin: 5px 0;\n    }\n}\n        <\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki CSS, butonlar\u0131n ve genel d\u00fczenin mobil cihazlarda da iyi g\u00f6r\u00fcnmesini sa\u011flayan bir media query \u00f6rne\u011fi i\u00e7ermektedir. Bu sayede, ak\u0131ll\u0131 telefonunuzdan da kontrol paneline rahat\u00e7a eri\u015febilirsiniz.<\/p>\n<\/li>\n<li><strong>JavaScript Fonksiyonelli\u011fi (script.js):<\/strong> Ayn\u0131 dizine <code>script.js<\/code> ad\u0131nda bir dosya olu\u015fturarak butonlara t\u0131klama olaylar\u0131n\u0131 ekleyelim ve Python beti\u011fimizle etkile\u015fim kural\u0131m:\n<pre><code class=\"language-javascript\">\n\/\/ \/var\/www\/html\/projeto-sirios\/script.js\ndocument.addEventListener('DOMContentLoaded', function() {\n    const onButton = document.getElementById('onButton');\n    const offButton = document.getElementById('offButton');\n    const statusText = document.getElementById('statusText');\n    const responseDiv = document.getElementById('response');\n\n    function updateStatus(text, color) {\n        statusText.textContent = text;\n        statusText.style.color = color;\n    }\n\n    function showResponse(message, type = 'info') {\n        responseDiv.textContent = message;\n        responseDiv.className = 'response-message show'; \/\/ show s\u0131n\u0131f\u0131n\u0131 ekle\n\n        if (type === 'error') {\n            responseDiv.style.backgroundColor = '#f8d7da';\n            responseDiv.style.color = '#721c24';\n            responseDiv.style.borderColor = '#f5c6cb';\n        } else {\n            responseDiv.style.backgroundColor = '#d4edda';\n            responseDiv.style.color = '#155724';\n            responseDiv.style.borderColor = '#c3e6cb';\n        }\n\n        setTimeout(() => {\n            responseDiv.classList.remove('show'); \/\/ 3 saniye sonra gizle\n        }, 3000);\n    }\n\n    async function sendCommand(action) {\n        try {\n            const response = await fetch(<code>\/?action=${action}<\/code>);\n            const data = await response.text();\n            showResponse(data);\n            if (action === 'on') {\n                updateStatus('A\u00c7IK', '#28a745');\n            } else {\n                updateStatus('KAPALI', '#dc3545');\n            }\n        } catch (error) {\n            console.error('LED kontrol hatas\u0131:', error);\n            showResponse('Komut g\u00f6nderilirken bir hata olu\u015ftu.', 'error');\n            updateStatus('HATA', '#6c757d');\n        }\n    }\n\n    onButton.addEventListener('click', () => sendCommand('on'));\n    offButton.addEventListener('click', () => sendCommand('off'));\n\n    \/\/ Sayfa y\u00fcklendi\u011finde varsay\u0131lan durumu ayarla (iste\u011fe ba\u011fl\u0131)\n    updateStatus('KAPALI', '#dc3545');\n});\n        <\/pre>\n<p><\/code><\/p>\n<p>Bu JavaScript kodu, \"LED'i A\u00e7\" ve \"LED'i Kapat\" butonlar\u0131na t\u0131klama olaylar\u0131n\u0131 dinler. Her t\u0131klamada, Fetch API kullanarak Apache sunucusuna bir HTTP iste\u011fi g\u00f6nderir. \u0130stek, Python beti\u011fimizin bekledi\u011fi <code>action=on<\/code> veya <code>action=off<\/code> parametresini i\u00e7erir. Python beti\u011fi i\u015flemi tamamlad\u0131\u011f\u0131nda, web aray\u00fcz\u00fc yan\u0131t\u0131 al\u0131r ve kullan\u0131c\u0131ya bir bildirim g\u00f6sterir.<\/p>\n<\/li>\n<\/ol>\n<p>Art\u0131k t\u00fcm bile\u015fenler yerli yerinde! Banana Pi'nizin IP adresini web taray\u0131c\u0131n\u0131za yazarak kontrol paneline eri\u015febilir ve butonlara t\u0131klayarak LED'inizi web \u00fczerinden kontrol etmenin keyfini \u00e7\u0131karabilirsiniz. Bu etkile\u015fimli aray\u00fcz, projenizi daha da cazip hale getirecek ve IoT deneyiminizi somutla\u015ft\u0131racakt\u0131r.<\/p>\n<h2>Projenizi Geli\u015ftirmek: G\u00fcvenlik, \u00d6l\u00e7eklenebilirlik ve Vaka Analizi<\/h2>\n<p>Projeto Sirios'un temelini att\u0131ktan sonra, projenizi daha g\u00fcvenli, daha i\u015flevsel ve daha geni\u015f kapsaml\u0131 hale getirmek i\u00e7in baz\u0131 ileri d\u00fczey konulara de\u011finelim. Bu b\u00f6l\u00fcmde, g\u00fcvenlik ipu\u00e7lar\u0131, performans optimizasyonlar\u0131 ve ger\u00e7ek d\u00fcnya senaryolar\u0131nda nas\u0131l kullan\u0131labilece\u011fine dair bir vaka analizi bulacaks\u0131n\u0131z.<\/p>\n<h3>G\u00fcvenlik \u00d6nlemleri ve Performans \u0130pu\u00e7lar\u0131 Nelerdir?<\/h3>\n<p>Web \u00fczerinden donan\u0131m kontrol\u00fc yaparken g\u00fcvenlik, asla g\u00f6z ard\u0131 edilmemesi gereken bir konudur. Banana Pi'niz do\u011frudan internete a\u00e7\u0131ksa, k\u00f6t\u00fc niyetli sald\u0131r\u0131lara kar\u015f\u0131 savunmas\u0131z kalabilir. \u0130\u015fte alabilece\u011finiz baz\u0131 temel g\u00fcvenlik \u00f6nlemleri:<\/p>\n<ul>\n<li><strong>S\u0131k\u0131 \u0130zinler:<\/strong> Daha \u00f6nce de belirtti\u011fimiz gibi, <code>chmod 777<\/code> gibi geni\u015f izinler vermekten ka\u00e7\u0131n\u0131n. <code>\/sys\/class\/gpio<\/code> dizinine veya Python betiklerinize sadece <code>www-data<\/code> kullan\u0131c\u0131s\u0131n\u0131n ihtiyac\u0131 olan en d\u00fc\u015f\u00fck d\u00fczeyde izinleri verin. UDEV kurallar\u0131, belirli GPIO pinlerine kontroll\u00fc eri\u015fim sa\u011flaman\u0131n en iyi yoludur.<\/li>\n<li><strong>Kimlik Do\u011frulama ve Yetkilendirme:<\/strong> Web aray\u00fcz\u00fcn\u00fcze basit bir kullan\u0131c\u0131 ad\u0131\/\u015fifre sistemi ekleyin. Apache'nin <code>.htaccess<\/code> \u00f6zelli\u011fi veya Python tabanl\u0131 bir kimlik do\u011frulama mekanizmas\u0131 (\u00f6rne\u011fin Flask veya Django ile basit bir oturum y\u00f6netimi) kullanarak sadece yetkili ki\u015filerin LED'leri kontrol etmesini sa\u011flay\u0131n.<\/li>\n<li><strong>SSL\/TLS Kullan\u0131m\u0131:<\/strong> HTTP yerine HTTPS kullanarak web trafi\u011fini \u015fifreleyin. Let's Encrypt gibi hizmetlerle \u00fccretsiz SSL sertifikalar\u0131 alabilir ve Apache'nizi HTTPS \u00fczerinden hizmet verecek \u015fekilde yap\u0131land\u0131rabilirsiniz. Bu, hassas verilerin (\u00f6rne\u011fin kimlik bilgileri) \u015fifrelenmeden g\u00f6nderilmesini engeller.<\/li>\n<li><strong>A\u011f G\u00fcvenli\u011fi (Firewall):<\/strong> Banana Pi'nizde bir g\u00fcvenlik duvar\u0131 (\u00f6rne\u011fin UFW - Uncomplicated Firewall) kurarak sadece belirli portlardan (SSH i\u00e7in 22, HTTP i\u00e7in 80, HTTPS i\u00e7in 443) gelen ba\u011flant\u0131lara izin verin. Di\u011fer t\u00fcm portlar\u0131 kapatarak potansiyel sald\u0131r\u0131 y\u00fczeyini azalt\u0131n.<\/li>\n<li><strong>Sistem G\u00fcncellemeleri:<\/strong> \u0130\u015fletim sisteminizi ve t\u00fcm yaz\u0131l\u0131mlar\u0131n\u0131z\u0131 d\u00fczenli olarak g\u00fcncelleyin. Bu, bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n kapat\u0131lmas\u0131na yard\u0131mc\u0131 olur.<\/li>\n<\/ul>\n<p>Performans a\u00e7\u0131s\u0131ndan ise, <code>mod_wsgi<\/code> kullan\u0131m\u0131 Python betiklerinin daha h\u0131zl\u0131 \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Ancak, her web iste\u011finde GPIO pinlerini d\u0131\u015fa aktar\u0131p i\u00e7e aktarmak (export\/unexport) yerine, Python beti\u011fi ba\u015flad\u0131\u011f\u0131nda pinleri bir kez ayarlay\u0131p a\u00e7\u0131k tutmak daha verimli olabilir. Ayr\u0131ca, e\u011fer \u00e7ok say\u0131da e\u015f zamanl\u0131 istek bekliyorsan\u0131z, Apache'nin s\u00fcre\u00e7 y\u00f6netimi ayarlar\u0131n\u0131 optimize etmeniz gerekebilir.<\/p>\n<div class=\"uzman-ipucu\" style=\"background-color: #e0f7fa; border-left: 5px solid #00bcd4; padding: 15px; margin: 20px 0; border-radius: 5px;\">\n  Uzman \u0130pucu: G\u00fcvenlik ve \u00f6l\u00e7eklenebilirlik i\u00e7in, do\u011frudan GPIO eri\u015fimi yerine bir MQTT broker kullanarak Raspberry Pi'nizi bir IoT cihaz\u0131 olarak tasarlayabilirsiniz. Web aray\u00fcz\u00fcn\u00fcz MQTT broker'a komut g\u00f6nderir, Banana Pi ise bu komutlar\u0131 dinleyerek LED'i kontrol eder. Bu yap\u0131, sistemi daha mod\u00fcler ve geni\u015fletilebilir hale getirir.\n<\/div>\n<h3>Projeto Sirios ile Ak\u0131ll\u0131 Ayd\u0131nlatma Vaka Analizi<\/h3>\n<p>Projeto Sirios'un temel konseptini kullanarak ger\u00e7ek bir ak\u0131ll\u0131 ayd\u0131nlatma sistemi nas\u0131l tasarlanabilir, gelin bir vaka analiziyle inceleyelim.<\/p>\n<p><strong>Senaryo:<\/strong> Evinizdeki oturma odas\u0131 lambalar\u0131n\u0131 web \u00fczerinden kontrol etmek istiyorsunuz. Ayr\u0131ca, odadaki \u0131\u015f\u0131k seviyesine g\u00f6re lambalar\u0131n otomatik olarak a\u00e7\u0131l\u0131p kapanmas\u0131n\u0131, ancak manuel olarak da m\u00fcdahale edebilmeyi arzuluyorsunuz.<\/p>\n<p><strong>Uygulama:<\/strong><\/p>\n<ol>\n<li><strong>Donan\u0131m Geni\u015fletme:<\/strong>\n<ul>\n<li>LED yerine, evinizdeki prizleri kontrol edebilecek bir r\u00f6le mod\u00fcl\u00fc ba\u011flay\u0131n (Banana Pi'nin GPIO pinleri \u00fczerinden r\u00f6leyi tetikleyin). Her bir lamba i\u00e7in ayr\u0131 bir r\u00f6le kullanabilirsiniz.<\/li>\n<li>Ortam \u0131\u015f\u0131\u011f\u0131n\u0131 \u00f6l\u00e7mek i\u00e7in bir LDR (Light Dependent Resistor) veya BH1750 gibi dijital bir \u0131\u015f\u0131k sens\u00f6r\u00fc entegre edin. Bu sens\u00f6rler, analog veya I2C\/SPI aray\u00fczleri \u00fczerinden Banana Pi'ye ba\u011flanabilir.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Python Beti\u011fi Geli\u015ftirme:<\/strong>\n<ul>\n<li><strong>Sens\u00f6r Okuma:<\/strong> Python beti\u011finizi, sens\u00f6rden periyodik olarak \u0131\u015f\u0131k verilerini okuyacak \u015fekilde g\u00fcncelleyin. \u00d6rne\u011fin, her 5 saniyede bir ortam \u0131\u015f\u0131\u011f\u0131n\u0131 okuyun.<\/li>\n<li><strong>Otomatik Kontrol Mant\u0131\u011f\u0131:<\/strong> Okunan \u0131\u015f\u0131k de\u011feri belirli bir e\u015fi\u011fin alt\u0131na d\u00fc\u015ft\u00fc\u011f\u00fcnde (\u00f6rne\u011fin ak\u015fam oldu\u011funda), r\u00f6leleri tetikleyerek lambalar\u0131 a\u00e7\u0131n. I\u015f\u0131k yeterli oldu\u011funda lambalar\u0131 kapat\u0131n.<\/li>\n<li><strong>Web Aray\u00fcz\u00fc ile \u00c7ak\u0131\u015fma Y\u00f6netimi:<\/strong> Otomatik sistem \u00e7al\u0131\u015f\u0131rken bile web aray\u00fcz\u00fcnden manuel m\u00fcdahaleye izin verin. \u00d6rne\u011fin, manuel olarak a\u00e7\u0131lan bir lamba, bir sonraki otomatik d\u00f6ng\u00fcde \"manuel olarak a\u00e7\u0131k\" durumunu koruyacak bir bayrakla i\u015faretlenebilir.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Web Aray\u00fcz\u00fc G\u00fcncelleme:<\/strong>\n<ul>\n<li>Kontrol paneline her lamba i\u00e7in ayr\u0131 a\u00e7ma\/kapama butonlar\u0131 ekleyin (e\u011fer birden fazla lamba varsa).<\/li>\n<li>Ortam \u0131\u015f\u0131k seviyesini g\u00f6steren bir grafik veya say\u0131sal g\u00f6sterge ekleyin.<\/li>\n<li>\"Otomatik Mod\"u a\u00e7\u0131p kapama butonu ekleyerek kullan\u0131c\u0131n\u0131n otomasyonu devre d\u0131\u015f\u0131 b\u0131rak\u0131p manuel kontrol\u00fc ele almas\u0131n\u0131 sa\u011flay\u0131n.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Veritaban\u0131 Entegrasyonu (Opsiyonel ama \u00d6nerilir):<\/strong>\n<ul>\n<li>SQLite gibi hafif bir veritaban\u0131 kullanarak lamba durumlar\u0131n\u0131 (a\u00e7\u0131k\/kapal\u0131, otomatik\/manuel), \u0131\u015f\u0131k sens\u00f6r\u00fc verilerini ve zaman damgalar\u0131n\u0131 kaydedin.<\/li>\n<li>Bu veriler, daha sonra ge\u00e7mi\u015f performans\u0131 analiz etmek veya belirli saatlerdeki kullan\u0131m al\u0131\u015fkanl\u0131klar\u0131n\u0131 \u00f6\u011frenmek i\u00e7in kullan\u0131labilir.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Bu vaka analizi, Projeto Sirios'un sadece LED yakmaktan \u00e7ok daha fazlas\u0131n\u0131 yapabilece\u011fini g\u00f6stermektedir. Temel web kontrol mekanizmas\u0131n\u0131 geni\u015fleterek, ger\u00e7ek d\u00fcnya ihtiya\u00e7lar\u0131na yan\u0131t veren, etkile\u015fimli ve ak\u0131ll\u0131 sistemler geli\u015ftirebilirsiniz. Bu, sadece bir ba\u015flang\u0131\u00e7 noktas\u0131 olup, hayal g\u00fcc\u00fcn\u00fczle birle\u015fti\u011finde s\u0131n\u0131rs\u0131z potansiyele sahiptir.<\/p>\n<h2>Sonu\u00e7 ve Gelecek: Projeto Sirios ile Neler Yap\u0131labilir?<\/h2>\n<p>Projeto Sirios, Banana Pi, Apache ve Python'\u0131n g\u00fcc\u00fcn\u00fc birle\u015ftirerek dijital d\u00fcnyadan fiziksel kontrol\u00fcn kap\u0131lar\u0131n\u0131 aralayan, olduk\u00e7a e\u011fitici ve pratik bir projedir. Bu makale boyunca, Banana Pi'nin ilk kurulumundan Apache web sunucusunun yap\u0131land\u0131r\u0131lmas\u0131na, Python ile GPIO pinlerinin y\u00f6netilmesinden kullan\u0131c\u0131 dostu bir web aray\u00fcz\u00fcn\u00fcn geli\u015ftirilmesine kadar her ad\u0131m\u0131 detayl\u0131ca inceledik. Ayr\u0131ca, projenizi daha g\u00fcvenli ve \u00f6l\u00e7eklenebilir hale getirmek i\u00e7in \u00f6nemli ipu\u00e7lar\u0131 sunduk ve bir ak\u0131ll\u0131 ayd\u0131nlatma vaka analiziyle ger\u00e7ek d\u00fcnya uygulamalar\u0131na nas\u0131l ge\u00e7i\u015f yapabilece\u011finizi g\u00f6sterdik.<\/p>\n<p>Bu proje, IoT ve g\u00f6m\u00fcl\u00fc sistemler d\u00fcnyas\u0131na ad\u0131m atmak isteyen herkes i\u00e7in m\u00fckemmel bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r. \u00d6\u011frendi\u011finiz bu temel prensipleri kullanarak, sadece LED'leri de\u011fil, r\u00f6leleri, motorlar\u0131, sens\u00f6rleri ve di\u011fer bir\u00e7ok elektronik bile\u015feni web \u00fczerinden kontrol edebilirsiniz. Ev otomasyon sistemleri, uzaktan izleme istasyonlar\u0131, robotik projeler veya end\u00fcstriyel kontrol uygulamalar\u0131 gibi \u00e7e\u015fitli alanlarda Projeto Sirios'un sundu\u011fu altyap\u0131y\u0131 kullanabilirsiniz. \u00d6nemli olan, bu projenin size kazand\u0131rd\u0131\u011f\u0131 bilgi birikimi ve problem \u00e7\u00f6zme becerileridir. Bu becerilerle donat\u0131lm\u0131\u015f olarak, gelecekteki teknolojik zorluklar\u0131n \u00fcstesinden gelmeye haz\u0131r olacaks\u0131n\u0131z. Unutmay\u0131n, her b\u00fcy\u00fck proje k\u00fc\u00e7\u00fck bir ad\u0131mla ba\u015flar ve Projeto Sirios, sizin i\u00e7in o ilk b\u00fcy\u00fck ad\u0131m olabilir. \u015eimdi s\u0131ra sizde: donan\u0131m ve yaz\u0131l\u0131m\u0131 bir araya getirmenin b\u00fcy\u00fcl\u00fc d\u00fcnyas\u0131n\u0131 ke\u015ffetmeye devam edin!<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<ol>\n<li><strong>Projeto Sirios i\u00e7in neden Banana Pi tercih ettik, Raspberry Pi daha pop\u00fcler de\u011fil mi?<\/strong>\n<p>Evet, Raspberry Pi daha pop\u00fclerdir ancak Banana Pi, \u00f6zellikle baz\u0131 modellerinde daha fazla RAM, Gigabit Ethernet veya SATA aray\u00fcz\u00fc gibi ek \u00f6zellikler sunabilir ve piyasada Raspberry Pi'ye alternatif olarak daha kolay bulunabilir olabilir. Projenin temel prensipleri Raspberry Pi \u00fczerinde de benzer \u015fekilde uygulanabilir, bu y\u00fczden se\u00e7im tamamen sizin eri\u015filebilirli\u011finize ve tercihlerinize ba\u011fl\u0131d\u0131r.<\/p>\n<\/li>\n<li><strong>GPIO pinlerini kontrol ederken neden <code>\/sys\/class\/gpio<\/code> y\u00f6ntemini kulland\u0131k, daha basit bir k\u00fct\u00fcphane yok mu?<\/strong>\n<p>Banana Pi modelleri i\u00e7in Raspberry Pi'deki <code>RPi.GPIO<\/code> kadar standart ve evrensel bir Python GPIO k\u00fct\u00fcphanesi bulunmayabilir. <code>PyAIO<\/code> gibi k\u00fct\u00fcphaneler mevcut olsa da, do\u011frudan <code>\/sys\/class\/gpio<\/code> \u00fczerinden dosya sistemi manip\u00fclasyonu, evrensel ve k\u00fct\u00fcphane ba\u011f\u0131ms\u0131z bir y\u00f6ntem sunar. Kendi Banana Pi modeliniz i\u00e7in optimize edilmi\u015f bir k\u00fct\u00fcphane bulursan\u0131z, elbette onu kullanmak daha pratiktir.<\/p>\n<\/li>\n<li><strong>Web aray\u00fcz\u00fcm\u00fc internetten eri\u015filebilir hale getirmek g\u00fcvenli mi?<\/strong>\n<p>Do\u011fru g\u00fcvenlik \u00f6nlemleri al\u0131nmadan internete a\u00e7mak kesinlikle g\u00fcvenli de\u011fildir. Kimlik do\u011frulama (kullan\u0131c\u0131 ad\u0131\/\u015fifre), HTTPS (SSL\/TLS \u015fifreleme), g\u00fcvenlik duvar\u0131 (firewall) kurallar\u0131 ve d\u00fczenli sistem g\u00fcncellemeleri gibi \u00f6nlemleri almadan web aray\u00fcz\u00fcn\u00fcz\u00fc do\u011frudan internete a\u00e7maktan ka\u00e7\u0131n\u0131n. Aksi takdirde, sisteminiz k\u00f6t\u00fc niyetli ki\u015filer taraf\u0131ndan ele ge\u00e7irilebilir.<\/p>\n<\/li>\n<li><strong>LED'leri kontrol etmek yerine ba\u015fka hangi cihazlar\u0131 bu y\u00f6ntemle kontrol edebilirim?<\/strong>\n<p>Bu projenin temel prensipleriyle r\u00f6leler (elektrikli cihazlar\u0131 a\u00e7\u0131p kapamak i\u00e7in), servo motorlar (a\u00e7\u0131 kontrol\u00fc), DC motorlar (h\u0131z ve y\u00f6n kontrol\u00fc) veya hatta di\u011fer sens\u00f6rlerden gelen verileri okuyup web aray\u00fcz\u00fcnde g\u00f6r\u00fcnt\u00fcleyebilirsiniz. \u00d6nemli olan, kontrol etmek istedi\u011finiz cihaz\u0131n Banana Pi'nin GPIO pinleri ile uyumlu olmas\u0131 ve gerekli Python k\u00fct\u00fcphanelerinin mevcut olmas\u0131d\u0131r.<\/p>\n<\/li>\n<\/ol>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"Geli\u015fen teknolojiyle birlikte, fiziksel d\u00fcnyay\u0131 dijital aray\u00fczler \u00fczerinden kontrol etme arzusu hi\u00e7 bu kadar g\u00fc\u00e7l\u00fc olmam\u0131\u015ft\u0131. Ak\u0131ll\u0131 ev&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[874],"tags":[],"class_list":{"0":"post-34139","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-server","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Projeto Sirios: Banana Pi \u00dczerinde Web ile LED Kontrol\u00fc (Apache + Python)<\/title>\n<meta name=\"description\" content=\"Geli\u015fen teknolojiyle birlikte, fiziksel d\u00fcnyay\u0131 dijital aray\u00fczler \u00fczerinden kontrol etme arzusu hi\u00e7 bu kadar g\u00fc\u00e7l\u00fc olmam\u0131\u015ft\u0131. Ak\u0131ll\u0131 ev sistemlerinden end\u00fcstriyel otomasyona kadar bir\u00e7ok alanda kar\u015f\u0131m\u0131za \u00e7\u0131kan bu ihtiya\u00e7, mikrodenetleyiciler ve web teknolojilerinin birle\u015fimiyle somutla\u015f\u0131yor. Peki, Banana Pi gibi uygun maliyetli bir donan\u0131m \u00fczerinde Apache ve Python kullanarak LED&#039;leri web \u00fczerinden nas\u0131l kontrol edebilirsiniz? Bu makale, Projeto Sirios ad\u0131n\u0131 verdi\u011fimiz bu heyecan verici projeyi ad\u0131m ad\u0131m hayata ge\u00e7irmeniz i\u00e7in size kapsaml\u0131 bir rehber sunuyor.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Projeto Sirios: Banana Pi \u00dczerinde Web ile LED Kontrol\u00fc (Apache + Python)\" \/>\n<meta property=\"og:description\" content=\"Geli\u015fen teknolojiyle birlikte, fiziksel d\u00fcnyay\u0131 dijital aray\u00fczler \u00fczerinden kontrol etme arzusu hi\u00e7 bu kadar g\u00fc\u00e7l\u00fc olmam\u0131\u015ft\u0131. Ak\u0131ll\u0131 ev sistemlerinden end\u00fcstriyel otomasyona kadar bir\u00e7ok alanda kar\u015f\u0131m\u0131za \u00e7\u0131kan bu ihtiya\u00e7, mikrodenetleyiciler ve web teknolojilerinin birle\u015fimiyle somutla\u015f\u0131yor. Peki, Banana Pi gibi uygun maliyetli bir donan\u0131m \u00fczerinde Apache ve Python kullanarak LED&#039;leri web \u00fczerinden nas\u0131l kontrol edebilirsiniz? Bu makale, Projeto Sirios ad\u0131n\u0131 verdi\u011fimiz bu heyecan verici projeyi ad\u0131m ad\u0131m hayata ge\u00e7irmeniz i\u00e7in size kapsaml\u0131 bir rehber sunuyor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-11T19:01:22+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"23 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Projeto Sirios: Banana Pi \u00dczerinde Web ile LED Kontrol\u00fc (Apache + Python)\",\"datePublished\":\"2025-11-11T19:01:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/\"},\"wordCount\":1937,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Server\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/\",\"name\":\"Projeto Sirios: Banana Pi \u00dczerinde Web ile LED Kontrol\u00fc (Apache + Python)\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-11T19:01:22+00:00\",\"description\":\"Geli\u015fen teknolojiyle birlikte, fiziksel d\u00fcnyay\u0131 dijital aray\u00fczler \u00fczerinden kontrol etme arzusu hi\u00e7 bu kadar g\u00fc\u00e7l\u00fc olmam\u0131\u015ft\u0131. Ak\u0131ll\u0131 ev sistemlerinden end\u00fcstriyel otomasyona kadar bir\u00e7ok alanda kar\u015f\u0131m\u0131za \u00e7\u0131kan bu ihtiya\u00e7, mikrodenetleyiciler ve web teknolojilerinin birle\u015fimiyle somutla\u015f\u0131yor. Peki, Banana Pi gibi uygun maliyetli bir donan\u0131m \u00fczerinde Apache ve Python kullanarak LED'leri web \u00fczerinden nas\u0131l kontrol edebilirsiniz? Bu makale, Projeto Sirios ad\u0131n\u0131 verdi\u011fimiz bu heyecan verici projeyi ad\u0131m ad\u0131m hayata ge\u00e7irmeniz i\u00e7in size kapsaml\u0131 bir rehber sunuyor.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Projeto Sirios: Banana Pi \u00dczerinde Web ile LED Kontrol\u00fc (Apache + Python)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Projeto Sirios: Banana Pi \u00dczerinde Web ile LED Kontrol\u00fc (Apache + Python)","description":"Geli\u015fen teknolojiyle birlikte, fiziksel d\u00fcnyay\u0131 dijital aray\u00fczler \u00fczerinden kontrol etme arzusu hi\u00e7 bu kadar g\u00fc\u00e7l\u00fc olmam\u0131\u015ft\u0131. Ak\u0131ll\u0131 ev sistemlerinden end\u00fcstriyel otomasyona kadar bir\u00e7ok alanda kar\u015f\u0131m\u0131za \u00e7\u0131kan bu ihtiya\u00e7, mikrodenetleyiciler ve web teknolojilerinin birle\u015fimiyle somutla\u015f\u0131yor. Peki, Banana Pi gibi uygun maliyetli bir donan\u0131m \u00fczerinde Apache ve Python kullanarak LED'leri web \u00fczerinden nas\u0131l kontrol edebilirsiniz? Bu makale, Projeto Sirios ad\u0131n\u0131 verdi\u011fimiz bu heyecan verici projeyi ad\u0131m ad\u0131m hayata ge\u00e7irmeniz i\u00e7in size kapsaml\u0131 bir rehber sunuyor.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/","og_locale":"tr_TR","og_type":"article","og_title":"Projeto Sirios: Banana Pi \u00dczerinde Web ile LED Kontrol\u00fc (Apache + Python)","og_description":"Geli\u015fen teknolojiyle birlikte, fiziksel d\u00fcnyay\u0131 dijital aray\u00fczler \u00fczerinden kontrol etme arzusu hi\u00e7 bu kadar g\u00fc\u00e7l\u00fc olmam\u0131\u015ft\u0131. Ak\u0131ll\u0131 ev sistemlerinden end\u00fcstriyel otomasyona kadar bir\u00e7ok alanda kar\u015f\u0131m\u0131za \u00e7\u0131kan bu ihtiya\u00e7, mikrodenetleyiciler ve web teknolojilerinin birle\u015fimiyle somutla\u015f\u0131yor. Peki, Banana Pi gibi uygun maliyetli bir donan\u0131m \u00fczerinde Apache ve Python kullanarak LED'leri web \u00fczerinden nas\u0131l kontrol edebilirsiniz? Bu makale, Projeto Sirios ad\u0131n\u0131 verdi\u011fimiz bu heyecan verici projeyi ad\u0131m ad\u0131m hayata ge\u00e7irmeniz i\u00e7in size kapsaml\u0131 bir rehber sunuyor.","og_url":"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-11T19:01:22+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"23 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Projeto Sirios: Banana Pi \u00dczerinde Web ile LED Kontrol\u00fc (Apache + Python)","datePublished":"2025-11-11T19:01:22+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/"},"wordCount":1937,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Server"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/","url":"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/","name":"Projeto Sirios: Banana Pi \u00dczerinde Web ile LED Kontrol\u00fc (Apache + Python)","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-11T19:01:22+00:00","description":"Geli\u015fen teknolojiyle birlikte, fiziksel d\u00fcnyay\u0131 dijital aray\u00fczler \u00fczerinden kontrol etme arzusu hi\u00e7 bu kadar g\u00fc\u00e7l\u00fc olmam\u0131\u015ft\u0131. Ak\u0131ll\u0131 ev sistemlerinden end\u00fcstriyel otomasyona kadar bir\u00e7ok alanda kar\u015f\u0131m\u0131za \u00e7\u0131kan bu ihtiya\u00e7, mikrodenetleyiciler ve web teknolojilerinin birle\u015fimiyle somutla\u015f\u0131yor. Peki, Banana Pi gibi uygun maliyetli bir donan\u0131m \u00fczerinde Apache ve Python kullanarak LED'leri web \u00fczerinden nas\u0131l kontrol edebilirsiniz? Bu makale, Projeto Sirios ad\u0131n\u0131 verdi\u011fimiz bu heyecan verici projeyi ad\u0131m ad\u0131m hayata ge\u00e7irmeniz i\u00e7in size kapsaml\u0131 bir rehber sunuyor.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/projeto-sirios-banana-pi-uzerinde-web-ile-led-kontrolu-apache-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Projeto Sirios: Banana Pi \u00dczerinde Web ile LED Kontrol\u00fc (Apache + Python)"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34139","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=34139"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34139\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=34139"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=34139"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=34139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}