فهرست مطالب:

کنترل از راه دور پیامک قابل اطمینان ، ایمن ، قابل تنظیم (Arduino/pfodApp) - نیازی به کد نویسی نیست: 4 مرحله
کنترل از راه دور پیامک قابل اطمینان ، ایمن ، قابل تنظیم (Arduino/pfodApp) - نیازی به کد نویسی نیست: 4 مرحله

تصویری: کنترل از راه دور پیامک قابل اطمینان ، ایمن ، قابل تنظیم (Arduino/pfodApp) - نیازی به کد نویسی نیست: 4 مرحله

تصویری: کنترل از راه دور پیامک قابل اطمینان ، ایمن ، قابل تنظیم (Arduino/pfodApp) - نیازی به کد نویسی نیست: 4 مرحله
تصویری: این تنظیمات آیفون را همین حالا تغییر دهید ⛔❗ 2024, جولای
Anonim
کنترل از راه دور پیامک قابل اطمینان ، امن ، قابل تنظیم (Arduino/pfodApp) - نیازی به کد نویسی نیست
کنترل از راه دور پیامک قابل اطمینان ، امن ، قابل تنظیم (Arduino/pfodApp) - نیازی به کد نویسی نیست

به روز رسانی 6 ژوئیه 2018: نسخه 3G/2G این پروژه ، با استفاده از SIM5320 ، در اینجا موجود است

به روز رسانی: 19 مه 2015: از کتابخانه pfodParser نسخه 2.5 یا بالاتر استفاده کنید. این مشکل گزارش شده عدم اجازه زمان کافی برای اتصال سپر به شبکه پس از روشن شدن را برطرف می کند

معرفی

تفاوت کنترل از راه دور pfodSMS با سایر برنامه ها:-

  • قابل اعتماد است-دستورات همیشه پاسخ داده می شوند و پیام های از دست رفته دوباره درخواست می شوند
  • امن است - از رمز عبور 128 بیتی محافظت می کند
  • نیازی به حساب خدمات وب شخص ثالث ندارد - فقط به سیم کارت فعال (بدون پین) نیاز دارد
  • قابل تنظیم است - می توانید از pfodDesigner برای ایجاد منوی دلخواه خود استفاده کنید
  • این آسان است - pfodDesigner تمام کد را تولید می کند. نیازی به کد نویسی ندارید.
  • قابل انعطاف است-همه صفحات pfod از طریق پیام کوتاه مانند زیر منوها ، لیست انتخاب چندگانه و تک ، وارد کردن متن ، ثبت داده ها و ترسیم آنها در دسترس هستند.

برای اطمینان از قابلیت اطمینان اتصال پیامک ، به طراحی پیام pfodSMS مراجعه کنید. برای جزئیات بیشتر در مورد امنیت 128 بیتی ، Challenge and Response Security for pfodDevices متصل به اینترنت را ببینید. برای اطلاع از جزئیات طراحی منوی سفارشی خود به منوی pfodDesigner ، Android / Arduino مراجعه کنید. برای اطلاع از جزئیات همه پیام ها و صفحه های pfod که می توانید خودتان اضافه کنید ، pfodSpecification.pdf را ببینید.

پروژه نمونه - SMS کنترل آب گرم

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

مرحله 1: شروع سریع - کنترل از راه دور SMS

شروع سریع - کنترل از راه دور SMS
شروع سریع - کنترل از راه دور SMS
شروع سریع - کنترل از راه دور SMS
شروع سریع - کنترل از راه دور SMS

در اینجا یک راهنمای شروع سریع برای ایجاد کنترل آب گرم پیامکی خود است.

  1. قطعات موجود در این لیست را خریداری کنید..
  2. Arduino IDE نسخه 1.5.8 را نصب کرده و کتابخانه pfodParser را بارگیری و نصب کنید.
  3. pfodDesigner رایگان را بارگیری کنید.
  4. منوی سفارشی خود را برای روشن و خاموش کردن ورودی دیجیتال از نوار لغزنده منو در تلفن همراه Android خود طراحی کنید.
  5. کد را ایجاد کنید و SeeedStudio SIM900 GPRS shield را به عنوان اتصال انتخاب کنید. (همچنین گزینه ای برای سپر IteadStudio SIM900 وجود دارد).
  6. کد تولید شده را از تلفن همراه خود به IDE منتقل کنید (برای جزئیات به pfodAppForAndroidGettingStarted.pdf مراجعه کنید) ، رمز عبور مخفی خود را اضافه کرده ، کامپایل کرده و به Arduino Mega 2560 بارگیری کنید.
  7. سیم کارت خود را در سپر GPRS نصب کرده و سپر را به Mega 2560 وصل کنید. مطمئن شوید پیوندهای سریال مطابق تصویر بالا روی Hardware Serial تنظیم شده اند.
  8. خروجی دیجیتال را به رله حالت جامد یا معمولی بین D3 و GND (یا پینی که در pfodDesigner انتخاب کرده اید) وصل کنید. برای مشاهده جزئیات بیشتر در مورد رله ، نحوه افزودن رله ها به آردوینو را ببینید.
  9. برق USB را به Mega اعمال کنید. کد کتابخانه سپر GPRS را برای شما تقویت می کند.
  10. pfodApp را بر روی تلفن همراه Android خود نصب کرده و یک اتصال پیامکی به شماره سیم سیم شیلد شماره شماره 8 تنظیم کنید. (برای جزئیات به pfodAppForAndroidGettingStarted.pdf مراجعه کنید). در صورت افزودن رمز عبور ، اتصال را تعیین کنید..
  11. متصل شوید و منوی سفارشی خود را از طریق پیامک نمایش دهید. برای روشن یا خاموش شدن رله روی دکمه کلیک کنید..
  12. از برقکار خود بخواهید که رله را در مدار آب گرم شما نصب کند و منبع تغذیه USB را برای تغذیه مگا و سپر متصل کند

مرحله 2: جزئیات بیشتر

pfodDesigner

pfodDesigner تمام کد مورد نیاز برای روشن و خاموش کردن حالت جامد یا برخی از رله های دیگر را تولید می کند ، اما اتصال پیامک در کتابخانه pfodParser از تمام صفحه های pfod پشتیبانی می کند ، بنابراین هنگامی که شروع به کار می کنید ، می توانید زیر منوها ، اسلایدرهای عددی ، اضافه کنید. لغزنده های چند متن ، صفحه های ورودی متن ، ثبت اطلاعات و ترسیم همه از طریق پیامک. برای مشاهده همه صفحه ها و پیام های پشتیبانی شده ، pfodSpecification.pdf را بررسی کنید.

کد تولید شده در اینجا است. این برنامه فوری ندارد و فقط یک کلید برای کوتاه نگه داشتن پیام دارد. منوهای طولانی از طریق پیامک های متعدد SMS ارسال می شوند که رسیدن آنها بیشتر طول می کشد. اگر منوی طولانی دارید ، کد اتصال sms موجود در کتابخانه pfodParser همه اینها را برای شما انجام می دهد.

برای افزودن رمز عبور به اتصال پیامک ، خط را اصلاح کنید

parser.connect (& pfodSMS)؛ // تجزیه کننده را به جریان SMS متصل کنید تا چیزی مانند parser.connect (& pfodSMS، F ("173057F7A706AF9BBE65D51122A14CEE")) ؛

اما از رمز عبور خود تا حداکثر 32 رقم شش ضلعی ، 0..9 A.. F استفاده کنید. گذرواژه های کوتاهتر از 32 رقم شش ضلعی با 0 وارد می شوند. برای ایجاد یک گذرواژه تصادفی و خروجی آن در کد QR برای ورودی آسان به Android خود ، به A Simple Wifi/Internet pfodDevice با امنیت 128 بیت (Arduino) مراجعه کنید. همچنین pfodAppForAndroidGettingStarted.pdf را ببینید

pfodDesigner همچنین کد اتصال بلوتوث و wifi را از طریق سریال و اترنت از طریق SPI با امنیت 128 بیت اختیاری تولید می کند.

pfodApp

اولین چیزی که باید بدانید این است که پیام کوتاه SMS است و ممکن است اصلاً به آنجا نرسد یا از کار بیفتد. بنابراین هنگامی که با pfodApp ارتباط برقرار می کنید ، قبل از پاسخگویی پیامکی تأخیر ایجاد می شود. در صورت گم شدن یا تأخیر پیام ، pfodApp پس از 3 دقیقه به طور خودکار مجدداً آن را ارسال می کند. پس از 5 بار دیگر ، pfodApp به شما می گوید اتصال قطع شده است. می توانید زمان 3 دقیقه را در صفحه ویرایش اتصال pfodApp تنظیم کنید.

اگر گذرواژه ای اضافه کنید ، قبل از دریافت منوی اصلی توسط pfodApp ، شش پیام کوتاه (هر کدام سه پیام) وجود دارد. این پیامهای اضافی فقط در اتصال اولیه رخ می دهد و پس از آن هیچ پیام اضافی هنگام استفاده از رمز عبور وجود ندارد. بنابراین بدون گذرواژه شروع کنید تا ببینید همه چیز کار می کند و سپس بعداً رمز عبور را اضافه کنید.

سپر SMS/GPRS

مشکلات احتمالی این است که سیم کارت ها با شماره پین محافظت می شوند یا مجوز اتصال به شبکه را ندارند. کتابخانه pfod به طور خودکار سپر GPRS را فعال می کند و به دنبال پاسخ "آماده تماس" است. اگر این پاسخ نرسید ، کتابخانه خاموش می شود و دوباره امتحان می شود ، بنابراین اگر می بینید چراغ برق روی سپر GPRS برای 20 ثانیه روشن می شود و سپس خاموش می شود ، مشکلی در اتصال به شبکه وجود دارد. سیم کارت را بیرون بیاورید و آن را در یک گوشی معمولی امتحان کنید. بررسی کنید که شماره پین از شما درخواست نمی شود.

اگر این مشکل نیست ، باید اشکال زدایی راه اندازی را ، همانطور که در زیر توضیح داده شده است ، روشن کنید تا ببینید چه اتفاقی می افتد.

تغذیه سپر مگا / GPRS

سپر تا 2A پالس و تا 0.5A به طور مداوم می کشد. با فرض منبع تغذیه باتری 12 ولت ، 0.5A از ظرفیت منبع تغذیه مگا فراتر می رود. بنابراین این سپر نباید از ورودی 7 ولت تا 12 ولت در مگا تغذیه شود. جایگزین این است که مگا و محافظ را از طریق اتصال USB تغذیه کنید. من از منبع USB 1A استفاده کردم. برای آزمایش ، از یک هاب مجهز به Belkin (F4U020) برای جلوگیری از خروج جریان زیاد از پورت USB رایانه خود استفاده کردم.

برای منبع تغذیه باتری 12 ولت ، پیشنهاد می کنم از یک شارژر USB 5V اتوماتیک با کیفیت 1A یا بالاتر استفاده کنید. یک منبع تغذیه USB 5V با کیفیت باید طوری طراحی شود که بتواند از افزایش ولتاژ در سیستم های الکتریکی خودرو جلوگیری کند و بنابراین باید برای اکثر سیستم های شارژ 12 ولت مناسب باشد.

رله حالت جامد

از آنجا که این پروژه مثال یک گرمکن آب گرم (بار مقاومتی) را کنترل می کند ، یک رله حالت جامد ایده آل است. اگر می خواهید موتورها را روشن یا خاموش کنید ، ژنراتورها را راه اندازی کنید و غیره ، با برقکار خود در مورد یک رله مناسب برای کار صحبت کنید. اگر به رله قدرت بالا نیاز دارید می توانید از یک درایو رله کوچک در برد آردوینو برای روشن و خاموش کردن رله قدرت استفاده کنید.

نسخه های زیادی از رله حالت جامد موجود است. اطمینان حاصل کنید که می توانید جریان و ولتاژ بخاری خود را کنترل کنید و توسط 5 ولت DC و چند میلی آمپر از پین خروجی آردوینو قابل کنترل است. چیزی که در اینجا استفاده می شود ، FOTEK SSR-40 DA ، تا 380VAC را در 40 آمپر تغییر می دهد و توسط هر چیزی بیش از 3 ولت DC کنترل می شود و کمتر از 7 میلی آمپر مصرف می کند.

شما باید از یک هیت سینک استفاده کنید و قبل از اتصال آن به هیت سینک ، یک اسمیر نازک از ترکیب هیت سینک یا گریس حرارتی را در پشت رله حالت جامد بمالید. ایده این است که سطح را با نازک ترین لایه ترکیب سینک سرپوش بپوشانید تا دره های میکروسکوپی سطح فلز را پر کنید. هنگامی که سوئیچ حالت جامد روشن می شود ، 1.6 ولت کاهش می یابد که 16 وات گرما در 10 آمپر تولید می کند. سینک حرارتی باید از شر این گرما خلاص شود بنابراین باید در هوای آزاد نصب شود نه داخل یک جعبه پلاستیکی.

تاخیرها بد هستند

سپر GPRS پیام های SMS را از طریق اتصال سریال در هر زمان ارسال می کند و حلقه اصلی شما () باید cmd = parser.parse () را فراخوانی کند ؛ اغلب برای پردازش داده های سریال قبل از پر شدن بافر 64 بیتی در کتابخانه آردوینو و از بین رفتن اطلاعات به

بنابراین شما باید حلقه اصلی () خود را سریع اجرا کنید. هرگز نباید از تاخیر () استفاده کنید و باید بررسی کنید که هیچ یک از کتابخانه هایی که استفاده می کنید تأخیر در آنها وجود ندارد. با استفاده از نرخ پیش فرض 19200 سیم کارت SIM900 از طریق سریال سخت افزار ، افزایش حجم بافر در کد کتابخانه آردوینو را ضروری ندانستم. من از Serial Software استفاده نمی کنم ، فقط Serial و Serial1 ، اتصالات Serial Hardware و تقریباً همه پیام هایی که pfodApp می فرستد بسیار کوچک هستند ، 10 یا 12 بایت. با این حال ، در صورت تمایل ، می توانید بافر آردوینو را با تغییر تعریف در HardwareSerial.h از #تعریف SERIAL_BUFFER_SIZE 64 به #تعریف SERIAL_BUFFER_SIZE 128 افزایش دهید.

با این حال ، آنچه من دریافت کردم این بود که اگر خروجی اشکال زدایی را فعال کنم ، همانطور که در زیر توضیح داده شده است ، باید نرخ باود بسیار بالایی برای اتصال ترمینال داشته باشم ، در غیر این صورت تأخیر ایجاد شده توسط ارسال پیام های اشکال زدایی به ترمینال باعث از دست رفتن بخش هایی از پیام های SMS می شود. به

نصب و راه اندازی

من یک سپر ترمینال پیچ را اضافه کردم تا بتوانم سیمهای رله حالت جامد را به آن وصل کنم. هنوز به برقکارم کنترلر نصب نکرده ام. لازم است آن را در یک جعبه عایق قرار دهید ، اما با گرمکنی که از شکاف خارج شده و به سیم برق آب گرم متصل می شود.

مرحله 3: پیشنهادهایی برای پیشرفت های بیشتر - هشدارها ، ثبت داده ها و ترسیم

نمونه پروژه فوق نحوه روشن یا خاموش شدن آب را نشان می دهد و به شما امکان می دهد آن را تغییر دهید. اما اتصال SMS همه پیام های pfod را کنترل می کند (به pfodSpecification.pdf مراجعه کنید)

اگر سنسور دما را به آردوینو خود اضافه کردید ، همچنین می توانید مانیتور دما را ارسال کرده و در فواصل منظم قرائت ها را ارسال کنید. برای ارسال اطلاعات خوانده شده در مورد بلوتوث ، فای یا پیامک یکسان است ، فقط کافی است کد را مانند نمونه زیر اضافه کنید. برای جزئیات بیشتر و نمونه هایی از ورود و ترسیم داده ها به Data Loging and Plotting مراجعه کنید.

parser.println (زمان) ؛ parser.print ('،') ؛ parser.println (دما) ؛

هنگامی که کتابخانه pfodSMS خط جدید println () را مشاهده می کند ، داده های خام را به صورت پیامک ارسال می کند. در تلفن همراه خود ، فقط کافی است pfodApp را در پس زمینه فعال بگذارید و وقتی پیامکی دریافت می شود ، تلفن همراه شما به شما اطلاع می دهد. دوباره pfodApp را باز کنید تا به جلو بیاید و سپس صفحه Raw Data را از منوی تلفن همراه باز کنید تا داده ها را مشاهده کنید. توجه: پیام های pfodSMS دارای کاراکتر UTF-8 به همراه شماره اتصال و شماره پیام هستند که با استفاده از کدگذاری Base64 کدگذاری می کنند تا شبیه متن معمولی نباشند. برای همه جزئیات به طراحی پیام pfodSMS مراجعه کنید.

هنگامی که چیزی از راه دور تغییر می کند ، می توانید از همین فرایند برای ارسال هشدار استفاده کنید. یعنی parser.println (F ("دمای خارج از 0 ℃")) ؛ توجه: نویسه ℃ UTF-8 در رشته. pfodSMS تمام کاراکترهای UTF-8 را به pfodApp منتقل می کند.

مرحله 4: اشکال زدایی هنگام استفاده از اتصال SMS در کتابخانه PfodParser

اشکال زدایی هنگام استفاده از اتصال SMS در کتابخانه PfodParser
اشکال زدایی هنگام استفاده از اتصال SMS در کتابخانه PfodParser
اشکال زدایی هنگام استفاده از اتصال SMS در کتابخانه PfodParser
اشکال زدایی هنگام استفاده از اتصال SMS در کتابخانه PfodParser

pfodDesigner کدی را تولید می کند که کار می کند ، اما ممکن است بخواهید کد اضافی خود را اشکال زدایی کنید یا به اتفاقاتی که در حین راه اندازی GPRS یا دریافت پیام های SMS می افتد نگاه کنید. چند رویکرد وجود دارد که می توانید انجام دهید.

اشکال زدایی کد خود

اگر در حال اشکال زدایی کد خود هستید ، می توانید خط pfodSMS را کامنت کنید و تجزیه کننده را به Serial وصل کنید ، سپس سپر GPRS را برداشته و Mega را از پایانه آردوینو اجرا کنید. یعنی setup () را به

//pfodSMS.init(&Serial ، 9) ؛ // GPRS shield parser.connect (& Serial) را راه اندازی نکنید. // تجزیه کننده را به جای جریان SMS به سریال متصل کنید

سپس از ترمینال آردوینو می توانید {.} را تایپ کنید تا Mega منوی اصلی را برگرداند و سپس فرمان برگشتی را که می خواهید اجرا کنید ارسال کنید ، به عنوان مثال. {A`1} برای روشن کردن رله و {A`0} برای خاموش کردن آن. (وقتی روی نوار لغزنده کلیک می کنید pfodApp معمولاً این پیام ها را برای شما ارسال می کند.) سپس اشکال زدایی اضافی parser.println () را اضافه کنید تا بر روی کد اضافی که اضافه کرده اید نظارت کنید.

نظارت بر سپر GPRS

اگر می خواهید ببینید سپر GPRS چه می کند. نحوه شروع به کار ، دریافت پیامک های SMS و غیره سپس باید سیم کشی سپر را تغییر دهید و آن را به Mega Serial1 (سریال شماره 1) متصل کرده و اتصال Serial (USB) را برای خروجی اشکال زدایی به Arduino IDE Monitor آزاد کنید.

برای اتصال سپر GPRS به Mega 2560 Serial1 ، پیوندهای نشان داده شده در بالا را حذف کرده و سیم ها را به پین های Mega's TX1 و RX1 اضافه کنید.

سپس کد setup () را به

void setup () {Serial1.begin (19200)؛ // تغییر سریال به سریال 1 Serial.begin (57600) ؛ // به سرعت باود سریع برای پورت سریال USB // به مانیتور Arduino IDE توجه کنید. برای (int i = 3؛ i> 0؛ i--) {// چند ثانیه صبر کنید تا ببینیم آیا برنامه ریزی شده با تاخیر برنامه ریزی شده است (1000) ؛ } pinMode (cmd_A_pin ، OUTPUT) ؛ pfodSMS.setDebugStream (و سریال) ؛ // باید این کار را قبل از pfod_SMS.init // یا هر روش pfod_SMS دیگری انجام دهید // پیامک را اولیه کنید و تجزیه کننده را وصل کنید // خط بعدی را به Serial1 pfodSMS.init تغییر دهید (& Serial1، 9)؛ // به جای Serial parser.setDebugStream (& Serial) ، Seeed GPRS shield V2 را به Serial1 وصل کنید. // باید قبل از parser.connect // یا هر روش تجزیه کننده دیگری با parser.connect تماس بگیرید (& pfodSMS)؛ // تجزیه کننده را به جریان پیامک متصل کنید}

اکنون می توانید برخی از تنظیمات Debug را در کتابخانه pfodParser به آدرس فایل pfodSMS_SIM900.cpp کامنت گذاری کنید.

به عنوان مثال بدون اظهار نظر #تعریف DEBUG_SETUP (در جریان اشکال زدایی) آنچه در حین قدرت بخشیدن به سپر GPRS و آماده سازی آن برای دریافت پیام های SMS ارسال می شود ، چاپ می شود.

بدون تعریف #DEBUG اطلاعات زیادی در مورد پیام های دریافتی SMS ارائه می دهد.

خودشه !

توصیه شده: