پروژه الکترونیکپروژه های اینترنت اشیاپروژه های پایتونپروژه های رزبری پای

ارسال پیام از اینترنت به برد رزبری پای و نمایش روی LCD با پایتون

سلام. پروژه ارسال پیام از اینترنت به برد رزبری پای و نمایش روی LCD را آماده کردیم.

آموزش ارسال پیام به LCD کاراکتری با پروژه اینترنت اشیا

همه ما تابلو های اعلانات را میشناسیم. در این پروژه رزبری پای ما میخواهیم با استفاده از برد Raspberry pi تابلوی اعلانات مبتنی بر اینترنت اشیا را راه اندازی کنیم. میتوانیم متن روی تابلو اعلانات را از طریق اینترنت در هر جای دنیا کنترل کنیم. میتوانید پیام جدید را با استفاده از کامپیوتر، گوشی، تبلت و … ارسال کنید.

در این پروژه ما یک سرور وب را ایجاد میکنیم که به صورت جهانی میتواند کنترل شود. ما از ال سی دی کاراکتری برای نمیاش پیام استفاده کرده ایم. هرگاه رزبری پای پیام را از شبکه دریافت کند آن را روی LCD نمایش میدهد.

در این پروژه مؤلفه اصلی Raspberry Pi است که قلب این پروژه است و از آن برای کنترل فرآیندهای این پروژه استفاده می شود. مانند: کنترل LCD ، دریافت پیام ها از سرور و …

ارسال پیام از اینترنت به برد رزبری پای و نمایش روی LCD

فیلم عملکرد پروژه در انتهای صفحه قرار داده شده است.

در اینجا ، ما یک سرور وب ایجاد کرده ایم ، که راهی برای ارسال “پیام” به Raspberry Pi با استفاده از Flask در یک مرورگر وب فراهم می کند. Flask یک میکرو ساختار برای پایتون است. این ابزار دارای یونیکد است که دارای سرور توسعه و اشکال زدایی داخلی ، پشتیبانی از تست یکپارچه ، پشتیبانی از کوکی های ایمن و استفاده آسان است.

ما یک صفحه وب با یک باکس نوشتن پیام و دکمه ارسال پیام میسازیم که برای ارسال پیام استفاده میشود. این صفحه وب با استفاده از HTML نوشته شده است. کد این صفحه در باکس زیر آورده شده است. شما میتوانید به راحتی این صفحه را ویرایش و زیبا کنید.

<h1>پروژه تابلو اعلانات اینترنتی</h1>
</div>

<div data-role="content">

<form method="post" action="change">
  <label for="slider-1">Notice Message:</label>
  <input type="text" name="lcd" id="lcd" />  
  <br />
  
  <input type="submit" value="Submit" />
</form>

{% if value %}
<p>Notice Submitted Successfully: {{ value }}</p>
{% endif %}

</div>

شما باید کد HTML را در ویرایشگر متن (مثلا notepad) کپی کرده و فایل را با پسوند .HTML ذخیره کنید. سپس این پرونده HTML را در همان پوشه ای قرار دهید که پرونده کد پایتون خود را (کد در پایان داده شده) قرار داده اید. اکنون می توانید کد پایتون را در Raspberry Pi اجرا کنید. سپس  در مرورگر باید آی پی آدرس رزبری پای را با پسوند :8080 وارد کنید. مثلا :

حتما ببینید :  پروژه فرکانس متر با آردوینو (آموزش محاسبه فرکانس با Arduino و IC 555)

192.168.1.14:8080

سپس صقحه ای باز میشود و میتوانید پیام خود را وارد کرده و روی دکمه ارسال بزنید. به محض ارسال پیام، ال سی دی پیام را نمایش میدهد.

پروژه تابلو اعلانات با رزبری پای و اینترنت اشیا

صفحه وب با استفاده از زبان HTML ایجاد می شود، شامل یک فرم متن و دکمه ارسال است. عنوان صفحه را با تگ H1 مشخص میکنیم.

پس از آن می توانیم یک خط اختیاری اضافه کنیم تا متنی را که از طریق سرور برای Raspberry Pi ارسال کرده ایم نشان دهیم.

همچنین در کدی که در بالا دادیم، قسمت زیر باعث میشود کاربر پیام قبلی ارسال شده که در حال نمایش روی ال سی دی است را مشاهده کند :

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.
{% if value %}
<p>Notice Submitted Successfully: {{ value }}</p>
{% endif %}

توضیحات مدار پروژه

اتصالات این پروژه بسیار آسان است. ما فقط باید ال سی دی را مانند تصویر زیر به رزبری پای متصل کنیم.

شماتیک پروژه تابلو اعلانات آنلاین

همچنین به یاد داشته باشید ، اگر Raspberry Pi 3 ندارید ، باید از آداپتور USB Wi-Fi برای نسخه پایین تر Raspberry Pi استفاده کنید، زیرا آنها Wi-Fi مانند Raspberry Pi 3 را ندارند.

قطعات مورد نیاز

  1. هر مدل در برد های رزبری پای
  2. آداپتور USB Wi-Fi (در صورت استفاده از مدل های پایین تر از Raspberry Pi 3)
  3. ال سی دی کاراکتری 16*2
  4. پتانسیومتر 10 کیلو اهم

توضیحات کد پروژه تابلو اعلانات آنلاین

کد کامل پروژه در انتهای صفحه قرار داده شده است. در اینجا ما قسمت های مهم کد را بررسی میکنیم. ما در اینجا از زبان پایتون برای برنامه استفاده می کنیم. قبل از کد نویسی، شما باید پیکربندی Raspberry Pi را انجام دهید.  قبل از برنامه Raspberry Pi، شما باید با استفاده از دستورات داده شده، بسته پشتیبانی از فلسک را در Raspberry Pi نصب کند:

$ pip install Flask

پس از آن می توانید برنامه Python را در ویرایشگر پایتون Raspberry Pi اجرا کنید. اما قبل از این کار باید آدرس IP را در کد با آدرس IP Raspberry Pi جایگزین کنید. با دستور زیر می توانید آدرس IP خود را بررسی کنید.

Ifconfig

قسمت برنامه نویسی این پروژه برای انجام کلیه عملیات ها نقش بسیار مهمی ایفا می کند. اول از همه، ما کتابخانه های مورد نیاز Flask را فراخوانی می کنیم. متغیرها را پیکربندی می کنیم و پین های 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
... ......
..... ......

ال سی دی کاراکتری با تابع lcd_init() در حالت چهار بیتی بیکربندی میشود. def lcdcmd(ch) برای ارسال دستورات به ال سی دی کاراکتری استفاده میشود. و lcddata(ch) هم برای ارسال داده ها به LCD استفاده میشود.

حتما ببینید :  پروژه ارتباط دو برد آردوینو با هم با ماژول بلوتوث HC-05 + آموزش کامل

در زیر بخشی از برنامه برای ارسال پیام از مرورگر وب به Raspberry Pi با استفاده از Flask استفاده می شود. می توانید در اینجا با استفاده از Flask اطلاعات بیشتری در مورد برنامه نویسی کسب کنید.

@app.route("/")

def index():
    return render_template('web.html')
@app.route("/change", methods=['POST'])

def change():
 if request.method == 'POST':
    # دریافت اطلاعات از صفحه وب
   data1 = request.form['lcd']
   lcdcmd(0x01)
   lcdprint(data1)
 return render_template('web.html', value=data1)

if __name__ == "__main__":
    app.debug = True
    app.run('192.168.1.14', port=8080,debug=True)

فیلم عملکرد پروژه

به این شکل ما میتوانی پیام های خود را از دستگاه های هوشمند از طریق اینترنت به ال سی دی کاراکتری متصل به رزبری پای ارسال کنیم. با این کار ما یک تابلوی اطلاع رسانی بیسیم مبتنی بر IoT میسازیم. فیلم زیر به درک شما از این پروژه کمک میکند.

برای دانلود فیلم عملکرد پروژه تابلو اعلان بی سیم کلیک کنید.

موارد موجود در فایل : سورس کامل ، شماتیک کامل

[post_shop]

دانلود فایل های پروژه

[/post_shop] [lrm_form default_tab=”register” logged_in_message=””]

نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید
برچسب ها

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
بستن
بستن