فهرست مطالب:
- تدارکات
- مرحله 1: Twilio برای WhatsApp
- مرحله 2: نحوه ایجاد یک مرکز اتصال برای مدیریت انتقال داده ها
- مرحله 3: ویژگی ها
تصویری: Loactor با اینکه آیا گزارش زنده با استفاده از چت ربات: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
از طریق WhatsApp ، متغیرها (موقعیت ، ارتفاع ، فشار …) را از NodeMCU به صورت درخواست دریافت کنید یا دستورات را از طریق API Twilio به NodeMCU ارسال کنید.
چند هفته ای است که من با API Twilio ، مخصوصاً برای پیام های WhatsApp ، کار می کنم و حتی پروژه ای ارسال کردم که متغیرهای NodeMCU را به تلفن من ارسال می کند. اما ، پروژه قبلی من فقط ارسال بسته های داده به تلفن به صورت پیام های واتساپ به صورت دوره ای بود. به و ، من مصمم بودم که ایده نوپای خود را در نظر بگیرم و آن را با استفاده از پیام های پاسخ WhatsApp و پایگاه داده MySQL بهبود دهم و بنابراین این پروژه را ایجاد کردم. به این ترتیب ، NodeMCU متغیرهایی را به عنوان پیام های WhatsApp به تلفن منتقل می کند که کاربر آنها را درخواست کرده یا از طریق WhatsApp از کاربر دستوراتی دریافت می کند. برای مدیریت آن ، من یک برنامه وب در PHP ایجاد کردم که تشخیص می داد پیام WhatsApp ارسال شده است یا خیر و بسته به کلمه کلیدی در متن ، پیام را پاسخ می دهد. این برنامه با نام مرکز ارتباط دو طرفه WhatsApp ، همه متغیرهای منتقل شده از NodeMCU و دستورات دریافت شده از WhatsApp را در پایگاه داده اختصاصی MySQL ذخیره می کند و بنابراین در صورت درخواست چیزی ، فوراً با کاربر و NodeMCU ارتباط برقرار می کند. اگر می خواهید از localhost یا سرور خود به جای TheAmplituhedron برای ایجاد یک مرکز اتصال استفاده کنید ، کد منبع برنامه زیر را به اشتراک گذاشتم ، اما ابتدا باید Twilio Helper Library را در فهرست خود بارگیری کنید. در این پروژه ، می خواستم ربات نقشه برداری و پیش بینی آب و هوا که دما ، فشار ، ارتفاع ، عرض جغرافیایی و طول جغرافیایی را در صورت درخواست به عنوان پیام پاسخ WhatsApp ارسال می کند و با دادن دستورات از طریق WhatsApp پایگاه را کنترل می کند. برای جمع آوری داده ها ، تصمیم گرفتم از یک سنسور فشار و دما BMP180 و یک ماژول GPS GY-NEO6MV2 استفاده کنم و برای کنترل از راه دور و قابل کنترل ، از یک درایور موتور L298N و دو کیت موتور و DC به همراه یک کاستور توپ استفاده کردم.
همچنین می توانید مکان ایجاد شده توسط ماژول GPS را در Google Maps از طریق WhatsApp مشاهده کنید.
تدارکات
- اجزای سخت افزاری
- NodeMCU ESP8266 Breakout Board × 1
- NodeMCU LoLin ESP8266 Base Shield × 1
- ماژول GPS GY-NEO6MV2 × 1
- سنسور فشار SparkFun BMP180 × 1
- درایور موتور L298N × 1
- کیت چرخ و موتور DC × 2
- Ball Caster × 1 دارنده باتری ، AA x 8 × 1
- Breadboard SparkFun Solder -able - Mini 1 ×
- سیم بلوز نر/مونث × 1 سیم بلوز نر/نر
برنامه های نرم افزاری و خدمات آنلاین
- آردوینو IDE
- API Twilio برای WhatsApp
مرحله 1: Twilio برای WhatsApp
برای ارسال پیام های WhatsApp از طریق API Twilio ، تنها کاری که باید انجام دهید این است که در یک حساب آزمایشی Twilio ثبت نام کنید.
پس از ثبت نام ، با SID و Auth Token خود می توانید بدون هیچ هزینه ای از Twilio API برای WhatsApp استفاده کنید. همانطور که در Twilio توضیح داده شد ، برای شروع پیامهای قالب API و WhatsApp ، باید با یک شماره تلفن مشترک به تلفن خود بپیوندید. مهم: برای اینکه بتوانید به پیام های واتس اپ از تلفن تأیید شده خود پاسخ دهید ، باید آدرس پایانی پیش فرض برنامه Twilio خود را در Sandbox با مسیر هاب اتصال خود تغییر دهید.
مرحله 2: نحوه ایجاد یک مرکز اتصال برای مدیریت انتقال داده ها
من یک برنامه وب برنامه ریزی کردم ، به نام WhatsApp Two-Way Connection Hub ، که به شما امکان می دهد به پیامهای WhatsApp که از یک شماره تلفن تأیید شده توسط یک برنامه Twilio می آید پاسخ دهید تا متغیرها را از NodeMCU یا هر دستگاه دیگری که می تواند درخواست HTTP ارائه دهد دریافت کنید ، به عنوان پیام های WhatsApp و ارسال دستورات به دستگاه.
این برنامه داده هایی را که از دستگاه به طور موقت در سرور اختصاصی MySQL ذخیره می شود ذخیره می کند ، بنابراین نیازی نیست هر بار که داده های درخواست شده توسط کاربر درخواست می شود ، متغیرهای فعلی را از دستگاه فراخوانی کنید. برای ثبت صحیح متغیرها از دستگاه ، باید متغیرها را از طریق درخواست HTTP به مسیر هاب اتصال منحصر به فرد خود ارسال کنید. مهم: برای اینکه بتوانید از برنامه استفاده کنید ، باید URL پایانی پیش فرض برنامه Twilio خود را در Sandbox با مسیر هاب اتصال خود که توسط TheAmplituhedron API با hedron ایجاد شده است ، تغییر دهید.
هنگامی که یک کلمه کلیدی خاص را وارد می کنید ، که می توانید در زیر برای هر داده در پایگاه داده اختصاصی خود در WhatsApp وارد کنید ، این برنامه با ارسال متغیر درخواستی مرتبط با کلمه کلیدی به تلفن شما یا انتقال دستورات به دستگاه به آن پیام پاسخ می دهد. در پایگاه داده: Data_1 ، Data_2 ، Data_3 ، Data_4 ، Data_5 ، Data_6 ، Command
- دما -> دریافت Data_1
- فشار -> دریافت داده ها_2
- ارتفاع -> دریافت داده ها_3
- تاریخ -> دریافت داده ها_4
- زمان -> دریافت داده ها_5
- عرض جغرافیایی و طول جغرافیایی -> دریافت داده ها_6
- مکان نقشه -> پیوند Google Maps را با استفاده از اطلاعات GPS دریافت کنید
- برو مستقیم -> خود را به عنوان یک فرمان به دستگاه ارسال کنید
- برگردید -> خود را به عنوان یک فرمان به دستگاه ارسال کنید
- برو راست -> خود را به عنوان یک فرمان به دستگاه ارسال کنید
- برو چپ -> خود را به عنوان یک فرمان به دستگاه ارسال کنید
- توقف -> خود را به عنوان یک فرمان به دستگاه ارسال کنید
- برنامه ریزی شده توسط
- در باره
- چطوری؟
- اطلاعات بیشتر
- ContactSpidey -> آزمایش انتقال رسانه
- بتمن -> آزمایش انتقال رسانه
- راهنما -> همه کلمات کلیدی را چاپ کنید
یادآوری: مرکز اتصال دو طرفه WhatsApp منبع باز است. اگر نمی خواهید از TheAmplituhedron به جای localhost یا سرور خود در پروژه های خود استفاده کنید ، می توانید کد منبع زیر را بارگیری کرده و در نتیجه کلمات کلیدی را با ایجاد برنامه اتصال مرکز خود در سرور خود تخصص دهید.
مرحله 3: ویژگی ها
- اطلاعات ، تاریخ ، عرض جغرافیایی و طول جغرافیایی تولید شده توسط ماژول GPS GY-NEO6MV2 را جمع آوری کنید.
- دما ، فشار و ارتفاع را از سنسور فشار BMP180 دریافت کنید.
- برای انتقال متغیرها به پایگاه داده و دریافت فرمان از پایگاه داده به عنوان پاسخ ، یک درخواست HTTP دریافت کنید.
- بسته به دستور ، درایور موتور L298N را کنترل کنید.
- تمام فرآیندهای موجود در مانیتور سریال را کنترل کنید.
- پیامهای پاسخ را برای نمایش متغیرهای ذخیره شده در پایگاه داده مطابق درخواست از طریق WhatsApp استخراج کنید یا با ارسال فرمان در WhatsApp به دستگاه دستوراتی بدهید.
توصیه شده:
AvoRipe - بررسی اینکه آیا آووکادوی شما رسیده است: 8 مرحله (همراه با تصاویر)
AvoRipe - بررسی اینکه آیا آووکادوی شما رسیده است: برای همه اتفاق افتاده است ، شما یک آووکادو خریداری می کنید ، هنوز نرسیده است. چند روز می گذرد ، و وقتی رسیده است شما آن را فراموش کرده اید … و در چند روز ، ممکن است بد شود! خوش شانس برای شما ما AvoRipe را طراحی کردیم و ساختیم ، دستگاهی که آووک شما را بررسی می کند
گزارش زنده Covid با استفاده از تمشک پای: 6 مرحله
گزارش زنده Covid با استفاده از تمشک پای: همانطور که می دانیم تمام جهان تحت تأثیر همه گیری COVID-19 قرار گرفته است و تقریباً همه در خانه کار می کنند. همه ما باید در بهترین حالت از این مدت استفاده کنیم ، تا مهارت های فنی خود را افزایش دهیم یا چند اسکریپت پایتونی خوب بنویسیم. بیایید یک پایتون ساده را ببینیم
ربات شادی (Robô Da Alegria) - ربات منبع باز 3D چاپ شده ، ربات Arduino !: 18 مرحله (همراه با تصاویر)
ربات شادی (Robô Da Alegria) - ربات منبع باز سه بعدی ، ربات قدرتمند Arduino!: جایزه اول در مسابقه چرخ های دستورالعمل ، جایزه دوم در مسابقه دستورالعمل های آردوینو و دومین مسابقه در طراحی برای کودکان. با تشکر از همه کسانی که به ما رای دادند! روبات ها به همه جا می رسند. از کاربردهای صنعتی تا
گزارش آب و هوا با استفاده از برنامه های کاربردی ThingSpeak MQTT و IFTTT: 8 مرحله
گزارش آب و هوا با استفاده از ThletSpeak MQTT و IFTTT Applets: مقدمه یک برنامه آب و هوایی مبتنی بر ابر که گزارشات روزانه آب و هوا را به عنوان اطلاع رسانی ایمیل ارائه می دهد. این وب برنامه دما و رطوبت را با استفاده از SHT25 و Adafruit Huzzah ESP8266 اندازه گیری می کند. این دما و رطوبت در زمان واقعی را برای ما فراهم می کند
خودتان را متقاعد کنید که فقط از یک اینورتر 12 ولت به AC برای سیمهای LED استفاده کنید به جای اینکه آنها را برای 12 ولت دوباره وصل کنید: 3 مرحله
خودتان را متقاعد کنید که فقط از یک اینورتر 12 ولت به AC برای سیمهای LED استفاده کنید به جای اینکه آنها را برای 12 ولت دوباره وصل کنید: برنامه من ساده بود. من می خواستم یک سیم نور LED دیواری را به قطعات تقسیم کنم و سپس آن را دوباره سیم کشی کنم تا 12 ولت خاموش شود. روش جایگزین استفاده از اینورتر قدرت بود ، اما همه می دانیم که آنها بسیار ناکارآمد هستند ، درست است؟ درست؟ یا هستند؟