ارسال پیام از اینترنت به برد رزبری پای و نمایش روی LCD
محتویات
سلام. پروژه ارسال پیام از اینترنت به برد رزبری پای و نمایش روی LCD را آماده کردیم.
آموزش ارسال پیام به LCD کاراکتری با پروژه اینترنت اشیا
همه ما تابلو های اعلانات را میشناسیم. در این پروژه رزبری پای ما میخواهیم با استفاده از برد Raspberry pi تابلوی اعلانات مبتنی بر اینترنت اشیا را راه اندازی کنیم. میتوانیم متن روی تابلو اعلانات را از طریق اینترنت در هر جای دنیا کنترل کنیم. میتوانید پیام جدید را با استفاده از کامپیوتر، گوشی، تبلت و … ارسال کنید.
در این پروژه ما یک سرور وب را ایجاد میکنیم که به صورت جهانی میتواند کنترل شود. ما از ال سی دی کاراکتری برای نمیاش پیام استفاده کرده ایم. هرگاه رزبری پای پیام را از شبکه دریافت کند آن را روی LCD نمایش میدهد.
فیلم زیر به درک شما از این پروژه کمک میکند.
پینشهاد میکنم آموزش اتصال LCD کاراکتری به رزبری پای را مشاهده کنید.
در این پروژه مؤلفه اصلی Raspberry Pi است که قلب این پروژه است و از آن برای کنترل فرآیندهای این پروژه استفاده می شود. مانند: کنترل 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 وارد کنید. مثلا :
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 را ندارند.
قطعات مورد نیاز
- هر مدل در برد های رزبری پای
- آداپتور USB Wi-Fi (در صورت استفاده از مدل های پایین تر از Raspberry Pi 3)
- ال سی دی کاراکتری 16*2
- پتانسیومتر 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 استفاده میشود.
در زیر بخشی از برنامه برای ارسال پیام از مرورگر وب به 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 میسازیم.
موارد موجود در فایل : سورس کامل ، شماتیک کامل
برای دانلود فایل ها باید حساب کاربری داشته باشید ثبت نام / ورود
سلام من يك پروژه دارم كه ميخوام از راهي كه كمترين هزينه رو داشته باشه يك شهر آب لوله كشي ندارد مردم تو خونه ها حوض زميني درست كردن وتوسط تانكر آب ميخرن من ميخوام يك پروژه اجرا كنم كه براي پركردن حوض از اينترنت استفاده بشه بطوريكه وقتي حوض خالي ميشه يا ته ميكشه توسط يك دستگاه وگوشي به راننده تانكر پيامك بده تا نسبت به پركردن حوض اقدام كنه
سلام عزیز
دوره آردوینو و اینترنت اشیا رو مشاهده کنید