- Nødvendige komponenter:
- Arbejdsforklaring og oprettelse af websiden:
- Forklaring af kredsløb:
- Programmering Forklaring og kolbe:
Vi kender alle det trådløse opslagstavle, da vi allerede har opbygget trådløst opslagstavle ved hjælp af GSM og Arduino. Men i dag går vi et skridt foran, og i stedet for at bruge GSM som trådløst medium bruger vi denne gang internettet til trådløst at sende beskeden fra webbrowser til LCD'et, der er forbundet til Raspberry Pi. Når beskeden sendes via webbrowseren, kan den sendes ved hjælp af Computer, smartphone eller tablet, så den tilføjer endnu et projekt i vores IoT-projektsamling.
I dette webstyrede opslagstavle har vi oprettet en lokal webserver til demonstration, dette kan være en global server over internettet. På Raspberry Pi har vi brugt 16x2 LCD til at vise besked og kolbe til modtagelse af beskeden via netværk. Når hindbær modtager en trådløs besked fra webbrowseren, vises den på LCD'et. Vi vil diskutere disse ting i detaljer i denne artikel.
Nødvendige komponenter:
- Raspberry Pi 3 (enhver model)
- Wi-Fi USB-adapter (hvis du ikke bruger Raspberry Pi 3)
- 16x2 LCD
- Brødbræt
- Strømkabel til Raspberry Pi
- Tilslutning af ledninger
- 10K Pot
Arbejdsforklaring og oprettelse af websiden:
I dette projekt er hovedkomponenten Raspberry Pi, som er kernen i dette projekt og bruges til at kontrollere processerne i forbindelse med dette projekt. Ligesom: Kørsel på LCD, modtagelse af "Notice messages" fra serveren osv.
Her har vi oprettet en webserver, der giver en måde at sende "Notice Message" til Raspberry Pi ved hjælp af Flask i en webbrowser. Kolben er et mikrorammer til Python. Dette værktøj er Unicode-baseret med indbygget udviklingsserver og debugger, integreret enhedstestesupport, understøttelse af sikre cookies og det er let at bruge, disse ting gør det nyttigt for hobbyisten .
Vi har oprettet en webside med en TextBox og en Submit-knap, hvor vi kan indtaste vores "Notice Message" i TextBox og derefter sende den til serveren ved at klikke på Submit-knappen. Denne webapplikation er udviklet ved hjælp af HTML-sprog. Koden på denne webside er angivet nedenfor og meget let at forstå.
Web Control Notice Board (Circuit Digest)
Meddelelse sendt med succes: {{værdi}}
{% Afslut Hvis %}Brugeren skal kopiere og indsætte ovennævnte HTML-kode i en eller anden teksteditor (notesblok) og gemme filen med.HTML-udvidelse. Sæt derefter denne HTML-fil i den samme mappe, hvor du har lagt din Python Code-fil (givet i slutningen) til dette webstyrede opslagstavle. Nu kan du bare køre Python-koden i Raspberry Pi, åbne IP_address_of_your_Pi: 8080 i webbrowser (som 192.168.1.14:8080) og indtaste beskeden og klikke på send, så snart du sender beskeden, får du beskeden på LCD tilsluttet til Raspberry Pi. Tjek hele processen i demonstrationsvideo i slutningen.
Websiden oprettes ved hjælp af HTML-sprog, som indeholder en formular, der har en tekstboks og en indsendeknap , med overskrift (h1-tag) Web Control Notice Board . Den form, har ”forandring” er den handling , der vil blive udført i kode ved hjælp af indlæg metode, når vi klikker på knappen Send. Den skyderen er blok med etiketten ”Notice besked”.
Efter det kan vi tilføje en valgfri linje for at vise teksten, som vi har sendt til Raspberry Pi via serveren.
{% hvis værdi%}
Meddelelse sendt med succes: {{værdi}}
{% Afslut Hvis %}Den kontrollerer værdien i tekstboksen, og hvis der er en værdi i tekstboksen, udskriver den teksten på selve websiden, så brugeren også kan se den indsendte meddelelse. Her er 'værdi' "indtast tekst eller meddelelsesmeddelelse", som vi skriver i skyderen eller tekstboksen.
Forklaring af kredsløb:
Forbindelser til dette trådløse opslagstavle er meget lette; vi behøver kun at forbinde LCD med Raspberry Pi-kortet ved hjælp af nogle stik over brødbrættet. Brugeren bruger muligvis nul PCB til forbindelser. RS-, RW- og EN-stifter på LCD er direkte forbundet til stift 18, GND og 23. Og datastifter på LCD D4, D5, D6, D7 er direkte forbundet til Raspberry Pi's GPIO 24, 16, 20, 21. En 10K pot er bruges til at kontrollere lysstyrken på LCD.
Husk også, at hvis du ikke har Raspberry Pi 3, skal du bruge USB Wi-Fi-adapteren til lavere version af Raspberry Pi, da de ikke har indbygget Wi-Fi som Raspberry Pi 3.
Programmering Forklaring og kolbe:
Vi bruger Python-sprog her til programmet. Før kodning skal brugeren konfigurere Raspberry Pi. Du kan tjekke vores tidligere vejledninger til Kom godt i gang med Raspberry Pi og installation og konfiguration af Raspbian Jessie OS i Pi.
Før programmet Raspberry Pi skal brugeren installere en kolbe-supportpakke i Raspberry Pi ved hjælp af givne kommandoer:
$ pip installer kolbe
Efter det kan du køre Python-programmet i Python-editoren til Raspberry Pi, men inden dette skal du erstatte IP-adressen i programmet med IP-adressen på din Raspberry Pi. Du kan kontrollere IP-adressen på dit RPi-kort ved hjælp af ifconfig-kommandoen:
Ifconfig
Programmeringsdelen af dette projekt spiller en meget vigtig rolle for at udføre alle operationer. Først og fremmest inkluderer vi nødvendige biblioteker til Flask, initialiserer variabler og definerer ben til LCD.
fra kolbeimport Kolbe fra kolbeimport render_template, anmod om import RPi.GPIO som gpio import os, time app = Kolbe (__ navn__) RS = 18 DA = 23 D4 = 24 D5 = 16 D6 = 20 D7 = 21………………..
For LCD bruges def lcd_init () -funktion til at initialisere LCD i firebitstilstand, def lcdcmd (ch) -funktion bruges til at sende kommando til LCD, def lcddata (ch) -funktion bruges til at sende data til LCD og def lcdstring (Str) -funktion bruges til at sende datastreng til LCD. Du kan kontrollere alle disse funktioner i kode, der er angivet bagefter.
Nedenfor bruges en del af programmet til at sende beskeden fra webbrowseren til Raspberry Pi ved hjælp af Flask. Du kan lære mere om programmeringen ved hjælp af Flask her.
@ app.route ("/") def index (): return render_template ('web.html') @ app.route ("/ change", methods =) def change (): if request.method == 'POST': # Henter værdien fra websiden data1 = request.form lcdcmd (0x01) lcdprint (data1) returnerer render_template ('web.html', værdi = data1) hvis __name__ == "__main__": app.debug = True app.run ('192.168.1.14', port = 8080, fejlretning = sand)
Så dette er, hvordan vi kan sende beskeden fra vores computer eller smartphone til Raspberry Pi LCD og kan lave et IoT-baseret trådløst opslagstavle styret over internettet. Tjek den fulde Python-kode og demonstrationsvideoen nedenfor.