skip to Main Content

raspberry pi üzerinde minidlna

çok fazla karışık olmayan basit bir dlna server ihtiyacınız varsa minidlna tam size göre. raspbery pimi açıyoruz ve kurulumu gerçekleştiriyoruz.

 sudo apt-get install minidlna

kurulum sorunsuz olarak tamamlandıktan sonra. minidlna mızı konfigüre edebiliriz.. bunun için bize öncelikle video, ses, resim dosyalarımızın konumu gerekiyor. raspberrypi ye herhangi bir taşınabilir bir disk taktığınızı ve doğru şekilde mount edildiğini varsayacağız.

 df
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda1      976760001 366707224 610052777  38% /media/usb

taşınabilir diskimizin kontrolü yaptıktan sonra minidlna nın root olarak çalıştırılmaması önerilmektedir.

 sudo nano /etc/default/minidlna

dosyası içerisinde

# User and group the daemon should run as
#USER="minidlna"
#GROUP="minidlna"

gerekli değişiklikler yapılabilir.. şu aşamada bu çok önemli değil. genel ayarları yapalım. konfigürasyon dosyasını açalım

sudo nano /etc/minidlna.conf

dosya içerisinde aşagıdaki satırları bulalaım

#   * "A" for audio    (eg. media_dir=A,/var/lib/minidlna/music)
#   * "P" for pictures (eg. media_dir=P,/var/lib/minidlna/pictures)
#   * "V" for video    (eg. media_dir=V,/var/lib/minidlna/videos)
#   * "PV" for pictures and video (eg. media_dir=PV,/var/lib/minidlna/digital_camera)
media_dir=/var/lib/minidlna

ben video ve müzik için tanımlamaları yapacağım.

media_dir=V,/media/usb/ARSIV/FILM
media_dir=A,/media/usb/ARSIV/mp3

dosyayı kaydedip çıktıntan sonra. minidlna nın başlatılması gerekecek. şimdi başlatalım. aktif olarak çalışıyorsa yeniden başlatmanız gerekiyor tabiki..

sudo service minidlna start
sudo service minidlna restart
sudo service minidlna force-reload

uygun parametre ile minidlna yı başlattıktan sonra, durum bilgisini kontrol ettiğinizde servisin yeniden başladığından emin olmalısınız.

pi@raspberrypi:~ $ sudo service minidlna status
● minidlna.service - LSB: minidlna server
   Loaded: loaded (/etc/init.d/minidlna; generated)
   Active: active (running) since Sun 2020-07-26 17:40:36 +03; 24min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1478 ExecStart=/etc/init.d/minidlna start (code=exited, status=0/SUCCESS)
    Tasks: 2 (limit: 2068)
   CGroup: /system.slice/minidlna.service
           └─1497 /usr/sbin/minidlnad -f /etc/minidlna.conf -P /run/minidlna/minidlna.pid -r

Jul 26 17:40:36 raspberrypi systemd[1]: Starting LSB: minidlna server...
Jul 26 17:40:36 raspberrypi systemd[1]: Started LSB: minidlna server.

artık minidlan kullanıma hazır. aynı ağdaki bir cihazdan tarayıcınıza

http://raspberry-pi-ip-adresi:8200

adresini yazarak minidlna nın durum bilgisine ulaşamabilirsiniz… yazdığım dizinlerde 481 tane film 2887 tanede mp3 müzik dosyası varmış.

dlna client özelliği olan herhangi bir cihazdan artık içeriğe erişebiliriz. ben testi evdeki vestel televizyonda ve windows 10 da test yaptım.

ekran görüntüsü yer aldığı gibi raspberrypi yi sorunsuz olarak gördü. videoları sorunsuz izleyebiliyorum. ancak mp3 lerde sorun yaşadım. mp3 kısmını kullanmadığım için çok detaylı incelemedim ancak mp3 sayısının çok fazla olması, cache aktif etmemem ve mp3 isimlerinde ve mp3 taglarında çok fazla türkçe ve absürt karartker yer almasından kaynaklandığını düşünüyorum.

artık elimizde çalışan bir dlna servisimi var. biraz kişileştirmek isterseniz konfigürasyon dosyasını açarak

sudo nano /etc/minidlna.conf

örneğin clientlerda görünen dlna sunucu adını,

# Name that the DLNA server presents to clients.
# Defaults to "hostname: username".
#friendly_name=
friendly_name=cicek_dlna_server

değiştirebilirsiniz.

NOT: bu servisi aktif kullanılırken raspberrynizde aktif bir şeyler yapmak isterseniz dikkatli olur.. benim rpi de hd video izlerken %25 sistem kaynakların tüketiyor.

raspberry pi üzerinde en basitinden telegram

yaptığınız uygulamaları sosyal platformlar ile buluşturmak istiyorsanız telegram bunun için iyi bir başlangıç olabilir.

öncelikle mevcut bir telegram hesabınız olması gerekiyor. hesabınızla

BotFather

botunu bulun ve sırayla

/start
/newbot
/kullanicak_bot_adi_bot ( sonunda bot olmak zorunda)

yazıyoruz. adımları doğru şekilde gerçekleştirdiysek; yeni bir bot oluşturarak bize bir token / HTTP API üretecek.

uygulamamızı raspberry pi üzerinde gerçekleştireceğimiz için bize öncelikle sağlam bir kütüphane gerekiyor. ben bu uygulamamızda python – teleport kütüphanesi kullanacağım

pip install telepot

ile kütüphanemizi raspberry pi üzerine kuralım. ( python , pip vb gereksinimlerin daha önceden kurulu olduğu varsayılmaktadır)

kullanıcıdan gelecek komutları dinleyen ve buna cevap dönecek basit bir bot yapalım. aşağıdaki örnekte raspberry pi nin gerçek ipsini, zamanı gibi basit bir kaç fonksiyonun nasıl gerçekleştirileceği görülmektedir.

uygulamayı geliştirerek raspberry pi ile istediğiniz tüm işlemleri telegram üzerinden yönetebilirsiniz.

#coder :- Ferhat Cicek

import sys
import time
import telepot
import requests
import datetime

def handle(msg):
    chat_id = msg['chat']['id']
    command = msg['text']

    print('Komut: %s' % command)

    if command =='ip':
       ipadd = requests.get('https://checkip.amazonaws.com').text.strip()
       bot.sendMessage(chat_id, str(ipadd))
    elif command == 'zaman':
        bot.sendMessage(chat_id, str(datetime.datetime.now()))
    elif command == 'resim':
        bot.sendPhoto(chat_id, photo="http://www.ferhatcicek.com/wp-content/uploads/2019/09/kalyon.jpg")
    elif command == 'dosya':
        bot.sendDocument(chat_id, document=open('/home/pi/telegram/telegram.py'))
    elif command == 'muzik':
        bot.sendAudio(chat_id, audio=open('/home/pi/test.mp3'))

bot = telepot.Bot('6686324245:AAVuDyUVKAYeKVLW3TuFD5ty_3XTVQTnpZQ')
bot.message_loop(handle)
print('Komut bekleniyor...')

while 1:
    try:
        time.sleep(10)
    except KeyboardInterrupt:
        print('\n Program sonlandı')
        exit()
    except:
        print('Hata')

python ile yazdığımız bu küçük uygulamayı çalıştırsak ve raspberry pi

ve telegrama ait ekran görüntüleri aşağıdaki gibi olacaktır.

raspberry pi – statik ip ayarları

raspberry pi nizi statik ip kullanan bir ağa dahil etme durumunuzda /etc/network/interfaces dosyasında ufak bir değişiklik yapmanız gerekecektir.

pi@raspberrypi:~ $ sudo nano  /etc/network/interfaces

dosyamızı açalım. eth0 arayüzü varsayılan olarak dhcp üzerinden ip olacak şekilde yapılandırılmış durumdadır. öncelikle bu satırın başına # ekleyerek pasif hale getirelim.

auto eth0
#iface eth0 inet dhcp

sonrasında kullanacağımız ağa ait gerekli bilgileri girelim. bu örnekte 192.168.5.208/28 ağında 192.168.5.212 ipsini kullanacak şekilde yapılandırma yapıyoruz

iface eth0 inet static
        address 192.168.5.212
        netmask 255.255.255.240
        gateway 192.168.5.209
        network 192.168.5.208
        broadcast 192.168.5.223

dosyayı interfaces dosyasını kaydedip çıkıyoruz. değişikliğin geçerli olması için network ile ilgili servisleri yeniden başlatılması gerekir ancak biz daha sağlam bir yol izliyoruz ve raspberry pi yi yeniden başlatıyoruz

pi@raspberrypi:~ $ sudo reboot

raspberry yeniden başladıktan sonra gerekli kontrollerimizi yapalım

pi@raspberrypi:~ $ ifconfig eth0	
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.5.212  netmask 255.255.255.240  broadcast 192.168.5.223
        inet6 fe80::ba27:ebff:fe40:752b  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:40:75:2b  txqueuelen 1000  (Ethernet)
        RX packets 7839  bytes 3539827 (3.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5185  bytes 1208823 (1.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

raspberry pi üzerine webmin kurulumu

aslında kurulumu gerçekleştirmek oldukça basit. http://www.webmin.com/deb.html adresinden güncel paket bilgisini öğrenerek kıyayolunu kopyalayarak raspberry pi üzerine indiriyoruz.

pi@raspberrypi:~ $ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.900_all.deb
--2019-02-23 21:50:12--  http://prdownloads.sourceforge.net/webadmin/webmin_1.900_all.deb
prdownloads.sourceforge.net (prdownloads.sourceforge.net) çözümleniyor... 216.105.38.13
prdownloads.sourceforge.net (prdownloads.sourceforge.net)[216.105.38.13]:80 bağlanılıyor... bağlantı kuruldu.
HTTP isteği gönderildi, yanıt bekleniyor... 301 Moved Permanently
Yer: http://downloads.sourceforge.net/project/webadmin/webmin/1.900/webmin_1.900_all.deb [izleyen]
--2019-02-23 21:50:13--  http://downloads.sourceforge.net/project/webadmin/webmin/1.900/webmin_1.900_all.deb
downloads.sourceforge.net (downloads.sourceforge.net) çözümleniyor... 216.105.38.13
Bağlantı tekrar kullanılıyor: prdownloads.sourceforge.net:80.
HTTP isteği gönderildi, yanıt bekleniyor... 302 Found
Yer: https://kent.dl.sourceforge.net/project/webadmin/webmin/1.900/webmin_1.900_all.deb [izleyen]
--2019-02-23 21:50:14--  https://kent.dl.sourceforge.net/project/webadmin/webmin/1.900/webmin_1.900_all.deb
kent.dl.sourceforge.net (kent.dl.sourceforge.net) çözümleniyor... 212.219.56.185
kent.dl.sourceforge.net (kent.dl.sourceforge.net)[212.219.56.185]:443 bağlanılıyor... bağlantı kuruldu.
HTTP isteği gönderildi, yanıt bekleniyor... 200 OK
Uzunluk: 15846232 (15M) [application/octet-stream]
Kayıt yeri: `webmin_1.900_all.deb'

webmin_1.900_all.deb               100%[===============================================================>]  15,11M  1,97MB/s    in 10s     

2019-02-23 21:50:25 (1,46 MB/s) - `webmin_1.900_all.deb' kaydedildi [15846232/15846232]

sıra kurulum işlemine geldi.

pi@raspberrypi:~ $ sudo dpkg --install webmin_1.900_all.deb 
Daha önce seçili olmayan webmin paketi seçiliyor.
(Veritabanı okunuyor ... 140139 dosya veya dizin kurulu durumda.)
Paket açılacak: webmin_1.900_all.deb ...
Paket açılıyor: webmin (1.900) ...
Ayarlanıyor: webmin (1.900) ...
Webmin install complete. You can now login to https://raspberrypi:10000/
as root with your root password, or as any user who can use sudo
to run commands as root.
Tetikleyiciler işleniyor: systemd (232-25+deb9u9) ...

şimdi raspberryinin ip adresini öğrenelim

i@raspberrypi:~ $ hostname -I
192.168.1.5 192.168.5.1 

webmin 10000 portunu kullanıyor. tarayıcımıza adresi yazalım
https://192.168.1.5:10000
karşılama ekranı aşağıdaki gibidir.

kullanıcı adı : pi
şifre : raspberry
bilgileri webmine ilk giriş için geçerlidir. giriş sayfamız aşağıdaki gibidir.

raspberry pi ile internet paylaşımı (hotspot)

raspberry pi de eth0 ile edindiğimiz internet paylaşımın wlan0 üzerinden paylaşıma açacak şekilde bilinen adıyla hotspot bir örnek uygulama yapalım.

bu işlemi yapabilmemiz için öncelikle ethernet arayüzlerin doğru şekilde yapılandırılmış ve çalışıyor olması ön şarttır. bu konuya bu yazıda değinmeyeceğiz.

bu paylaşım için yapabilmek için paylaşımı gerçekleştirecek bir servis uygulamasının aktif edilmesi gerekmektedir. bunu yapabileceğiniz en temel uygulama hostapd dir. bununla birlikte istemcilere ip dağıtımını / yönetimini yapacak bir servis ihtiyacınız daha olacaktır. dns servis için kullanabileceğiniz uygulama sayısını çok daha fazladır. bu örnekte dnsmasq kullanacağız.

hostapd ve dnsmasq temel raspberry dağıtımlarında yer almamakta ancak depolarda bu uygulamalar mevcuttur. bu uygulamaları öncelikle kuralım

sudo apt-get install hostapd dnsmasq

artık yapılandırma sürecine başlayabiliriz. raspberry üzerinde bu ve benzeri uygulamalar yaparken karşılaşacağınız temel bir sorunu öncelikle çözmeliyiz.

dhcpcd üzerinden internet paylaşımı yapacağımız wlan0 arayüzünü pasif hale çekmemiz gerekiyor. bunun nedeni ip dağıtımı için dnsmasq kullanacak olmamızdır.

sudo nano /etc/dhcpcd.conf

dhcpcd.conf dosyasını açtıktan dosyanın en altında wlan0 için gerekli satırı ekleyelim

denyinterfaces wlan0

sıra geldi ethernet arayüzleri için gerekli yapılandırmalara

sudo nano /etc/network/interfaces

interfaces dosyası için loopback, eth0 ve wlan0 için gerekli yapılandırma ayarlarını girelim. loopback ve eth0 için ilave bir şey yapmıyoruz. wlan0 için hotplug olarak izin vererek yukarıda sorundan kaynaklı olarak static yapılandırma yapıyoruz. bu örnekte wlan0 için 192.168.5.0/24 adresini rezerve ederek kullanacağız.

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet static
    address 192.168.5.1
    netmask 255.255.255.0
    network 192.168.5.0
    broadcast 192.168.5.255

arayüz tanımları yapıldıktan sonra hostapd servis tanımlarını yapmaya geldi

sudo nano /etc/hostapd/hostapd.conf

burada yayın yapılacak kablosuz ağa ait servis ve güvenlik ayarlarını yapılandırıyoruz. burada hw_mode a özellikle dikkat etmek gerekiyor ancak fiziksel ve yazılımsal olarak desteği olmayan modlar seçilmemelidir.

aşağıdaki yapılandırma raspberry pi 3 de sorunsuz olarak çalışmaktadır.

interface=wlan0
driver=nl80211
ssid=fcicek_wifi
hw_mode=g
channel=6
ieee80211n=1
wmm_enabled=1
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=fcicek_wifi_sifre
rsn_pairwise=CCMP

hostapd ayarlarını yaptıktan sonra hostapd için yapılandırma dosyası konum ayarlarını yapalım.

sudo nano /etc/default/hostapd

hostapd dosyasını açarak DAEMON_CON=”” olarak görülen satırda gerekli değişikliği yapalım

DAEMON_CONF="/etc/hostapd/hostapd.conf"

hostapd için yapılandırmayı tamamlanmış olduk sırada dnsmasq ayarı kaldı. öncelikle mevcut dosyamızı yedekleyelim

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
sudo nano /etc/dnsmasq.conf

ve dnsmasq.conf dosyasını açarak kullanacağımız 192.168.5.0/24 için gerekli diğer ayarları girelim.

interface=wlan0 
listen-address=192.168.5.1
bind-interfaces 
server=8.8.8.8
domain-needed
bogus-priv
dhcp-range=192.168.5.10,192.168.5.50,24h

burada dns server olarak google sunucu adresi girilmiş ve 10 ve 50 arası kullanıcılar için açılmıştır. sudo reboot ile raspberryi yeniden başlatalım. raspberry pi yeniden başladıktan sonra fcicek_wifi ssid ağımız görebiliriz.

şimdi paylaşımdaki en önemli aşamaya geldik diyebiliriz. gerekli natlamanın yapılması. sysctl.conf dosyası altında net.ipv4.ip_forward parametresini aktif ederek 1 yapmamız gerekmektedir.

sudo nano /etc/sysctl.conf
net.ipv4.ip_forward=1

bundan sonra iptables ile gerekli nat / yönlendirmeleri yapıyoruz.

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

son bir şey kaldı.. açılış dosyamıza iptables ayarlarının girilmesi. burada ekleyeceğimiz satırı exit 0 dan önce girmeye dikkat edin.

sudo nano /etc/rc.local
iptables-restore < /etc/iptables.ipv4.nat 

exit 0

temel olay bu kadar. eth0 ile yaptığımız bağlantıyı fcicek_wifi ssid ile paylaşıma snduk. şimdi raspberry üzerindeki arayüzlerden geçen trafiklerimizi kontrol edelim..

pi@raspberrypi:/etc $ vnstat

                      rx      /      tx      /     total    /   estimated
 eth0:
       Şub '19    192,83 MiB  /   11,59 MiB  /  204,42 MiB  /  258,00 MiB
     yesterday    162,42 MiB  /    5,47 MiB  /  167,89 MiB
         today     30,40 MiB  /    6,12 MiB  /   36,53 MiB  /     421 MiB

 wlan0:
       Şub '19      6,53 MiB  /   30,31 MiB  /   36,84 MiB  /   45,00 MiB
     yesterday       843 KiB  /      15 KiB  /     858 KiB
         today      5,70 MiB  /   30,30 MiB  /   36,00 MiB  /     409 MiB

HC-SR04 ultrasonik modül kullanarak arduino uno platformunda mesafe ölçümü örneği 1

ultrasonik alıcı vericiler mesafe ölçme, cisim algılama vb bir çok alanda günlük hayatımızın içinde yer almaktadır. tüm bu uygulamalar sesin farklı ortamlarda yayılma hızının farklı olması, yansıma ve doppler kanunlarının kullanılması ile mümkün olmaktadır.

sesin yayılma hızı ortam yoğunluğuna, sıcaklığa vb kriterere bağlı değişmektedir. 0 derecede 1 atmosferde sesin havada yaklaşık olarak 340 m/s ile hızla ilerlediğini kabul edebiliriz. (kritik bir uygulama yapılmıyorsa)

konu hakkında bilgi alınmak istenirse https://www.grc.nasa.gov/www/k-12/airplane/sound.html adresinden yararlanılabilir.

piyasdaki en uygun fiyatlı ultrasonic sensor HC-SR04. bu nedenden dolayı çokca örnek uygulama bulabilirsiniz. ürüne ait temel bilgiler ve zamanla diagrami aşağıda yer almaktadır.

 Çalışma Voltajı  DC 5V
 Çektiği Akım  15 mA
 Çalışma Frekansı  40 Hz
 Maksimum Görme Menzili  4m
 Minimum Görme Menzili  2cm
 Görme Açısı  15°
 Tetik Bacağı Giriş Sinyali  10 us TTL Darbesi
 Echo Çıkış Sinyali  Giriş TTL sinyali ve Mesafe Oranı
 Boyutları  45mm x 20mm x 15mm

 

bu bilgilere göre echo portundan okuduğumuz değeri 58 e bölersek cismin uzaklığını cm cinsinden yaklaşık olarak elde etmiş oluruz.

HC-SR04 ün arduino ile fiziksel bağlantılarını aşagıdaki şekilde yapabiliriz. kullanacağınız pingleri kendi uygulamanıza göre uyarlayabilirsiniz.

devreye ait kod ise

	
/*
HC-SR04 ornegi

 *  Arduino | HC-SR04 
 *  -------------------
 *    5V    |   VCC 
 *    10    |   Trig
 *    9     |   Echo 
 *    GND   |   GND
*/
 
//hc-sr04 sensorune ait kullanicak trigger ve echo portlari
const int trig_pin = 10;
int echo_pin = 9;
 
//uygulamada kullanilacak guvenli mesafe
int guvenlik_mesafesi = 10;
 
//uygulamada gunveli mesafe bilgisini ledle takip edebilmek icin
//kullanilacak pinler
int led_mesafe_guvenli = 3, 
led_mesafe_guvensiz = 2;
 
void setup() {
  //uygulada kullanilacak pinlerin durumunu ayarlayalim
  Serial.begin(9600);
  
  pinMode(trig_pin, OUTPUT);
  pinMode(echo_pin, INPUT);
  
  pinMode(led_mesafe_guvenli, OUTPUT);
  pinMode(led_mesafe_guvensiz, OUTPUT);  
}
 
void loop()
{
  //sesin_suresi milisaniye cinsinden bir veridir.
  //bu veri santimetreye cevrilmektedir.
  long sesin_suresi, mesafe_cm;
 
 
  //olcum oncesi trigger low yapilarak sinyal gonderilmesi engellenir
  //10 ms sinyal gonderildikten sonra  
  //bunun amaci olasi hata olcumlerini minimize etmektedir
  digitalWrite(trig_pin, LOW);
  delayMicroseconds(2);
  digitalWrite(trig_pin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig_pin, LOW);
 
  //
  pinMode(echo_pin, INPUT);
  sesin_suresi = pulseIn(echo_pin, HIGH);
 
  // olculen sureyi cm olarka mesafeye cevirme
  mesafe_cm = sesin_suresi / 29 / 2 ;
 
  //modulun olcum sinirlari disinda ise seri porttan menzil disi mesajinin
  //olcum sinilari icinde ise mesafe bilgisinin seria porttan gonderilmesi
  if (mesafe_cm > 200 || mesafe_cm < 2){
   Serial.println("Menzil Disi");
   }
   else {
      Serial.print(mesafe_cm);
      Serial.print("  cm");
      Serial.println();
   }
 
  //olculen mesafenin guvenli mesafe icinde olup olmaginin testi
  //olculen mesafeye ledlerinin durumunun degistirilmesi
  if (mesafe_cm > guvenlik_mesafesi)
  {
    digitalWrite(led_mesafe_guvenli, HIGH);
    digitalWrite(led_mesafe_guvensiz, LOW);
  }
  else
  {
    digitalWrite(led_mesafe_guvensiz, HIGH);
    digitalWrite(led_mesafe_guvenli, LOW);
  }
 
  delay(100);
}

dfdf

basit arduino uygulamaları : led animasyon 1

arduino konusunda en temel uygulamalardandır led flash uygulaması yapmak. konuya meraklı kişiler ilk ledli uygulamasını yaptıktan sonra daha elle tutulur şeyler yapmak isterler. bu noktada bir zaman yapmış olduğum bir uygulamayı bende yazı haline getireyim.

uygulamada uno r3 kullandım. uno nun 3, 5, 6, 9, 10, 11 pinleri çıkış olarak kullanılmaktadır. ledleri bu pinlere bağlamadan önce 200 ohm civarı bir direnç kullanmayı unutmayın. devrenin şeması aşağıdaki gibidir.

devrenin kodu ise

int led_sayisi = 6;
int led_pin[6] = {3, 5, 6, 9, 10, 11};
  
void setup() {
  Serial.begin(9600);
  //belirledigimiz tum pinleri cikis yapalim
  for (int i = 0; i < led_sayisi; i++) {
    pinMode(led_pin[i], OUTPUT);
  }
}
  
void loop() {
  animasyon_1();
}
  
void animasyon_1() {
//tüm ledleri sonuk olarak belirleyelim
  int led_durum[6] = {0, 0, 0, 0, 0, 0 };
  for (int j = 0; j < 2; j++) {
//tum ledlerin konumunu sırasyla degistirelim
//ilk dongude led sonuk durumdaysa yanacak
//dongu tekrar edersen yanik durumdaysa sonecek
    for (int i = 0; i < led_sayisi; i++) {
      led_durum[i] = ~led_durum[i];
      digitalWrite(led_pin[i], led_durum[i]);
      delay(150);
    }
  }
}

devreyi kurup uygularsanız aşagıda yer alan videodaki gibi sonuç göreceksiniz.

Devreye ait fritzing dosyası – Arduino led animasyon 1

raspberry pi 3 üzerinde kablosuz ağ ayarları

raspberry pi 3 kablosuz ağ özelliği ile geliyor ve eski modellerindeki gibi driver vb tanıtımı ile uğraşmıyorsunuz. bununla ilgili daha önce bir yazı paylaşmıştım. “raspberry pi – raspbian : kablosuz bağlantı ayarları

raspberry pi 3 üzerinde wifi gömülü olduğu için wifi ayarlarını yapmanız ise oldukça kolay. öncelikle wpa_supplicant.conf dosyasnı açıyoruz

pi@raspberrypi:~ $ nano /etc/wpa_supplicant/wpa_supplicant.conf

ve dosya içerisine

network={
ssid="kablosuz_agda_kullanilan_iot.gen.tr"
psk="kablosuz_ag_sifresi"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
auth_alg=OPEN
}

satırlarınızı ekliyoruz

burada ssid ve şifre dışındaki alanlar konusunda bilginiz yoksa ve modeminiz ile gerekli uyumlu şekilde konfigürasyon yapmak istiyorsanız aşagıdaki eşleştirmeyi kullanabilirsiniz..

proto : WPA2 için RSN ,  WPA1 için WPA
key_mgmt : kişisel ağ için WPA-PSK , kurumsal ağ için WPA-EAP
pairwise WPA2 için CCMP ve WPA1 için TKIP
auth_alg : ototik bağlannma OPEN, diğer ayarlar için LEAP veSHARED

Back To Top