- Необходими компоненти:
- Работно обяснение и създаване на уеб страница:
- Обяснение на веригата:
- Обяснение на програмирането и колба:
Всички сме запознати с таблото за безжични съобщения, тъй като вече сме изградили табло за безжично известие, използвайки GSM и Arduino. Но днес вървим една крачка напред и вместо да използваме GSM като безжичен носител, този път използваме Интернет за безжично изпращане на съобщението от уеб браузъра до LCD, който е свързан с Raspberry Pi. Тъй като съобщението се изпраща през уеб браузъра, то може да бъде изпратено с помощта на Компютър, смарт телефон или таблет, така че ще добави още един проект в нашата колекция от IoT проекти.
В тази табла за уеб контролирани съобщения създадохме локален уеб сървър за демонстрация, който може да бъде глобален сървър през интернет. В Raspberry Pi използвахме 16x2 LCD за показване на съобщение и колба за получаване на съобщението през мрежата. Всеки път, когато Raspberry получи някакво безжично съобщение от уеб браузъра, то се показва на LCD дисплея. Ще обсъдим подробно тези неща в тази статия.
Необходими компоненти:
- Raspberry Pi 3 (всеки модел)
- Wi-Fi USB адаптер (ако не използвате Raspberry Pi 3)
- 16x2 LCD
- Дъска за хляб
- Захранващ кабел за Raspberry Pi
- Свързващи проводници
- 10K пот
Работно обяснение и създаване на уеб страница:
В този проект основният компонент е Raspberry Pi, който е сърцевината на този проект и се използва за контрол на процесите, свързани с този проект. Като: Шофиране на LCD, получаване на „Съобщения за известие“ от сървъра и т.н.
Тук създадохме уеб сървър, който предоставя начин за изпращане на „Съобщение за известие“ до Raspberry Pi чрез Flask в уеб браузър. Колбата е микрорамка за Python. Този инструмент е базиран на Unicode с вграден сървър за разработка и отстраняване на грешки, интегрирана поддръжка на модулно тестване, поддръжка на сигурни бисквитки и лесен за използване, тези неща го правят полезен за любителя .
Ние сме създали уеб страница с текстово поле и бутон Подаване, където можем да въведете нашия "Известие на съобщението", в TextBox и след това да го представи на сървъра, като кликнете върху Бутон за изпращане. Това уеб приложение е разработено с помощта на HTML език. Кодът на тази уеб страница е даден по-долу и е много лесен за разбиране.
Табло за управление на уеб контрола (Circuit Digest)
Известието е изпратено успешно: {{value}}
{% endif%}Потребителят трябва да копира и постави дадения по-горе HTML код в някакъв текстов редактор (бележник) и да запише файла с разширение.HTML. След това поставете този HTML файл в същата папка, където сте поставили вашия файл на Python Code (даден в края) за тази табла за уеб контролирани съобщения. Сега можете просто да стартирате кода на Python в Raspberry Pi, да отворите IP_address_of_your_Pi: 8080 в уеб браузъра (като 192.168.1.14:8080) и да въведете съобщението и да кликнете върху изпращане, веднага щом изпратите съобщението, ще получите съобщението на LCD, свързан към Raspberry Pi. Проверете целия процес в демонстрационно видео в края.
Уеб страницата се създава с помощта на език HTML, който съдържа формуляр с текстово поле и бутон за изпращане , със заглавие (h1 таг) Web Control Notice Board . Във формуляра има „промяна“ е действието, което ще се извърши в код с използване на метод post , когато щракнем върху бутона Submit. В плъзгача е блок с етикет "Известие Message".
След него можем да добавим незадължителен ред, за да покажем текста, който сме изпратили на Raspberry Pi чрез сървъра.
{% ако стойност%}
Известието е изпратено успешно: {{value}}
{% endif%}Той проверява стойността в текстовото поле и ако има някаква стойност в текстовото поле, той отпечатва текста на самата уеб страница, така че потребителят също може да види изпратеното съобщение. Тук „стойност“ е „въвеждане на текст или съобщение за известие“, което ще напишем в плъзгача или текстовото поле.
Обяснение на веригата:
Връзките за тази безжична дъска за съобщения са много лесни; трябва само да свържем LCD с платката Raspberry Pi, като използваме някои съединители върху дъската за хляб. Потребителят може да използва нулева PCB за връзки. RS, RW и EN щифтовете на LCD са директно свързани към щифтове 18, GND и 23. А щифтовете за данни на LCD D4, D5, D6, D7 са директно свързани към GPIO 24, 16, 20, 21. Raspberry Pi. използва се за управление на яркостта на LCD.
Също така не забравяйте, че ако нямате Raspberry Pi 3, трябва да използвате USB Wi-Fi адаптер за по-ниска версия на Raspberry Pi, тъй като те нямат вграден Wi-Fi като Raspberry Pi 3.
Обяснение на програмирането и колба:
Тук използваме езика Python за програмата. Преди да кодира, потребителят трябва да конфигурира Raspberry Pi. Можете да проверите нашите предишни уроци за Първи стъпки с Raspberry Pi и Инсталиране и конфигуриране на Raspbian Jessie OS в Pi.
Преди да програмира Raspberry Pi, потребителят трябва да инсталира пакет за поддръжка на колба в Raspberry Pi, като използва дадените команди:
$ pip инсталирайте Flask
След него можете да стартирате програмата Python в редактора на python на Raspberry Pi, но преди това трябва да замените IP адреса в програмата с IP адрес на вашия Raspberry Pi. Можете да проверите IP адреса на вашата RPi платка, като използвате командата ifconfig:
Ifconfig
Програмиращата част на този проект играе много важна роля за извършване на всички операции. На първо място, ние включваме необходимите библиотеки за Flask, инициализираме променливи и дефинираме щифтове за LCD.
от импорт на колба Колба от импорт на колба render_template, заявка за импортиране RPi.GPIO като gpio import os, app app = Flask (__ name__) RS = 18 EN = 23 D4 = 24 D5 = 16 D6 = 20 D7 = 21………………..
За LCD функцията def lcd_init () се използва за инициализиране на LCD в четирибитов режим, функцията def lcdcmd (ch) се използва за изпращане на команда към LCD, функцията def lcddata (ch) се използва за изпращане на данни към LCD и def lcdstring (Str) функцията се използва за изпращане на низ от данни към LCD. Можете да проверите всички тези функции в кода, даден след това.
Долната част на програмата се използва за изпращане на съобщението от уеб браузъра до Raspberry Pi с помощта на колба. Можете да научите повече за програмирането с Flask тук.
@ app.route ("/") def index (): return render_template ('web.html') @ app.route ("/ change", methods =) def change (): if request.method == 'POST': # Получаване на стойността от уеб страницата 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', порт = 8080, отстраняване на грешки = Вярно)
Така че по този начин можем да изпратим съобщението от нашия компютър или смартфон до LCD дисплея на Raspberry Pi и да направим базирана на IoT безжична табла за обяви, контролирана от мрежата. Проверете пълния код на Python и демонстрационното видео по-долу.