فهرست مطالب:

LDR با استفاده از Thingsai Cloud: 13 مرحله
LDR با استفاده از Thingsai Cloud: 13 مرحله

تصویری: LDR با استفاده از Thingsai Cloud: 13 مرحله

تصویری: LDR با استفاده از Thingsai Cloud: 13 مرحله
تصویری: شنود شبکه: بررسی پکت‌های دی ان اس با استفاده از scapy و شکستن رمز فایل زیپ و رسیدن به پرچم مسابقه 2024, جولای
Anonim
LDR با استفاده از Thingsai Cloud
LDR با استفاده از Thingsai Cloud

HEY…..امروز ما با اندازه گیری شدت نور و ارسال مقادیر در پلتفرم ابری THINGSAI IOT با استفاده از ESP32 آشنا می شویم.

شرایط لازم برای انجام این پروژه عبارتند از:

1. هیئت مدیره توسعه ESP32 (من از ESP32 DEVKIT V1 استفاده کرده ام)

2. سنسور LDR

3. سیم جامپر

4. حساب در THINGSAI IOT PLATFORM

مرحله 1: ایجاد و ورود به سیستم THINGSIO

ایجاد و ورود به سیستم THINGSIO
ایجاد و ورود به سیستم THINGSIO

وارد حساب THINGS AI شوید. اگر تازه کار هستید ، با فشردن دکمه ثبت نام در حساب کاربری ثبت نام کنید و تمام اطلاعات کاربری را پر کنید. حساب شما ایجاد می شود و از آن پس می توانید بر روی بستر ابر کار کرده و پروژه دلخواه خود را ایجاد کنید

مرحله 2: ایجاد پروژه جدید

ایجاد پروژه جدید
ایجاد پروژه جدید

پس از ورود به حساب ، برای ایجاد یک پروژه فقط روی پروژه جدید کلیک کنید و سپس نام پروژه را وارد کنید.

مرحله 3: ایجاد یک دستگاه جدید

ایجاد یک دستگاه جدید
ایجاد یک دستگاه جدید

بعد از ایجاد پروژه ، کار بعدی که باید انجام دهید ایجاد یک دستگاه جدید است. نام دستگاه را وارد کرده و شناسه دستگاه را به صورت دستی یا سیستم ایجاد شده وارد کنید.

مرحله 4: تعریف پارامتر دستگاه

تعریف پارامتر دستگاه
تعریف پارامتر دستگاه

پارامتر دستگاه را بدهید و سپس نوع پارامتر را انتخاب کنید

مرحله 5: به روز رسانی دستگاه

در حال به روز رسانی دستگاه
در حال به روز رسانی دستگاه

پارامتر را انتخاب کرده و سپس دستگاه را به روز کنید

مرحله ششم: کد نویسی

برنامه نویسی
برنامه نویسی

از کدهای نمونه کد esp32 را انتخاب کرده و آن را کپی کرده و سپس در IDE آردوینو بچسبانید و تغییرات لازم را با توجه به نیاز انجام دهید. من کد زیر را داده ام

#شامل #شامل شود

#عبارتند از

int شمارش = 0 ، i ، m ، j ، k ؛

int t؛ int outputpin = A0؛ // ds18b20

int sensorvalue؛

///////////////////////////////////////// همه اعلامیه ها برای ابر ////// /////////////////////////

const char* host = "api.thingsai.io"؛ // یا

host = devapi2.thethingscloud.com

const char* post_url = "/devices/deviceData"؛ // OR/api/v2/thingscloud2/_table/data_ac

const char* time_server = "baas.thethingscloud.com"؛ // این برای تبدیل timestamp است

const int httpPort = 80؛

const int httpsPort = 443؛

const char* server = "api.thingsai.io"؛ // آدرس سرور

timestamp char [10]؛

WiFiMulti WiFiMulti؛

// برای ایجاد اتصالات TCP از کلاس WiFiClient استفاده کنید

مشتری WiFiClient ؛

//////////////////////////////////////// تابع محاسبه TIMESTAMP ///////// /////////////////////////////// int GiveMeTimestamp () {مدت زمان طولانی بدون امضا = millis ()؛ // مشتری WiFiClient ؛

while (client.available () == 0)

{

if (millis () - timeout> 50000)

{

client.stop ()؛ بازگشت 0 ؛

}

}

while (client.available ())

{

String line = client.readStringUntil ('\ r')؛ // indexOf () یک کار برای جستجوی smthng است ، اگر یافت نشد -1 را برمی گرداند

int pos = line.indexOf ("\" timestamp / "")؛ // "\" timestamp / "" را از ابتدای پاسخ جستجو کنید و پس از آن همه داده ها را کپی کنید ، این نشان زمان شما خواهد بود

if (pos> = 0)

{

int j = 0 ؛

برای (j = 0 ؛ j <10 ؛ j ++)

{

timestamp [j] = خط [pos + 12 + j] ؛

}

}

}

} ////////////////////////////////////////////////////////////////////////////////////////////////////////

void setup ()

{

Serial.begin (115200) ؛

تأخیر (10) ؛

// ما با اتصال به یک شبکه WiFi شروع می کنیم

WiFiMulti.addAP ("wifi" ، "pswrd") ؛

Serial.println ()؛

Serial.println ()؛

Serial.print ("منتظر وای فای باشید …") ؛

در حالی که (WiFiMulti.run ()! = WL_CONNECTED)

{

Serial.print (".") ؛

تأخیر (500) ؛

}

Serial.println ("")؛

Serial.println ("WiFi متصل است") ؛

Serial.println ("آدرس IP:") ؛ Serial.println (WiFi.localIP ()) ؛

تأخیر (500) ؛

}

حلقه خالی ()

{

int analogValue = analogRead (خروجی پین) ؛

{////////////////////////////////////// س Qال را ارسال کرده و پاسخ را دریافت کنید /// /////////////////////

sensorvalue = analogRead (A0)؛ // پین ورودی آنالوگ 0 را بخوانید

sensorvalue = sensorvalue/100؛

Serial.print (سنسور ، DEC) ؛ // مقدار خوانده شده را چاپ می کند

Serial.print ("\ n")؛ // فاصله بین اعداد را چاپ می کند

تاخیر (1000) ؛ // برای مطالعه بعدی 100 میلی ثانیه صبر کنید

Serial.print ("اتصال به") ؛ Serial.println (میزبان) ؛ // برعکس تعریف شده است:- host = devapi2.thethingscloud.com یا 139.59.26.117

/////////////////////////////////////// TIMESTAMP CODE SNIPPET /////////// /////////////////

Serial.println ("در داخل دریافت timestamp / n")؛

if (! client.connect (time_server،

{ برگشت؛ //*-*-*-*-*-*-*-*-*-*}

client.println ("GET/api/timestamp HTTP/1.1") ؛ // این قسمت چه می کند ، من client.println ("میزبان: baas.thethingscloud.com") را دریافت نکردم؛

client.println ("Cache-Control: no-cache") ؛

client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8") ؛

client.println ()؛

GiveMeTimestamp ()؛ // تابع را فراخوانی می کند که زمان پاسخ را از سرور Serial.println ("زمان دریافت شده") دریافت می کند.

Serial.println (timestamp)؛

Serial.println ("داخل ThingsCloudPost") ؛

String PostValue = "{" device_id / ": 61121695844 ، \" slave_id / ": 2"؛

PostValue = PostValue + "، \" dts / ":" + timestamp؛

PostValue = PostValue +"، \" data / ": {" INTENSITY / ":" +\ sensorvalue +"}" +"}"؛

Serial.println (PostValue) ؛

/ * ایجاد یک نمونه از مشتری WiFiClientSecure */ WiFiClientSecure ؛

Serial.println ("اتصال به سرور از طریق درگاه 443") ؛

if (! client.connect (سرور ، 443))

{

Serial.println ("اتصال انجام نشد!") ؛

}

دیگری

{Serial.println ("به سرور متصل است!") ؛ / * ایجاد درخواست HTTP */

client.println ("POST/devices/deviceData HTTP/1.1") ؛

client.println ("میزبان: api.thingsai.io") ؛ //client.println("Connect: close ")؛ cl

ient.println ("نوع محتوا: برنامه/json") ؛

client.println ("cache-control: no-cache")؛

client.println ("مجوز: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqCmV2kTV6ktVmq2qtYmq2gtwmq" client.print ("Content-Length:")؛

client.println (PostValue.length ()) ؛

client.println ()؛

client.println (PostValue) ؛ ////////////////////////////////// ارسال اطلاعات بر روی ابر انجام شده است و اکنون فرم پاسخ ابر را دریافت کنید سرور ///////////////////

Serial.print ("در انتظار پاسخ") ؛

در حالی که (! client.available ()) {

تأخیر (50) ؛ //

Serial.print (".") ؛

} / * در صورت موجود بودن اطلاعات ، دریافت و چاپ در ترمینال * /

while (client.available ())

{

char c = client.read ()؛

Serial.write (c)؛

}

/ * در صورت قطع بودن سرور ، سرویس گیرنده را متوقف کنید */

if (! client.connected ())

{

Serial.println ()؛

Serial.println ("سرور قطع شده است")؛

client.stop ()؛

}

} Serial.println ("///////////////////// END ////////////////// /") ؛

تاخیر (3000) ؛ }}

مرحله 7: انتخاب هیئت مدیره و Com Port

انتخاب هیئت مدیره و Com Port
انتخاب هیئت مدیره و Com Port

از ابزارهای برد را انتخاب کنید و سپس پورت com را انتخاب کنید

مرحله 8: اتصالات مدار

اتصالات مدار
اتصالات مدار
اتصالات مدار
اتصالات مدار
اتصالات مدار
اتصالات مدار

کدگذاری انجام می شود ، سپس اتصالات زیر را همانطور که در زیر ذکر شده است ، ایجاد کنید

اتصالات:

GND از esp32 به GND سنسور LDR

3V3 0f esp32 به Vcc از LDR

VP esp32 به A0 LDR

مرحله 9: کامپایل و بارگذاری کنید

کامپایل و بارگذاری کنید
کامپایل و بارگذاری کنید

کد را در esp32 کامپایل و بارگذاری کنید و سپس خوانش ها را از مانیتور سریال بخوانید. این نتیجه ای شبیه به این را نشان می دهد

مرحله 10: مانیتور سریال

مانیتور سریال
مانیتور سریال

مقادیر روی مانیتور سریال بدست می آیند و سپس به پلت فرم ابر THINGSAI IOT ارسال می شوند.

مرحله 11: خواندن

خواندن ها
خواندن ها

این مقادیر بدست آمده از برد esp32 را نشان می دهد.

مرحله 12: نمایش گرافیکی

نمایش گرافیکی
نمایش گرافیکی

این نمایش گرافیکی مقادیر بدست آمده است. این پایان آموزش است. امیدوارم متوجه شده باشید متشکرم

توصیه شده: