- Gerekli Bileşenler:
- Çalışma Açıklaması ve Web Sayfasının Oluşturulması:
- Devre Açıklaması:
- Programlama Açıklaması ve Flask:
Hepimiz aşina Kablosuz Bildirimi Kurulu zaten GSM ve Arduino kullanarak kablosuz ilan panosunun yerleşik olarak. Ama bugün bir adım önde gidiyoruz ve GSM'i kablosuz ortam olarak kullanmak yerine, bu sefer mesajı Web Tarayıcısından Raspberry Pi'ye bağlı LCD'ye kablosuz olarak göndermek için İnternet'i kullanıyoruz. Mesaj web tarayıcısı üzerinden gönderildiği için Bilgisayar, akıllı telefon veya tablet kullanılarak gönderilebilir, böylece IoT proje koleksiyonumuza bir proje daha ekleyecektir.
Bu Web Kontrollü Duyuru Panosunda, tanıtım için yerel bir web sunucusu oluşturduk, bu internet üzerinden global bir sunucu olabilir. Raspberry Pi'de mesajı görüntülemek için 16x2 LCD ve mesajı ağ üzerinden almak için Flask kullandık. Raspberry, Web tarayıcısından herhangi bir kablosuz mesaj aldığında, LCD'de görüntülenir. Bu yazıda bunları detaylı olarak tartışacağız.
Gerekli Bileşenler:
- Raspberry Pi 3 (herhangi bir model)
- Wi-Fi USB adaptörü (Raspberry Pi 3 kullanmıyorsanız)
- 16x2 LCD
- Ekmek Tahtası
- Raspberry Pi için güç kablosu
- Bağlantı telleri
- 10K Saksı
Çalışma Açıklaması ve Web Sayfasının Oluşturulması:
Bu projede ana bileşen, bu projenin kalbi olan ve bu proje ile ilgili süreçleri kontrol etmek için kullanılan Raspberry Pi'dir. Örneğin: Sürüş LCD'si, sunucudan "Uyarı mesajları" alma vb.
Burada, bir web tarayıcısında Flask kullanarak Raspberry Pi'ye "Bildirim Mesajı" göndermenin bir yolunu sağlayan bir web sunucusu oluşturduk. The Flask, Python için bir mikro çerçevedir. Bu araç, yerleşik geliştirme sunucusu ve hata ayıklayıcı, entegre birim test desteği, güvenli tanımlama bilgileri desteği ve kullanımı kolay olan Unicode tabanlıdır, bu özellikler onu hobiler için yararlı kılar .
Biz var bir TextBox ve bir Gönder düğmesi ile bir web sayfası oluşturdu biz TextBox bizim “Uyarı Mesajı” yazıp ardından Gönder düğmesini tıklayarak sunucuya gönderebilirsiniz. Bu web uygulaması HTML dili kullanılarak geliştirilmiştir. Bu web sayfasının kodu aşağıda verilmiştir ve anlaşılması çok kolaydır.
Web Kontrolü Bildirim Panosu (Devre Özeti)
Bildirim Başarıyla Gönderildi: {{value}}
{% endif%}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ıyla kaydetmesi gerekir. Sonra bu HTML dosyasını, bu Web Kontrollü Bildirim Panosu için Python Kodu dosyanızı (sonunda verilmiştir) koyduğunuz klasöre koyun. Artık Python kodunu Raspberry Pi'de çalıştırabilir, IP_address_of_your_Pi: 8080'i web Tarayıcısında açabilir (192.168.1.14:8080 gibi) ve mesajı girip gönder'i tıklayabilirsiniz, mesajı gönderdiğiniz anda mesajı alacaksınız. Raspberry Pi'ye bağlı LCD. Sonunda Gösteri Videosu ile tüm süreci kontrol edin.
Web sayfası, bir metin kutusu ve gönder düğmesi olan ve Başlık (h1 etiketi) Web Kontrol Bildirim Panosu içeren bir form içeren HTML dili kullanılarak oluşturulur. Form sahiptir “değişim” dir eylem kullanarak kod yapılacaktır sonrası biz tıklayın Gönder düğmesini zaman, yöntem. Kaydırıcı ile bloktur etiket “Uyarı Mesajı”.
Ardından Raspberry Pi'ye sunucu aracılığı ile göndermiş olduğumuz metni göstermek için opsiyonel bir satır ekleyebiliriz.
{% if value%}
Bildirim Başarıyla Gönderildi: {{value}}
{% endif%}Metin kutusundaki değeri kontrol eder ve metin kutusunda bir değer varsa, metni web sayfasının kendisine yazdırır, böylece kullanıcı da gönderilen mesajı görebilir. Burada 'değer' , kaydırıcı kutuya veya metin kutusuna yazacağımız “giriş metni veya uyarı mesajıdır”.
Devre Açıklaması:
Bu Kablosuz Mesaj Panosu için bağlantılar çok kolaydır; LCD'yi Raspberry Pi kartına sadece ekmek tahtası üzerindeki bazı konektörleri kullanarak bağlamamız gerekir. Kullanıcı, bağlantılar için sıfır PCB kullanabilir. LCD'nin RS, RW ve EN pinleri doğrudan pin 18, GND ve 23'e bağlanır. LCD D4, D5, D6, D7'nin veri pinleri ise doğrudan Raspberry Pi'nin GPIO 24, 16, 20, 21'e bağlanır. 10K pot LCD'nin parlaklığını kontrol etmek için kullanılır.
Ayrıca Raspberry Pi 3'e sahip değilseniz, Raspberry Pi 3 gibi dahili Wi-Fi bulunmadığından, Raspberry Pi'nin daha düşük sürümü için USB Wi-Fi adaptörünü kullanmanız gerektiğini unutmayın.
Programlama Açıklaması ve Flask:
Program için burada Python dilini kullanıyoruz. Kodlamadan önce, kullanıcının Raspberry Pi'yi yapılandırması gerekir. Raspberry Pi'ye Başlarken ve Raspbian Jessie OS'yi Pi'de Kurmak ve Yapılandırmak için önceki eğitimlerimizi inceleyebilirsiniz.
Raspberry Pi'yi programlamadan önce, kullanıcının verilen komutları kullanarak Raspberry Pi'ye bir şişe destek paketi kurması gerekir:
$ pip Flask'ı yükle
Bundan sonra Python programını Raspberry Pi'nin python düzenleyicisinde çalıştırabilirsiniz, ancak bundan önce Program'daki IP adresini Raspberry Pi'nizin IP adresiyle değiştirmeniz gerekir. RPi kartınızın IP adresini ifconfig komutunu kullanarak kontrol edebilirsiniz:
İfconfig
Bu projenin programlama kısmı, tüm işlemleri gerçekleştirmek için çok önemli bir rol oynamaktadır. Öncelikle, Flask için gerekli kitaplıkları ekliyoruz, değişkenleri başlatıyoruz ve LCD için pinleri tanımlıyoruz.
şişeden içe aktarım Şişesini şişeden içe aktarma render_template'den içe aktarmayı isteyin, RPi.GPIO'yu gpio import os, time app = Flask (__ name__) RS = 18 EN = 23 D4 = 24 D5 = 16 D6 = 20 D7 = 21……………..
LCD için, def lcd_init () işlevi, LCD'yi dört bit modunda başlatmak için kullanılır, LCD'ye komut göndermek için def lcdcmd (ch) işlevi, LCD'ye veri göndermek için def lcddata (ch) işlevi ve lcdstring (Str) işlevi, veri dizisini LCD'ye göndermek için kullanılır. Tüm bu fonksiyonları daha sonra verilen Kod'da kontrol edebilirsiniz.
Programın aşağıdaki kısmı, Flask kullanılarak web tarayıcısından Raspberry Pi'ye mesaj göndermek için kullanılır. Burada Flask'ı kullanarak programlama hakkında daha fazla bilgi edinebilirsiniz.
@ app.route ("/") def index (): render_template ('web.html') @ app.route ("/ change", yöntemler =) def change (): if request.method == 'POST': # Değerin web sayfasından alınması data1 = request.form lcdcmd (0x01) lcdprint (data1) __name__ == "__main__" ise render_template ('web.html', value = data1) döndür: app.debug = True app.run ('192.168.1.14', bağlantı noktası = 8080, hata ayıklama = Doğru)
Yani bu, bilgisayarımızdan veya akıllı telefonumuzdan Raspberry Pi LCD'ye mesaj gönderebilmemiz ve Web üzerinden kontrol edilen IoT tabanlı bir Kablosuz Bildirim Panosu yapabilmemizdir. Aşağıdaki Tam Python Kodu ve Gösterim Videosu'na bakın.