Raspberry Pi Kullanarak Video Akışı Nasıl Gerçekleştirilir?
Raspberry Pi, hayatımızı kolaylaştırmak için günlük hayatımızda kullanılabilecek büyüleyici projeleri yapmak için bazı temel ekipmanlara ihtiyaç duyan düşük maliyetli, cep boyutunda bir bilgisayardır. Bir hafıza kartı kart üzerindeki kart yuvasına gömülü, Sabit sürücü Raspberry Pi için. En son Raspberry Pi modellerinde genellikle üç ila dört Evrensel Seri Veri Yolu (USB) bağlantı noktası, bir ethernet bağlantı noktası ve bir Yüksek Çözünürlüklü Multimedya Arabirimi (HDMI) bulunur. Üstün kaliteli bir video oynatmak, hesap tabloları yapmak, FM radyo istasyonları ve oyun oynamak gibi bir iş istasyonunun yapması gereken her şeyi yapabilir. Canlı akışlı video kameralar güvenlik veya bireysel amaçlar için kullanılabilir. Canlı video akışı için web kameraları, video kameralar, DSLR'ler ve aynasız kameralar piyasada kolayca bulunabilir ancak maliyetlidirler. Bu projede ekonomik bir cihaz olan Raspberry Pi kullanarak canlı yayın kamerası yapacağız. Wifi çok. Canlı video akışını cep telefonlarımızda, tabletlerimizde ve masaüstü bilgisayarlarımızda izleyebileceğiz.
Canlı Akış İçin Pi Kamera Nasıl Kurulur?
Herhangi bir projeye başlamak için en iyi yaklaşım, bileşenlerin bir listesini yapmaktır çünkü kimse eksik bir bileşen yüzünden bir projenin ortasında kalmak istemeyecektir.
Adım 1: Gerekli Bileşenler
Adım 2: Raspberry Pi Modelini Seçme
Raspberry Pi'nin seçimi çok teknik bir görevdir ve ileride acı çekmemeniz için dikkatlice yapılmalıdır. Raspberry Pi Zero sınırlı sayıda özellik ile piyasada bulunan en eski model olduğu için tercih edilmiyor ve üzerine network kurmak çok yorucu bir iş. 3A +, 3B + gibi son modeller satın alınabilir. Raspberry Pi 3, Raspberry Pi Foundation'ın bugüne kadar piyasaya sürdüğü en hızlı ve en baskın cihazdır. Yani bu projede Raspberry Pi 3B + kullanacağız.
3. Adım: Raspberry Pi'yi Kurma
Raspberry Pi'yi kurmak için iki seçenek vardır. Birincisi, Pi'nizi LCD ile bağlamak ve gerekli tüm çevre birimlerini bağlamak ve çalışmaya başlamaktır. İkincisi, dizüstü bilgisayarla Pi'yi kurmak ve ona uzaktan erişmek. LCD'nin mevcudiyetine bağlıdır, eğer evde varsa, o zaman bir LCD kullanarak Pi'nizi kurabilirsiniz. HDMI - VGA adaptörünü kullanarak LCD'yi Ahududu'nun HDMI bağlantı noktasına bağlayın. Pi'nize uzaktan erişmek istiyorsanız adlı makalemi takip edin. "Raspberry Pi'nin SSH ve VNC Görüntüleyici Kullanarak Grafik Kullanıcı Arayüzüne (GUI) Nasıl Erişilir?".Bu yazıda, bir dizüstü bilgisayar ile Pi'nin ayrıntılı bir kurulumu açıklanmaktadır ve oturum açtıktan sonra Pi'ye uzaktan erişim sağlayabileceksiniz.
Adım 4: Raspberry Pi'nin Güncel Olduğundan Emin Olun
Raspberry Pi'yi kurduktan sonra, Pi'mizin iyi çalıştığından ve en son paketlerin üzerine yüklendiğinden emin oluruz. Komut Penceresini açın ve Pi'yi güncellemek için aşağıdaki iki komutu yazın.
sudo apt-get güncellemesi
Sonra,
sudo apt-get yükseltme
Herhangi bir güncelleme yüklüyse, Y ve sonra basın Giriş güncellemeleri indirmeye devam etmek için.
Adım 5: Raspberry Pi Kamera Modülünü Etkinleştirme
Raspberry Pi kamera modülünü kullanmadan önce etkinleştirmemiz gerekiyor. Paketleri güncelledikten sonra komut penceresini kapatın ve Masaüstü Ekranının sol üst köşesindeki Ahududu simgesine tıklayın. Raspberry Pi Tercihlerine gidin, Arayüzler seçeneğine tıklayın ve Kamera Buradan.
Ayrıca aşağıdaki komutu yazarak da etkinleştirilebilir. terminalpencere:
sudo raspi-config
Bu komutu yazdıktan sonra göreceğiz ki Raspberry Pi Yazılım Yapılandırma Aracı açılır ve Arabirim Seçenekleri'ne ilerleyin ve Giriş.
Yeni bir ekran görünecek ve Kamera üstte bahsedilmektedir. Enter tuşuna basın:
Kamerayı etkinleştirdikten sonra, değişikliklerin etkili olması için Pi'nin yeniden başlatılması gerekir. Daha fazla ilerlemeden önce Pi'mizi yeniden başlatacağız ve aşağıdaki komutu yazarak yapılabilir.
sudo yeniden başlatma
Adım 6: Pi'nin IP Adresini Not Alma
Video akışı web sunucusuna daha sonra erişmemiz gerekiyor, bu nedenle Raspberry Pi'ye atanan IP adresini bilmemiz gerekiyor. Pi'mizi kurarken IP adresini zaten bulduğumuz için not alacağız ve ilerleyeceğiz. IP adresini bulmanın alternatif bir yolu da var ve bu, Pi'mizde Wifi kurduktan sonra Terminal penceresine aşağıdaki komutu yazmaktır.
ifconfig
Benim durumumda, Pi'me atanan IP Adresi "192.168.1.14“.
7. Adım: Kamera Modülünü Bağlama
Şimdi, kamera modülümüzü Pi'ye takmaya hazırız, ancak bunu yapmadan önce, kameranın statik yüklerle üretilen elektrikten zarar görebileceğini unutmayın. Kamerayı gri paketinden çıkarmadan önce, bir miktar topraklama malzemesine dokunarak kendinizi boşalttığınızdan emin olun. Kamerayı kurarken Pi'yi kapatın ve kamerayı CSI Pi'nin bağlantı noktasını kullanın ve aşağıdaki şekilde gösterildiği gibi mavi şerit yukarı bakacak şekilde kameranın doğru yönde ilişkilendirildiğinden emin olun.
8. Adım: Web Akışı İçin Uygun Biçim Aranıyor
Bu biraz zor bir görev çünkü evrensel olarak tüm web tarayıcıları tarafından desteklenen video formatları yok. HTTP, başlangıçta web sayfalarına hizmet etmek üzere tasarlandı ve lansmanından bu yana, dosya indirmeleri, canlı akış vb. İçin birçok eklenti yapıldı. Bu nedenle, bu sorunu göz önünde bulundurarak videomuzu şu şekilde adlandırılan basit bir biçimde yayınlayacağız: MJPEG. Bir sonraki adımda bahsedilen kod yerleşik olanı kullanır. http.servervideo akışını çok daha kolay hale getirmek için modül. Resmi olarak kodlu uygun bir format bulunabilir. Picamera İnternet sitesi.
Adım 9: Video Akışı İçin Komut Dosyası Yazma
Video akışı için senaryoyu yazmamız gerekiyor ve resmi olarak bulunabilir. PiCameraİnternet sitesi. İlk olarak, adında yeni bir dosya oluşturun.rpi_video_streaming.py Terminal penceresine aşağıdaki komutu yazarak:
sudo nano rpi_video_streaming.py
Dosyayı oluşturduktan sonra aşağıda belirtilen kodu kopyalayın veya Kodu Buradan indirin. Kodu bağlantıdan indiriyorsanız, web sayfasını aşağı kaydırın ve kontrol edin 4.10. Web Akışı Bölüm.
içe aktarma io içe aktarma picamera içe aktarma günlüğü içe aktarma iş parçacığından içe aktarma soket sunucusu içe aktarma http alma sunucusundan koşulpicamera MJPEG akış demosu PiCamera MJPEG Akış Demosu
"" "sınıfı StreamingOutput (nesne): def __init __ (self): self.frame = Hiçbiri self.buffer = io.BytesIO () self.condition = Koşul () def write (self, buf): if buf.startswith (b '\ xff \ xd8'): # Yeni çerçeve, mevcut arabelleğin içeriğini kopyalayın ve tüm # istemciye mevcut olduğunu bildirin self.buffer.truncate () self.condition: self.frame = self.buffer.getvalue () self.condition .notify_all () self.buffer.seek (0) dönüş self.buffer.write (buf) sınıfı StreamingHandler (server.BaseHTTPRequestHandler): def do_GET (self): if self.path == '/': self.send_response (301 ) self.send_header ('Location', '/index.html') self.end_headers () elif self.path == '/index.html': content = PAGE.encode ('utf-8') self.send_response ( 200) self.send_header ('Content-Type', 'text / html') self.send_header ('Content-Length', len (content)) self.end_headers () self.wfile.write (content) elif self.path == '/stream.mjpg': self.send_response (200) self.send_header ('Age', 0) self.send_header ('Cache-Control', 'no-cache, private') self.send_header ('P ragma ',' önbellek yok ') self.send_header (' İçerik Türü ',' multipart / x-mixed-replace; border = FRAME ') self.end_headers () try: while True: with output.condition: output.condition.wait () frame = output.frame self.wfile.write (b' - FRAME \ r \ n ') self .send_header ('Content-Type', 'image / jpeg') self.send_header ('Content-Length', len (frame)) self.end_headers () self.wfile.write (frame) self.wfile.write (b '\ r \ n') istisna hariç, e: logging.warning ('Kaldırılan akış istemcisi% s:% s', self.client_address, str (e)) else: self.send_error (404) self.end_headers () sınıfı StreamingServer (socketserver.ThreadingMixIn, server.HTTPServer): allow_reuse_address = True daemon_threads = picamera.PiCamera ile doğru (çözünürlük = '640x480', framerate = 24) kamera olarak: output = StreamingOutput () camera.start_recording (output, format = 'mjpeg ') deneyin: adres = (' ', 8000) server = StreamingServer (adres, StreamingHandler) server.serve_forever () sonunda: camera.stop_recording ()
Oluşturulan yeni dosyaya kodu yapıştırdıktan sonra Ctrl + X, tip Y ve bas Giriş.
Adım 10: Video Akışını Çalıştırma
Komut dosyasını kaydettikten sonra, aşağıdaki komutu yazarak Python3 kullanarak çalıştıracağız:
python3 rpi_video_streaming.py
Bu komutu yazdıktan sonra komut dosyamız çalışmaya başlayacak ve şimdi web sunucumuza şu adresten erişebiliriz: http: //
Adım 11: Son Dokunuşları Yapmak
Pi kameramızı test ettiğimiz ve iyi çalıştığını öğrendiğimiz için onu uygun bir yere kurmaya hazırız. Eve giren veya çıkan herkesi izleyebilmemiz için evin kapısının yakınına kurulabilir. Tek ihtiyacımız olan güç sağlamak AÇIKKameramızı adaptörü kullanarak kullanın ve bir kasanın içine koymak ve video akışı için kamera tarafını açık bırakmak daha iyi olacaktır.
Başvurular
- Güvenlik amacıyla evlere kurulabilir.
- Ofislerde çalışan hareketlerini izlemek için kullanılabilir.
- Alışveriş merkezleri, tren istasyonları vb. Yerlerde kurulabilir ve belirli bir alanda kontrol ve denge yaptırmak için idari personel tarafından erişilebilir.