فهرست مطالب:
- تدارکات
- مرحله 1: بارگیری ، اصلاح فایلها و چاپ فایلهای سه بعدی
- مرحله 2: اجزای لحیم کاری/مونتاژ - قسمت a (صفحه کلید و شماره جانبی)
- مرحله 3: اجزای لحیم/مونتاژ - قسمت B (بال و سنسور)
- مرحله 4: اجزای لحیم کاری/مونتاژ - قسمت C (صفحه کلید حسگر خازنی و Feathewing در مورد)
- مرحله 5: اختیاری - اجزای لحیم/مونتاژ - قسمت D (پر INA219)
- مرحله 6: پشت را ببندید و USB را وصل کنید
- مرحله 7: محیط AWS را آماده کنید
- مرحله 8: کلیدهای نرم افزاری را بارگیری کرده و خدمات شخص ثالث را راه اندازی کنید
- مرحله 9: کد AWS را اصلاح و بارگذاری کنید
- مرحله 10: آماده سازی Arduino IDE و بارگیری کتابخانه ها
- مرحله 11: کد Arduino را به روز کرده و نصب کنید و مشارکت کنید
تصویری: آن را طوری بساز! Star Trek TNG Mini Engineering Engineering: 11 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
بررسی اجمالی
من با تماشای Star Trek: The Next Generation بزرگ شدم. من همیشه می خواستم دستگاهی با مضمون Star Trek بسازم ، بنابراین در نهایت با بازسازی یکی از پروژه های قدیمی خود برای ساخت ترمینال نمایش Star Trek آشنا شدم.
ترمینال اطلاعات زیر را ارائه می دهد:
- آب و هوا - با استفاده از خدمات آب و هوا ملی
- دمای داخلی ، رطوبت و استحکام ترکیبات آلی فرار (VOC)
- مقالات خبری - از News.org
- برنامه (با عملکرد زنگ هشدار) - از Microsoft Outlook
- اطلاعات تناسب اندام (مراحل ، دقیقه حرکت ، نقاط قلب ، وزن ، کالری سوزانده شده) - از Google Fitness
- نمودار کد رنگ مقاومت
- یک ماشین حساب مقاومت LED (برای تعیین مقدار مقاومت بر اساس قدرت جریان و منبع)
- ابزار اندازه گیری قدرت و جریان
این اطلاعات از طریق ترکیبی از API ها و حسگرهای سخت افزاری در دسترس قرار می گیرد. من از ESP32 برای میکروکنترلر استفاده می کنم و از AWS Cloud برای جمع آوری و تجمیع داده ها استفاده می کنم.
من همچنین چند "تخم مرغ عید پاک" را شامل می شود:
-
ادای احترام ران مک نییر - دکتر McNair دلیل مهندس شدن من است. او 45 دقیقه از شهر من بزرگ شد. او در انفجار چلنجر جان باخت.
- نام کشتی ستاره من "USS Ronald E McNair" است
- شماره ثبت از تاریخ تولد آقای مک نییر است. کد پیشوند روزی است که وی جان خود را از دست داد.
- استفاده از "پیش شماره کد" اشاره ای به Star Trek: Wrath of Khan (بزرگترین فیلم پیشتازان فضا در تمام دوران است ؛ مرا @ me نکنید) است.
- اعداد سمت راست پرونده پایانی به برادری من (1906 - Alpha Phi Alpha) و دانشگاه و رشته تحصیلی من - (دانشگاه اوکلاهما ، دانشکده مهندسی) اشاره دارد
شما می توانید شماره ، حروف و نام کشتی ، رجیستری و غیره را برای "تخم های عید پاک" خود سفارشی کنید.
زمینه
سال گذشته ، من نیاز به یک روش کم هزینه برای اندازه گیری قدرت و تخلیه باتری برای یک پروژه پوشیدنی داشتم. من یک Adafruit INA219 Featherwing خریدم و از قطعات یدکی متنوع برای ساخت یک دستگاه اندازه گیری قدرت ساده استفاده کردم (می توانید در اینجا درباره آن بیشتر بخوانید).
امسال ، من تصمیم گرفتم دستگاه را ارتقا دهم تا "فن آوری" تر شود. من در ابتدا قصد داشتم یک سه راه Star Star Trek (نسخه Mark IV TR-590 Mark IX ، برای کسانی که مراقبت می کنند) بسازم … اما به سرعت متوجه شدم که ایجاد چیزی که روی میز من بنشیند منطقی تر است (منظورم این است که چرا برای ساختن یک دستگاه خنک به این همه مشکل بروید ، فقط آن را ببندید و در صورت عدم استفاده آن را در کشو بگذارید).
بنابراین ، من به ساخت نسخه ای از نمایشگرهای رایانه ای که در Star Trek TNG یا Voyager (یا فیلم های مختلف) می بینید ، روی آوردم. من با طرح های مختلف بازی کردم ، سپس به نسخه ای برخوردم که توسط برادران رویز آدافروت ایجاد شده بود. Adafruit کار بسیار خوبی در زمینه ارائه فایل های منبع برای پروژه های پرینت سه بعدی خود انجام می دهد ، بنابراین من توانستم نسخه اصلی آنها را تهیه و برای سخت افزار ، دکمه ها و سایر لوازم جانبی خود مجدداً ترکیب کنم.
نکاتی که باید قبل از اقدام خود بدانید
- من دستورالعمل های مرحله به مرحله برای ساخت نسخه پروژه خود ارائه می دهم. با این حال ، من در مورد مراحل خاصی وارد جزئیات نمی شوم (من به دستورالعمل ها یا اسناد پشتیبانی پیوند می دهم)
-
این یک پروژه پیچیده است. این "ساخت چند رشته ای" است که به مهارت های زیر نیاز دارد
- آردوینو IDE
- AWS - شما به یک حساب نیاز دارید و باید S3 ، Lambda و Node JS را بفهمید
- لحیم کاری
- پرینت سه بعدی
- برای افزودن پروژه به منظور به دست آوردن اطلاعات تقویم و تناسب اندام ، گزینه های اضافی اختیاری وجود دارد. قابلیت در پایگاه کد گنجانده شده است. با این حال ، برای پشتیبانی از ویژگی ها ، باید "برنامه" در ابرهای Azure و Google ایجاد کنید.
- این در نهایت قابل تنظیم است … شما می توانید سنسور کنونی را با یک پرپر دیگر عوض کنید می توانید از ترکیب پر/وای فای دیگری استفاده کنید.
تدارکات
قطعات الکترونیکی
- پر Adafruit ESP32 Huzzah
- مینی کیت سه تایی Adafruit Featherwing
- Breakout سنسور لمسی خازنی 12 کلید Adafruit
- Adafruit TFT FeatherWing - صفحه نمایش لمسی 3.5 اینچی 480x320
- Adafruit BME680 - سنسور دما ، رطوبت ، فشار و گاز
- DC Panel Mount 2.1 Barrel Jack (2)
- باتری لیتیوم یون پلیمر - 3.7 ولت 500 میلی آمپر ساعت
- Piezo Buzzer
- کابل USB Mirco و شارژر 5V (یک شارژر معمولی تلفن USB کار می کند)
- نوار فویل مسی با چسب
- اختیاری - Adafruit INA219 Featherwing
- اختیاری - 2.1 شاخه نر - (برای استفاده با سنسور کنونی INA219)
پیوند به تمام قطعات الکترونیکی به جز 2.1 دوشاخه:
اجزای فیلامنت سه بعدی و قطعات اختیاری رنگ/سنباده
- Proto Pasta Conductive PLA
- رشته های سه بعدی اضافی - من از 4 رنگ خاکستری ، مشکی ، آبی (آبی روشن) و سفید استفاده کردم
- .25 و 0.4 میلی متر نازل (من از 0.25 برای جزئیات حروف استفاده کردم).
قطعات و ابزار مونتاژ سخت افزار
- پیچ M2x5 و M3x5
- پین های سرصفحه راست و راست (برای پیوندها به لیست خواسته های Adafruit مراجعه کنید)
- لحیم کاری آهن (و قرقره لحیم کاری ، نوک قلع ، مکنده لحیم کاری و غیره)
- کیت پیچ گوشتی فیلیپس
- بسته بندی کوچک
- سیم Stranded 22AWG - پنج یا شش رنگ
- سیم جامد 22AWG - پنج یا شش رنگ
- PCB Vise and Helping hands (اختیاری است ، اما لحیم کاری را آسان تر می کند)
- سیم برش مورب
- استریپرهای سیم
- چاقو Xacto (برای حذف پشتیبانی از قطعات چاپگر سه بعدی)
- چاپگر سه بعدی (اگر قصد چاپ خود دارید)
- بتونه یا نوار (برای چسباندن باتری به داخل قاب چاپی)
- کالیپرهای دیجیتال
- چسب کرانسی
- اختیاری - دستکش یکبار مصرف نیتریل
- اختیاری - تشک لحیم کاری (اختیاری ، اما از سطوح محافظت می کند)
توجه: اگر این ابزارها را ندارید ، پیشنهاد می کنم برای انتخاب گزینه های خوب به سایت بکی استرن مراجعه کنید.
نرم افزار
مرحله 1: بارگیری ، اصلاح فایلها و چاپ فایلهای سه بعدی
می توانید فایل ها را به یک سرویس چاپ سه بعدی (مانند 3D Hubs) ارسال کنید یا می توانید خود را چاپ کنید. فایلها در PrusaPrinters.org موجود است.
این مورد یک ریمیکس از ساعت زنگ دار Py Portal است که در وب سایت Adafruit نشان داده شده است. پروژه من از TFT مشابه استفاده می کند ، بنابراین من توانستم میزان طراحی مورد نیاز برای کارکردن کیف با لوازم جانبی خود را به حداقل برسانم.
برای چاپ از تنظیمات زیر استفاده کردم:
- جلو و عقب- چاپ شده در ارتفاع لایه 0.2 میلی متر با نازل 0.4 میلی متر ، بدون تکیه گاه
- شماره جانبی - چاپ شده در ارتفاع لایه 0.10 میلی متر با نازل 0.25 میلی متر ، بدون تکیه گاه
- کلیدها - چاپ شده در ارتفاع لایه 0.2 میلی متر با نازل 0.4 میلی متر. شما باید 7 چاپ کنید و باید با رشته رسانای Proto-Pasta چاپ کنید.
-
قاب - چاپ شده در ارتفاع لایه 0.2 میلی متر.
پشتیبانی نیاز است ، اما در همه جا لازم نیست (فقط در کناره ها و وسطی که صفحه کلید نشسته است
چند نکته که باید بدانید:
- Prusa MK3 به شما امکان می دهد رنگ ها را در ارتفاع لایه های مختلف تغییر دهید. من از این ویژگی برای قطعه شماره جانبی استفاده کردم.
-
همچنین ، در مورد قطعه شماره جانبی:
- خدمه تولید Star Trek TNG تخم مرغ عید پاک را در وسایل خود می پاشند. اگر به پلاک ها و پانل های مختلف دقت کنید ، نام افراد ، اشعار آهنگ ها و غیره را خواهید دید. من می خواستم "شماره تخم مرغ عید پاک" خود را برای شماره جانبی ایجاد کنم ، بنابراین از "06" - که به برادری من اشاره می کند ، استفاده می کنم (در سال 1906 تشکیل شد) ، و "OUCOE" - که به دانشگاه آزاد من (دانشگاه اوکلاهما ، کالج مهندسی) اشاره دارد.
- من یک قطعه side_number "خالی" ایجاد کردم که می توانید برای ایجاد شماره و متن دلخواه خود آن را تغییر دهید.
مرحله 2: اجزای لحیم کاری/مونتاژ - قسمت a (صفحه کلید و شماره جانبی)
ابتدا ، شماره جانبی را ضمیمه می کنیم. از یک تکه چسب کوچک برای قرار دادن شماره جانبی در جای خود استفاده کنید.
بعد ، ما صفحه کلید را مونتاژ می کنیم
-
شما باید 7 تکه سیم رشته ای را برش دهید - طول هر کدام بین 10-12 اینچ است. اینها به پینهای 0-6 سنسور لمسی خازنی متصل می شوند. پیشنهاد می کنم از رنگ های مختلف استفاده کنید (و نقشه رنگها/پین را بنویسید ، زیرا بعداً به این اطلاعات نیاز خواهید داشت). من از ترکیب رنگ زیر استفاده کردم:
- زرد - پین 0/دکمه 1
- خاکستری - پین 1/دکمه 2
- قرمز - پین 2 /دکمه 3
- آبی - پین 3 // دکمه 4
- سبز - پین 4 // دکمه 5
- سفید - پین 5 // دکمه 6
- سیاه - پین 6 // دکمه 7
- 1/2 را از انتهای هر سیم بکشید.
- 7 قطعه نوار رسانا (هر کدام به عرض 1/2 اینچ) ببرید و سیمها را به طرف مسی نوار بچسبانید.
- پشت چسب را بردارید و آنها را به پایین کلیدها بچسبانید. ممکن است لازم باشد مقداری از نوار مسی را برش دهید.
توجه: کلیدها را می توان از پایین چسباند (به گونه ای که با بالا هم تراز باشند) یا از بالا چسبانده شوند (به طوری که چند میلی متر از بالا "شناور" شوند). من چسب خود را از بالا انتخاب کردم.
پس از اتمام هر 7 مورد ، از یک چسب کوچک چسب کلیدها را روی صفحه کلید بچسبانید. به نظر من آسان تر است:
- ابتدا سیم را از طریق سوراخ کلید "مار" کنید.
- سپس یک تکه چسب کوچک روی خط الراس/لبه کلید قرار دهید
- سریع کلید را در جای خود قرار دهید.
توجه: Krazy Glue در اینجا بهتر کار می کند. ممکن است بخواهید از دستکش برای محدود کردن حوادث و احتمال تحریک پوست استفاده کنید.
مرحله 3: اجزای لحیم/مونتاژ - قسمت B (بال و سنسور)
مرحله بعدی آماده سازی و مونتاژ قطعات سخت افزاری است. در نهایت ، این به معنای لحیم کاری سنجاق ها و سیم های هدر برای استفاده بعدی است. این راهنما فرض می کند که با لحیم کاری راحت هستید. اگر نه ، این "راهنمای لحیم کاری عالی" را از Adafruit ببینید.
ابتدا مواد را آماده می کنیم برای این مرحله ، شما نیاز دارید:
- TFT 3.5 پرپر
- پر ESP32
- پرهای INA219
- پرنشین سه گانه
- سنسور لمسی خازنی MPR121
- سنسور BME680
- پین های سرصفحه راست و راست
- سیم جامد و رشته ای
- ابزار لحیم کاری و دست های کمک کننده
- برش های مورب و سیم برنده
- کالیپرها
توجه: پیشنهاد می کنم ابتدا این مرحله را بخوانید و قبل از شروع لحیم کاری ، تمام سیم ها و سربرگ های خود را قطع کنید. به این ترتیب ، لازم نیست برای اندازه گیری/برش متوقف شوید.
TFT 3.5 Featherwing را آماده کنید
TFT با تنها یک تنظیم آماده استفاده در جعبه است. شما باید یک سیم را بین پد "Lite" و یک پد لحیم کاری لحیم کنید. کد ما از ESP32 Pin 21 برای کنترل TFT lite استفاده می کند. TFT را از راه "طولانی" ترتیب دهید ، با دکمه تنظیم مجدد در پایین. پین 21 پین پایین سمت چپ خواهد بود.
یک قطعه سیم رشته ای 40 میلی متری را برش دهید. انتهای آن را بچسبانید به طوری که چند میلی متر سیم در هر انتهای آن نشان داده شود. با استفاده از آهن لحیم کاری خود ، هر دو پایه را با دقت لحیم کنید.
توجه: فقط به طول 35 میلی متر نیاز دارید … بنابراین می توانید سیم خود را در صورت نیاز کوتاه کنید. همچنین ، دریافتم که افزودن لحیم به پد ، سپس به سیم ، و سپس لحیم کردن سیم به پد ساده ترین روش است. سرانجام - این پدها کوچک هستند … اگر ناراحت هستید ، همیشه می توانید از این مرحله بگذرید: این فقط برای خاموش کردن TFT با صفحه کلید است.
پر ESP32 را آماده کنید
باید پین هدرهای استاندارد مردانه را به ESP32 بچسبانید. ESP32 شما باید دارای سرصفحه باشد ، اگرچه ممکن است لازم باشد آنها را کوتاه کنید تا به طول مناسب برسید (16 پین در طرف بلند ، 12 پین در طرف کوتاه). سنجاق های سربرگ برای "دور شدن" ساخته شده اند ، بنابراین می توانید از برش های مورب خود برای برش هدرها به طول مناسب استفاده کنید. باز هم ، Adafruit دستورالعمل های خوبی در مورد چگونگی انجام این کار دارد ، بنابراین در صورت نیاز به راهنمایی آن را بررسی کنید.
اختیاری - INA219 Featherwing را آماده کنید
ابتدا سربرگ های نر را به پرچین بچسبانید (با استفاده از همان دستورالعمل هایی که برای ESP32 استفاده شده است). سپس چهار سیم رشته ای به طول 20 میلی متر برش دهید. من 2 BLACK و بقیه را رنگی متفاوت می کنم. من از رنگ خاکستری و آبی برای انتخاب رنگم استفاده کردم.
انتهای سیم را بچسبانید به طوری که 3-4 میلی متر سیم مسی در هر انتهای آن نمایان شود. هر یک از هر سیم را به صورت زیر لحیم می کنید:
- خاکستری -> V+ (به علاوه)
- آبی -> V- (منهای)
- BLACK -> GND (زمین)
- BLACK -> GND (زمین)
در این زمان انتهای دیگر سیم ها را رها کنید. در نهایت آنها را به دوشاخه های DC 2.1 لحیم می کنیم.
Piezo Buzzer را وصل کنید
INA Featherwing دارای یک منطقه نمونه سازی کوچک است. ما از آن برای اتصال پیزو خود استفاده می کنیم. پیزو به پروژه ما این امکان را می دهد که بوق و هشدارها ، آلارم ها و غیره را صدا دهد.
پیزو به ESP32 PIN 13 متصل می شود. این مربوط به پین کنار پین USB در بال پرنده است (برای پیکانها به تصویر مراجعه کنید). پین پیزو دیگر به زمین متصل می شود. سنجاق های به اندازه کافی بلند هستند که می توان آنها را مستقیماً به پرچین بچسبانید … شما فقط باید سنجاق ها را به شکل "مرد کمان دار" خم کنید (تصویر را ببینید). هنگامی که سنجاق ها را در محل خود قرار دادید ، از یک دست کمک (یا نوار) برای نگه داشتن پیزو در محل خود استفاده کنید و از قسمت زیرین بال پر لحیم کنید.
توجه - اگر از INA219 استفاده نمی کنید ، باید پیزو را مستقیماً به تخته پرکن لحیم کنید.
پرپر سه گانه را آماده کنید
پر کردن ما را از لحیم کاری زیادی نجات می دهد. می تواند 3 پر/بال داشته باشد … بنابراین ما از آن برای ایجاد اتصالات الکتریکی بین TFT ، ESP32 ، INA219 (و همچنین پیتزو و پین TFT Lite) استفاده خواهیم کرد.
برای برقراری صحیح اتصالات ، باید دو جفت سرصفحه و یک جفت هدر استاندارد مردانه را لحیم کنیم.
- هدرهای معمولی مردان در نقطه "بالا" قرار می گیرند ، اما به قسمت پایین تریپلر لحیم می شوند.
- دو سرفصل انباشته در نقاط 2 و 3 ، در سمت بالای Tripler لحیم می شوند.
این کمی گیج کننده است ، بنابراین حتماً به تصاویر نگاه کنید تا متوجه شوید هر هدر کجا قرار گرفته است. همچنین ، ترکیبی از PCB Vise و Helping Hands می تواند به لحیم کاری قطعات کمک زیادی کند.
سنسور BME 680 و سنسور لمسی خازنی MPR121 را آماده کنید
دو سنسور آخر سخت ترین وصل کننده هستند. قبل از نهایی شدن مونتاژ ، باید پین های هدر را به تخته های شکست بچسبانیم.
سنسور BME در زاویه 90 متصل شده است ، به طوری که می توانم سنسور را در حفره قاب قرار دهم (به طوری که سنسور بتواند دما ، گاز ، رطوبت را ثبت کند). شما باید پین های با زاویه راست را به سوراخ ها بچسبانید. برای اطمینان از تراز صحیح آنها ، تصاویر را مشاهده کنید.
حسگر لمسی خازنی ساده است - فقط همانطور که در اینجا مشخص شده است ، پین های اتصال دهنده نر مستقیم را لحیم کنید. توجه: شما نباید پین ها را به پین های لمسی خازنی (0 - 11) لحیم کنید.
سنسورهای BME 680 و MPR121 را به برد سه تایی وصل کنید
هر دو سنسور از طریق I2C ارتباط برقرار می کنند … این بدان معناست که ما فقط باید 4 اتصال بین تخته های شکست و Featherwing ایجاد کنیم. برای سادگی ، تمام اتصالات بین تخته ها را لحیم می کنم.
BME 680
برای این سنسور ، از Helping Hands و یک PCB Vise برای نگه داشتن هر دو قطعه در محل استفاده می کنم (تصویر بالا را ببینید). سنسور BME680 باید در انتهای بال پر قرار گیرد. برای تأیید مکان ، تصاویر بالا را مشاهده کنید.
روند لحیم کاری اتصالات خسته کننده است ، بنابراین به آرامی پیش بروید. من برای اتصالات از سیم جامد استفاده می کنم:
- سیاه - GND
- قرمز - VIN
- زرد - SCL (پین SCK روی سنسور به
- نارنجی - SDA (پین SDA روی سنسور)
توجه: پین های SCL و SDA برای هر دو سنسور مورد نیاز است ، بنابراین ممکن است استفاده از پین SCL یا SDA در قسمت دیگری از Featherwing آسان تر باشد.
MPR121
هنگام لحیم کاری این سنسور در جای خود (کمک نوار نیز کار می کند) ، دستان کمکی کمک می کند. کد از I2C برای ارتباط با ESP32 استفاده می کند ، بنابراین شما پین های SCA و SDA را وصل می کنید.
مرحله 4: اجزای لحیم کاری/مونتاژ - قسمت C (صفحه کلید حسگر خازنی و Feathewing در مورد)
در این مرحله سیمها را از صفحه کلید به سنسور لمسی خازنی لحیم می کنید. از نقشه برداری همان رنگ قبلی استفاده کنید. اگر از طرح رنگ من پیروی کرده اید ، سیم های رنگی را به صورت زیر لحیم می کنید:
- زرد - پین 0/دکمه 1
- خاکستری - پین 1/دکمه 2
- قرمز - پین 2 /دکمه 3
- آبی - پین 3 /دکمه 4
- سبز - پین 4/دکمه 5
- سفید - پین 5/دکمه 6
- سیاه - پین 6/دکمه 7
پس از اتمام لحیم کاری ، از سیم پیچ استفاده کنید تا سیم ها را در جای خود نگه دارید.
در مرحله بعد ، صفحه TFT را به قطعه "Front" وصل کنید. شما از پیچ M3 (در مجموع چهار) استفاده می کنید. پس از نصب TFT ، قطعه "Front" را به قاب پیچ کنید. مجدداً از پیچ M3 (دو) استفاده خواهید کرد.
در مرحله بعد ، Featherwing Tripler را با همه قطعات وصل شده به TFT وصل کنید.
توجه - اگر قصد استفاده از باتری را دارید ، حتماً قبل از قرار دادن TFT آن را به پورت ESP32 -JST وصل کنید. از نوار چسب برای چسباندن باتری به قسمت داخلی کیس استفاده کنید.
مرحله 5: اختیاری - اجزای لحیم/مونتاژ - قسمت D (پر INA219)
اگر از سنسور INA219 استفاده می کنید ، این جایی است که سیم ها را به دوشاخه های DC وصل می کنید.
- دوشاخه های DC را به درپوش پشتی وارد کرده و آنها را در جای خود پیچ کنید.
-
برای اتصال سیم INA219 از آهن لحیم کاری استفاده کنید.
- سیمهای مشکی برای هر دوشاخه DC باید به GROUND بروند.
- سیم خاکستری باید به پلاگین INPUT DC برود
- سیم آبی باید به پلاگین OUTPUT برود.
مرحله 6: پشت را ببندید و USB را وصل کنید
آخرین مرحله در مونتاژ سخت افزار ، پیچاندن قاب پشتی در محل است - با استفاده از پیچ M2 (4). از آنجا ، کابل USB را وصل کنید ، آن را به رایانه خود وصل کنید و مراحل نرم افزاری را ادامه دهید!
مرحله 7: محیط AWS را آماده کنید
همانطور که در مقدمه بیان کردم ، فرض راه حل به شرح زیر است:
- ترمینال ، با ESP32 ، از اتصال MQTT (از طریق Wifi) برای ارتباط با ابر AWS استفاده می کند.
- ابر AWS بخش عمده ای از پردازش را انجام می دهد و به عنوان یک رله بین مانیتور و سرویس های درخواست شده عمل می کند.
در این مرحله چند کار وجود دارد که باید انجام دهیم:
ابتدا ، اگر هنوز این کار را نکرده اید ، باید محیط AWS خود را تنظیم کنید. این فرض بر این است که شما یک حساب AWS قبلاً راه اندازی کرده اید ، بنابراین دستورالعمل های ایجاد یک حساب ابر شامل نمی شود. همانطور که گفته شد ، مراحل مستقیم هستند و در اینجا یافت می شوند.
هنگامی که این مرحله را پشت سر گذاشتید ، باید چند سرویس ایجاد کنید ، بنابراین وارد کنسول AWS شوید.
ایجاد یک چیز و بارگیری کلیدها
AWS IoT Core ارتباط بین ابر AWS و صفحه نمایش را تسهیل می کند. برای پشتیبانی از ارتباطات ، باید یک "چیز" ایجاد کرده و گواهی ها را بارگیری کنید.
[توجه: اکثر این دستورالعمل ها از راهنمای نوشته شده توسط محیب زارا ، AWS Evangelist گرفته شده است]
- کنسول AWS را باز کرده و AWS IoT Core را انتخاب کنید.
- در کنسول AWS IoT ، ثبت یک چیز جدید ، ایجاد یک چیز واحد را انتخاب کنید.
- نام چیز جدید را "starTrekESP32" بگذارید. فیلدهای باقی مانده را به صورت پیش فرض تنظیم کنید. Next را انتخاب کنید.
- گزینه Create certificate را انتخاب کنید. برای اتصال ESP32 فقط مورد گواهینامه ، کلید خصوصی و بارگیری Amazon Root CA 1 لازم است. آنها را در جایی امن بارگیری و ذخیره کنید ، زیرا هنگام برنامه نویسی دستگاه ESP32 از آنها استفاده می شود.
- گزینه Activate، Attach a policy را انتخاب کنید.
- از افزودن یک خط مشی عبور کرده و Register Thing را انتخاب کنید.
- در منوی کنسول AWS IoT ، Secure، Policies، Create a policy را انتخاب کنید.
- نام سیاست را AllowEverything بگذارید. برگه Advanced را انتخاب کنید.
- در قالب خط مشی زیر جایگذاری کنید.
- {{"نسخه": "2012-10-17" ، "بیانیه": [{"Effect": "Allow" ، "Action": "iot:*" ، "Resource": "*"}]}
- Create را انتخاب کنید. (توجه: این فقط برای شروع توصیه می شود. پس از اینکه با همه چیز در حال کار هستید ، لطفاً برگردید و آن را به چیزی محدود کننده تغییر دهید.)
- در کنسول AWS IoT ، Secure، Certification را انتخاب کنید.
- مورد ایجاد شده برای دستگاه خود را انتخاب کرده و Actions، Attach policy را انتخاب کنید.
- AllowEverything را انتخاب کنید ، پیوست کنید.
- قبل از خروج ، روی "تنظیمات" (در منوی سمت چپ) کلیک کنید. "نقطه پایانی سفارشی" شما نشان داده می شود. آن را در یک فایل متنی ذخیره کنید … هنگام پیکربندی ESP32 به آن نیاز خواهید داشت.
یک فایل خالی Lambda ایجاد کنید
Lambda یک نوع محاسبه بدون سرور است ، بنابراین در اینجا نگران هیچ سخت افزاری نیستیم. در نهایت ، این جایی است که ما کد به روز شده خود را (که در چند مرحله انجام می دهیم) قرار می دهیم. در حال حاضر ، ما فقط می خواهیم یک متغیر ایجاد کنیم ، بنابراین…
- دوباره وارد کنسول AWS شوید (در صورت خروج از سیستم) و روی Lambda کلیک کنید.
- روی دکمه "ایجاد عملکرد" کلیک کنید.
- در صفحه بعد ، یک نام اصلی مانند starTrekDisplay وارد کنید
- Node.js 12. X را انتخاب کنید
-
تحت مجوزها:
- اگر راه خود را در Lambda می دانید و با آن آشنا هستید ، می توانید هر گزینه ای را که منطقی است انتخاب کنید. به مجوزهای CloudWatch ، IotCore ، S3 (خواندن و نوشتن) نیاز دارید.
- اگر در مورد مجوزها مطمئن نیستید ، "ایجاد یک نقش جدید با مجوزهای اصلی Lambda" را انتخاب کنید. نام نقش را بنویسید. بعداً ، مجوزها را تغییر می دهیم.
- روی ایجاد عملکرد کلیک کنید.
- پس از یک دقیقه ، یک صفحه جدید با قطعه کد "سلام جهان" وارد می کنید. به پایین به قسمت Basic Settings بروید و روی "ویرایش" کلیک کنید
- زمان وقفه را از 3 ثانیه به 2 دقیقه و 0 ثانیه تغییر دهید. توجه: کد شما هرگز نباید بیش از 5 تا 10 ثانیه اجرا شود … با این حال ، ما برای احراز هویت اولیه شما با مایکروسافت (برای عملکرد تقویم) به زمان بیشتری نیاز داریم. پس از احراز هویت ، می توانید این مورد را به 20 ثانیه تغییر دهید.
- save را بزنید.
یک قانون Iot ایجاد کنید
- در کنسول Lambda بمانید و به سمت بالا حرکت کنید. "Add Trigger" را انتخاب کنید.
- AWS IoT را انتخاب کنید. سپس "Custom Rule" را انتخاب کنید.
-
"ایجاد یک قانون جدید" را انتخاب کنید.
- نام قانون: اتصال ESP
- بیانیه درخواست قانون: "SELECT * FROM" starTrekDisplay/pub"
- روی "افزودن" کلیک کنید
یک سطل و پوشه S3 ایجاد کنید
- به کنسول AWS بروید و S3 را انتخاب کنید.
- برای ذخیره فایلهای احراز هویت به یک سطل و پوشه نیاز دارید. این پوشه باید خصوصی باشد. من پیشنهاد می کنم از هر سطلی که در حال حاضر دارید استفاده کنید و نام پوشه ایجاد شده را با نام "starTrekDisplay" بگذارید. توجه - اگر سطل ندارید ، با استفاده از دستورالعمل های اینجا یک سطل ایجاد کنید.
مجوزهای به روز رسانی - اگر به لامبدا اجازه دادید برای شما نقشی ایجاد کند ، باید این مرحله را دنبال کنید
- وارد کنسول AWS شده و IAM را انتخاب کنید
- روی ROLES کلیک کنید ، سپس نام نقشی را که قبلاً ایجاد کرده اید انتخاب کنید.
-
روی پیوست خط مشی ها کلیک کنید ، سپس خط مشی های زیر را انتخاب کنید:
- AWSIoTFullAccess
- AmazonSNSFullAccess
- CloudWatchFullAccess
- AmazonS3FullAccess
مرحله 8: کلیدهای نرم افزاری را بارگیری کرده و خدمات شخص ثالث را راه اندازی کنید
من از خدمات شخص ثالث زیر در پروژه استفاده می کنم:
- Worldtime API - برای زمان
- API های سرویس آب و هوا - برای آب و هوا
- Microsoft Graph API برای دسترسی به تقویم من
- Google Fitness API برای دسترسی به اطلاعات تناسب اندام
برای استفاده از خدمات یکسان ، باید حساب ها و کلیدهای بارگیری را تنظیم کنید
Worldtime API - برای زمان
این API نیازی به کلید ندارد ، بنابراین هیچ اقدامی برای انجام این کار لازم نیست.
API های سرویس آب و هوا - برای آب و هوا
API خدمات آب و هوایی ملی رایگان است و نیازی به کلید API نیست. با این حال ، آنها درخواست می کنند که اطلاعات تماس (در قالب یک ایمیل) را در هر درخواست (به عنوان بخشی از فایل سرصفحه) ارسال کنید. در مرحله بعد اطلاعات تماس را به کد اضافه می کنید.
اختیاری - Microsoft Graph API و Google Fitness API
این پیچیده ترین بخش تنظیم کد است. دستگاه ما صفحه کلید کامل ندارد … بنابراین ما از چیزی به نام OAUTH برای دستگاههای محدود برای دسترسی به تقویم خود استفاده می کنیم. متأسفانه ، برای استفاده از کد OAUTH برای دستگاههای محدود ، باید یک "برنامه" Azure و یک برنامه Google ایجاد کنید.
دستورالعمل ایجاد برنامه در اینجا برای مایکروسافت و در اینجا در Google آمده است. در اینجا چند نکته است که باید بدانید:
- شما باید یک حساب Azure و Google cloud ایجاد کنید. این رایگان است و هیچ هزینه ای از شما دریافت نمی شود
-
مایکروسافت:
- از شما خواسته می شود که مشخص کنید کاربران چه چیزی می توانند از برنامه استفاده کنند. پیشنهاد می کنم "حسابها در هر فهرست سازمانی و حسابهای شخصی Microsoft" را انتخاب کنید. این به شما امکان می دهد از حساب های شخصی مایکروسافت و حساب های شرکتی (در بیشتر موارد) استفاده کنید.
- شما می خواهید برنامه های "Mobile and Desktop" را انتخاب کنید ، اما لازم نیست همه اطلاعات را پر کنید (زیرا این یک برنامه شخصی است). این بدان معناست که شما نمی توانید برنامه خود را در دسترس جهان قرار دهید…. اما در این مورد مشکلی نیست
- پس از راه اندازی برنامه ، باید مجوزهای مورد نیاز را انتخاب کنید. من مجوزهای مربوط به نمایه ها و تقویم ها را درخواست کردم (برای مشاهده لیست کامل مجوزها به تصویر موجود در گالری مراجعه کنید). باید همان مجموعه را انتخاب کنید. اگر مجوزهای بیشتری اضافه کنید ، باید در مرحله بعد محدوده را به طور مناسب تغییر دهید.
مرحله 9: کد AWS را اصلاح و بارگذاری کنید
این فرض بر این است که شما با توسعه Node.js و Lambda آشنا هستید. فایل پیوندی را بارگیری کرده و برای به روز رسانی اصلاحاتی انجام دهید:
- برنامه Microsoft و اطلاعات مشتری
- کلید گوگل
- آدرس ایمیل برای ردیابی خدمات آب و هوا ملی
- نام سطل S3
- نام پوشه S3
- نقطه پایانی AWS
همچنین باید کتابخانه های گره زیر را بارگیری کنید:
- aws-sdk
- منطقه زمانی لحظه
- لهجه ها
پس از اعمال تغییرات ، کد را در lambda متغیر مکانی که قبلاً ایجاد کرده اید بارگذاری کنید.
مرحله 10: آماده سازی Arduino IDE و بارگیری کتابخانه ها
این راهنما همچنین فرض می کند که شما با آردوینو آشنا هستید. شما باید مطمئن شوید که IDE شما برای کار با Adafruit ESP32 تنظیم شده است. در صورت نیاز به راهنمایی ، دستورالعمل های اینجا را دنبال کنید.
پس از اتمام این کار ، کتابخانه های زیر را بارگیری کنید:
- Adafruit_GFX (از مدیر کتابخانه)
- Adafruit_HX8357 (از مدیر کتابخانه)
- TFT_eSPI (از مدیر کتابخانه)
- TFT_eFEX (https://github.com/Bodmer/TFT_eFEX)
- PubSubClient (از مدیر کتابخانه)
- ArduinoJson (از مدیر کتابخانه)
- Adafruit_STMPE610 (از مدیر کتابخانه)
- Adafruit_MPR121 (از مدیر کتابخانه)
- Adafruit_INA219 (از مدیر کتابخانه)
- Adafruit_Sensor (از مدیر کتابخانه)
- Adafruit_BME680 (از مدیر کتابخانه)
- Tone32 (https://github.com/lbernstone/Tone)
در مرحله بعد ما باید تعدادی از کتابخانه ها را تغییر دهیم:
- پوشه PubSubClient (در پوشه Arduino/Library) را باز کرده و "PubSubClient.h" را باز کنید. مقدار MQTT_MAX_PACKET_SIZE را پیدا کرده و آن را به 2000 تغییر دهید.
- در مرحله بعد ، پوشه TFT_eSPI را باز کرده و فایل "User_Setup_Select.h" را باز کنید. هر خط "شامل users_setup …" را کامنت کنید و این خط را اضافه کنید:
#عبارتند از
سپس فایل پیوندی Custom_Tricorder.zip را بارگیری کرده و فایل ".h" را در محل "TFT_eSPI / User_Setups" در پوشه کتابخانه های Arduino خود استخراج کنید. من
اکنون می توانیم به روز رسانی کد Arduino را پیش ببریم
مرحله 11: کد Arduino را به روز کرده و نصب کنید و مشارکت کنید
کد آردوینو
فایل پیوندی کد آردوینو را بارگیری و از حالت فشرده خارج کنید. به برگه secrets.h بروید. شما باید موارد زیر را به روز کنید:
- WIFI_SSID = با SSID فای خود به روز کنید
- WIFI_PASSWORD = با رمز وای فای خود به روز کنید
- TIMEZONE = منطقه زمانی خود را از این لیست به روز کنید
- LAT (برای یافتن عرض و طول جغرافیایی خود می توانید از خدماتی مانند "https://www.latlong.net" استفاده کنید
- LNG
- AWS_IOT_ENDPOINT = باید این را از قبل ذخیره کرده بودید. باید شبیه "dx68asda7sd.iot.us-east1-amazonaws.com" باشد
- AWS_CERT_CA
- AWS_CERT_CRT
- AWS_CERT_PRIVATE
همچنین گواهینامه های مرحله قبل را بارگیری کرده اید. سپس در ویرایشگر یادداشت ها (به عنوان مثال دفترچه یادداشت) باز کنید و متن را بین 'R' EOF ('و') EOF '' بچسبانید ؛ ' به حتماً "----- BEGIN CERTIFICATE -----" یا "----- BEAIN RSA PRIVATE KEY -----" را وارد کنید.
فایلهای تصویر
ESP32 دارای یک سیستم فایل کوچک است. ما از این سیستم فایل برای ذخیره تصاویر برای برنامه خود استفاده می کنیم. شما باید ابزاری را نصب کنید که به شما امکان بارگذاری فایل ها را می دهد.
- ابتدا ، از آموزش عمیق آموزش های تصادفی Nerd دیدن کنید.
- هنگامی که این کار را انجام دادید ، می توانید فایل ها را در پوشه داده (که در فایل zip نیز موجود است) بارگذاری کنید.
مشغول کردن
کد نهایی آردوینو را بارگذاری کنید ، کار تمام است!
توجه - نام Star Trek و تصاویر Star Trek متعلق به CBS/Paramount است. آنها در رابطه با بازی های cosplay و fan fiction سیاست نسبتاً سستی دارند - لطفاً اگر سوالی دارید اینجا را بخوانید.
جایزه اول در مسابقه Fandom
توصیه شده:
آگاه باشید از ATLAS - STAR WARS - Death Star II: 7 Step (همراه با تصاویر)
از ATLAS آگاه باشید - STAR WARS - Death Star II: Build from Bandai Death Star II مدل پلاستیکی. ویژگی های اصلی عبارتند از: ستاره مرگ
Working Star Trek Phaser: 7 Step
Star Trek Phaser: من در مسابقه Made With Math شرکت می کنم. لطفا رای خود را بگذارید. هشدار! لیزرها خطرناک هستند و برای همیشه چشم ها را کور می کنند. هرگز لیزر را به چشم کسی نبرید. این Instuctable به شما نشان می دهد که چگونه یک فازر کار از
تطبیق یک گوشی تلفن همراه با تلفن همراه: 7 مرحله (همراه با تصاویر)
انطباق یک گوشی تلفن همراه با یک تلفن همراه: توسط بیل ریو ([email protected]) اقتباس شده برای دستورالعمل ها توسط موس ([email protected]) سلب مسئولیت: روش شرح داده شده در اینجا ممکن است برای شما کارساز نباشد گرفتن. اگر کار نمی کند ، یا اگر چیزی را خراب می کنید ، m نیست
ایجاد Star Trek Communicator Edition RAZR: 3 مرحله (همراه با تصاویر)
ایجاد Star Trek Communicator نسخه RAZR: از آنجا که Star Trek Communicator الهام بخش تلفن های تلنگر امروزی بود ، چرا تلفن خود را بیشتر شبیه نسخه اصلی نکنید. من انجام دادم و در اینجا چگونه است
10 دقیقه. LED LED چشمک زن Star Trek Phaser: 7 مرحله
10 دقیقه. Star Trek Phaser Flashing LED Mod: وقتی به یک بازیگر کلاسیک Star Trek Phaser مود می کردم ، به دوستم اندی فکر می کردم. انجام آن به طرز شگفت آوری سریع و آسان بود. من چیزی را می خواستم که کمی بهتر نشان داده شود و به اندازه مد فازر لیزری Blu-Ray خطرناک نباشد (نه اینکه B