- Būtini komponentai:
- Darbinis paaiškinimas ir tinklalapio kūrimas:
- Grandinės paaiškinimas:
- Programavimo paaiškinimas ir kolba:
Mes visi esame susipažinę su belaidžio ryšio skelbimų lenta, nes jau sukūrėme belaidžio ryšio lentą naudodami GSM ir „Arduino“. Tačiau šiandien einame vienu žingsniu į priekį ir užuot naudojęsi GSM kaip belaidę terpę, šį kartą mes naudojame internetą, kad belaidžiu ryšiu išsiųstume pranešimą iš žiniatinklio naršyklės į LCD, kuris yra prijungtas prie „Raspberry Pi“. Kadangi pranešimas siunčiamas per žiniatinklio naršyklę, jį galima siųsti naudojant kompiuterį, išmanųjį telefoną ar planšetinį kompiuterį, taigi jis pridės dar vieną projektą mūsų IoT projektų kolekcijoje.
Šioje žiniatinklio valdomoje skelbimų lentoje mes sukūrėme vietinį žiniatinklio serverį demonstravimui. Tai gali būti pasaulinis interneto serveris. „Raspberry Pi“ naudojome 16x2 skystųjų kristalų ekraną pranešimui rodyti, o kolba - pranešimui gauti per tinklą. Kai „Raspberry“ gauna bet kokį belaidį pranešimą iš interneto naršyklės, jis rodomas LCD. Apie šiuos dalykus išsamiai aptarsime šiame straipsnyje.
Būtini komponentai:
- Raspberry Pi 3 (bet koks modelis)
- „Wi-Fi“ USB adapteris (jei nenaudojate „Raspberry Pi 3“)
- 16x2 LCD ekranas
- Bandomoji Lenta
- „Raspberry Pi“ maitinimo laidas
- Jungiamieji laidai
- 10K puodas
Darbinis paaiškinimas ir tinklalapio kūrimas:
Šiame projekte pagrindinis komponentas yra „ Raspberry Pi“, kuris yra šio projekto esmė ir naudojamas su šiuo projektu susijusiems procesams valdyti. Pvz.: vairuoti LCD ekraną, gauti pranešimo pranešimus iš serverio ir pan.
Čia mes sukūrėme žiniatinklio serverį, kuris suteikia galimybę išsiųsti „Pranešimo pranešimą“ į „Raspberry Pi“, naudojant kolbą interneto naršyklėje. Kolba yra „Python“ mikrorėmas. Šis įrankis yra „Unicode“ pagrįstas, turintis įmontuotą kūrimo serverį ir derintuvą, integruoto vieneto testavimo palaikymą, saugių slapukų palaikymą ir patogų naudoti. Šie dalykai daro jį naudingu mėgėjams .
Sukūrėme tinklalapį su „TextBox“ ir „Submit“ mygtuku, kuriame mes galime įvesti savo „Notice Message“ į „TextBox“ ir tada pateikti jį serveriui spustelėdami mygtuką „Pateikti“. Ši interneto programa sukurta naudojant HTML kalbą. Šio tinklalapio kodas pateikiamas žemiau ir yra labai lengvai suprantamas.
Žiniatinklio valdymo skelbimų lenta (grandinės santrauka)
Pranešimas sėkmingai pateiktas: {{value}}
{% endif%}Vartotojas turi nukopijuoti aukščiau pateiktą HTML kodą į kurį nors teksto rengyklę (bloknotą) ir išsaugoti failą su plėtiniu.HTML. Tada įdėkite šį HTML failą į tą patį aplanką, kuriame įdėjote savo „Python“ kodo failą (pateiktą pabaigoje) šiai žiniatinklio valdomų skelbimų lentai. Dabar galite tiesiog paleisti „Python“ kodą „Raspberry Pi“, interneto naršyklėje atidaryti „ IP_address_of_your_Pi: 8080 “ (pvz., 192.168.1.14:8080) ir įvesti pranešimą bei spustelėti „Pateikti“, kai tik pateiksite pranešimą, gausite pranešimą Skystųjų kristalų ekranas prijungtas prie „Raspberry Pi“. Pabaigoje patikrinkite visą procesą demonstraciniame vaizdo įraše.
Tinklalapis sukurtas naudojant HTML kalbą, kurioje yra forma su teksto laukeliu ir pateikimo mygtuku, su antraštės (h1 žyma) žiniatinklio valdymo skelbimų lenta . Forma turi "pakeisti" yra veiksmas , kuris bus atliekamas kodu pašto metodą, kai mes paspauskite ant mygtuką "Siųsti". Slankiklį yra blokas su etikete "pranešimas" ".
Po jo galime pridėti papildomą eilutę, kad būtų rodomas tekstas, kurį mes per serverį išsiuntėme „Raspberry Pi“.
{%, jei vertė%}
Pranešimas sėkmingai pateiktas: {{value}}
{% endif%}Jis patikrina teksto laukelio vertę ir, jei teksto laukelyje yra tam tikros vertės, jis išspausdina tekstą pačiame tinklalapyje, kad vartotojas taip pat galėtų matyti pateiktą pranešimą. Čia „reikšmė“ yra „įvesties tekstas arba pranešimas“, kurią įvesime į slankiklį arba teksto laukelį.
Grandinės paaiškinimas:
Prijungti šią belaidę pranešimų lentą yra labai lengva; LCD ekraną su „Raspberry Pi“ plokšte turime prijungti tik naudodami kai kurias jungtis ant duonos lentos. Vartotojas ryšiams gali naudoti nulinę PCB. RS, RW ir EN skystųjų kristalų kaiščiai yra tiesiogiai prijungti prie 18, GND ir 23 kontaktų. O LCD D4, D5, D6, D7 duomenų kaiščiai yra tiesiogiai prijungti prie „Raspberry Pi“ GPIO 24, 16, 20, 21. naudojamas LCD ryškumui valdyti.
Taip pat nepamirškite, kad jei neturite „Raspberry Pi 3“, turite naudoti USB „Wi-Fi“ adapterį žemesnės versijos „Raspberry Pi“, nes jie neturi integruoto „Wi-Fi“, pvz., „Raspberry Pi 3“.
Programavimo paaiškinimas ir kolba:
Programai čia naudojame Python kalbą. Prieš koduodamas vartotojas turi sukonfigūruoti „Raspberry Pi“. Galite patikrinti ankstesnes „Raspberry Pi“ darbo pradžios ir „Raspbian Jessie OS“ diegimo ir konfigūravimo „Pi“ instrukcijas.
Prieš programuodamas „Raspberry Pi“, vartotojas turi įdiegti kolbos palaikymo paketą į „Raspberry Pi“ naudodamas nurodytas komandas:
$ pip įdiegti kolbą
Po to galite paleisti „Python“ programą „Raspberry Pi“ python redaktoriuje, tačiau prieš tai turite pakeisti programos IP adresą savo „Raspberry Pi“ IP adresu. Galite patikrinti savo RPi plokštės IP adresą naudodami komandą ifconfig:
„Ifconfig“
Šio projekto programavimo dalis vaidina labai svarbų vaidmenį atliekant visas operacijas. Visų pirma, mes įtraukiame reikalingas kolbas bibliotekas, inicijuojame kintamuosius ir nustatome LCD kaiščius.
iš kolbos importavimo kolba iš importavimo iš kolbos render_template, paprašykite importuoti RPi.GPIO kaip „gpio import os“, laiko programa = kolba (__ name__) RS = 18 LT = 23 D4 = 24 D5 = 16 D6 = 20 D7 = 21………………..
Skystųjų kristalų ekrane funkcija def lcd_init () naudojama norint inicializuoti LCD keturių bitų režimu, def lcdcmd (ch) funkcija naudojama komandai siųsti į LCD, def lcddata (ch) funkcija naudojama duomenims siųsti į LCD ir def lcdstring (Str) funkcija naudojama duomenų eilutėms siųsti į LCD. Visas šias funkcijas galite patikrinti vėliau pateiktame kode.
Žemiau esanti programos dalis naudojama žinutei siųsti iš interneto naršyklės į Raspberry Pi naudojant kolbą. Čia galite sužinoti daugiau apie programavimą naudojant kolbą.
@ app.route ("/") def indeksas (): grąžinkite render_template ('web.html') @ app.route ("/ change", metodai =) def change (): jei request.method == 'POST': # Gaunama reikšmė iš tinklalapio 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', prievadas = 8080, derinimas = tiesa)
Taigi taip galime išsiųsti pranešimą iš savo kompiuterio ar išmaniojo telefono į „Raspberry Pi“ skystųjų kristalų ekraną ir padaryti „ IoT“ belaidę skelbimų lentą valdomą per internetą. Žemiau patikrinkite visą „Python“ kodą ir demonstracinį vaizdo įrašą.