فهرست مطالب:

ارسال اس ام اس با دما به موقع: 5 مرحله (همراه با تصاویر)
ارسال اس ام اس با دما به موقع: 5 مرحله (همراه با تصاویر)

تصویری: ارسال اس ام اس با دما به موقع: 5 مرحله (همراه با تصاویر)

تصویری: ارسال اس ام اس با دما به موقع: 5 مرحله (همراه با تصاویر)
تصویری: ویدیوی خوابیدن مردان اطلاعاتی رژیم در بین زنان زندانی 2024, نوامبر
Anonim
ارسال اس ام اس با Temperatur به موقع
ارسال اس ام اس با Temperatur به موقع

ایده این است که از خانه پدرم اس ام اس درجه حرارت دریافت کنم.

هیچ چیز فانتزی نیست فقط قطعات را سریع کنار هم قرار دهید.

قطعات عبارتند از:

  • Arduino سازگار با Geekcreit® ATmega328P Nano V3 Controller Board Board
  • DIY NANO IO Shield V1. O Expansion Board for Arduino
  • ماژول ساعت واقعی بر اساس RTC IIC / I2C بر اساس DS1307 و DS18b20
  • SIM800L چهار بانده GSM / GPRS
  • LM2596 Mini DC-DC مبدل قابل تنظیم گام به گام منبع تغذیه ماژول
  • دمای ترمیستور NTC MF52AT

اول از همه خیلی خواندن و جستجو کردن.

قبل از اینکه از Geekcreit® Nano استفاده کنم ، تمام قطعات را با Arduino Uno آزمایش می کنم.

مرحله 1: SIM800l را به محل کار برسانید

SIM800l را به محل کار برسانید
SIM800l را به محل کار برسانید

یک نکته اصلی قدرت Sim800L است.

من از مبدل LM2596 Mini DC-DC با تنظیم 3.7 ولت و منبع تغذیه جداگانه استفاده می کنم.

برای آزمایش اتصال با دستورات AT+ این طرف بسیار قابل استفاده است:

شروع سریع SIM800 (SIM800L) با آردوینو

با غیرفعال کردن کد پین با استفاده از مودم gsm در دستورات ، از کد پین سیم استفاده کردم.

ملاحظات بعدی کدام کتابخانه است. اینترنت راه حل های متفاوتی ارائه می دهد.

راه حل من کتابخانه Mattias Aabmets: AspenSIM800 است

امتحان او: Send_SMS.ino از I به عنوان برنامه اصلی استفاده کرد و یکی یکی قسمتهای دیگر را به هم متصل کرد.

پین Tx و پین Rx کد زیر هستند:

RX_PIN 10 آردوینو. باید به پین TX ماژول SIM800 متصل باشد. TX_PIN 11 آردوینو. باید به پین RX ماژول SIM800 متصل باشد

همیشه خواندن فایل های *.ccp و *.h در کتابخانه ها ایده خوبی است.

آنها حاوی نکات جالب و دانش زیادی هستند.

مرحله 2: RTC DS1307 را با سنسور DS18B20 کار کنید

RTC DS1307 را با سنسور DS18B20 برای کار دریافت کنید
RTC DS1307 را با سنسور DS18B20 برای کار دریافت کنید

من از این طرف استفاده کردم: simtronyx - وبلاگ DS1307 و DS18B20.

این ساعت دارای یک گذرگاه I2C است و مخصوص Arduino Uno است: A4 (SDA) - A5 (SCL)

DS18B20 I به D3 متصل شد.

من خواندم که در یک پیام کوتاه نمی توانید Floats only String را ارسال کنید ، بنابراین مجبور شدم floats را به string ترجمه کنم.

من با این قطعه کد پیدا کردم:

n

MyString1 = رشته (currentTemp ، 2) ؛ // تبدیل float به String

MyString1 = (MyString1 + "C - RoomTemperatur:)")؛

// تبدیل رشته به char از اینجا شروع می شود

// طول (با یک کاراکتر اضافی برای خاتمه دهنده تهی)

int str_len1 = MyString1.length () + 1؛ // آماده سازی آرایه کاراکتر (بافر)

char char_array1 [str_len1]؛ // کپی کنید

MyString1.toCharArray (char_array1، str_len1) ؛ // تبدیل رشته به char به او پایان می دهد

صادقانه می گویم نمی دانم چگونه کار می کند ، اما کار می کند.

مرحله 3: Thermistor NTC MF52AT را برای کار آماده کنید

Thermistor NTC MF52AT را برای کار آماده کنید
Thermistor NTC MF52AT را برای کار آماده کنید

من قبلاً با یک ترمیستور کار کردم ، بنابراین این قسمت آسان بود.

اما همچنین در اینجا می توانید راه حل های متفاوتی را بیابید.

در کد نهایی می توانید من را پیدا کنید.

او همچنین می توانید ترجمه Floats to String را پیدا کنید.

مقداری سیم و مقاومت 10 کیلو اهم را به ترمیستور لحیم کنید.

مرحله 4: همه را با هم کار کنید

بنابراین تمام قسمت های برنامه را با هم نوشتم.

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

من ایده های متفاوتی را خواندم ، برخی با TimerAlarm و رویکرد دیگر.

اما من یک راه حل ساده در جایی در انجمن arduino پیدا کردم:

if (now.hour () == 8 && now.minute () == 00 && now.second () == 59)

{

SIM.smsSend (addr ، char_array) ؛ // ترمیستور

تأخیر (500) ؛ SIM.smsSend (addr، char_array1) ؛ // DS18B20}

اما چرا now.second = 59 زیرا یک پیام کوتاه کامل ارسال می کند. برای من مفید است اما خودتان امتحان کنید

پس از چند آزمایش ، برنامه را در Geekcreit® Nano بارگذاری کردم.

این شاید بهترین برنامه نویسی نباشد:) اما مطلوب را انجام می دهد.

از آنجا که Geekcreit® ATmega328P Nano دارای برخی مشکلات Arduino IDE است ، من ترمینال (Linux Mint) را با این آپلود می کنم: avrdude -c usbtiny -p atmega328p -U flash: w: SomeHexFile.hex

مرحله 5: کار کرد

بله جواب داد و در خانه قرار می گیرد.

هر روز ساعت 6 صبح یک پیامک با درجه حرارت دریافت می کنم.

توصیه شده: