فهرست مطالب:

گیاه خود را به ابر متصل کنید: 10 مرحله
گیاه خود را به ابر متصل کنید: 10 مرحله

تصویری: گیاه خود را به ابر متصل کنید: 10 مرحله

تصویری: گیاه خود را به ابر متصل کنید: 10 مرحله
تصویری: اگر یکی از این ۷ نشانه را در وجود تان مشاهده کردید پس شما یک نابغه هستید. 2024, جولای
Anonim
گیاه خود را به ابر وصل کنید
گیاه خود را به ابر وصل کنید
گیاه خود را به ابر وصل کنید
گیاه خود را به ابر وصل کنید
گیاه خود را به ابر وصل کنید
گیاه خود را به ابر وصل کنید

در دفتر ما یک کاکتوس وجود دارد که مورد توجه قرار نگرفت. از آنجا که من در یک شرکت فناوری اطلاعات کار می کردم و می خواستم LoRa ، راه حل های بدون سرور و AWS را آزمایش کنم ، نام کاکتوس خود را استیو گذاشتم و او را به ابر متصل کردم. اکنون می توانید استیو را از تقریباً در هر کجای دنیا با استفاده از صفحه وب من برای او نظارت کنید: رابط وب استیو.

تدارکات

1 کاکتوس / گیاه مورد علاقه شما

1 آردوینو MKR WAN 1300 (فروشگاه آردوینو)

1 868 مگاهرتز/914 مگاهرتز (بستگی به مکان شما دارد) آنتن (آمازون)

1 LoRa Gateway در محدوده یک (آمازون)

2 عدد باتری قلمی

1 سنسور TMP102 (آمازون)

1 سنسور رطوبت خاک (آمازون)

کابل های رسانا (آمازون)

آهن لحیم کاری

نگهدارنده باتری (آمازون)

مورد

اختیاری: چاپگر سه بعدی (اگر می توانید از چاپگر سه بعدی استفاده کنید ، نیازی به نگهدارنده باتری یا قاب ندارید)

مرحله 1: چاپ مورد (اختیاری)

چاپ مورد (اختیاری)
چاپ مورد (اختیاری)
چاپ مورد (اختیاری)
چاپ مورد (اختیاری)

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

با خیال راحت چیزی مثل من به درب اضافه کنید.

اینها را با استفاده از ارتفاع لایه 0.2 میلی متر و پر کردن 15 درصد چاپ کردم.

قلاب های جعبه ای را می توان با استفاده از پیچ m3 متصل کرد.

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

مرحله 2: سیم کشی

سیم کشی
سیم کشی
  • قبل از روشن شدن آردوینو مطمئن شوید که آنتن متصل است ، روشن کردن آردوینو بدون آنتن ممکن است باعث آسیب شود.
  • همه چیز را مطابق نمودار سیم کشی ارائه شده متصل کنید.
  • اگر این سیم ها را لحیم می کنید ، مطمئن شوید که هیچ پینی روی سنسورها یا آردوینو نمی گذارید!

مرحله 3: ایجاد یک برنامه در Things Network

  • به https://www.thethingsnetwork.org/ بروید و اگر هنوز حساب کاربری ندارید ، آن را بسازید.
  • پس از داشتن یک حساب کاربری و ورود به سیستم ، می توانید به کنسول بروید (گوشه سمت راست بالا ، روی نام کاربری خود و سپس روی کنسول کلیک کنید).
  • روی برنامه ها کلیک کنید.
  • پس از بارگیری صفحه ، باید بتوانید روی "افزودن برنامه" کلیک کنید.
  • فرم را پر کنید و منطقه مناسب را در پایین انتخاب کنید. روی "افزودن برنامه" کلیک کنید.
  • تبریک می گویم ، شما به تازگی یک برنامه کاربردی در شبکه چیزها ایجاد کرده اید. = D

مرحله 4: اتصال Arduino به Things Network

برای برنامه ریزی arduino به شما توصیه می کنم از arduino ide آنلاین استفاده کنید ، این باعث می شود بارگیری در کتابخانه مورد نیاز بسیار آسان باشد.

  • برنامه خود را در شبکه things باز کنید.
  • باید فیلدی با عنوان دستگاه وجود داشته باشد ، روی ثبت دستگاه کلیک کنید.
  • فیلدی به نام Device Id خواهید دید. این نامی است که می خواهید به سنسور خود بدهید. باید یکی دیگر با برچسب Device EUI وجود داشته باشد ، این کلید منحصر به فردی است که آردوینو شما برای احراز هویت خود استفاده می کند.
  • برای به دست آوردن این کلید باید arduino را با یک طرح خاص فلش کنیم. طرح را می توان در جایی پیدا کرد. این طرح باید اجرا شود و روی مانیتور سریال باید eui ارسال شود. eui را از مانیتور سریال به قسمت Device EUI در شبکه things کپی کنید.
  • روی ثبت کلیک کنید.
  • اکنون ما آردوینو خود را در ابر ثبت کرده ایم. زمان شروع به ارسال پیام ها فرا رسیده است.
  • باید به صفحه ای به نام نمای کلی دستگاه هدایت می شدید. در اینجا می توانید eui دستگاه ، برنامه eui و کلید برنامه خود را مشاهده کنید.
  • برای ادامه باید طرح نهایی را روی آردوینو فلش کنیم. طرح را می توانید در اینجا پیدا کنید.
  • وقتی این پیوند را باز می کنید ، می بینید که چندین زبانه وجود دارد. برگه اسرار را باز کنید. 2 کلید وجود دارد که برای کنار آمدن از شبکه چیزها به فایل اسرار نیاز دارید.
  • پس از پر شدن این کلیدها می توانید آردوینو را فلش کنید. هر ساعت یکبار ارسال داده به شبکه چیزها شروع می شود.
  • اگر همه چیز درست پیش رفت ، باید بتوانید با بازنشانی آردوینو (تنها دکمه روی برد) پیام هایی را که در تب Data در شبکه چیزها وارد می شوند ، مشاهده کنید.

    • اگر هیچ داده ای در آنجا ظاهر نشود ، ممکن است به این معنی باشد که در محدوده یک دروازه LoRa درست نیستید. می توانید نقشه ای را با تمام دروازه های موجود در https://thethingsnetwork.org بررسی کنید. دروازه های تک کانال LoRa با آردوینو توصیه شده کار نمی کنند.
    • اگر در محدوده یک دروازه نیستید ، می توانید دروازه خود را به شبکه چیزها متصل کنید. این دروازه ها معمولاً آموزشهای نسبتاً خوبی در مورد نحوه اتصال آنها دارند. در لیست عرضه به دنبال درگاه توصیه شده باشید.

مرحله 5: تفسیر داده ها در شبکه چیزها

  • برای به دست آوردن داده های قابل استفاده از پیام های موجود در شبکه چیزها ، ما نیاز به رمزگشایی جریان بعدی داریم.
  • در شبکه things به برنامه شما بروید.
  • باید برگه ای با عنوان "قالب های بار" وجود داشته باشد ، روی این برگه کلیک کنید.
  • 4 دکمه در کنار یکدیگر وجود دارد: "رمزگشایی" ، "مبدل" ، "اعتبار سنج" ، "رمزگذار".
  • روی رمزگشایی کلیک کنید.
  • کد زیر را در آنجا بچسبانید.

تابع رمزگشایی (بایت ، پورت) {// رمزگشایی یک پیام uplink از یک بافر // (آرایه) بایت ها به یک شی از فیلدها. var stringToDecode = bin2String (بایت) ؛ var res = stringToDecode.split ("")؛ var temp = res [1]؛ var wet = res [3]؛ var bat = res [5]؛ var رمزگشایی = {"دما": temp ، "رطوبت": مرطوب ، "باتری": bat} ؛ رمزگشایی بازگشت ؛ } تابع bin2String (آرایه) {var result = ""؛ برای (var i = 0 ؛ i <array.length؛ ++ i) {result+= (String.fromCharCode (آرایه )) ؛ } نتیجه بازگشت ؛}

  • روی ذخیره کلیک کنید.
  • هنگامی که arduino را بازنشانی می کنید و برگه داده های خود را مشاهده می کنید ، باید یک شی json با فرمت زیبا مشاهده کنید که می توانید به راحتی آن را بخوانید.

مرحله 6: اتصال برنامه به AWS

ما قصد داریم از AWS برای ذخیره و استفاده از داده های شبکه چیزها استفاده کنیم. همه منابعی که قصد استفاده از آنها را داریم در ردیف رایگان AWS قرار دارند.

  • به AWS https://aws.amazon.com/ بروید.
  • ورود یا ایجاد یک حساب کاربری.
  • برای اتصال برنامه خود در شبکه چیزها به AWS توصیه می کنم این آموزش را دنبال کنید:
  • پس از اتمام این آموزش ، در کنسول aws به بخش IoT-Core بروید.
  • در منوی سمت چپ برچسب "مدیریت" وجود دارد ، روی این مورد کلیک کنید.
  • اکنون باید کارتی با نام سنسور خود در آن مشاهده کنید.
  • دوباره در منوی چپ روی "اقدام" کلیک کنید
  • اگر کارتی با برچسب Store وجود دارد ، خوب است بروید.
  • اگر نه ، روی "ایجاد" کلیک کنید.
  • نام "فروشگاه" را پر کنید.
  • در صورت تمایل می توانید توضیحات را اضافه کنید.
  • به عنوان یک عبارت پرس و جو کد زیر را پر کنید: SELECT dev_id، metadata.time، payload_fields.temperature، payload_fields.moisture، payload_fields.battery FROM 'cactus_network/devices/+/up'.
  • در بخش "تنظیم یک یا چند اقدام" روی افزودن اقدام کلیک کنید.
  • "تقسیم پیام به چند ستون از یک جدول DynamoDb (DynamoDBv2)" را انتخاب کنید.
  • روی پیکربندی اقدام کلیک کنید
  • روی ایجاد منبع جدید کلیک کنید.
  • روی ایجاد جدول کلیک کنید و یک نام به جدول خود بدهید.
  • در زیر کلید اصلی "dev_id" را پر کنید.
  • روی افزودن کلید مرتب سازی کلیک کنید
  • "زمان" را پر کنید.
  • روی ایجاد کلیک کنید.
  • اگر همه چیز خوب پیش رفت ، باید دوباره به صفحه پیکربندی اقدام بازگردید.
  • در قسمت "انتخاب یا ایجاد نقشی برای اعطای دسترسی به AWS IoT برای انجام این عمل" یک قسمت کمی خاکستری وجود دارد.
  • روی ایجاد نقش کلیک کنید و نامی برای این نقش بگذارید.
  • روی ایجاد نقش کلیک کنید.
  • روی افزودن اقدام کلیک کنید.
  • روی ایجاد قانون کلیک کنید.
  • اکنون باید قانونی داشته باشید که به طور خودکار تمام پیام های دریافتی از شبکه چیزها را در DynamoDb ذخیره کند.
  • با تنظیم مجدد arduino می توانید بررسی کنید که آیا این کار می کند یا خیر و به جدول DynamoDb که ایجاد کرده اید مراجعه کنید.
  • باید یک پیام با پیام وجود داشته باشد.

مرحله 7: ایجاد Lambda

برای خواندن داده های DynamoDB ما قصد داریم یک AWS lambda بنویسیم.

  • در کنسول مدیریت AWS تحت خدمات پیوندی با عنوان "Lambda" وجود دارد ، روی این پیوند کلیک کنید.
  • روی ایجاد عملکرد کلیک کنید.
  • نامی را انتخاب کنید.
  • زمان اجرا را روی پایتون 3.7 تنظیم کنید.
  • روی ایجاد عملکرد کلیک کنید.
  • این کد را در IDE یکپارچه جایگذاری کنید.

json را وارد کنید

واردات boto3 زمان وارد کردن از زمان datetime وارد کردن datetime ، timedelta از boto3.dynamodb.conditions import key ، Attr def lambda_handler (رویداد ، زمینه): return retreive_data () def retreive_data (): # دریافت منبع خدمات dynamodb = boto3.resource ('dynamodb') table = dynamodb. Table ('نام جدول در اینجا') now = datetime.now () Yesterday = now - timedelta (hours = 24) fe = Key ('time'). بین (Yesterday.isoformat () ، now.isoformat ()) fed = Key ("time"). lt (Yesterday.isoformat ()) respond = table.scan (FilterExpression = fe) recordsToDelete = table.scan (FilterExpression = fed) برای f in recordsToDelete ['Items']: #print (f) table.delete_item (Key = {'dev_id': f ['dev_id']، 'time': f ['time']}) data = reply ['Items '] داده ها را برگرداند

  • نام جدول را به نامی که انتخاب می کنید تغییر دهید.
  • به سمت نقش اجرا پایین بروید.
  • روی ایجاد نقش جدید از قالب های خط مشی aws کلیک کنید.
  • نامی را انتخاب کنید.
  • در قالب الگوهای خط مشی ، «مجوزهای مهار آزمایش» و «مجوزهای ساده خدمات کوچک» را انتخاب کنید.
  • روی ذخیره کلیک کنید.
  • تست را کلیک کنید.
  • ممکن است پنجره ای باز شود ، فقط یک نام انتخاب کرده و ذخیره کنید.
  • دوباره روی test کلیک کنید.
  • در بالا باید یک بنر سبز وجود داشته باشد که روی آن نوشته شده است "نتیجه اجرا: موفق شد".
  • وقتی روی این بنر کلیک می کنید باید خروجی این تابع را مشاهده کنید ، این باید یک لیست از sensordata باشد.
  • لطفاً توجه داشته باشید که این اسکریپت تمام داده های قدیمی تر از 24 ساعت را حذف می کند.
  • اگر بنر شما سبز نیست اما قرمز است ، چیزی را فراموش کرده اید و با کلیک روی این بنر ، خطای کامل به شما داده می شود. در این مورد گوگل بهترین دوست شما است.

مرحله 8: ایجاد نقطه پایانی API

  • در کنسول مدیریت AWS تحت خدمات پیوندی با عنوان "api-gateway" وجود دارد ، روی این پیوند کلیک کنید.
  • روی ایجاد API کلیک کنید.
  • مطمئن شوید که "REST" و "API جدید" هر دو انتخاب شده اند.
  • نامی را برای api خود انتخاب کنید.
  • روی ایجاد API کلیک کنید.
  • اکنون باید یک دکمه با برچسب اقدامات روی صفحه وجود داشته باشد ، روی آن کلیک کنید.
  • سپس روی ایجاد منبع کلیک کنید.
  • به عنوان نام منبع ، باید چیزی ساده مانند "plant" یا "plant-data" را انتخاب کنید.
  • روی ایجاد منبع کلیک کنید.
  • در سمت چپ باید نامی که تازه وارد کرده اید وجود داشته باشد. روی این نام کلیک کنید
  • اکنون دوباره روی Action ها کلیک کنید و اکنون روی add method کلیک کنید.
  • GET را انتخاب کنید.
  • روی علامت تیک کلیک کنید.
  • باید یک کادر متنی با عنوان Lambda Function وجود داشته باشد.
  • نامی را که به شما تابع lambda داده اید در اینجا وارد کنید.
  • روی ذخیره کلیک کنید.
  • ممکن است پنجره ای باز شود که به شما هشدار می دهد که مجوزهای اضافی ایجاد می کند.
  • این پنجره بازشو را بپذیرید.
  • اکنون در بخش اقدامات روی فعال کردن cors کلیک کنید.
  • روی "فعال کردن CORS و جایگزینی سرصفحه های موجود CORS" کلیک کنید.
  • روی "بله ،…" کلیک کنید.
  • دوباره روی اقدامات کلیک کنید و روی Deploy API کلیک کنید.
  • در مرحله استقرار [New Stage] را انتخاب کنید.
  • نامی را انتخاب کنید.
  • روی استقرار کلیک کنید.
  • شما اکنون api خود را بصورت آنلاین برای جهان منتشر کرده اید.
  • در صفحه ای که اکنون وارد آن شده اید ، روی "GET" و منبعی که به تازگی ایجاد کرده اید کلیک کنید.
  • باید پیوندی در بالا با برچسب "URL فراخوانی" وجود داشته باشد.
  • این پیوند را کپی کنید.
  • آن را در مرورگر جایگذاری کرده و enter را بزنید.
  • شما باید داده های موجود در پایگاه داده را مشاهده کنید.

مرحله 9: گیاه خود را به شبکه گیاهان اجتماعی متصل کنید

  • به https://bit.ly/social_plant_network بروید.
  • روی "ورود" کلیک کنید.
  • روی ایجاد حساب کلیک کنید.
  • برای ایجاد حساب کاربری خود فرم را پر کنید.
  • لطفاً توجه داشته باشید که نام کاربری نیز باید ایمیل شما باشد.
  • روی ایجاد حساب کلیک کنید.
  • ممکن است لازم باشد قبل از ادامه ایمیل ، ایمیل خود را تأیید کنید.
  • از ورود خود اطمینان حاصل کنید.
  • Ga را به صفحه اصلی بازگردانید (روی لوگو در گوشه بالا سمت چپ کلیک کنید).
  • روی دکمه تنظیمات کلیک کنید.
  • فرم را پر کنید ، باید هر فیلدی را پر کنید.
  • پیوند api پیوندی است که پس از ایجاد نقطه پایانی API ذخیره کرده اید.
  • وقتی همه چیز پر شد روی دکمه ذخیره گیاه کلیک کنید. اکنون سیستم پیوند api را که وارد کرده اید تأیید می کند و اگر این درست باشد ، کارخانه شما را در شبکه ذخیره می کند.
  • بازگشت به صفحه اصلی.
  • اکنون می توانید روی همه گیاهان کلیک کنید ، باید بتوانید همه گیاهان ثبت شده را مشاهده کنید. گیاه شما نیز باید آنجا باشد. روی کارت کلیک کنید و به صفحه ای کلی از کارخانه خود منتقل می شوید ، همچنین توصیه هایی را بر اساس مقادیری که در تنظیمات تعیین کرده اید نشان می دهد.

مرحله 10: به پشت تکیه دهید و خود را به پشت بمالید

شما به تازگی یک کارخانه را به اینترنت متصل کرده اید. بسیار تاثیرگذار است ، درست است؟

توصیه شده: