- Các thành phần bắt buộc:
- Giải thích Làm việc và Tạo Trang Web:
- Giải thích mạch:
- Giải thích lập trình và bình:
Tất cả chúng ta đều quen thuộc với Bảng thông báo không dây vì chúng ta đã xây dựng Bảng thông báo không dây sử dụng GSM và Arduino. Nhưng hôm nay chúng tôi đã đi trước một bước và thay vì sử dụng GSM làm phương tiện không dây, lần này chúng tôi sử dụng Internet để gửi thông báo không dây từ Trình duyệt web đến màn hình LCD được kết nối với Raspberry Pi. Vì tin nhắn được gửi qua trình duyệt web, vì vậy nó có thể được gửi bằng Máy tính, điện thoại thông minh hoặc máy tính bảng, vì vậy nó sẽ thêm một dự án nữa trong bộ sưu tập các dự án IoT của chúng tôi.
Trong Bảng Thông báo Kiểm soát Web này, chúng tôi đã tạo một máy chủ web cục bộ để trình diễn, đây có thể là một máy chủ toàn cầu qua internet. Ở Raspberry Pi, chúng tôi đã sử dụng LCD 16x2 để hiển thị thông báo và Flask để nhận thông báo qua mạng. Bất cứ khi nào Raspberry nhận được bất kỳ tin nhắn không dây nào từ trình duyệt Web, nó sẽ hiển thị trên màn hình LCD. Chúng tôi sẽ thảo luận chi tiết về những điều này trong bài viết này.
Các thành phần bắt buộc:
- Raspberry Pi 3 (bất kỳ kiểu máy nào)
- Bộ chuyển đổi Wi-Fi USB (nếu không sử dụng Raspberry Pi 3)
- LCD 16x2
- Bảng bánh mì
- Cáp nguồn cho Raspberry Pi
- Kết nối dây
- 10K nồi
Giải thích Làm việc và Tạo Trang Web:
Trong dự án này, thành phần chính là Raspberry Pi, là trái tim của dự án này và được sử dụng để kiểm soát các quy trình liên quan đến dự án này. Như: Màn hình LCD lái xe, nhận “Tin nhắn thông báo” từ máy chủ, v.v.
Ở đây, chúng tôi đã tạo một máy chủ web, cung cấp một cách để gửi “Thông báo Thông báo” đến Raspberry Pi bằng Flask trong trình duyệt web. Flask là một microframework cho Python. Công cụ này dựa trên Unicode có máy chủ phát triển và trình gỡ lỗi tích hợp, hỗ trợ kiểm tra đơn vị tích hợp, hỗ trợ cookie an toàn và dễ sử dụng, những điều này làm cho nó hữu ích cho những người yêu thích .
Chúng tôi đã tạo một trang web có TextBox và nút Gửi, nơi chúng tôi có thể nhập “Thông báo thông báo” của mình vào TextBox và sau đó gửi nó đến máy chủ bằng cách nhấp vào nút Gửi. Ứng dụng web này được phát triển bằng cách sử dụng ngôn ngữ HTML. Mã của trang web này được đưa ra bên dưới và rất dễ hiểu.
Bảng thông báo điều khiển web (Thông báo mạch)
Thông báo đã được Gửi Thành công: {{value}}
{% endif%}Người dùng cần sao chép-dán mã HTML đã cho ở trên trong một số trình soạn thảo văn bản (notepad) và lưu tệp với phần mở rộng.HTML. Sau đó, đặt tệp HTML này vào cùng một thư mục nơi bạn đã đặt tệp Mã Python của mình (được đưa ra ở cuối) cho Bảng thông báo được kiểm soát trên web này. Bây giờ bạn chỉ có thể chạy mã Python trong Raspberry Pi, mở IP_address_of_your_Pi: 8080 trong Trình duyệt web (như 192.168.1.14:8080) và nhập tin nhắn và nhấp vào gửi, ngay sau khi bạn gửi tin nhắn, bạn sẽ nhận được thông báo trên LCD kết nối với Raspberry Pi. Kiểm tra toàn bộ quá trình trong Video trình diễn ở cuối.
Trang web được tạo bằng ngôn ngữ HTML, chứa một biểu mẫu có hộp văn bản và nút gửi , với Bảng thông báo kiểm soát web Heading (thẻ h1). Biểu mẫu có “thay đổi” là hành động sẽ được thực hiện trong mã sử dụng phương pháp đăng , khi chúng ta nhấp vào nút Gửi. Các thanh trượt là khối với nhãn “Thông báo Message”.
Sau đó, chúng tôi có thể thêm một dòng tùy chọn để hiển thị văn bản mà chúng tôi đã gửi đến Raspberry Pi thông qua máy chủ.
{% nếu giá trị%}
Thông báo đã được Gửi Thành công: {{value}}
{% endif%}Nó kiểm tra giá trị trong hộp văn bản và nếu có một giá trị nào đó trong hộp văn bản thì nó sẽ in văn bản trên chính trang web để người dùng cũng có thể xem tin nhắn đã gửi. Ở đây "giá trị" là "văn bản đầu vào hoặc thông báo thông báo" mà chúng ta sẽ nhập vào hộp thanh trượt hoặc hộp văn bản.
Giải thích mạch:
Kết nối cho Bảng tin không dây này rất dễ dàng; chúng ta chỉ cần kết nối LCD với bảng Raspberry Pi bằng cách sử dụng một số đầu nối qua bảng mạch bánh mì. Người dùng có thể sử dụng không PCB cho các kết nối. Các chân RS, RW và EN của LCD được kết nối trực tiếp với chân 18, GND và 23. Và các chân dữ liệu của LCD D4, D5, D6, D7 được kết nối trực tiếp với GPIO 24, 16, 20, 21. Một nồi 10K của Raspberry Pi là được sử dụng để điều khiển độ sáng của màn hình LCD.
Ngoài ra, hãy nhớ rằng nếu bạn không có Raspberry Pi 3, bạn cần sử dụng bộ điều hợp USB Wi-Fi cho phiên bản thấp hơn của Raspberry Pi vì chúng không có Wi-Fi sẵn có như Raspberry Pi 3.
Giải thích lập trình và bình:
Chúng tôi đang sử dụng ngôn ngữ Python ở đây cho Chương trình. Trước khi viết mã, người dùng cần cấu hình Raspberry Pi. Bạn có thể xem các hướng dẫn trước đây của chúng tôi để Bắt đầu với Raspberry Pi và Cài đặt & Định cấu hình Hệ điều hành Raspbian Jessie trong Pi.
Trước khi lập trình Raspberry Pi, người dùng cần cài đặt gói hỗ trợ bình vào Raspberry Pi bằng cách sử dụng các lệnh đã cho:
$ pip cài đặt Flask
Sau đó, bạn có thể chạy chương trình Python trong trình chỉnh sửa python của Raspberry Pi nhưng trước đó, bạn cần thay thế địa chỉ IP trong Chương trình bằng địa chỉ IP của Raspberry Pi của bạn. Bạn có thể kiểm tra địa chỉ IP của bảng RPi của mình bằng cách sử dụng lệnh ifconfig:
Ifconfig
Phần lập trình của dự án này đóng một vai trò rất quan trọng để thực hiện tất cả các hoạt động. Trước hết, chúng tôi bao gồm các thư viện cần thiết cho Flask, khởi tạo các biến và xác định các chân cho LCD.
from flask import Flask from flask import render_template, request import RPi.GPIO as gpio import os, time app = Flask (__ name__) RS = 18 EN = 23 D4 = 24 D5 = 16 D6 = 20 D7 = 21………………..
Đối với LCD, hàm def lcd_init () được sử dụng để khởi tạo màn hình LCD ở chế độ bốn bit, hàm def lcdcmd (ch) được sử dụng để gửi lệnh tới LCD, hàm def lcddata (ch) được sử dụng để gửi dữ liệu đến LCD và def lcdstring (Str) hàm được sử dụng để gửi chuỗi dữ liệu đến LCD. Bạn có thể kiểm tra tất cả các chức năng này trong Mã được cung cấp sau đó.
Phần bên dưới của Chương trình được sử dụng để gửi tin nhắn từ trình duyệt web tới Raspberry Pi bằng Flask. Bạn có thể tìm hiểu thêm về lập trình bằng Flask tại đây.
@ app.route ("/") def index (): return render_template ('web.html') @ app.route ("/ change", method =) def change (): if request.method == 'POST': # Lấy giá trị từ trang web 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', cổng = 8080, gỡ lỗi = Đúng)
Vì vậy, đây là cách chúng ta có thể gửi tin nhắn từ máy tính hoặc điện thoại thông minh của mình đến Raspberry Pi LCD và có thể tạo Bảng thông báo không dây dựa trên IoT được điều khiển qua Web. Kiểm tra Mã Python đầy đủ và Video trình diễn bên dưới.