- Componente necesare:
- Explicație de lucru și crearea paginii web:
- Explicația circuitului:
- Explicație și balon de programare:
Cu toții suntem familiarizați cu avizierul wireless, deoarece am construit deja un avizier wireless folosind GSM și Arduino. Dar astăzi mergem cu un pas înainte și, în loc să folosim GSM ca mediu wireless, de data aceasta folosim Internetul pentru a trimite fără fir mesajul de la Web Browser la LCD-ul care este conectat la Raspberry Pi. Deoarece mesajul este trimis prin browserul web, acesta poate fi trimis folosind computerul, telefonul inteligent sau tableta, așa că va adăuga încă un proiect în colecția noastră de proiecte IoT.
În acest panou de anunțuri controlat de web, am creat un server web local pentru demonstrație, acesta poate fi un server global prin internet. La Raspberry Pi, am folosit LCD 16x2 pentru a afișa mesajul și Flask pentru a primi mesajul prin rețea. Ori de câte ori Raspberry primește orice mesaj wireless de la browserul web, acesta se afișează pe ecranul LCD. Vom discuta despre aceste lucruri în detaliu în acest articol.
Componente necesare:
- Raspberry Pi 3 (orice model)
- Adaptor USB Wi-Fi (dacă nu utilizați Raspberry Pi 3)
- 16x2 LCD
- Pâine
- Cablu de alimentare pentru Raspberry Pi
- Conectarea firelor
- Pot 10K
Explicație de lucru și crearea paginii web:
În acest proiect, componenta principală este Raspberry Pi, care este centrul acestui proiect și folosit pentru a controla procesele legate de acest proiect. De exemplu: Conducerea ecranului LCD, primirea „mesajelor de notificare” de la server etc.
Aici, am creat un server web, care oferă o modalitate de a trimite „Mesaj de notificare” către Raspberry Pi utilizând Flask într-un browser web. Balonul este un microframe pentru Python. Acest instrument este bazat pe Unicode, având un server și un depanator de dezvoltare încorporat, suport integrat pentru testarea unității, suport pentru cookie-uri sigure și ușor de utilizat, aceste lucruri îl fac util pentru pasionat .
Am creat o pagină web cu un TextBox și un buton Trimitere, unde putem introduce „Mesajul de notificare” în TextBox și apoi îl putem trimite serverului dând clic pe butonul Trimitere. Această aplicație web este dezvoltată utilizând limbaj HTML. Codul acestei pagini web este dat mai jos și foarte ușor de înțeles.
Panou de aviz de control web (Circuit Digest)
Notificare trimisă cu succes: {{value}}
{% endif%}Utilizatorul trebuie să copie-lipească codul HTML de mai sus într-un editor de text (notepad) și să salveze fișierul cu extensia.HTML. Apoi puneți acest fișier HTML în același folder în care ați plasat fișierul dvs. Cod Python (dat la sfârșit) pentru acest panou de control controlat de web. Acum puteți pur și simplu să rulați codul Python în Raspberry Pi, să deschideți IP_address_of_your_Pi: 8080 în browserul web (cum ar fi 192.168.1.14:8080) și să introduceți mesajul și să faceți clic pe trimitere, imediat ce trimiteți mesajul, veți primi mesajul pe LCD conectat la Raspberry Pi. Verificați întregul proces în Video demonstrativ la final.
Pagina web este creată utilizând limbaj HTML, care conține un formular care are o casetă text și un buton de trimitere , cu Heading (h1 tag) Web Control Notice Board . Forma are „schimbare“ este acțiunea care va fi efectuată în codul folosind posta metoda, atunci când facem clic pe butonul Submit. Cursorul este bloc cu eticheta „Notificare Mesaj“.
După aceasta, putem adăuga o linie opțională pentru a afișa textul pe care l-am trimis la Raspberry Pi prin server.
{% dacă valoarea%}
Notificare trimisă cu succes: {{value}}
{% endif%}Verifică valoarea din caseta de text și dacă există o anumită valoare în caseta de text, apoi imprimă textul chiar pe pagina web, astfel încât utilizatorul să poată vedea și mesajul trimis. Aici „valoare” este „introducerea textului sau mesajul de notificare” pe care îl vom introduce în caseta glisantă sau text.
Explicația circuitului:
Conexiunile pentru acest forum de mesaje wireless sunt foarte ușoare; trebuie doar să conectăm LCD-ul cu placa Raspberry Pi utilizând unii conectori peste placa de pâine. Utilizatorul poate folosi zero PCB pentru conexiuni. Pinii RS, RW și EN ai ecranului LCD sunt conectați direct la pinii 18, GND și 23. Iar pinii de date ai LCD D4, D5, D6, D7 sunt conectați direct la GPIO Raspberry Pi 24, 16, 20, 21. Un pot de 10K este folosit pentru a controla luminozitatea ecranului LCD.
De asemenea, amintiți-vă, dacă nu aveți Raspberry Pi 3, trebuie să utilizați adaptorul USB Wi-Fi pentru versiunea inferioară a Raspberry Pi, deoarece acestea nu au Wi-Fi încorporat, cum ar fi Raspberry Pi 3.
Explicație și balon de programare:
Aici folosim limbajul Python pentru program. Înainte de codificare, utilizatorul trebuie să configureze Raspberry Pi. Puteți consulta tutorialele noastre anterioare pentru Noțiuni introductive despre Raspberry Pi și Instalarea și configurarea sistemului de operare Raspbian Jessie în Pi.
Înainte de programul Raspberry Pi, utilizatorul trebuie să instaleze un pachet de suport pentru balon în Raspberry Pi utilizând comenzile date:
$ pip instala Flask
După el, puteți rula programul Python în editorul python al Raspberry Pi, dar înainte de aceasta trebuie să înlocuiți adresa IP din Program cu adresa IP a Raspberry Pi. Puteți verifica adresa IP a plăcii dvs. RPi utilizând comanda ifconfig:
Ifconfig
Partea de programare a acestui proiect joacă un rol foarte important pentru a efectua toate operațiunile. În primul rând, includem bibliotecile necesare pentru Flask, inițializăm variabilele și definim pinii pentru LCD.
din flask import Flask from flask import render_template, solicitați import RPi.GPIO ca gpio import os, time app = Flask (__ name__) RS = 18 EN = 23 D4 = 24 D5 = 16 D6 = 20 D7 = 21………………..
Pentru LCD, funcția def lcd_init () este utilizată pentru inițializarea LCD în modul pe patru biți, funcția def lcdcmd (ch) este utilizată pentru trimiterea comenzilor către LCD, funcția def lcddata (ch) este utilizată pentru trimiterea de date la LCD și def lcdstring (Str) funcția este utilizată pentru a trimite șiruri de date la LCD. Puteți verifica toate aceste funcții în Codul dat ulterior.
Partea de mai jos a programului este utilizată pentru a trimite mesajul din browserul web către Raspberry Pi folosind Flask. Puteți afla mai multe despre programare folosind Flask aici.
@ app.route ("/") def index (): return render_template ('web.html') @ app.route ("/ change", methods =) def change (): if request.method == 'POST': # Obținerea valorii din pagina web data1 = request.form lcdcmd (0x01) lcdprint (data1) returnează modelul render_ ('web.html', valoare = data1) dacă __name__ == "__main__": app.debug = True app.run („192.168.1.14”, port = 8080, depanare = Adevărat)
Așa că așa putem trimite mesajul de pe computerul sau smartphone-ul nostru la Raspberry Pi LCD și putem realiza un panou de anunțuri fără fir bazat pe IoT controlat prin web. Verificați codul complet Python și videoclipul demonstrativ de mai jos.