- Nepieciešamās sastāvdaļas:
- Darba skaidrojums un tīmekļa lapas izveide:
- Ķēdes skaidrojums:
- Programmēšanas skaidrojums un kolba:
Mēs visi esam pazīstami ar bezvadu paziņojumu paneli, jo mēs jau esam izveidojuši bezvadu ziņojumu paneli, izmantojot GSM un Arduino. Bet šodien mēs ejam vienu soli uz priekšu, un tā vietā, lai izmantotu GSM kā bezvadu nesēju, šoreiz mēs izmantojam internetu, lai bezvadu režīmā nosūtītu ziņojumu no Web pārlūka uz LCD, kas ir savienots ar Raspberry Pi. Tā kā ziņojums tiek nosūtīts, izmantojot tīmekļa pārlūkprogrammu, to var nosūtīt, izmantojot datoru, viedtālruni vai planšetdatoru, tāpēc tas pievienos vēl vienu projektu mūsu IoT projektu kolekcijā.
Šajā tīmekļa kontrolētajā ziņojumu panelī mēs esam izveidojuši vietējo tīmekļa serveri demonstrēšanai, tas var būt globāls serveris internetā. Raspberry Pi mēs izmantojām 16x2 LCD, lai parādītu ziņojumu, un kolbu, lai saņemtu ziņojumu tīklā. Ikreiz, kad Raspberry saņem kādu bezvadu ziņojumu no tīmekļa pārlūkprogrammas, tas tiek parādīts LCD ekrānā. Šajā rakstā mēs detalizēti apspriedīsim šīs lietas.
Nepieciešamās sastāvdaļas:
- Aveņu Pi 3 (jebkurš modelis)
- Wi-Fi USB adapteris (ja neizmantojat Raspberry Pi 3)
- 16x2 LCD
- Maizes dēlis
- Barošanas kabelis Raspberry Pi
- Savienojošie vadi
- 10K katls
Darba skaidrojums un tīmekļa lapas izveide:
Šajā projektā galvenā sastāvdaļa ir Raspberry Pi, kas ir šī projekta sirds un ko izmanto, lai kontrolētu ar šo projektu saistītos procesus. Piemēram: LCD braukšana, paziņojuma ziņojumu saņemšana no servera utt.
Šeit mēs esam izveidojuši tīmekļa serveri, kas nodrošina veidu, kā nosūtīt “Paziņojuma ziņojumu” Raspberry Pi, izmantojot tīmekļa pārlūkā esošo kolbu. Kolba ir Python mikrorāmis. Šis rīks ir balstīts uz Unicode, kam ir iebūvēts izstrādes serveris un atkļūdotājs, integrēts vienību testēšanas atbalsts, atbalsts drošām sīkdatnēm un tas ir viegli lietojams. Šīs lietas padara to noderīgu vaļaspriekam .
Mēs esam izveidojuši tīmekļa lapu ar pogu TextBox un Submit, kur mēs varam ievadīt savu “Paziņojuma ziņojumu” TextBox un pēc tam iesniegt to serverim, noklikšķinot uz pogas Iesniegt. Šī tīmekļa lietojumprogramma ir izstrādāta, izmantojot HTML valodu. Šīs tīmekļa lapas kods ir norādīts zemāk un ir ļoti viegli saprotams.
Tīkla vadības ziņojumu dēlis (shēmas apkopojums)
Paziņojums veiksmīgi iesniegts: {{value}}
{% endif%}Lietotājam nepieciešams nokopēt iepriekš norādīto HTML kodu kādā teksta redaktorā (notepad) un saglabāt failu ar paplašinājumu.HTML. Pēc tam ievietojiet šo HTML failu tajā pašā mapē, kur esat ievietojis savu Python koda failu (kas norādīts beigās) šai tīmekļa kontrolētajai ziņojumu padomei. Tagad jūs varat vienkārši palaist Python kodu Raspberry Pi, tīmekļa pārlūkprogrammā atvērt IP_address_of_your_Pi: 8080 (piemēram, 192.168.1.14:8080) un ievadīt ziņojumu un noklikšķināt uz Iesniegt, tiklīdz iesniegsit ziņojumu, jūs saņemsit ziņojumu LCD savienots ar Raspberry Pi. Pārbaudiet visu procesu demonstrācijas video beigās.
Tīmekļa vietne tiek veidota, izmantojot HTML valodu, kurā ir veidlapa ar tekstlodziņu un iesniegšanas pogu ar virsraksta (h1 tagu) tīmekļa vadības paziņojumu paneli . Forma ir "pārmaiņas" ir darbība , kas tiks veikta ar kodu, izmantojot pasta metodi, kad mēs noklikšķiniet uz pogas Iesniegt. Slīdnis ir bloks ar etiķeti "Paziņojums Message".
Pēc tam mēs varam pievienot izvēles rindu, lai parādītu tekstu, kuru mēs esam nosūtījuši Raspberry Pi caur serveri.
{%, ja vērtība%}
Paziņojums veiksmīgi iesniegts: {{value}}
{% endif%}Tas pārbauda vērtību tekstlodziņā un, ja tekstlodziņā ir kāda vērtība, tas pats izdrukā tekstu tīmekļa vietnē, lai lietotājs varētu redzēt arī iesniegto ziņojumu. Šeit vērtība ir “ievades teksts vai paziņojuma ziņojums”, kuru mēs ierakstīsim slīdņa lodziņā vai tekstlodziņā.
Ķēdes skaidrojums:
Savienojumi ar šo bezvadu ziņojumu dēli ir ļoti vienkārši; mums ir nepieciešams tikai savienot LCD ar Raspberry Pi paneli, izmantojot dažus savienotājus virs maizes dēļa. Lietotājs savienojumiem var izmantot nulles PCB. LCD RS, RW un EN tapas ir tieši savienotas ar 18., GND un 23. kontaktu. Un LCD D4, D5, D6, D7 tapas ir tieši savienotas ar Raspberry Pi GPIO 24, 16, 20, 21. izmanto, lai kontrolētu LCD spilgtumu.
Atcerieties arī, ka, ja jums nav Raspberry Pi 3, Raspberry Pi zemākajai versijai ir jāizmanto USB Wi-Fi adapteris, jo tiem nav iebūvēta Wi-Fi, piemēram, Raspberry Pi 3.
Programmēšanas skaidrojums un kolba:
Mēs šeit Programmai izmantojam Python valodu. Pirms kodēšanas lietotājam jākonfigurē Raspberry Pi. Jūs varat pārbaudīt mūsu iepriekšējās apmācības par darba sākšanu ar Raspberry Pi un Raspbian Jessie OS instalēšanu un konfigurēšanu Pi.
Pirms programmas Raspberry Pi programmas lietotājam Raspberry Pi jāinstalē kolbas atbalsta pakete, izmantojot norādītās komandas:
$ pip instalēt kolbu
Pēc tam jūs varat palaist programmu Python Raspberry Pi python redaktorā, bet pirms tam jums jāaizstāj programmas IP adrese ar jūsu Raspberry Pi IP adresi. Jūs varat pārbaudīt RPi dēļa IP adresi, izmantojot komandu ifconfig:
Ifconfig
Šī projekta programmēšanas daļai ir ļoti svarīga loma visu darbību veikšanā. Pirmkārt, mēs iekļaujam nepieciešamās bibliotēkas kolbai, inicializējam mainīgos un definējam tapas LCD.
no kolbas importēšanas Kolba no kolbas importēšanas render_template, pieprasiet importēt RPi.GPIO kā gpio import os, laika lietotne = Flask (__ name__) RS = 18 LV = 23 D4 = 24 D5 = 16 D6 = 20 D7 = 21……………..
LCD, def lcd_init () funkcija tiek izmantota, lai inicializētu LCD četru bitu režīmā, def lcdcmd (ch) funkcija tiek izmantota komandu nosūtīšanai uz LCD, def lcddata (ch) funkcija tiek izmantota datu nosūtīšanai uz LCD un def lcdstring (Str) funkciju izmanto, lai nosūtītu datu virkni uz LCD. Visas šīs funkcijas varat pārbaudīt pēc tam dotajā kodeksā.
Zemāk esošā programmas daļa tiek izmantota, lai nosūtītu ziņojumu no tīmekļa pārlūkprogrammas uz Raspberry Pi, izmantojot kolbu. Šeit varat uzzināt vairāk par programmēšanu, izmantojot kolbu.
@ app.route ("/") def indekss (): atgriezt render_template ('web.html') @ app.route ("/ mainīt", Methods =) def mainīt (): if request.method == 'POST': # Vērtības iegūšana no tīmekļa vietnes data1 = request.form lcdcmd (0x01) lcdprint (data1) return render_template ('web.html', value = data1) if __name__ == "__main__": app.debug = True app.run ('192.168.1.14', ports = 8080, atkļūdošana = taisnība)
Tādējādi mēs varam nosūtīt ziņojumu no sava datora vai viedtālruņa uz Raspberry Pi LCD un padarīt IoT balstītu bezvadu paziņojumu paneli, kas tiek kontrolēts tīmeklī. Pārbaudiet pilnu Python kodu un demonstrācijas video zemāk.