- Požadované komponenty:
- Vysvětlení práce a vytvoření webové stránky:
- Vysvětlení obvodu:
- Vysvětlení programování a baňka:
Všichni jsme obeznámeni s bezdrátovou nástěnkou, protože jsme již postavili bezdrátovou nástěnku pomocí GSM a Arduino. Ale dnes jdeme o krok napřed a namísto používání GSM jako bezdrátového média, tentokrát používáme internet k bezdrátovému odesílání zprávy z webového prohlížeče na LCD, který je připojen k Raspberry Pi. Protože se zpráva odesílá prostřednictvím webového prohlížeče, lze ji odeslat pomocí počítače, chytrého telefonu nebo tabletu, takže do naší kolekce projektů IoT přidá ještě jeden projekt.
V této Webově řízené nástěnce jsme pro demonstraci vytvořili místní webový server, kterým může být globální server přes internet. Na Raspberry Pi jsme použili 16x2 LCD k zobrazení zprávy a baňky pro příjem zprávy přes síť. Kdykoli Raspberry obdrží jakoukoli bezdrátovou zprávu z webového prohlížeče, zobrazí se na LCD. O těchto věcech budeme podrobně diskutovat v tomto článku.
Požadované komponenty:
- Raspberry Pi 3 (jakýkoli model)
- Wi-Fi USB adaptér (pokud nepoužíváte Raspberry Pi 3)
- 16x2 LCD
- Chlebová deska
- Napájecí kabel pro Raspberry Pi
- Připojovací vodiče
- 10K hrnec
Vysvětlení práce a vytvoření webové stránky:
V tomto projektu je hlavní součástí Raspberry Pi, který je srdcem tohoto projektu a slouží k řízení procesů souvisejících s tímto projektem. Líbí se: Řízení LCD, přijímání „zpráv s upozorněním“ ze serveru atd.
Zde jsme vytvořili webový server, který poskytuje způsob, jak odeslat „upozornění“ na Raspberry Pi pomocí Flask ve webovém prohlížeči. Baňka je pro Python mikrorámcem. Tento nástroj je založen na Unicode s vestavěným vývojovým serverem a debuggerem, integrovanou podporou testování jednotek, podporou zabezpečených cookies a jeho snadným používáním, díky těmto věcem je to pro fandy užitečné .
Vytvořili jsme webovou stránku s tlačítkem TextBox a Odeslat, kde můžeme v TextBoxu zadat naši „Zpráva s oznámením“ a poté ji odeslat na server kliknutím na tlačítko Odeslat. Tato webová aplikace je vyvinuta pomocí jazyka HTML. Níže je uveden kód této webové stránky, který je velmi snadno pochopitelný.
Vývěska Web Control (Circuit Digest)
Oznámení bylo úspěšně odesláno: {{value}}
{% endif%}Uživatel musí zkopírovat a vložit výše uvedený kód HTML do nějakého textového editoru (poznámkového bloku) a uložit soubor s příponou.HTML. Poté vložte tento soubor HTML do stejné složky, kam jste vložili soubor kódu Pythonu (uvedený na konci) pro tuto webově řízenou nástěnku. Nyní stačí spustit kód Pythonu v Raspberry Pi, otevřít IP_adresu_your_Pi: 8080 ve webovém prohlížeči (jako 192.168.1.14:8080) a zadat zprávu a kliknout na Odeslat, jakmile zprávu odešlete, zobrazí se vám zpráva LCD připojený k Raspberry Pi. Na konci zkontrolujte celý proces v ukázkovém videu.
Webová stránka je vytvořena pomocí jazyka HTML, který obsahuje formulář s textovým polem a tlačítkem Odeslat , s nadpisem (značka h1) Web Control Board . Ve formuláři je „změna“ je akce, která bude provedena v kódu pomocí metody post , když klikneme na tlačítko Odeslat. Jezdec je blok s štítkem „Upozornění Message“.
Poté můžeme přidat volitelný řádek pro zobrazení textu, který jsme odeslali na Raspberry Pi přes server.
{% pokud hodnota%}
Oznámení bylo úspěšně odesláno: {{value}}
{% endif%}Zkontroluje hodnotu v textovém poli a pokud je v textovém poli nějaká hodnota, vytiskne text na samotnou webovou stránku, aby uživatel také viděl odeslanou zprávu. Zde je „hodnota“ „vstupní text nebo zpráva s upozorněním“, kterou napíšeme do posuvného pole nebo textového pole.
Vysvětlení obvodu:
Připojení k této bezdrátové nástěnce je velmi snadné; k desce Raspberry Pi musíme připojit pouze LCD pomocí některých konektorů přes desku chleba. Uživatel může pro připojení použít nulový PCB. RS, RW a EN piny LCD jsou přímo připojeny k pinu 18, GND a 23. A datové piny LCD D4, D5, D6, D7 jsou přímo připojeny k GPIO 24, 16, 20, 21. Raspberry Pi. slouží k ovládání jasu LCD.
Pamatujte také, že pokud nemáte Raspberry Pi 3, musíte použít USB Wi-Fi adaptér pro nižší verzi Raspberry Pi, protože nemají vestavěné Wi-Fi jako Raspberry Pi 3.
Vysvětlení programování a baňka:
Pro program používáme jazyk Python. Před kódováním musí uživatel nakonfigurovat Raspberry Pi. Můžete si prohlédnout naše předchozí výukové programy Začínáme s Raspberry Pi a Instalace a konfigurace Raspbian Jessie OS v Pi.
Před programováním Raspberry Pi musí uživatel nainstalovat balíček podpory baňky do Raspberry Pi pomocí zadaných příkazů:
$ pip nainstalovat baňku
Poté můžete spustit program Python v editoru pythonu Raspberry Pi, ale předtím musíte IP adresu v Programu nahradit IP adresou vašeho Raspberry Pi. IP adresu vaší RPi desky můžete zkontrolovat pomocí příkazu ifconfig:
Ifconfig
Programová část tohoto projektu hraje velmi důležitou roli při provádění všech operací. Nejprve zahrneme požadované knihovny pro Flask, inicializujeme proměnné a definujeme piny pro LCD.
z baňky import Baňky z baňky import render_template, vyžádejte si import RPi.GPIO jako gpio import os, čas aplikace = baňka (__ name__) RS = 18 EN = 23 D4 = 24 D5 = 16 D6 = 20 D7 = 21………………..
U LCD se funkce def lcd_init () používá k inicializaci LCD ve čtyřbitovém režimu, funkce def lcdcmd (ch) se používá k odesílání příkazu na LCD, funkce def lcddata (ch) se používá k odesílání dat na LCD a def lcdstring (Str) funkce slouží k odeslání datového řetězce na LCD. Všechny tyto funkce můžete zkontrolovat v níže uvedeném kódu.
Níže uvedená část Programu slouží k odeslání zprávy z webového prohlížeče na Raspberry Pi pomocí Flask. Další informace o programování pomocí baňky se dozvíte zde.
@ app.route ("/") def index (): návrat render_template ('web.html') @ app.route ("/ change", metody =) def change (): pokud request.method == 'POST': # Získání hodnoty z webové stránky data1 = request.form lcdcmd (0x01) lcdprint (data1) vrátí render_template ('web.html', value = data1) pokud __name__ == "__main__": app.debug = True app.run ('192.168.1.14', port = 8080, debug = True)
Takto můžeme poslat zprávu z našeho počítače nebo smartphonu na Raspberry Pi LCD a vytvořit bezdrátovou nástěnku IoT založenou na ovládání přes web. Níže si přečtěte celý kód Pythonu a ukázkové video.