جدول المحتويات:

جهاز تحكم عن بعد SMS موثوق وآمن وقابل للتخصيص (Arduino / pfodApp) - لا يلزم تشفير: 4 خطوات
جهاز تحكم عن بعد SMS موثوق وآمن وقابل للتخصيص (Arduino / pfodApp) - لا يلزم تشفير: 4 خطوات

فيديو: جهاز تحكم عن بعد SMS موثوق وآمن وقابل للتخصيص (Arduino / pfodApp) - لا يلزم تشفير: 4 خطوات

فيديو: جهاز تحكم عن بعد SMS موثوق وآمن وقابل للتخصيص (Arduino / pfodApp) - لا يلزم تشفير: 4 خطوات
فيديو: شرح اقوي تطبيق الرقابة الابوية لاجهزة ابناءك | التحكم بالكامل فى اى جهاز عن بعد !! 2024, يوليو
Anonim
جهاز تحكم عن بعد SMS موثوق وآمن وقابل للتخصيص (Arduino / pfodApp) - لا يلزم تشفير
جهاز تحكم عن بعد SMS موثوق وآمن وقابل للتخصيص (Arduino / pfodApp) - لا يلزم تشفير

تحديث 6 يوليو 2018: نسخة 3G / 2G من هذا المشروع ، باستخدام SIM5320 ، متاحة هنا

تحديث: 19 مايو 2015: استخدم مكتبة pfodParser الإصدار 2.5 أو أعلى. يعمل على إصلاح مشكلة تم الإبلاغ عنها تتمثل في عدم إتاحة الوقت الكافي للدرع للاتصال بالشبكة بعد التشغيل

مقدمة

كيف يختلف جهاز التحكم عن بعد pfodSMS عن التطبيقات الأخرى: -

  • يمكن الاعتماد عليه - يتم دائمًا الرد على الأوامر وإعادة طلب الرسائل المفقودة
  • إنه آمن - يستخدم حماية كلمة مرور 128 بت
  • لا يتطلب أي حسابات خدمة ويب تابعة لجهات خارجية - يحتاج فقط إلى بطاقة SIM نشطة (بدون رقم تعريف شخصي)
  • إنه قابل للتخصيص - يمكنك استخدام pfodDesigner لإنشاء قائمة مخصصة لك
  • إنه سهل - يقوم pfodDesigner بإنشاء كل التعليمات البرمجية. لا تحتاج إلى القيام بأي ترميز.
  • إنه مرن - جميع شاشات pfod متاحة عبر الرسائل القصيرة ، مثل القوائم الفرعية ، وقائمة الاختيار المتعددة والمفردة ، وإدخال النص ، وتسجيل البيانات ، والتخطيط.

انظر تصميم رسالة pfodSMS لمعرفة كيفية جعل اتصال SMS موثوقًا. راجع أمان التحدي والاستجابة لأجهزة pfodDevices المتصلة بالإنترنت للحصول على تفاصيل أمان 128 بت. راجع pfodDesigner ، أصبحت قوائم Android / Arduino بسيطة للحصول على تفاصيل حول تصميم القائمة المخصصة الخاصة بك. راجع pfodSpecification.pdf للحصول على تفاصيل جميع رسائل وشاشات pfod التي يمكنك إضافتها بنفسك.

مشروع مثال - التحكم في المياه الساخنة عبر الرسائل القصيرة

كمثال لمشروع يصف هذا التوجيه كيفية تشغيل وإيقاف سخان الماء الساخن عبر الرسائل القصيرة والتحقق مما إذا كان قيد التشغيل أم لا. ستحتاج إلى كهربائي لتثبيته.

الخطوة 1: البدء السريع - التحكم عن بعد في الرسائل القصيرة

البدء السريع - التحكم عن بعد في الرسائل القصيرة
البدء السريع - التحكم عن بعد في الرسائل القصيرة
البدء السريع - التحكم عن بعد في الرسائل القصيرة
البدء السريع - التحكم عن بعد في الرسائل القصيرة

فيما يلي دليل البدء السريع لإنشاء التحكم في الماء الساخن عبر الرسائل النصية القصيرة.

  1. شراء الأجزاء في هذه القائمة..
  2. قم بتثبيت الإصدار 1.5.8 من Arduino IDE وتنزيل مكتبة pfodParser وتثبيتها.
  3. قم بتنزيل برنامج pfodDesigner المجاني.
  4. صمم قائمتك المخصصة لتشغيل الإدخال الرقمي وإيقاف تشغيله من شريط تمرير القائمة على هاتفك المحمول الذي يعمل بنظام Android.
  5. قم بإنشاء الكود ، وحدد SeeedStudio SIM900 GPRS shield كاتصال. (هناك أيضًا خيار لدرع IteadStudio SIM900).
  6. انقل الكود الذي تم إنشاؤه من هاتفك المحمول إلى IDE (انظر pfodAppForAndroidGettingStarted.pdf للحصول على التفاصيل) ، وأضف كلمة المرور السرية وقم بتجميعها وتنزيلها إلى Arduino Mega 2560.
  7. قم بتثبيت بطاقة SIM الخاصة بك في درع GPRS وقم بتوصيل الدرع بـ Mega 2560. تأكد من تعيين روابط المسلسل على Hardware Serial كما هو موضح أعلاه..
  8. قم بتوصيل الإخراج الرقمي بالحالة الصلبة ، أو الترحيل العادي بين D3 و GND (أو أي دبوس اخترته في pfodDesigner). انظر كيفية إضافة المرحلات إلى Arduino لمزيد من التفاصيل حول المرحلات..
  9. قم بتطبيق طاقة USB على Mega. يقوم كود المكتبة بتشغيل درع GPRS نيابة عنك..
  10. قم بتثبيت pfodApp على هاتف Android المحمول الخاص بك وقم بإعداد اتصال SMS بهاتف sim الخاص بالدرع رقم. (انظر pfodAppForAndroidGettingStarted.pdf للحصول على التفاصيل). اضبط كلمة المرور للاتصال إذا أضفت واحدة..
  11. اتصل وشاهد القائمة المخصصة الخاصة بك معروضة عبر الرسائل القصيرة. انقر فوق الزر لتشغيل التتابع أو إيقاف تشغيله..
  12. احصل على كهربائي لتركيب المرحل في دائرة الماء الساخن الخاص بك وقم بتوصيل مصدر طاقة USB لتشغيل ميجا والدرع

الخطوة الثانية: مزيد من التفاصيل

pfodDesigner

سيقوم pfodDesigner بإنشاء كل الكود الذي تحتاجه لتشغيل الحالة الصلبة أو بعض المرحلات الأخرى وإيقاف تشغيلها ، لكن اتصال الرسائل القصيرة في مكتبة pfodParser يدعم جميع شاشات pfod ، لذا بمجرد البدء يمكنك إضافة قوائم فرعية ، منزلقات رقمية ، منزلقات متعددة النصوص وشاشات إدخال النص وتسجيل البيانات وتخطيط كل ذلك عبر الرسائل القصيرة. تحقق من pfodSpecification.pdf لجميع الشاشات والرسائل المدعومة.

الكود الذي تم إنشاؤه هنا. لا يوجد لديه مطالبة ومفتاح واحد فقط لإبقاء الرسالة قصيرة. يتم إرسال القوائم الطويلة عبر رسائل SMS متعددة تستغرق وقتًا أطول للوصول. إذا كانت لديك قائمة طويلة ، فإن رمز اتصال الرسائل القصيرة في مكتبة pfodParser يعالج كل هذا نيابة عنك.

لإضافة كلمة مرور لاتصال SMS الخاص بك ، قم بتعديل الخط

parser.connect (& pfodSMS) ؛ // قم بتوصيل المحلل اللغوي بتيار الرسائل القصيرة إلى شيء مثل parser.connect (& pfodSMS، F ("173057F7A706AF9BBE65D51122A14CEE")) ؛

ولكن استخدم كلمة المرور الخاصة بك لما يصل إلى 32 رقمًا سداسيًا ، 0..9 A.. F. كلمات المرور الأقصر من 32 رقمًا ست عشريًا مبطنة بـ 0. شاهد جهاز Wifi / Internet pfod بسيط مع أمان 128 بت (Arduino) لمعرفة كيفية إنشاء كلمة مرور عشوائية وإخراجها إلى رمز QR لسهولة الإدخال إلى جهاز Android. راجع أيضًا pfodAppForAndroidGettingStarted.pdf

سيقوم pfodDesigner أيضًا بإنشاء رمز لاتصالات البلوتوث والواي فاي عبر المسلسل والإيثرنت عبر SPI ، وكل ذلك مع أمان 128 بت اختياري

pfodApp

أول شيء يجب إدراكه هو أن الرسائل القصيرة بطيئة وقد لا تصل إلى هناك على الإطلاق أو تصل خارج النظام. لذلك عند الاتصال بـ pfodApp ، سيكون هناك بعض التأخير قبل تلقي استجابة SMS. إذا ضاعت الرسالة أو تأخرت ، فسيعيد pfodApp إرسالها تلقائيًا بعد 3 دقائق. بعد 5 محاولات من هذا القبيل ، سيخبرك pfodApp بفقد الاتصال. يمكنك ضبط الوقت 3mins في شاشة تحرير اتصال pfodApp.

إذا قمت بإضافة كلمة مرور ، فهناك ست رسائل SMS (ثلاث في كل اتجاه) قبل أن يتلقى pfodApp القائمة الرئيسية. تحدث هذه الرسائل الإضافية فقط على الاتصال الأولي وبعد ذلك لا توجد رسائل إضافية عند استخدام كلمة مرور. لذا ابدأ بدون كلمة مرور لترى أن كل شيء يعمل ثم أضف كلمة المرور لاحقًا.

درع SMS / GPRS

المشاكل المحتملة هي بطاقات SIM المحمية بأرقام التعريف الشخصي أو غير مصرح لها بالاتصال بالشبكة. تقوم مكتبة pfod تلقائيًا بتشغيل درع GPRS وتبحث عن استجابة "جاهزة للمكالمة". إذا لم تصل هذه الاستجابة ، يتم إيقاف تشغيل المكتبة وتحاول مرة أخرى ، لذلك إذا رأيت ضوء الطاقة على درع GPRS يستمر لمدة 20 ثانية ثم انطفأ ، فهناك مشكلة في الاتصال بالشبكة. أخرج بطاقة SIM وجربها في هاتف عادي. تحقق من عدم مطالبتك برقم التعريف الشخصي.

إذا لم تكن هذه هي المشكلة ، فسيتعين عليك تشغيل تصحيح أخطاء بدء التشغيل ، كما هو موضح أدناه ، لمعرفة ما يحدث.

تشغيل درع Mega / GPRS

يقوم الدرع بسحب ما يصل إلى 2 أمبير نبضي وما يصل إلى 0.5 أمبير بشكل مستمر. بافتراض إمداد بطارية بجهد 12 فولت ، فإن 0.5A يتجاوز سعة Mega على مزود الطاقة على متن الطائرة. لذلك لا ينبغي أن يتم تشغيل هذا الدرع من مدخلات 7V إلى 12V على Mega. البديل هو تشغيل Mega والدرع عبر اتصال USB. لقد استخدمت مصدر 1A USB. للاختبار ، استخدمت محورًا يعمل بالطاقة Belkin (F4U020) لمنع سحب التيار الزائد من منفذ USB بجهاز الكمبيوتر.

بالنسبة لإمداد بطارية بجهد 12 فولت ، أقترح استخدام شاحن USB 5V للسيارات عالي الجودة ، 1A ، أو أعلى. يجب تصميم مورد USB 5V عالي الجودة للسيارة للتعامل مع ارتفاعات الجهد الزائدة التي تحدث في الأنظمة الكهربائية للسيارة ، وبالتالي يجب أن يكون مناسبًا لمعظم أنظمة الشحن بجهد 12 فولت.

ترحيل الحالة الصلبة

نظرًا لأن هذا المشروع النموذجي يتحكم في سخان الماء الساخن (حمولة مقاومة) ، فإن مرحل الحالة الصلبة مثالي. إذا كنت ترغب في تشغيل المحركات أو إيقاف تشغيلها ، فابدأ تشغيل المولدات وما إلى ذلك ، فتحدث إلى فني الكهرباء الخاص بك عن مرحل مناسب للوظيفة. إذا كنت بحاجة إلى مرحل عالي الطاقة ، فيمكنك استخدام محرك ترحيل صغير بواسطة لوحة اردوينو لتشغيل مرحل الطاقة وإيقاف تشغيله.

هناك العديد من الإصدارات المتاحة لترحيل الحالة الصلبة. تأكد من الشراء الذي يمكنه التعامل مع التيار والجهد الكهربائي للسخان الخاص بك ويمكن التحكم فيه بواسطة 5 فولت تيار مستمر وبضعة ميلي أمبير متوفرة من دبوس إخراج Arduino. الجهاز المستخدم هنا ، FOTEK SSR-40 DA ، يقوم بتبديل ما يصل إلى 380 فولت تيار متردد عند 40 أمبير في الثانية ويتم التحكم فيه بواسطة أي شيء أكثر من 3 فولت تيار مستمر ويستغرق أقل من 7 مللي أمبير.

يجب عليك استخدام المشتت الحراري ويجب عليك تطبيق مسحة رقيقة من مركب المشتت الحراري أو الشحم الحراري على الجزء الخلفي من مرحل الحالة الصلبة قبل تثبيته في المشتت الحراري. تكمن الفكرة في تغطية السطح بالكامل بأرق طبقة من مركب حوض الرأس لملء الوديان المجهرية في سطح المعدن. عند تشغيله ، يسقط مفتاح الحالة الصلبة 1.6 فولت الذي يولد 16 واط من الحرارة عند 10 أمبير. يحتاج المشتت الحراري إلى التخلص من هذه الحرارة لذا يجب تركيبه في هواء حر وليس داخل صندوق بلاستيكي.

التأخير شر

يسلم درع GPRS رسائل SMS عبر الاتصال التسلسلي في أي وقت ويجب أن تستدعي الحلقة الرئيسية () cmd = parser.parse () ؛ غالبًا لمعالجة البيانات التسلسلية قبل امتلاء المخزن المؤقت 64 بايت في كود مكتبة Arduino وفقدان البيانات.

لذلك يجب أن تحافظ على تشغيل الحلقة الرئيسية () بسرعة. يجب ألا تستخدم تأخيرًا () مطلقًا ويجب أن تتحقق من عدم وجود تأخيرات في أي من المكتبات التي تستخدمها. باستخدام معدل البث بالباود 19200 الافتراضي لـ SIM900 عبر تسلسل الأجهزة ، لم أجد أنه من الضروري زيادة حجم المخزن المؤقت في كود مكتبة Arduino. لا أستخدم Software Serial ، فقط اتصالات Serial و Serial1 ، وتوصيلات الأجهزة التسلسلية ، وتقريبًا جميع الرسائل التي يرسلها pfodApp صغيرة جدًا ، 10 أو 12 بايت. ومع ذلك ، يمكنك زيادة حجم مخزن Arduino المؤقت ، إذا كنت ترغب في ذلك ، عن طريق تعديل التعريف في HardwareSerial.h من #define SERIAL_BUFFER_SIZE 64 إلى #define SERIAL_BUFFER_SIZE 128

ومع ذلك ، ما وجدته هو أنه إذا قمت بتمكين إخراج التصحيح ، كما هو موضح أدناه ، يجب أن يكون لدي معدل باود سريع جدًا للاتصال الطرفي وإلا فإن التأخير الذي تم تقديمه عن طريق إرسال رسائل تصحيح الأخطاء إلى الجهاز تسبب في فقدان أجزاء من رسائل SMS.

التركيب

لقد أضفت درعًا طرفيًا لولبيًا لذلك كان لدي شيء لتوصيل أسلاك ترحيل الحالة الصلبة به. لم أقوم بتثبيت كهربائي وحدة التحكم حتى الآن. يجب وضعه في صندوق معزول ، ولكن مع وجود المشتت الحراري يخرج من خلال فتحة ويتم توصيله بسلك في سلك طاقة الماء الساخن.

الخطوة 3: اقتراحات لمزيد من التحسينات - التنبيهات وتسجيل البيانات والتخطيط

يعرض مثال المشروع أعلاه فقط كيفية تشغيل الماء أو إيقاف تشغيله ويسمح لك بتبديله. لكن اتصال SMS يتعامل مع جميع رسائل pfod (انظر pfodSpecification.pdf)

إذا قمت بإضافة مستشعر درجة الحرارة إلى اردوينو الخاص بك ، فيمكنك أيضًا إرسال مراقبة درجة الحرارة وإرسال قراءات على فترات منتظمة. لإعادة إرسال قراءة البيانات هي نفسها بالنسبة إلى البلوتوث أو wifi أو الرسائل القصيرة ، ما عليك سوى إضافة الرمز مثل النموذج أدناه. راجع تسجيل البيانات والتخطيط لمزيد من التفاصيل والأمثلة على تسجيل البيانات والتخطيط.

parser.println (الوقت) ؛ parser.print ('،') ؛ parser.println (درجة الحرارة) ؛

عندما ترى مكتبة pfodSMS السطر الجديد من println () ، سترسل البيانات الأولية كرسالة SMS. على هاتفك المحمول ، ما عليك سوى ترك pfodApp قيد التشغيل في الخلفية وسيقوم هاتفك المحمول بإعلامك عند تلقي رسالة نصية قصيرة. افتح pfodApp مرة أخرى لإحضاره إلى المقدمة ثم افتح شاشة البيانات الأولية من قائمة الهاتف المحمول لرؤية البيانات. ملاحظة: رسائل 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 وتوصيل المحلل اللغوي بالمسلسل ثم إزالة درع GPRS وتشغيل Mega من محطة Arduino. على سبيل المثال ، قم بتغيير الإعداد () إلى

//pfodSMS.init(&Serial، 9) ؛ // لا تبدأ تشغيل محلل درع GPRS. // ربط المحلل اللغوي بالمسلسل بدلاً من دفق الرسائل القصيرة

ثم من محطة Arduino ، يمكنك كتابة {.} للحصول على Mega لإرجاع القائمة الرئيسية ثم إرسال الأمر الذي تريد تنفيذه مرة أخرى ، على سبيل المثال {A`1} لتشغيل التتابع و {A`0} لإيقاف تشغيله. (عادةً ما يرسل pfodApp هذه الرسائل لك عند النقر فوق شريط التمرير.) ثم أضف parser.println () لتصحيح الأخطاء الإضافي لمراقبة ما تقوم به التعليمات البرمجية الإضافية التي أضفتها.

مراقبة درع GPRS

إذا كنت تريد أن ترى ما يفعله درع GPRS. كيف يتم بدء التشغيل ، تلقي رسائل SMS وما إلى ذلك ، فأنت بحاجة إلى تغيير الأسلاك الواقية وتوصيلها بـ Mega Serial1 (المسلسل) وتحرير الاتصال التسلسلي (USB) لإخراج التصحيح إلى Arduino IDE Monitor.

لتوصيل درع GPRS بـ Mega 2560 Serial1 ، قم بإزالة الروابط الموضحة أعلاه وإضافة الأسلاك إلى دبابيس Mega's TX1 و RX1.

ثم قم بتغيير كود الإعداد () إلى

إعداد باطل () {Serial1.begin (19200) ؛ // تغيير المسلسل إلى Serial 1 Serial.begin (57600) ؛ // لاحظ معدل الباود السريع لمنفذ USB التسلسلي // لشاشة Arduino IDE. لـ (int i = 3؛ i> 0؛ i--) {// انتظر بضع ثوان لمعرفة ما إذا كنا نقوم ببرمجة تأخير (1000) ؛ } pinMode (cmd_A_pin ، الإخراج) ؛ pfodSMS.setDebugStream (& المسلسل) ؛ // تحتاج إلى القيام بذلك قبل pfod_SMS.init // أو أي استدعاء آخر لأسلوب pfod_SMS // تهيئة الرسائل القصيرة وتوصيل المحلل اللغوي // قم بتغيير السطر التالي إلى Serial1 pfodSMS.init (& Serial1، 9) ؛ // connect Seeed GPRS shield V2 to Serial1 بدلاً من Serial parser.setDebugStream (& Serial) ؛ // تحتاج إلى القيام بذلك قبل parser.connect // أو أي طريقة أخرى لاستدعاء parser.connect (& pfodSMS) ؛ // connect parser to SMS stream}

يمكنك الآن إلغاء تعليق بعض إعدادات التصحيح في مكتبة pfodParser في ملف pfodSMS_SIM900.cpp.

على سبيل المثال ، un-commenting #define DEBUG_SETUP سوف تطبع (إلى تيار التصحيح) ما يحدث أثناء تشغيل درع GPRS وتجهيزه لتلقي رسائل SMS.

Un-commenting #define DEBUG سيعطي الكثير من المعلومات حول رسائل SMS التي يتم تلقيها.

هذا كل شيء !

موصى به: