جدول المحتويات:
- الخطوة 1: احصل على SIM800l للعمل
- الخطوة 2: احصل على RTC DS1307 مع مستشعر DS18B20 للعمل
- الخطوة 3: احصل على Thermistor NTC MF52AT للعمل
- الخطوة 4: احصل على الجميع للعمل معًا
- الخطوة 5: لقد نجحت
فيديو: يرسل رسالة قصيرة مع درجة الحرارة في الوقت المحدد: 5 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
الفكرة هي الحصول على الرسائل القصيرة درجة الحرارة من منزل والدي.
لا شيء يتوهم فقط تجميع الأجزاء معًا بسرعة.
الأجزاء هي:
- لوحة تحكم Geekcreit® ATmega328P Nano V3 متوافقة مع Arduino
- لوحة توسعة NANO IO Shield V1. O ذاتي الصنع لأردوينو
- DS1307 على أساس RTC IIC / I2C وحدة ساعة الوقت الحقيقي و DS18b20
- SIM800L رباعي الموجات GSM / GPRS
- LM2596 ميني DC-DC محول قابل للتعديل تنحى وحدة تزويد الطاقة
- درجة حرارة الثرمستور NTC MF52AT
أولا الكثير من القراءة والبحث.
قبل أن أستخدم Geekcreit® Nano أخيرًا ، أختبر جميع الأجزاء باستخدام Arduino Uno.
الخطوة 1: احصل على SIM800l للعمل
نقطة رئيسية واحدة هي قوة Sim800L.
أستخدم محول LM2596 Mini DC-DC ، مضبوطًا على 3.7 فولت ومصدر طاقة منفصل.
لاختبار الاتصال بأوامر AT + ، يكون هذا الجانب قابلاً للاستخدام للغاية:
Quickstart SIM800 (SIM800L) مع Arduino
مع تعطيل رمز PIN باستخدام مودم gsm في الأوامر ، حصلت على رمز PIN الخاص بـ sim.
الاعتبار التالي الذي مكتبة. يقدم الإنترنت حلًا مختلفًا.
الحل الذي أقدمه هو مكتبة Mattias Aabmets: AspenSIM800
مثاله: استخدم Send_SMS.ino أنا كبرنامج أساسي وواحدًا تلو الآخر لربط جميع الأجزاء الأخرى معًا.
يعتبر Tx pin و Rx pin رمزًا لـ:
RX_PIN 10 من Arduino. يجب أن تكون متصلاً بدبوس TX الخاص بوحدة SIM800. X_PIN 11 من Arduino. يجب توصيل دبوس RX بوحدة SIM800
من الجيد دائمًا قراءة ملفات *.ccp و *.h في المكتبات.
أنها تحتوي على العديد من التلميحات والمعرفة المثيرة للاهتمام.
الخطوة 2: احصل على RTC DS1307 مع مستشعر DS18B20 للعمل
لقد استخدمت هذا الجانب الجانبي: simtronyx - مدونة DS1307 و DS18B20.
تحتوي الساعة على اتصال ناقل I2C وهذا مخصص لـ Arduino Uno: A4 (SDA) - A5 (SCL)
DS18B20 أنا متصل بـ D3.
قرأت أنه في رسالة نصية قصيرة لا يمكنك إرسال Floats فقط String ، لذلك اضطررت إلى ترجمة العوامات إلى سلسلة.
ما أفعله مع مقتطف الشفرة هذا وجدته:
ن
MyString1 = String (currentTemp، 2) ، // تحويل تعويم إلى سلسلة
MyString1 = (MyString1 + "C - RoomTemperatur:)")؛
// تحويل السلسلة إلى حرف يبدأ من هنا
// الطول (مع حرف إضافي واحد للنهاية الصفرية)
int str_len1 = MyString1.length () + 1 ، // تحضير مجموعة الأحرف (المخزن المؤقت)
char_array1 [str_len1] ؛ // انسخها
MyString1.toCharArray (char_array1، str_len1) ، // تحويل السلسلة إلى حرف ينتهي بها
سأكون صادقًا ، فأنا لا أعرف كيف يعمل ، لكنه يعمل.
الخطوة 3: احصل على Thermistor NTC MF52AT للعمل
لقد عملت مع الثرمستور لذلك كان الجزء السهل.
ولكن هنا أيضًا يمكنك العثور على حل مختلف.
في الكود النهائي يمكنك أن تجد لي.
يمكنك أيضًا العثور على الترجمة Floats to String.
ملحومة بعض الأسلاك والمقاوم 10 كيلو أوم إلى الثرمستور.
الخطوة 4: احصل على الجميع للعمل معًا
لذلك كتبت جميع أجزاء البرنامج معًا.
الآن كان علي أن أعرف كيف أرسل رسالة قصيرة واحدة كل يوم ، في نفس الوقت.
قرأت عن أفكار مختلفة ، بعضها باستخدام TimerAlarm ونهج آخر.
لكنني وجدت حلاً بسيطًا في مكان ما في منتدى اردوينو:
إذا (now.hour () == 8 && now.minute () == 00 && now.second () == 59)
{
SIM.smsSend (العنوان ، char_array) ؛ // الثرمستور
تأخير (500) ؛ SIM.smsSend (addr، char_array1) ؛ // DS18B20}
لكن لماذا now.second = 59 لأنه يرسل دقيقة كاملة SMS. انها تفعل بالنسبة لي ولكن جرب نفسك.
بعد بعض الاختبارات ، قمت بتحميل البرنامج إلى Geekcreit® Nano.
قد لا يكون هذا أفضل كتابة برمجة:) ولكنه يفعل ما هو مرغوب فيه.
نظرًا لأن Geekcreit® ATmega328P Nano به بعض مشكلات Arduino IDE ، أقوم بالتحميل بواسطة Terminal (Linux Mint) باستخدام USBtinyisp مع هذا: avrdude -c usbtiny -p atmega328p -U flash: w: SomeHexFile.hex
الخطوة 5: لقد نجحت
نعم لقد نجح الأمر ووضعه في المنزل.
كل يوم في الساعة 6:00 صباحًا أتلقى رسالة نصية قصيرة تحتوي على درجة الحرارة.
موصى به:
أرسل رسالة قصيرة باستخدام ESP8266: 5 خطوات
إرسال رسالة نصية قصيرة باستخدام ESP8266: يأخذك هذا التوجيه خلال الخطوات لإرسال رسائل SMS عبر الإنترنت من لوحة وحدة ESP8266 NodeMCU ، إلى هاتف محمول. لتتمكن من إرسال الرسالة ، ستحتاج إلى اتباع الخطوات للحصول على رقم هاتف افتراضي من
Nodemcu يرسل بيانات درجة الحرارة والرطوبة إلى الأشياء: 7 خطوات
Nodemcu يرسل بيانات درجة الحرارة والرطوبة إلى Thingspeak: هنا في هذا البرنامج التعليمي قمنا بربط nodemcu مع مستشعر dht11 وإرسال بيانات درجة الحرارة والرطوبة إلى خادم الأشياء. هنا قمنا أيضًا برسم الرسم البياني لدرجة الحرارة والرطوبة لخادم الأشياء
قراءة درجة الحرارة باستخدام مستشعر درجة الحرارة LM35 مع Arduino Uno: 4 خطوات
قراءة درجة الحرارة باستخدام مستشعر درجة الحرارة LM35 مع Arduino Uno: مرحبًا يا رفاق في هذه التعليمات ، سوف نتعلم كيفية استخدام LM35 مع Arduino. Lm35 هو مستشعر لدرجة الحرارة يمكنه قراءة قيم درجة الحرارة من -55 درجة مئوية إلى 150 درجة مئوية. إنه جهاز ثلاثي الأطراف يوفر جهدًا تناظريًا يتناسب مع درجة الحرارة. عالية
يرسل Arduino بيانات درجة الحرارة والرطوبة إلى MySQL Server (PHPMYADMIN): 5 خطوات
يرسل Arduino بيانات درجة الحرارة والرطوبة إلى MySQL Server (PHPMYADMIN): في هذا المشروع قمت بربط DHT11 مع arduino ثم أرسل بيانات dht11 وهي الرطوبة ودرجة الحرارة إلى قاعدة بيانات phpmyadmin. نحن هنا نستخدم سكربت PHP لدفع البيانات إلى قاعدة بيانات phpmyadmin
ميزان حرارة للطهي بمسبار درجة الحرارة ESP32 NTP مع تصحيح Steinhart-Hart وإنذار درجة الحرارة: 7 خطوات (بالصور)
ميزان حرارة للطهي بمسبار درجة الحرارة ESP32 NTP مع تصحيح Steinhart-Hart وإنذار درجة الحرارة: لا يزال في رحلة لإكمال & quot؛ المشروع القادم & quot ؛، & quot؛ ESP32 NTP ميزان حرارة للطهي بمسبار درجة الحرارة مع تصحيح Steinhart-Hart وإنذار درجة الحرارة & quot؛ هو Instructable يوضح كيف يمكنني إضافة مسبار درجة حرارة NTP ، بيزو ب