- Необхідні компоненти:
- Робоче пояснення та створення веб-сторінки:
- Пояснення схеми:
- Пояснення програмування та колба:
Ми всі добре знайомі з бездротовою дошкою оголошень, оскільки ми вже створили бездротову дошку оголошень за допомогою GSM та Arduino. Але сьогодні ми йдемо на крок вперед і замість того, щоб використовувати GSM як бездротовий носій, цього разу ми використовуємо Інтернет для бездротової передачі повідомлення з веб-браузера на РК-дисплей, який підключений до Raspberry Pi. Оскільки повідомлення надсилається через веб-браузер, його можна надсилати за допомогою комп’ютера, смартфона або планшета, тому воно додасть ще один проект до нашої колекції проектів IoT.
У цій дошці оголошень, керованих Інтернетом, ми створили локальний веб-сервер для демонстрації, це може бути глобальний сервер через Інтернет. На Raspberry Pi ми використовували РК-дисплей 16x2 для відображення повідомлення та колбу для отримання повідомлення через мережу. Щоразу, коли Raspberry отримує будь-яке бездротове повідомлення від веб-браузера, воно відображається на РК-дисплеї. Ми детально обговоримо ці речі в цій статті.
Необхідні компоненти:
- Raspberry Pi 3 (будь-яка модель)
- Wi-Fi USB-адаптер (якщо не використовується Raspberry Pi 3)
- РК-дисплей 16x2
- Хлібна дошка
- Кабель живлення для Raspberry Pi
- Підключення проводів
- 10K горщик
Робоче пояснення та створення веб-сторінки:
У цьому проекті головним компонентом є Raspberry Pi, який є суттю цього проекту та використовується для управління процесами, пов'язаними з цим проектом. Як: керування РК-дисплеєм, отримання повідомлень із сервером тощо.
Тут ми створили веб-сервер, який забезпечує спосіб надсилання повідомлення з повідомленням на Raspberry Pi за допомогою Flask у веб-браузері. Колба - це мікрофреймворк для Python. Цей інструмент заснований на Unicode, має вбудований сервер розробки та налагоджувач, вбудовану підтримку модульного тестування, підтримку безпечних файлів cookie та зручність у використанні, що робить його корисним для любителя .
Ми створили веб-сторінку з TextBox і кнопкою Submit, де ми можемо ввести наше «Повідомлення повідомлення» в TextBox, а потім подати його на сервер, натиснувши кнопку Submit. Цей веб-додаток розроблений за допомогою мови HTML. Код цієї веб-сторінки наведено нижче і дуже простий для розуміння.
Дошка оголошень веб-контролю (дайджест схеми)
Повідомлення надіслано успішно: {{value}}
{% endif%}Користувачеві потрібно скопіювати вказаний вище HTML-код у якийсь текстовий редактор (блокнот) та зберегти файл із розширенням.HTML. Потім помістіть цей файл HTML в ту саму папку, куди ви помістили свій файл коду Python (наведений в кінці) для цієї дошки оголошень, керованої Інтернетом. Тепер ви можете просто запустити код Python в Raspberry Pi, відкрити IP_address_of_your_Pi: 8080 у веб-браузері (наприклад, 192.168.1.14:8080) і ввести повідомлення та натиснути кнопку подати, як тільки ви надішлете повідомлення, ви отримаєте повідомлення на РК-дисплей, підключений до Raspberry Pi. В кінці перевірте весь процес у демонстраційному відео.
Веб-сторінка створюється з використанням мови HTML, яка містить форму, що має текстове поле та кнопку подання , із заголовком (тегом h1) Дошкою оголошень веб-контролю . Форма має «зміна» є дію , яка виконуватиметься в коді, використовуючи поштовий метод, коли ми натискаємо на кнопку Відправити. Слайдер представляє собою блок з етикеткою «оповіщає».
Після цього ми можемо додати необов’язковий рядок, щоб показати текст, який ми надіслали на Raspberry Pi через сервер.
{% якщо значення%}
Повідомлення надіслано успішно: {{value}}
{% endif%}Він перевіряє значення в текстовому полі, і якщо в текстовому полі є якесь значення, він друкує текст на самій веб-сторінці, щоб користувач також міг побачити надіслане повідомлення. Тут "значення" - це "введення тексту або повідомлення", яке ми введемо в повзунок або текстове поле.
Пояснення схеми:
Підключення до цієї бездротової дошки повідомлень дуже просто; нам потрібно лише підключити РК-дисплей до плати Raspberry Pi, використовуючи деякі роз'єми на платі для хліба. Користувач може використовувати нульову друковану плату для з'єднань. RS, RW та EN виводи РК-дисплея безпосередньо підключені до висновків 18, GND і 23. А висновки даних РК-дисплеїв D4, D5, D6, D7 безпосередньо підключені до GPIO 24, 16, 20, 21. Raspberry Pi. використовується для управління яскравістю РК-дисплея.
Також пам’ятайте, якщо у вас немає Raspberry Pi 3, вам потрібно використовувати USB-адаптер Wi-Fi для нижчої версії Raspberry Pi, оскільки вони не мають вбудованого Wi-Fi, як Raspberry Pi 3.
Пояснення програмування та колба:
Для програми ми використовуємо мову Python. Перед кодуванням користувачеві потрібно налаштувати Raspberry Pi. Ви можете переглянути наші попередні підручники з Початок роботи з Raspberry Pi та Встановлення та налаштування ОС Raspbian Jessie в 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, time app = Flask (__ name__) RS = 18 EN = 23 D4 = 24 D5 = 16 D6 = 20 D7 = 21………………..
Для РК функція def lcd_init () використовується для ініціалізації РК в чотирирозрядному режимі, функція def lcdcmd (ch) використовується для надсилання команди на РК, функція def lcddata (ch) використовується для надсилання даних на РК та def lcdstring (Str) функція використовується для надсилання рядка даних на РК-дисплей. Ви можете перевірити всі ці функції в коді, наданому згодом.
Внизу частина Програми використовується для надсилання повідомлення з веб-браузера на 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, налагодження = True)
Отже, таким чином ми можемо надіслати повідомлення з нашого комп’ютера або смартфона на РК-дисплей Raspberry Pi і створити бездротову дошку оголошень на основі IoT, яка контролюється через Інтернет. Перевірте повний код Python та демонстраційне відео нижче.