فهرست مطالب:
- مرحله 1: سخت افزار
- مرحله 2: طرح آردوینو
- مرحله 3: سیناترا روی صحنه می رود
- مرحله 4: ماشین توسعه خود را راه اندازی کنید
- مرحله 5: روبی در مک یا لینوکس
- مرحله 6: Ruby در Windows
- مرحله 7: Ruby خود را بررسی و تنظیم کنید
- مرحله 8: Sinatra (همه سیستم عامل ها) را نصب کنید
- مرحله 9: Redis را در Mac یا Linux انجام دهید
- مرحله 10: Redis در ویندوز
- مرحله 11: برنامه وب سرویس را ایجاد کنید
- مرحله 12: با استفاده از Heroku روی ابر مستقر شوید
- مرحله 13: همه چیز را با هم ترکیب کنید
- مرحله 14: بالقوه
تصویری: هشدار خانگی: آردوینو + پیام ابری بر روی صفحه نمایش بزرگ: 14 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
در عصر تلفن های همراه ، انتظار می رود که مردم 24 ساعته و 7 ساعته پاسخگوی تماس شما باشند.
یا نه. وقتی همسرم به خانه می رسد ، تلفن در کیف دستی اش می ماند یا باتری آن خالی است. خط زمین نداریم تماس یا پیامک برای درخواست آسانسور از ایستگاه قطار در یک شب بارانی یا تماس برای پرسیدن اینکه آیا کلیدهای من هنوز روی میز من هستند ، به معنای واقعی کلمه آرزو است.
من اغلب این مشکل را دارم به طوری که راه حلی برای آن لازم است. کمی کار با Arduino و Freetronics Dot Matrix Display (DMD) منجر به یک ابزار بسیار آزاردهنده (برای همسرم) شد ، اما یک وسیله ارتباطی و مرکز اطلاعات شگفت انگیز برای من. من آن را دوست دارم و فقط نسخه 1 است!
Home Alert از این قسمت ها تشکیل شده است:
- یک صفحه نمایش Freetronics Dot Matrix که مجموعه ای از LED های 16x32 است. آنها در رنگهای مختلف عرضه می شوند ، اما من از قرمز برای تاکید بر این که این ابزار برای اعلان های "مهم" استفاده می شود ، استفاده می کنم.
- آردوینو Uno با سپر اترنت.
- شکست ساعت در زمان واقعی ، مانند این یا این.
- یک وزوز پیزو
- سنسور دما و رطوبت DHT22
هشدار خانگی از طریق یک صفحه وب که در Heroku ، میزبان برنامه مبتنی بر ابر میزبانی می شود ، کنترل می شود. صفحه وب با استفاده از چارچوب برنامه وب Sinatra و فروشگاه ارزش کلیدی Redis در Ruby کدگذاری می شود.
به صفحه اصلی (در اولین تصویر پیوست شده در این مرحله نشان دهید) نگاه کنید ، جایی که فرم در انتظار پیام جدید کاربر است.
اولین فیلد یک کد سخت افزاری عددی را می پذیرد. این یک کد است که به شما امکان می دهد یک سیستم هشدار خانگی خاص را هدف قرار دهید ، زیرا به هر کد می توان یک کد منحصر به فرد داد. یا ، می توانید چندین هشدار خانگی داشته باشید که کد یکسانی را به اشتراک بگذارند ، به طوری که پیام مشابه در چندین مکان نمایش داده شود.
پیامی که می خواهید نمایش دهید به قسمت دوم می رود. هر متنی که در آنجا وارد کنید در DMD نمایش داده می شود.
اگر می خواهید سر و صدا ایجاد کنید ، بله را بررسی کنید! کادر تأیید ، و مطمئناً زنگ هشدار توجه هر کسی را در این نزدیکی جلب می کند.
در این مقاله ، من به شما نشان می دهم که چگونه می توانید سیستم هشدار خانگی خود را ، هم سخت افزار و نرم افزار Arduino و هم برنامه وب کوتاه Sinatra ، بسازید.
بیایید شروع کنیم!
مرحله 1: سخت افزار
DMD نقطه کانونی این ابزار است. من می توانستم با یک صفحه LCD کوچک بروم ، اما ایده اصلی این پروژه تولید چیزی بود که از دور قابل مشاهده و شنیدن باشد. برای بخش بصری ، من به چیزی بزرگ و روشن نیاز داشتم ، و این صفحه نمایش Freetronics دقیقاً همان چیزی است که من نیاز داشتم. هر پانل دارای آرایه ای از LED های 16x32 است و می توانید چندین صفحه را به هم بچسبانید تا نمایشگرهای بسیار بزرگتری ایجاد کنید. این کاری است که دوست دارم در آینده نزدیک انجام دهم.
DMD دارای یک کتابخانه Arduino است که به راحتی قابل استفاده است. از طریق SPI با سرعت بالا با آردوینو ارتباط برقرار می کند. من توانستم کتابخانه را از صفحه Freetronics Github دریافت کنم ، سپس طرح نمایشی را آتش بزنم و ظرف چند دقیقه پس از باز کردن جعبه کار کنم. از دیدن چنین صفحه نمایش درخشان که فقط از نیروی آردوینو استفاده می کرد ، شگفت زده شدم. اگر می خواهید بینندگان خود را موقتاً کور کنید ، می توانید منبع تغذیه اختصاصی را به این DMD وصل کنید. اگر این مورد توجه آنها را جلب نکند ، هیچ چیز جلب نخواهد کرد!
از نظر فیزیکی ، اندازه این صفحه نمایش 320 میلی متر (W) ، 160 میلی متر (H) و 14 میلی متر (D) است.
پنل پشتی شامل کانکتورهای منبع تغذیه خارجی ، 5 ولت با حداقل ظرفیت 4 آمپر ، کانکتور آردوینو با علامت HUB1 و کانکتور نمایشگرهای زنجیره ای دیزی در طرف مقابل است. طبق مستندات ، می توانید تا چهار DMD را با زنجیره دیزی متصل کنید.
DMD توسط Arduino Uno کنترل می شود. Freetronics یک کانکتور بسیار راحت "DMDCON" فراهم می کند که فقط مستقیماً روی SPI و پین های داده صحیح چسبیده است.
به غیر از DMD ، از Arduino Uno ، Ethernet Shield ، بریکت ساعت در زمان واقعی ، زنگ و DHT22 استفاده کردم. برای همه این م componentsلفه ها ، من سخنرانی هایی را برای توصیف عملکرد آنها در دوره Udemy ایجاد کرده ام. (خودنمایی بی شرمانه: در لیست ایمیل من در arduinosbs.com ثبت نام کنید و کوپنی دریافت کنید که به شما امکان دسترسی به همه 55 سخنرانی را با تخفیف می دهد).
ساعت در زمان واقعی ، یک شکست بر اساس IC ساعت DS18072 ، یک دستگاه I2C است ، بنابراین به پین های 1 و 2 آنالوگ Uno متصل می شود ، که گذرگاه I2C را پیاده سازی می کند.
زنگ به پین دیجیتال 3 متصل است ، از آنجا من آن را با استفاده از تابع () tone کنترل می کنم.
سنسور DHT22 به پین دیجیتال 2 متصل است. مراقب باشید که مقاومت کششی 10KΩ را بین خط 5V و خط داده وصل کنید.
مرحله 2: طرح آردوینو
این طرح از نظر تعداد خط زیاد نیست ، اما به لطف همه کتابخانه های موجود ، تقریباً حافظه فلش موجود Uno را خسته می کند. فضای زیادی برای بهینه سازی حافظه وجود دارد ، اما از آنجا که من در مرحله نمونه سازی اولیه هستم ، این پروژه برای یک روز دیگر است. این کد در Github موجود است.
در اینجا این طرح ، با نظرات جاسازی شده است (پیوست PDF را ببینید).
مسئولیت اصلی این طرح این است که آردوینو را به مصرف کننده یک سرویس وب تبدیل کند. وب سرویس یک وب سایت ساده است که دارای دو نقطه پایانی است ، یکی برای دسترسی کاربر انسانی از طریق مرورگر وب و ارسال یک رشته متنی که می خواهند در DMD نمایش داده شود ، و دیگری به جایی که آردوینو به منظور دسترسی به آن دسترسی دارد. آن رشته متن را بازیابی کنید
لطفاً فایل PDF پیوست را بارگیری و مطالعه کنید ، حاوی نظرات تعبیه شده است که عملکرد آن را شرح می دهد.
مرحله 3: سیناترا روی صحنه می رود
راه های زیادی برای ایجاد وب سایت و خدمات وب وجود دارد. از زبان های برنامه نویسی با کتابخانه های پشتیبانی کننده وب ، تا چارچوب های کامل ، انتخاب یکی از این کارها گیج کننده و دشوار است.
من از تعداد قابل توجهی از فناوری های وب کاربردی استفاده کرده و با آنها بازی کرده ام و دریافتم که سیناترا برای ایجاد خدمات وب و وب سایت های کوچک ایده آل است. به طور خاص ، هنگامی که من یک وب سرویس برای پشتیبانی از ابزار آردوینو ایجاد می کنم ، سیناترا واقعاً انتخاب خوبی است.
سیناترا چیست و چرا چنین انتخاب خوبی است؟ خوشحالم که پرسیدی!
سیناترا یک زبان برای توسعه سریع برنامه های وب است. این برنامه بر روی Ruby ساخته شده است ، یک زبان برنامه نویسی عمومی و بسیار محبوب. ممکن است بشنوید که از سیناترا به عنوان "DSL" ، یک زبان مخصوص دامنه یاد می شود. دامنه در اینجا وب است. کلمات کلیدی (کلمات) و نحو ایجاد شده برای سیناترا به گونه ای است که ایجاد برنامه های وب را برای مردم آسان و سریع می کند.
در زمانی که چارچوب های به اصطلاح "معتبر" برای توسعه برنامه های وب مانند Ruby on Rails و Django بسیار محبوب هستند ، سیناترا انتهای مخالف طیف را به تصویر می کشد. در حالی که Ruby on Rails و Django برنامه نویس را ملزم می کنند که از قوانین و روش خاصی برای انجام کارها پیروی کند (که به نوبه خود به یک منحنی یادگیری تند و طولانی اشاره دارد) ، سیناترا چنین الزاماتی را مطرح نمی کند.
سیناترا از نظر مفهومی بسیار ساده تر از راه آهن و جنگوهای جهان است. می توانید با یک برنامه وب که می تواند در عرض چند دقیقه با Arduino شما ارتباط برقرار کند ، شروع به کار کنید.
من با یک مثال نشان خواهم داد. در اینجا یک برنامه وب سیناترا حداقل به نظر می رسد (فقط موارد زیر را بخوانید ، در واقع این کار را در رایانه خود انجام ندهید زیرا احتمالاً هنوز پیش نیازهای آن را ندارید):
در یک فایل واحد ، بگذارید آن را my_app.rb بنامیم ، این متن را اضافه کنید:
نیاز به "sinatra'get"/"پایان" سلام ، جهان!"
در خط فرمان ، برنامه را به این شکل شروع کنید:
ruby my_app.rb
برنامه شما شروع به کار می کند و این متن را در کنسول مشاهده می کنید:
peter@ubuntu-dev:/arduino/sinatra_demo $ ruby my_app.rbPuma 2.8.1 شروع…* حداقل موضوعات: 0 ، حداکثر موضوعات: 16* محیط: توسعه* گوش دادن در tcp: // localhost: 4567 == Sinatra/1.4.4 در 4567 برای توسعه با پشتیبان گیری از پوما روی صحنه رفته است
این برنامه اکنون آماده دریافت درخواست های مشتری است. مرورگری را باز کنید ، آن را به https:// localhost: 4567 نشان دهید ، و این چیزی است که خواهید دید (به تصویر ضمیمه شده مراجعه کنید).
این چهار خط ساده کد در یک فایل واحد است. در مقابل ، Rails به بیش از صد فایل نیاز دارد که به سادگی برای برآوردن الزامات چارچوب ایجاد شده اند. اشتباه نکنید ، من عاشق ریل هستم ، اما واقعاً؟…
بنابراین ، سیناترا ساده و سریع اجرا می شود. من فرض می کنم که شما هیچ چیزی در مورد روبی ، سیناترا و استقرار برنامه در Cloud نمی دانید ، بنابراین در قسمت بعدی شما را به صورت مرحله به مرحله از صفر تا استقرار وب سرویس آردوینو خود در Cloud راهنمایی می کنم.
مرحله 4: ماشین توسعه خود را راه اندازی کنید
Sinatra بر اساس زبان برنامه نویسی Ruby است. بنابراین ، قبل از نصب Sinatra باید Ruby را نصب کنید.
همچنین باید یک سرور ذخیره سازی با ارزش کلیدی به نام Redis نصب کنید. Redis را یک پایگاه داده در نظر بگیرید که داده ها را در برابر یک کلید ذخیره می کند. شما از کلید برای بازیابی داده ها استفاده می کنید ، و برای سرعت و نه انعطاف پذیری ساختارهای داده که پایگاه داده سنتی رابطه ای برای آن طراحی شده است ، بهینه شده است. هشدار خانگی پیام های خود را در Redis ذخیره می کند.
مرحله 5: روبی در مک یا لینوکس
اگر از رایانه Mac یا Linux استفاده می کنید ، توصیه می کنم از RVM برای نصب و مدیریت نصب Ruby خود (RVM: Ruby Version Manager) استفاده کنید. دستورالعمل نصب Ruby با RVM در این صفحه وجود دارد ، یا فقط این دستور را در پوسته خود کپی و جایگذاری کنید:
curl -sSL https://get.rvm.io | bash -s پایدار --ruby
بنشینید ، استراحت کنید و منتظر بمانید تا بارگیری ، گردآوری و نصب RVM و Ruby به پایان برسد.
مرحله 6: Ruby در Windows
اگر از Windows استفاده می کنید ، توصیه می کنم از این راهنمای وب سایت Ruby Installer for Windows پیروی کنید و از برنامه راه اندازی استفاده کنید.
مرحله 7: Ruby خود را بررسی و تنظیم کنید
در زمان نگارش این مقاله ، آخرین نسخه روبی پایدار 2.1.1.p76 است. با تایپ این می توانید نسخه نصب شده با RVM را بررسی کنید:
اطلاعات rvm
اطلاعات زیادی در مورد RVM و Ruby ظاهر می شود. در مورد من ، این قسمت Ruby است:
ruby: interpreter: "ruby" version: "2.1.1p76" date: "2014-02-24" platform: "x86_64-linux" patchlevel: "2014-02-24 revision 45161" full_version: "ruby 2.1.1p76 (2014 -02-24 تجدید نظر 45161) [x86_64-linux]"
توصیه می کنم از Ruby 2.1.1 نیز استفاده کنید ، بنابراین اگر چیزی قدیمی تر از آن مشاهده کردید ، اینگونه ارتقا دهید:
rvm 2.1.1 را نصب کنید
با این کار Ruby 2.1.1 نصب می شود. سایت پروژه RVM حاوی اطلاعات زیادی در مورد RVM و نحوه مدیریت نصب Ruby است.
مرحله 8: Sinatra (همه سیستم عامل ها) را نصب کنید
در روبی ، کد به عنوان بسته هایی به نام "gems" به اشتراک گذاشته می شود. کدی که Sinatra را تشکیل می دهد می تواند بر روی رایانه شما به عنوان یک جواهر مانند این نصب شود:
gem sinatra را نصب کنید
این خط تمام کد و اسناد را واکشی کرده و روی رایانه شما نصب می کند.
مرحله 9: Redis را در Mac یا Linux انجام دهید
راه اندازی Redis در Mac یا Linux آسان است. این فرآیند در وب سایت Redis توضیح داده شده است. ترمینال پوسته را باز کرده و این دستورات را وارد کنید:
$ wget https://download.redis.io/releases/redis-2.8.7.tar…$ tar xzf redis-2.8.7.tar.gz $ cd redis-2.8.7 $ make
Redis را با تایپ کردن اجرا کنید:
$ src/redis-server
… و تمام شدی!
مرحله 10: Redis در ویندوز
Redis در Windows فقط برای توسعه توصیه می شود و شما باید آن را با استفاده از محیط توسعه رایگان Visual Studio Express کامپایل کنید. کمی طول می کشد تا اجرا شود ، اما خوب کار می کند و ارزش تلاش را دارد. دستورالعمل های موجود در صفحه Github پروژه را دنبال کنید. در آنجا ، پیوندی به صفحه Visual Studio Express خواهید یافت.
مرحله 11: برنامه وب سرویس را ایجاد کنید
بیایید برنامه را بسازیم و آن را روی ماشین توسعه خود اجرا کنیم. ما طرح آردوینو را تنظیم می کنیم تا در حین آزمایش آن به این نمونه از برنامه متصل شود. وقتی مطمئن شدیم که همه چیز خوب کار می کند ، روی ابر مستقر می شویم و طرح را برای استفاده از نمونه ابر به روز می کنیم.
در اینجا کد روبی است ، همه در یک فایل واحد به نام "web.rb" (این کد در Github موجود است).
مهم: فایل پیوست PDF پیوست را بارگیری و مطالعه کنید ، حاوی نظرات جاسازی شده مفصل است (لطفاً قبل از ادامه این کار را انجام دهید!).
اکنون می توانید سیستم هشدار خانگی خود را امتحان کنید. در طرح خود ، ثابت های WEBSITE و WEBPAGE را تغییر دهید تا به دستگاه توسعه و شماره پورت خود برای سرور Sinatra توسعه خود اشاره کنید. در مورد من ، من یک ماشین توسعه با IP 172.16.115.136 دارم و سرور توسعه دهنده Sinatra به پورت 5000 گوش می دهد ، بنابراین تنظیمات طرح من عبارتند از:
#تعریف HW_ID "123"#تعریف وب سایت "172.16.115.136:5000"#تعریف WEBPAGE "/get_message/"
این آدرس IP فقط برای دستگاه های موجود در شبکه خانگی من قابل دسترسی است.
تنظیم HW_ID نشان دهنده "شناسه سخت افزاری" است ، یعنی شناسه ای که Arduino کنترل کننده DMD خود را به آن در برنامه Sinatra می شناسد. این یک نوع احراز هویت بسیار اساسی است. برنامه وب پیامی را بر اساس HW_ID ارائه شده به Arduino تحویل می دهد. می توانید چندین دستگاه با HW_ID یکسان داشته باشید ، در این صورت همه دستگاه ها پیام یکسانی را نمایش می دهند. اگر "حریم خصوصی" می خواهید ، یک شناسه با تعداد زیادی کاراکتر تصادفی انتخاب کنید که دیگران نتوانند حدس بزنند. همچنین مراقب باشید ، هیچ ارتباطی رمزگذاری نمی شود.
حالا برنامه Sinatra خود را راه اندازی کنید ، این را تایپ کنید (با فرض اینکه در پوشه پروژه Sinatra هستید):
ruby web.rb
… و شما چیزی شبیه به این را خواهید دید (برخی از جزئیات ممکن است متفاوت باشد ، مادامی که این خراب نشود ، شما خوب هستید):
10:42:18 وب.1 | با pid 4911910 شروع شد: 42: 18 وب.1 | Puma 2.8.1 شروع… 10: 42: 18 وب.1 | * حداقل موضوعات: 0 ، حداکثر موضوع: 1610: 42: 18 وب. 1 | * محیط: توسعه 10: 42: 18 وب 1 | * گوش دادن در tcp: //0.0.0.0: 5000
مرورگر وب خود را به محلی که سرور به آن گوش می دهد ، نشان دهید و این را خواهید دید (پیوست دوم را ببینید).
طرح خود را در Arduino بارگذاری کنید ، مطمئن شوید که به شبکه محلی شما متصل است. اگر همه چیز خوب پیش رفت ، آردوینو در هر دقیقه یکبار از سرویس وب شما نظرسنجی می کند. به آن پیغام دهید تا نشان داده شود: در قسمت کد HW ، همان شناسه ای را که برای ثابت HW_ID در طرح تعیین کرده اید ، وارد کنید. در قسمت "پیام شما" هر چیزی را تایپ کرده و "Buzz؟" را علامت بزنید. چک باکس
ارسال کنید ، یک دقیقه صبر کنید و پیام خود را در DMD نشان دهید!
مرحله 12: با استفاده از Heroku روی ابر مستقر شوید
اکنون که Home Alert در حال توسعه است ، بیایید آن را بر روی Cloud کار کنیم. گزینه های بیشماری برای استقرار برنامه های تحت وب وجود دارد. بر اساس گستردگی و پیچیدگی Home Alert ، من تصمیم گرفتم که راه اندازی سرور خصوصی مجازی خودم ارزش تلاش را ندارد. در عوض ، بهتر است به سراغ سرویسی مانند Heroku ، میزبان برنامه بروید. برای مقیاس من ، سطح رایگان Heroku بیش از حد کافی است. حتی برای م Redلفه Redis ، من توانستم یک برنامه رایگان را از بین بسیاری از ارائه دهندگان Redis که با Heroku کار می کنند انتخاب کنم.
با این حال ، کمی تلاش وجود دارد ، که مربوط به کمی تغییر برنامه من است تا بتواند با مشخصات Heroku مطابقت داشته باشد. جزئیات در اینجا آمده است ، اما اساساً شما باید این فایلها را به پروژه Sinatra خود اضافه کنید (همه فایلهای بعدی را می توانید از حساب Github من بارگیری کنید):
* config.ru: به Heroku می گوید که کدام فایل حاوی برنامه است. اینم مطالب:
نیاز به './web'run Sinatra:: برنامه
خط اول به web.rb اشاره می کند و خط دوم در واقع برنامه شما را اجرا می کند.
* Gemfile: شامل Gems (بسته های کد روبی) است که توسط برنامه مورد نیاز است. Heroku داخل این فایل را بررسی می کند تا بفهمد چه کد دیگری برای نصب نیاز دارد تا برنامه شما کار کند. راه دیگر برای مشاهده Gemfile این است که لیستی از وابستگی ها برای پروژه شما را شامل می شود. اگر هر یک از این وابستگی ها در دسترس نباشد ، برنامه شما کار نمی کند. در اینجا چیزی است که در داخل Gemfile برای این برنامه وجود دارد:
منبع "https://rubygems.org" ruby "2.1.1" گوهر 'sinatra'gem' puma'gem 'redis'
اول ، مخزن منبع همه کد های Gem را به عنوان rubygems.org تنظیم می کند. در مرحله بعد ، برای اجرای برنامه از Ruby نسخه 2.1.1 استفاده می شود. سپس جواهرات مورد نیاز را فهرست می کند: Sinatra ، Puma (یک سرور برنامه کاربردی عالی Ruby) و Redis.
* Procfile: به Heroku می گوید که چگونه سرور خود را راه اندازی کند. در اینجا فقط یک خط وجود دارد:
وب: rackup -s puma -p $ PORT
این خط می گوید که "وب" تنها نوع سرویس مورد نیاز است (شما می توانید دیگران ، مانند "کارگر" را برای پردازش پس زمینه داشته باشید) و برای شروع سرویس Heroku باید از فرمان بعد از ":" استفاده کند.
شما می توانید با دنبال کردن این دنباله در ماشین توسعه خود ، کارهایی را که Heroku انجام می دهد شبیه سازی کنید (فقط قبل از پیکان تست را تایپ کنید ؛ آنچه که پیکان را دنبال می کند فقط توصیف فرمان است):
$> gem install bundler -> Bundler را نصب می کند ، که نحوه مدیریت Gemfile را می داند. $> نصب بسته -> Bundler Gemfile را پردازش می کند و وابستگی ها را نصب می کند. $> rackup config.ru -> Rackup ابزاری است که می تواند فایل config.ru را پردازش کند. معمولاً با نسخه بعدی Ruby عرضه می شود ، اگر آن را مانند این نصب نکند: gem install rack.
آخرین مرحله منجر به راه اندازی برنامه شما می شود. شما باید دقیقاً همان خروجی را ببینید که قبلاً آن را با ruby web.rb شروع کرده بودید. این همان برنامه در حال اجرا است ، فقط با این تفاوت که روش دوم نحوه شروع Heroku است.
ما تقریباً آماده ایم که این برنامه را در حساب Heroku شما مستقر کنیم. اگر هنوز آن را دریافت نکرده اید ، همین حالا اقدام کنید و یکی را ایجاد کنید. سپس ، راهنمای راه اندازی سریع را برای تنظیم حساب خود و ماشین توسعه محلی خود و به ویژه Heroku Toolbelt دنبال کنید.
Heroku Toolbelt سرویس گیرنده خط فرمان Heroku ، Git (سیستم مدیریت کد منبع باز) و Foreman (ابزار Ruby که به مدیریت برنامه های مبتنی بر Procfile کمک می کند) را نصب می کند.
پس از اتمام نصب Heroku Toolbelt طبق دستورالعمل های موجود در وب سایت Heroku ، مراحل زیر را دنبال کنید تا برنامه شما به کار گرفته شود (همه چیز در خط فرمان ، داخل فهرست برنامه تایپ می شود):
$> ورود heroku -> ورود به Heroku از طریق خط فرمان $> git init -> راه اندازی مخزن Git برای برنامه شما $> git add. -> (به نقطه توجه کنید!) همه فایلهای موجود در فهرست فعلی را به مخزن Git اضافه کنید $> git commit -m “init” -> این فایلها را به مخزن متصل کنید ، با یک پیام جدید $> heroku create -> ایجاد یک فایل جدید برنامه در Heroku. Heroku یک نام تصادفی به برنامه شما می دهد ، چیزی شبیه "blazing-galaxy-997". نام و نشانی اینترنتی را یادداشت کنید تا بعداً از طریق مرورگر وب خود به آن دسترسی پیدا کنید.این آدرس اینترنتی به این شکل خواهد بود: "https://blazing-galaxy-997.herokuapp.com/". شما همچنین باید نام میزبان (قسمت "blazing-galaxy-997.herokuapp.com") برنامه جدید خود را در ثابت WEBSITE طرح اسکیت آردوینو کپی کنید. همین حالا این کار را بکنید تا بعداً فراموش نکنید. $> افزونه heroku: add rediscloud -> ردیف رایگان سرویس Rediscloud Redis را به برنامه شما اضافه می کند. تنظیمات پیکربندی به طور خودکار ایجاد شده و در اختیار برنامه شما قرار می گیرد. $> git push heroku master -> کد خود را در Heroku قرار دهید. این به طور خودکار کد را منتقل می کند ، هر گونه وابستگی را به Heroku تنظیم می کند و برنامه را شروع می کند. در پایان فرآیند ، چیزی شبیه به این را مشاهده خواهید کرد: "https://blazing-galaxy-997.herokuapp.com در Heroku مستقر شده است" ، به این معنی که برنامه شما اکنون در ابر عمومی فعال است! تبریک می گویم!
برو جلو ، یک دور دیگر بزن!
مرحله 13: همه چیز را با هم ترکیب کنید
با نصب برنامه وب خود ، طرح به روز شده را در Arduino بارگذاری کنید (به یاد داشته باشید که ثابت WEBSITE را به روز کرده اید تا به نمونه تولید برنامه وب خود اشاره کنید).
از مرورگر خود برای دسترسی به برنامه خود در Heroku استفاده کنید. درست مانند مقدمه ، شناسه سخت افزاری خود را در اولین کادر متنی ، پیام خود را در کادر دوم تایپ کنید و کادر تأیید را فعال کنید تا زنگ صدا فعال شود.
اگر همه چیز خوب پیش رفت ، پیام شما در DMD یک دقیقه بعد ظاهر می شود!
مرحله 14: بالقوه
کارهای بیشتری می توانید با سیستم هشدار خانگی خود انجام دهید…
داشتن پشت سر Heroku به این معنی است که می توانید منطق زیادی اضافه کنید که می تواند عملکرد شگفت انگیزی را اضافه کند. به عنوان مثال ، می توانید برنامه را برای مدیریت اعلان های تکراری ، تأیید یا کنترل سخت افزارهای اعلان اضافی مانند چراغ های بارق و غیره اضافه کنید. می توانید آن را به قلمرو اتوماسیون خانه و کنترل چراغ ها و درها اضافه کنید. شما می توانید چندین DMD را برای نمایش پیام های مختلف در هر یک یا یک پیام واحد در نمایش بزرگتر ترکیبی اضافه کنید. من فقط سطح آنچه را که در اینجا ممکن است خراش می دهم!
لذت بردن!
توصیه شده:
سیستم زنگ هشدار پیام کوتاه تشخیص حرکت DIY: 5 مرحله (همراه با تصاویر)
DIY Motion Detection SMS SMS Alarm: در این پروژه من یک سنسور حرکت PIR ارزان را با یک ماژول TC35 GSM ترکیب می کنم تا یک سیستم هشدار ایجاد کنم که برای شما & quot؛ INTRUDER ALERT & quot؛ هر زمان که کسی سعی می کند وسایل شما را بدزدد پیامک ارسال کنید. بیایید شروع کنیم
پیام های شخصی نمایش چیزهای کوچک: 16 مرحله
پیام های شخصی که چیزهای کوچک را نشان می دهد: حدود ماه گذشته ، ما از دانش آموزان تازه وارد خود به این بخش استقبال می کردیم. دوستم به این فکر رسید که باید هدایایی برای آنها داشته باشیم و این برداشت من از این بابت است. یک روز طول کشید تا نحوه ساخت اولین مورد را آزمایش کنم ، سپس
صفحه پیام IoT RPi LED: 3 مرحله (همراه با تصاویر)
IoT RPi LED Message Board: در این دستورالعمل ، من با استفاده از Raspberry Pi (RPi) یک برد پیام LED متصل به وای فای ساخته ام. کاربران با استفاده از مرورگرهای خود به وب سرور Raspberry Pi متصل می شوند تا پیام های کوتاهی را که روی صفحه نمایش LED 8x8 نمایش داده می شود ، ارسال کنند. از آنجا که اینترفا
سیستم پیام LED بر روی دوچرخه تاشو Strida: 7 مرحله
سیستم پیام LED بر روی دوچرخه تاشو Strida: پس از خرید دوچرخه تاشو strida ، یکی از اولین کارهایی که انجام دادم این بود که برای هرگونه پروژه مرتبط با strida ، دستورالعمل های آموزشی را بررسی کنید. و بسیار شگفت زده شدم که دیدم هیچ چیزی وجود ندارد. بنابراین من قصد دارم یک دستورالعمل بسازم که بتواند
قاب پوستر صفحه لمسی روشن با پیام ناخودآگاه !: 16 مرحله (همراه با تصاویر)
قاب پوستر صفحه لمسی روشن با پیام زیرنویس! پوسترها ، من می دانستم که باید مجموعه ای برای خودم داشته باشم. چند هفته پیش سرانجام آنها را گرفتم ، اما با یک معضل روبرو شدم: چگونه آنها را روی دیوار خود نصب کنم؟ چطور انجام دادن