- Video beslemesi almak için 'Hareket'i Kurmak ve Yapılandırmak:
- Web Sayfası Üzerinden Robot Kontrolü İçin Raspberry Pi'de Flask Kurulumu:
- Web sayfası için HTML kodu:
- Gözetim Robotu
- Devre Şeması ve Kurulum:
- Nasıl çalıştırılır:
Bu DIY oturumunda, ahududu pi ve bir web kamerası kullanarak web kontrollü bir gözetim robotu arabası inşa ediyoruz. Bu, birçok yapılandırılabilir seçeneğe sahip olan ve birkaç saat içinde oluşturulabilen kullanışlı ve ucuz bir güvenlik ve casus aracı olabilir. Bu IoT Projesinde, bu Robotik arabayı inşa etmek için ağırlıklı olarak Raspberry Pi, USB web kamera ve Robot şasili iki DC motor kullanıyoruz.
Üzerine monte edilmiş bir web kamerası var, bunun üzerinden canlı video beslemesi alacağız ve buradaki ilginç kısım, bu robotu internet üzerinden bir web tarayıcısından kontrol edip hareket ettirebilmemiz. Web sayfası kullanılarak kontrol edilebildiği için, Mobil'de web sayfası kullanılarak da kontrol edilebileceği anlamına gelir. HTML'de Sol, Sağ, İleri, Geri bağlantıları olan, robotu herhangi bir yönde hareket ettirebileceğimiz bir web sayfası oluşturduk. Burada, USB kameradan canlı Video beslemesi almak için "Hareket" kullandık ve python kullanarak web sayfasından Raspberry Pi'ye komut göndermek için "Flask" kullandık.Bu eğitimin sonraki bölümünde ayrıntılı olarak açıklanan Robotu hareket ettirmek için. Raspberry Pi kartımıza Raspbian Jessie OS yükledik. Raspbian OS'yi kurmak ve Raspberry Pi'yi kullanmaya başlamak için bu makaleye göz atabilirsiniz.
Video beslemesi almak için 'Hareket'i Kurmak ve Yapılandırmak:
Motion (Gözetim Yazılımı), Linux için geliştirilmiş ücretsiz, açık kaynaklı hareket dedektörü CCTV yazılımıdır. Hareketi algılar ve videosunu kaydetmeye başlar. Raspberry Pi'nizde 'Motion' kurulu olarak, Raspberry Pi'nizi sihirli bir şekilde bir Güvenlik Kamerasına dönüştürebilirsiniz. Düzenli aralıklarla canlı video beslemesi almak, zaman atlamalı videolar yapmak ve anlık görüntüler çekmek için kullanılır. Görüntü alanında Hareket veya herhangi bir rahatsızlık algıladığında Videoyu kaydeder ve kaydeder. Canlı Video beslemesi, port ile birlikte Pi'nin IP adresi girilerek web tarayıcısında izlenebilir.
Hareketin Raspberry Pi ve USB Kamera ile Kullanımı hakkında ayrıntılı bir Eğitim oluşturduk, burada Robotumuzun Canlı video akışını web sayfasına göndermesi için Raspberry pi'ye yüklenmesini kısaca açıklıyoruz.
Burada, ağ üzerinden ilk video beslemesini almaya başlamak için yalnızca birkaç komut çalıştırmanız gerekir. Bundan önce, Raspberry Pi'nizin LAN veya Wi-Fi kullanarak internete bağlı olup olmadığını kontrol edin ve ardından aşağıdaki adımları izleyin:
Adım 1: Raspbian OS'yi Raspberry Pi'de güncellemek için önce aşağıdaki komutu çalıştırın:
sudo apt-get güncellemesi
Adım 2: Ardından aşağıdaki komutu kullanarak 'Hareket' Kitaplığını kurun:
sudo apt-get yükleme hareketi
Adım 3: Şimdi, / etc / default / motion dosyasını düzenleyerek Motion arka planını evet olarak ayarlayın, böylece her zaman çalışır durumda olacaktır. Bu dosyayı aşağıda verildiği gibi 'sudo' ile 'nano' editörü kullanarak düzenleyin:
sudo nano / etc / varsayılan / hareket
Ardından 'CTRL + X', ardından 'Y' ve Enter tuşlarına basarak dosyayı kaydedin.
Adım 4: Şimdi , Motion'ın tüm Video kayıtlarını ve resim dosyalarını kaydettiği Hedef Dizin (/ var / lib / motion /) için izin ayarlamamız gerekiyor. Aşağıdaki komutu vererek bu dizinin sahibi olarak 'Hareket'i ayarlamamız gerekiyor:
sudo chown hareketi: hareket / var / lib / hareket /
Bu izin gereklidir, aksi takdirde Hareket servis Durumunu kontrol ettiğinizde hata alırsınız.
Bu komutu kullanarak hizmet durumunu kontrol edebilirsiniz: sudo service motion status
Adım 5: Neredeyse bitti, sadece Motion yapılandırma dosyasında (/etc/motion/motion.conf ) stream_localhost kapalı olan bir yapılandırma seçeneğini değiştirmemiz gerekiyor . Biz zorundayız akışı bu yerel ana kapatmak aksi takdirde biz ağımızda video yayınına erişmek mümkün olmayacaktır ve bu Ahududu Pi kendisinden sadece erişilebilir olacaktır. Bunu yapmak için, Hareket Yapılandırma dosyasını 'nano' düzenleyiciyle düzenleyin ve aşağıda gösterildiği gibi kapatın:
sudo nano /etc/motion/motion.conf
Artık işimiz bitti ve Pi'ye bağlı USB web kamerasından canlı beslememizi almaya hazırız. Aşağıdaki komutu kullanarak Hareket hizmetini başlatın (veya yeniden başlatın) ve Raspberry Pi IP'nizi tarayıcınızda 8081 bağlantı noktasıyla açın (192.168.43.199:8081 gibi). Bu projede bu IP'yi img src etiketindeki HTML kodumuza yerleştirdik .
sudo /etc/init.d/motion yeniden başlatma
Ve web kameranızdan canlı yayını göreceksiniz. Burada, Raspberry Pi ile sorunsuz çalışan düşük maliyetli bir USB web kamerası kullandık, ancak daha iyi çözünürlük için kaliteli bir kamera da kullanabilirsiniz. Tarayıcıda göstereceği gibi, Mobil, tablet vb. Gibi web tarayıcılarını destekleyen beslemeyi izlemek için herhangi bir cihazı kullanabilirsiniz.
Raspberry Pi'yi gerektiğinde bir sorun giderme adımı olarak yeniden başlatmayı deneyin:
sudo yeniden başlatma
Bu, tümüyle Gözetleme Robotumuz için Motion'ı kullanmakla ilgilidir, bunun dışında, önceki eğitimimizde daha önce tartıştığımız birkaç yapılandırma seçeneğine sahiptir.
Not: Sürüm 3'ün altındaki Raspberry Pi modeliyseniz, ahududu Pi'yi yönlendiriciye kablosuz olarak bağlamak için bir Wi-Fi dongle'a ihtiyacınız olabilir.
Web Sayfası Üzerinden Robot Kontrolü İçin Raspberry Pi'de Flask Kurulumu:
Burada, Robotu ağ üzerinden kontrol etmek için web sayfasından Raspberry Pi'ye komutları göndermenin bir yolunu sağlayan Flask kullanarak bir web sunucusu oluşturduk. Flask, python komut dosyalarımızı bir web sayfası üzerinden çalıştırmamıza izin verir ve Raspberry Pi'den web tarayıcısına veya tam tersi veri gönderip alabiliriz. Flask, Python için bir mikro çerçevedir. Bu araç, yerleşik geliştirme sunucusu ve hata ayıklayıcıya sahip Unicode tabanlıdır, entegre birim test desteği, güvenli tanımlama bilgileri desteği ve kullanımı kolaydır, bu özellikler onu hobiler için yararlı kılar.
Verilen komutu kullanarak Raspberry Pi'ye bir şişe destek paketi kurun:
$ pip Flask'ı yükle
Daha sonra, bu proje için aşağıdaki şişe paketlerini aldığımız gibi, Flask'ı programımıza aktararak kullanabiliriz:
şişeden ithal şişeden şişeden ithal şişeden, render_template, istek
Burada Flask kullanarak programlama hakkında daha fazla bilgi edinebilir, ayrıca Flask'ı Web sayfasından Raspberry Pi'ye mesaj göndermek ve ağırlık değerini Smart Container'da Raspberry Pi'ye göndermek için kullandığımız önceki projelerimizi inceleyebilirsiniz.
Web sayfası için HTML kodu:
Robotu web tarayıcısından hareket ettirmek için kontrol bağlantılarını (Sol, Sağ, İleri, geri) görüntülemek için HTML dilini kullanan bir web sayfası oluşturduk. Python Programımızdaki fonksiyonları çağırmak için jQuery betiğini kullandık . Python Kodunda Robotu Sola, Sağa, İleri, Geri hareket ettirmek ve durdurmak için beş işlev vardır. Sonunda eksiksiz Python Kodu verilmiştir. Bu işlevler web sayfasındaki Kontrol Bağlantıları tıklanarak yürütülecek ve tıklanan bağlantıya göre motorlar hareket edecektir. Burada ise Robot belli bir yönde hareket edecek şekilde bir şekilde kod yazdım tıklayıp bağlantıyı tutan, ve en kısa sürede biz bırakın fare düğmesi Robot duracaktır. Aşağıda jQuery dahil web sayfası için HTML kodu verilmiştir:
Burada, Videonun yayınlandığı IP adresini img src etiketini kullanarak web sayfasına yerleştirdiğimizi görebilirsiniz. IP adresini Raspberry Pi'nize göre değiştirin ancak bağlantı noktasını aynı tutun.
Kullanıcının yukarıda verilen HTML kodunu bazı metin düzenleyicilere (not defteri) kopyalayıp yapıştırması ve dosyayı.HTML uzantısı (robot.html) ile kaydetmesi gerekir. Sonra bu HTML dosyasını python komut dosyası konumunuza göre / templates klasörüne koyun. Bu Raspberry Surveillance Robot için Python Kod dosyanızı koyduğunuz, ardından robot.html dosyasını bu şablonlar klasörüne koyduğunuz şablonlar adlı bir klasör oluşturmanız gerektiği anlamına gelir. Bu adım önemlidir, aksi takdirde projemiz çalışmayacaktır. Kontrol bağlantılarınızın nasıl görüneceğini görmek için robot.html dosyasını üzerine çift tıklayarak doğrudan açabilirsiniz. Gösteri Videosu'nda tüm süreci daha fazla kontrol edin sonunda. Programlamayı ve hepsini bitirdikten sonra, Python kodunu Raspberry Pi'de çalıştırabilir ve web Tarayıcısında IP_address_of_your_Pi: 5010'u açabiliriz (http://192.168.43.199:5010 gibi)
Raspberry Pi'nizin IP adresini ifconfig komutunu kullanarak kontrol edebilirsiniz:
ifconfig
Devre Şeması ve Kurulum:
Canlı Video beslemesini ve HTML kodunu test ettikten sonra, el yapımı veya hazır robot şasisi, tekerlekler ve somun cıvataları kullanarak bir robot oluşturmamız gerekiyor. Ardından, Raspberry pi'yi çalıştırmak için Power bank'ı üzerine yerleştirin ve ardından Raspberry Pi'yi ve web kamerasını güç bankasının üzerine yerleştirin ve Cello bant veya lastik şeritler kullanarak kurulumu düzeltin, USB kamerayı Raspberry Pi ile bağlayın.
Bu IoT projesinde çok fazla bağlantı yapmamıza gerek yok, sadece Motor Sürücüsü IC L293D ve DC Motorlar için bazı kablolar bağlamamız gerekiyor. Bağlantılar aşağıdaki devre şemasında gösterilmektedir. Burada alanı azaltmak için L293D IC'yi monte etmek için Genel Amaçlı bir PCB kullandık, ancak DC motorları L293D ile bağlamak için küçük Breadboard da kullanabilirsiniz.
Nasıl çalıştırılır:
Bu Gözetleme Robotunu Çalıştırmak ve Çalıştırmak çok kolaydır. Bir python dosyası (.py uzantısı) oluşturun ve aşağıdaki kodu içine kopyalayın, ardından Raspberry Pi'nize kaydedin. Ardından, HTML dosyasını yukarıda açıklandığı gibi şablonlar klasörüne yerleştirin. HTML dosyasındaki IP adresini değiştirmeyi unutmayın.
Ardından aşağıdaki komutu girerek Python kodunu çalıştırın:
python name_of_file.py
Ardından Raspberry Pi IP adresinizi, http://192.168.43.199:5010 gibi 5010 numaralı bağlantı noktasıyla açın (tekrar IP adresini adresinizle değiştirin). Şimdi dört robot kontrol bağlantısı ve canlı video akışı içeren web sayfasını göreceksiniz. Kullanıcı, bağlantıları tıklayıp tutarak robotu kontrol edebilir. Kullanıcı bağlantıları tıklayıp basılı tutarsa, robot tıklanan bağlantıya göre hareket edecek ve kullanıcı bağlantıyı ne zaman bırakacak ve ardından robot otomatik olarak duracaktır.
Web sayfasındaki bağlantılara tıklayarak Robotu kontrol etmek için çeşitli işlevler yazdığımız tam Python kodu aşağıda verilmiştir. Bunları kolayca anlayabilir veya başlangıç seviyesindeyseniz önceki Raspberry Pi Eğitimlerimizi inceleyebilirsiniz. Ayrıca daha ilginç ve daha kolay inşa edilebilen Robotlar için Robotik Bölümümüzü ziyaret edin.