Мазмуну:
- Жабдуулар
- 1 -кадам: Файлдарды түшүрүү, өзгөртүү жана 3D файлдарды басып чыгаруу
- 2 -кадам: Solder/Components Components - Part a (Keypad and Side Number)
- 3 -кадам: Solder/Components Components - Part B (Featherwings and Sensors)
- 4 -кадам: Solder/Components Components - Part C (Capacitive Sensor жана Feathewing Keypad)
- 5 -кадам: ОПЦИОНАЛДЫК - Курамдарды Куроо/Кураштыруу - Part D (INA219 Feather)
- 6 -кадам: Арткы капкакты бурап, USBге туташтырыңыз
- 7 -кадам: AWS чөйрөсүн даярдаңыз
- 8 -кадам: Программалык ачкычтарды жүктөп алып, үчүнчү жактын кызматтарын орнотуңуз
- 9 -кадам: AWS кодун өзгөртүү жана жүктөө
- 10 -кадам: Arduino IDEди даярдап, китепканаларды жүктөп алыңыз
- 11 -кадам: Arduino кодун жаңыртып, орнотуңуз
Video: Ушундай кыл! Star Trek TNG Mini Engineering Computer: 11 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Обзор
Мен Star Trek: The Next Generation тасмасын көрүп чоңойдум. Мен ар дайым Star Trek тематикалык түзүлүшүн кургум келген, ошондуктан акыры Star Trek дисплей терминалын жасоо үчүн эски долбоорлорумдун бирин оңдоп чыктым.
Терминал төмөнкү маалыматтарды берет:
- Аба ырайы - Улуттук Аба ырайы кызматын колдонуу
- Үй ичиндеги температура, нымдуулук жана учуучу органикалык кошулма (VOC) күчү
- Жаңылыктар макалалары - News.org сайтынан
- График (ойготкуч функциясы менен) - Microsoft Outlookтон
- Фитнес маалыматы (кадамдар, кыймыл мүнөтү, жүрөк упайлары, салмак, күйгөн калория) - Google Fitnessтен
- Резистордун түс кодунун диаграммасы
- LED резисторунун калкулятору (резистордун маанисин токтун жана булактын кубаттуулугуна негиздеп аныктоо үчүн)
- Күч жана токту өлчөөчү курал
Бул маалымат API жана аппараттык сенсорлордун айкалышы аркылуу жеткиликтүү болот. Мен микроконтроллер үчүн ESP32ден пайдаланам жана бардык маалыматтарды чогултуу жана топтоо үчүн AWS Булуттан пайдаланам.
Мен дагы бир нече "пасха жумурткасын" киргиздим:
-
Рон МакНейрге таазим - Доктор МакНэйр менин инженер болушумдун себеби; ал менин шаарымдан 45 мүнөттө чоңойгон. Ал Челленджердеги жардыруудан каза болгон.
- Менин жылдыздуу кемемдин аты "USS Ronald E McNair"
- Каттоо номери Sr McNairдин туулган күнүнөн; Префикс коду - ал өз өмүрүн жоготкон күн.
- "Префикстин кодун" колдонуу Star Trek: Хандын каары (бардык убакта эң чоң Star Trek тасмасы; @ @ эмес) үчүн баш ийкөө болуп саналат.
- Терминалдык иштин укугунун номерлери менин бир туугандыгыма (1906 - Alpha Phi Alpha) жана менин альма -материме жана изилдөө тармагыма тиешелүү (Оклахома университети, Инженердик колледж)
Сизде "пасха жумурткалары" үчүн номерлөө, жазуу жана кеменин атын, реестрин ж.б.
Фон
Өткөн жылы мага эскирүүчү долбоор үчүн кубаттуулукту жана батареянын сарпталышын өлчөө үчүн арзан жол керек эле. Мен Adafruit INA219 Featherwing сатып алдым жана кубаттуулукту өлчөөчү жөнөкөй түзүлүштү жасоо үчүн бир нече түрлүү тетиктерди колдондум (бул тууралуу кененирээк бул жерден окуй аласыз).
Быйыл мен аны "техникалык" кылуу үчүн аппаратты жаңыртууну чечтим. Мен башында Star Trek триордерин (Mark IV TR-590 Mark IX версиясы, кам көргөндөр үчүн) курууну пландап жаткам … бирок мен үстөлүмө отура турган нерсени жасоонун мааниси көбүрөөк экенин дароо түшүндүм (эмне үчүн? салкын түзмөк жасоо үчүн ушул кыйынчылыктын баарына барыңыз, аны жабуу жана колдонулбаган кезде суурмасына салуу үчүн).
Ошентип, мен Star Trek TNG же Voyagerден (же ассорти фильмдерден) көргөн компьютердик дисплейлердин версиясын жасоого кайрылдым. Мен ар кандай конструкциялар менен ойноп көрдүм, анан Ruiz Brothers of Adafruit тарабынан түзүлгөн версияны көрдүм. Adafruit 3D басып чыгарылган долбоорлору үчүн берилген булак файлдарынын чоң ишин аткарат, ошондуктан мен алардын түп нускасын алып, жабдыктарыма, баскычтарыма жана башка перифериялык түзүлүштөргө ремикс кыла алдым.
Улантуудан мурун билүү керек болгон нерселер
- Мен долбоордун менин версиясын жасоо боюнча этап -этабы менен көрсөтмөлөрдү берем; бирок, мен кээ бир кадамдар жөнүндө деталдуу маалыматка ээ эмесмин (мен көрсөтмөлөргө же документтерге шилтеме берем)
-
Бул татаал долбоор. Бул "көп дисциплиналуу жасоо", бул төмөнкү көндүмдөрдү талап кылат
- Arduino IDE
- AWS - Сизге эсеп керек болот жана S3, Lambda жана Node JSти түшүнүшүңүз керек болот
- Soldering
- 3D басып чыгаруу
- Календар жана Фитнес маалыматын алуу үчүн долбоорду өркүндөтүү үчүн кошумча "кошуу" бар. Функционалдык код базасына киргизилген; бирок өзгөчөлүктөрдү колдоо үчүн Azure жана Google булуттарында "колдонмолорду" түзүшүңүз керек болот.
- Бул акыры ыңгайлаштырылган… сиз учурдагы сенсорду башка жүн менен алмаштыра аласыз Башка канаттуу/wifi айкалышын колдоно аласыз.
Жабдуулар
Электрондук компоненттер
- Adafruit ESP32 Huzzah Feather
- Adafruit Featherwing Tripler Mini Kit
- Adafruit 12 ачкыч сыйымдуу сенсордун үзүлүшү
- Adafruit TFT FeatherWing - 3,5 "480x320 сенсордук экран
- Adafruit BME680 - Температура, нымдуулук, басым жана газ сенсору
- DC Panel Mount 2.1 Barrel Jack (2)
- Литий -ион полимердик батарея - 3.7 V 500mAh
- Piezo Buzzer
- Mirco USB кабели жана 5V заряддагыч түзүлүш (кадимки USB телефон кубаттагычы иштейт)
- Желим менен жез фольга тасмасы
- Кошумча - Adafruit INA219 Featherwing
- Кошумча - 2.1 Эркек сайгычтары - (INA219 Учурдагы сенсор менен колдонуу үчүн)
2.1 сайгычтан башка бардык электрондук компоненттерге шилтеме:
3D жипче компоненттери жана кошумча боёк/кумдоочу компоненттер
- Proto Pasta Conductive PLA
- Кошумча 3D жиптер - Мен 4 түстү колдондум - Боз, Кара, Аква (ачык көк) жана Ак
- .25 жана 0,4 мм саптамалар (мен тамга деталдары үчүн 0,25ти колдондум).
Аппараттык монтаждоо компоненттери жана инструменттери
- M2x5 жана M3x5 бурамалары
- Түз жана туура бурчтуу баштык казыктары (шилтемелер үчүн Adafruit каалоолор тизмесин караңыз)
- Паяльник (жана ширеткич, учтуу калай, ширетүүчү соргуч ж. Б.)
- Philips баш бурагыч комплект
- Кыскартуу
- Stranded Wire 22AWG - беш же алты түс
- Solid Wire 22AWG - беш же алты түс
- PCB Vise жана жардам колу (милдеттүү эмес, бирок ширетүүнү жеңилдетет)
- Диагоналдуу зым кескичтер
- Wire Stripers
- Xacto Knife (3D принтердин бөлүктөрүндөгү колдоолорду алып салуу үчүн)
- 3D принтер (эгер сиз өзүңүздү басып чыгарууну пландап жатсаңыз)
- Шыбак же скотч (батареяны басылган корпустун ичине жабыштыруу үчүн)
- Санарип калиперлер
- Krazy Glue
- Кошумча - нитрил бир жолку мээлей
- Кошумча - Soldering Mat (милдеттүү эмес, бирок беттерди коргойт)
Эскертүү: эгерде сизде бул куралдар жок болсо, мен сизге Бекки Стерндин сайтынан жакшы варианттар боюнча сунуштарды текшерүүнү сунуштайм.
Программалык камсыздоо
1 -кадам: Файлдарды түшүрүү, өзгөртүү жана 3D файлдарды басып чыгаруу
Сиз файлдарды 3D басып чыгаруу кызматына тапшыра аласыз (3D Hub сыяктуу) же өзүңүз басып чыгара аласыз. Файлдар PrusaPrinters.org сайтында жеткиликтүү.
Бул иш Adafruit веб -сайтында көрсөтүлгөн Py Portal Ойготкучтун ремикси. Менин долбоорум ушундай TFTди колдонот, ошондуктан мен аксессуарларым менен иштөө үчүн зарыл болгон дизайн иштеринин көлөмүн азайта алдым.
Мен басып чыгаруу үчүн төмөнкү параметрлерди колдондум:
- Алдыңкы жана арткы- 0,4 мм катмардын бийиктигинде 0.4мм сап менен басылган, эч кандай таяныч жок
- Side саны - 0.25mm сап менен 0.10mm Layer бийиктиги, эч кандай таянычтар басылган
- Ачкычтар - 0,4мм катмардын бийиктигинде, 0,4мм сопло менен басылган. Сиз 7 басып чыгарышыңыз керек жана Proto-Pasta өткөргүч жипчеси менен басып чыгарууңуз керек болот.
-
Кап - 0,2 мм катмар бийиктигинде басылган.
Колдоо керек, бирок бардык жерде кереги жок (клавиатура отурган капталдарында жана ортосунда гана)
Сиз билишиңиз керек болгон бир нече нерсе:
- Prusa MK3 ар кандай катмардагы түстөрдү өзгөртүүгө мүмкүндүк берет. Мен бул функцияны капталдагы номер үчүн колдоном.
-
Ошондой эле, каптал номерине карата:
- Star Trek TNG өндүрүш бригадасы реквизиттерге пасха жумурткасын чачмак. Эгерде сиз ар кандай тактайчаларды жана панелдерди жакшылап карасаңыз, анда сиз адамдардын атын, ырдын текстин ж.б. көрө аласыз. Мен капталдагы номер үчүн өзүмдүн "Пасха жумурткамды" түзгүм келген, ошондуктан мен "06" дегенди колдоном - бул менин бир туугандыгыма тиешелүү (1906 -жылы түзүлгөн) жана "OUCOE" - бул менин алматыма тиешелүү (Оклахома университети, Инженердик колледж).
- Мен "бош" side_number бөлүгүн түздүм, аны сиз өзүңүздүн жеке номериңизди жана текстти жасоо үчүн өзгөртө аласыз.
2 -кадам: Solder/Components Components - Part a (Keypad and Side Number)
Биринчиден, биз каптал номерин чаптайбыз. Каптал номерин ордуна коюу үчүн кичинекей желимди колдонуңуз.
Андан кийин, биз баскычтопту чогултабыз
-
Сиз 7 даана жипти кесишиңиз керек - ар биринин узундугу 10-12 дюйм. Булар сыйымдуу сенсордун 0-6 пиндерине туташат. Мен сизге ар кандай түстөрдү колдонууну сунуштайм (жана түстөрдү/пин картасын жазыңыз, анткени бул маалымат сизге кийинчерээк керек болот). Мен төмөнкү түстөрдүн айкалышын колдондум:
- Сары - Pin 0/Баскыч 1
- Боз - 1 -пин/2 -баскыч
- Кызыл - Pin 2 /Button 3
- Көк - Pin 3 // 4 -баскыч
- Жашыл - Pin 4 // 5 -баскыч
- Ак - Pin 5 // 6 -баскыч
- Кара - Pin 6 // Баскыч 7
- Ар бир зымдын аягынан 1/2 бөлүп алыңыз.
- Өткөргүч тасманын 7 даанасын кесиңиз (ар биринин туурасы 1/2 дюймга жакын) жана зымдарды лентанын жез жагына ээрчиңиз.
- Желим таянычын алып, ачкычтардын түбүнө жабыштырыңыз. Сизге жез лентанын бир бөлүгүн кыркуу керек болушу мүмкүн.
Эскертүү: Ачкычтарды ылдыйдан жабыштырууга болот (алар үстү менен бирдей болушу үчүн) же үстүнөн жабыштырылышы мүмкүн (алар бир нече мм жогору жактан "калкып" кетиши үчүн). Мен өзүмдүн үстүмдү жабыштырууну тандадым.
7ди бүтүргөндөн кийин, клавиатуранын кичине баскычын колдонуп, баскычтоптун ачкычтарын чаптаңыз. Мага оңой көрүнөт:
- Адегенде зымды ачкыч тешиктен "жылан".
- Андан кийин ачкычтын кырына/алкагына кичинекей желим чаптаңыз
- Тез ачкычты ордуна кой.
Эскертүү: Krazy Glue бул жерде эң жакшы иштейт; кокустуктарды жана теринин кыжырдануусун азайтуу үчүн кол кап колдонушуңуз мүмкүн.
3 -кадам: Solder/Components Components - Part B (Featherwings and Sensors)
Кийинки кадам - аппараттык компоненттерди даярдоо жана чогултуу. Акыр -аягы, бул кийинчерээк колдонуу үчүн баш казыктарды жана зымдарды ширетүүнү билдирет. Бул колдонмо сиз ширетүү менен ыңгайлуу экениңизди билдирет; эгер андай болбосо, Adafruitтен алынган "Мыкты ширетүү боюнча көрсөтмөнү" карап көрүңүз.
Алгач биз материалдарды даярдайбыз. Бул кадам үчүн сизге керек болот:
- TFT 3.5 Featherwing
- ESP32 жүн
- INA219 Featherwing
- Tripler Featherwing
- MPR121 сыйымдуу сенсор
- Сенсор BME680
- Түз жана Оң бурчтуу баштык казыктары
- Катуу жана жипсиз зым
- Лайкоо куралдары жана жардам колу
- Diagonal Wire кескичтери жана зым тазалагычтар
- Калибрлер
Эскертүү: Мен сизге биринчи кезекте ушул кадамды окуп чыгууну сунуштайм жана ширетүүнү баштоодон мурун бардык зымдарыңызды жана аталыштарыңызды кесип алыңыз. Ошентип, өлчөө/кесүү үчүн токтоп калуунун кажети жок.
TFT 3.5 Featherwing даярдаңыз
TFT бир гана тууралоо менен кутудан тышкары колдонууга даяр. Сиз "Lite" төшөмөсү менен пин ширетүүчү аянтчанын ортосуна зым ширетишиңиз керек. Биздин код TFT lite көзөмөлдөө үчүн ESP32 Pin 21 колдонот. ТФТны "узун" жолго коюңуз, ылдый жагында баштапкы абалга келтирүү баскычы. Pin 21 сол жактын астындагы пин болот.
40 мм кесилген зымды кесип алыңыз. Ар бир учунда бир нече миллиметр зым көрүнүп тургандай учтарын сыйрып алыңыз. Сиздин ширетүүчү темириңизди колдонуп, эки казыкка кылдаттык менен кошуңуз.
Эскертүү: сизге болгону 35 мм узундук керек … ошондуктан зымыңызды керектүү түрдө кыркып салсаңыз болот. Ошондой эле, мен түшүндүм, аянтка ширеткичти кошуу, андан кийин зымга, андан кийин зымды төшөлмөгө кошуу эң оңой ыкма. Акыры - бул блокноттор кичинекей … эгер сиз ыңгайсыз болсоңуз, бул кадамды дайыма өткөрүп жибере аласыз: бул TFTди баскычтоп менен өчүрүү үчүн гана.
ESP32 жүнүн даярдаңыз
Сиз стандарттык эркек баш казыктарын ESP32ге ширетишиңиз керек. Сиздин ESP32 туура келген узундукка жетүү үчүн аларды кыркышыңыз керек болсо да, аталыштар менен келиши керек (узун жагында 16 казык; кыска жагында 12 казык). Баштык төөнөгүчтөр "кесилип кетүү" үчүн жасалган, андыктан сиз диагоналдуу кескичтериңизди колдонуп, баштыктарды туура узундукка кыссаңыз болот. Дагы, Adafruitте муну кантип жасоо боюнча чоң көрсөтмөлөр бар, андыктан сизге жетекчилик керек болсо, аны текшериңиз.
ОПЦИОНАЛДЫК - INA219 Featherwing даярдаңыз
Биринчиден, эркектердин башын жүндөргө (ESP32 үчүн колдонулган көрсөтмөлөрдү колдонуу менен). Кийинки, 20 мм узундуктагы төрт зымды кесип. Мен 2 КАРАны, калгандарын башка түстө кылмакмын. Мен түс тандоодо Боз жана КӨК колдондум.
Зымдын учтарын ар бир учунда 3-4 мм жез зым ачык тургандай кылып сыйрып алыңыз. Сиз ар бир зымдын бирин төмөндөгүдөй ширетесиз:
- Боз -> V+ (плюс)
- КӨК -> V- (минус)
- КАРА -> GND (жер)
- КАРА -> GND (жер)
Зымдардын башка учтарын ушул убакта калтырыңыз; биз акыры аларды DC 2.1 сайгычтарына кошобуз.
Piezo Buzzerди тиркеңиз
INA Featherwing кичинекей прототиптөө аймагы менен келет; биз муну пьезобузду тиркөө үчүн колдонобуз. Пьезо биздин долбоорго сигнал жана үн сигналдарын, сигналдарды ж.
Пьезо ESP32 PIN 13ке туташат; бул жүндүн үстүндөгү USB төөнөгүчүнүн жанындагы пинге байланыштуу (жебелер үчүн сүрөттү караңыз). Башка пьезо пин жерге туташат. Пьезенин төөнөгүчтөрү аларды канаттууларга тике ширетүү үчүн жетишерлик узундукка ээ болот … сиз төөнөгүчтөрдү "жаа буттуу адам" формасына бүгүшүңүз керек (сүрөттү караңыз). Пинцону ордуна койгондон кийин, пьезону кармап туруу үчүн жардам колун (же скотчту) колдонуңуз жана мамыктын астынан ширетүү.
Эскертүү - Эгерде сиз INA219 колдонбосоңуз, анда сиз пьезону түздөн -түз мамык тактайга ширетишиңиз керек болот.
Tripler Featherwing даярдаңыз
Мамык бизди көп ширетүүдөн куткарат; ал 3 канатка/канатка ээ болот … ошондуктан биз аны TFT, ESP32, INA219 (ошондой эле пьезо менен TFT Lite төөнөгүч) ортосунда электрдик байланыштарды түзүү үчүн колдонобуз.
Байланыштарды туура жүргүзүү үчүн, биз эки жуп стеклик баштыктарды жана бир жуп стандарт эркек баш баштыктарды ширетишибиз керек.
- Кадимки эркектердин баш аттары "эң жогорку" жерде уланат, бирок Triplerдин ылдый жагына кошулат.
- Стеклингдин эки башы Триплердин үстү жагында 2 жана 3 -жерлерге lehim кылынат.
Бул бир аз түшүнүксүз, ошондуктан ар бир аталыш кайда коюлганын түшүнүү үчүн сүрөттөрдү кароону унутпаңыз. Ошондой эле, PCB Vise жана Help Hands комбинациясы компоненттерди ширетүүдө чоң жардам берет.
BME 680 сенсорун жана MPR121 сыйымдуу сенсорун даярдаңыз
Акыркы эки сенсор тиркөө эң кыйын. Жыйынды бүтүрүүдөн мурун, биз баштыктын төөнөгүчтөрүн сындыруучу такталарга бекитишибиз керек.
BME сенсору 90 бурчта тиркелет, ошондуктан мен сенсорду корпустагы тешикке тегиздей алам (сенсор температураны, газды, нымдуулукту кармап турушу үчүн). Сиз тешиктерге тик бурчтуу казыктарды ширетүүңүз керек. Туура тегиздөө үчүн сүрөттөрдү караңыз.
Capacitive Touch сенсору жөнөкөй - бул жерде айтылгандай, түз эле эркек туташтыргычтарды туташтырыңыз. Эскертүү: казыктарды Capacitive Touch Pins (0 - 11) менен туташтырбаңыз.
BME 680 жана MPR121 сенсорлорун Tripler Boardго тиркеңиз
Эки сенсор I2C аркылуу байланышат … демек, биз текчелер менен Featherwing ортосунда 4 байланышты гана түзүшүбүз керек. Жөнөкөйлүк үчүн, мен такталардын ортосундагы бардык байланыштарды ширетем.
Ватерафиев 680
Бул сенсор үчүн мен жардам берүүчү колдорду жана PCB Vise менен эки компонентти тең кармап турам (жогорудагы сүрөттү караңыз). BME680 сенсору жүндүн аягына коюлушу керек. Орнотууну ырастоо үчүн жогорудагы сүрөттөрдү караңыз.
Байланыштарды ширетүү процесси түйшүктүү, андыктан акырын жүрүңүз. Мен туташуу үчүн катуу зымды колдоном:
- КАРА - GND
- КЫЗЫЛ - VIN
- САРЫ - SCL (сенсордогу SCK пини
- ORANGE - SDA (сенсордогу SDA пини)
Эскертүү: SCL жана SDA төөнөгүчтөрү эки сенсорго тең керек, ошондуктан Featherwingдин башка бөлүгүндө SCL же SDA төөнөгүчүн колдонуу оңой болушу мүмкүн.
MPR121
Жардамчы колдор бул сенсорду ордуна коюп жатканда да жардам берет (тасма да иштейт). Код ESP32 менен байланыш үчүн I2C колдонулган, андыктан сиз SCA жана SDA казыктарын туташтырасыз.
4 -кадам: Solder/Components Components - Part C (Capacitive Sensor жана Feathewing Keypad)
Бул кадамда сиз зымдарды Баскычтоптон Capacitive Touch сенсоруна кошуп аласыз. Мурунку эле түстүү картаны колдонуңуз. Эгерде сиз менин түс схемамды аткарсаңыз, анда түстүү зымдарды төмөнкүдөй ширетесиз:
- Сары - Pin 0/Баскыч 1
- Боз - 1 -пин/2 -баскыч
- Кызыл - Pin 2 /Button 3
- Blue - Pin 3 /Button 4
- Жашыл - пин 4/баскыч 5
- Ак - Pin 5/Button 6
- Кара - Pin 6/Түймө 7
Лайкоо бүткөндөн кийин, зымдарды кармап туруу үчүн буралган галстукту колдонуңуз.
Андан кийин, TFT экранын "Front" бөлүгүнө бурап коюңуз. Сиз M3 бурамаларын колдоносуз (бардыгы төрт). TFT орногондон кийин, "Front" бөлүгүн корпуска сайыңыз. Дагы, сиз M3 бурамаларын колдоносуз (эки).
Кийинки, Featherwing Triplerди, бардык компоненттери сайылып, TFTге туташтырыңыз.
Эскертүү - Эгер батарейканы колдонууну пландап жатсаңыз, TFTди киргизүүдөн мурун аны ESP32 -JST портуна туташтырыңыз. Батарейканы корпустун ички түбүнө бекитүү үчүн скотч колдонуңуз.
5 -кадам: ОПЦИОНАЛДЫК - Курамдарды Куроо/Кураштыруу - Part D (INA219 Feather)
Эгерде сиз INA219 сенсорун колдонуп жатсаңыз, анда бул жерде зымдарды DC сайгычтарына туташтырасыз.
- Туруктуу токтун штепсельдерин арткы капкакка кыстарып, аларды ордуна бурап коюңуз.
-
INA219 зымдарын туташтыруу үчүн ширеткичти колдонуңуз.
- Кара зымдар ар бир DC розеткасы үчүн GROUNDга барышы керек.
- Боз зым INPUT DC сайгычына барышы керек
- Көк зым OUTPUT сайгычына барышы керек.
6 -кадам: Арткы капкакты бурап, USBге туташтырыңыз
Аппараттык монтаждоонун акыркы кадамы - арткы капкакты М2 бурамалар менен буроо (4). Ал жерден USB кабелин туташтырып, компьютериңизге туташтырып, программалык камсыздоо кадамдарына өтүңүз!
7 -кадам: AWS чөйрөсүн даярдаңыз
Киришүүдө айткандай, чечимдин негизи төмөнкүчө:
- ESP32 менен иштөөчү терминал AWS булут менен байланышуу үчүн MQTT (Wifi аркылуу) туташуусун колдонот.
- AWS булуту иштетүүнүн негизги бөлүгүн аткарат жана Монитор менен суралган кызматтардын ортосунда реле катары кызмат кылат.
Бул этапта биз кылышыбыз керек болгон бир нече нерселер бар:
Биринчиден, сиз AWS чөйрөсүн орнотушуңуз керек, эгер азырынча жок болсо. Бул көрсөтмө AWS каттоо эсебиңиз бар деп болжолдойт, андыктан булут эсебин орнотуу боюнча көрсөтмөлөр киргизилген эмес. Айтор, кадамдар түз жана бул жерден тапса болот.
Бул кадамдан өткөндөн кийин, сиз бир нече кызматтарды түзүшүңүз керек, андыктан AWS консолуна кириңиз.
Бир нерсени түзүү жана ачкычтарды түшүрүү
AWS IoT Core AWS булут менен дисплейдин ортосундагы байланышты жеңилдетет. Сиз "нерсе" түзүп, байланышты колдоо үчүн сертификаттарды жүктөп алышыңыз керек.
[Эскертүү: бул көрсөтмөлөрдүн көбү AWS Evangelist Moheeb Zara тарабынан жазылган гидден алынган]
- AWS консолун ачыңыз жана AWS IoT Core тандаңыз.
- AWS IoT консолунда, Жаңы нерсени каттоону, Бир нерсени түзүүнү тандаңыз.
- Жаңы нерсени "starTrekESP32" деп атаңыз. Калган талааларды демейки абалына калтырыңыз. Кийинкини тандоо.
- Тастыктама түзүү тандаңыз. ESP32 туташуу үчүн сертификат, жеке ачкыч жана Amazon Root CA 1 жүктөөлөрү гана керек. Жүктөп алып, коопсуз жерге сактаңыз, анткени алар ESP32 түзмөгүн программалоодо колдонулат.
- Саясатты тиркөө, Жандандырууну тандаңыз.
- Саясат кошууну өткөрүп жиберип, нерсени каттоону тандаңыз.
- AWS IoT консолунун менюсунан Коопсуздукту, Саясаттарды, Саясатты түзүү тандаңыз.
- Саясатка уруксат берүү Баарына. Өркүндөтүлгөн өтмөктү тандаңыз.
- Төмөнкү саясат шаблонуна чаптаңыз.
- {{"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Action": "iot:*", "Resource": "*"}]}
- Түзүүнү тандаңыз. (Эскертүү: Бул баштоо үчүн гана сунушталат. Баары иштөөдө ыңгайлуу болгондон кийин, кайра кайтып келип, муну чектөөчү нерсеге өзгөртүңүз.)
- AWS IoT консолунда Коопсуз, Тастыктаманы тандаңыз.
- Түзмөгүңүз үчүн түзүлгөндү тандап, Аракеттер, Тиркөө саясатын тандаңыз.
- Бардыгына уруксат берүү, Тиркөө тандоо.
- Чыккандан мурун, "Орнотууларды" чыкылдатыңыз (сол менюда). Сиздин "Ыңгайлаштырылган чекит" көрсөтүлөт; муну тексттик файлга сактаңыз … сизге ESP32 конфигурацияланганда керек болот.
Бош Lambda файлын түзүңүз
Lambda - бул серверсиз эсептөөнүн бир түрү, андыктан бул жерде кандайдыр бир жабдыктар жөнүндө тынчсыздануунун кажети жок. Акыр -аягы, бул жерде биз жаңыртылган кодду жайгаштырабыз (муну бир нече кадам менен жасайбыз). Азырынча биз жөн эле толтургучту түзгүбүз келет, андыктан…
- Кайра AWS консолуна кириңиз (эгер сиз чыгып кеткен болсоңуз) жана Lambda'ди басыңыз.
- "Функцияны түзүү" баскычын чыкылдатыңыз.
- Кийинки бетте starTrekDisplay сыяктуу негизги ысымды киргизиңиз
- Тандоо Node.js 12. X
-
Уруксаттар астында:
- Эгер сиз Ламбданы айланып өтүүнү билсеңиз жана аны жакшы билсеңиз, анда сиз каалаган вариантты тандай аласыз. Сизге CloudWatch, IotCore, S3 боюнча уруксаттар керек болот (окуу жана жазуу).
- Эгер уруксаттарыңыз боюнча белгисиз болсоңуз, анда "Негизги Lambda уруксаттары менен жаңы роль жаратууну" тандаңыз. Ролдун атын жазып койгулачы. Кийинчерээк, биз уруксаттарды өзгөртөбүз.
- Функцияны түзүү чыкылдатыңыз.
- Бир мүнөттөн кийин, "салам дүйнө" кодунун үзүндүсү бар жаңы экранга киресиз. Негизги Жөндөөлөргө ылдый жылдырып, "Түзөтүүнү" чыкылдатыңыз.
- Күтүү убакытын 3 секунддан 2 мүнөт 0 секундга өзгөртүңүз. Эскертүү: кодуңуз эч качан 5-10 секунддан ашык иштебеши керек … бирок, Microsoft менен баштапкы аутентификацияңыз үчүн (календардын иштеши үчүн) көбүрөөк убакыт керек. Тастыкталгандан кийин, муну 20 секундга өзгөртө аласыз.
- Сактап коюңуз.
Iot эрежесин түзүү
- Lambda консолунда калып, өйдө сүрүңүз. "Триггер кошууну" тандаңыз.
- AWS IoT тандаңыз. Андан кийин "Ыңгайлаштырылган Эрежени" тандаңыз.
-
"Жаңы эреже түзүү" дегенди тандаңыз.
- Эрежелердин аталышы: ESP Connection
- Эреже суроо арызы: "SELECT * FROM 'starTrekDisplay/pub'
- "Кошуу" баскычын чыкылдатыңыз
S3 чака жана папканы түзүү
- AWS консолуна өтүңүз жана S3тү тандаңыз.
- Аутентификация файлдарын сактоо үчүн чака жана папка керек болот. Бул папка купуя болушу керек. Мен сизде бар болгон чаканы колдонууну жана "starTrekDisplay" деп аталган папканы атоону сунуштайм. Эскертүү - эгер сизде чака жок болсо, бул жердеги көрсөтмөлөрдү колдонуп, бирин түзүңүз.
Уруксаттарды жаңыртуу - Эгерде сиз Ламбдага сизге роль жаратууга уруксат берсеңиз, анда бул кадамды аткарышыңыз керек болот
- AWS консолуна кирип, IAMди тандаңыз
- РОЛДОРДУ чыкылдатыңыз, андан кийин мурда түзүлгөн ролдун атын тандаңыз.
-
Тиркөө саясатын чыкылдатыңыз, андан кийин төмөнкү саясатты тандаңыз:
- AWSIoTFullAccess
- AmazonSNSFullAccess
- CloudWatchFullAccess
- AmazonS3FullAccess
8 -кадам: Программалык ачкычтарды жүктөп алып, үчүнчү жактын кызматтарын орнотуңуз
Мен долбоордо үчүнчү жактын кызматтарын колдоном:
- Worldtime API - убакыт үчүн
- National Weather Service APIлери - аба ырайы үчүн
- Менин календарга кирүү үчүн Microsoft Graph API
- Фитнес маалыматына жетүү үчүн Google Fitness API
Ошол эле кызматтарды колдонуу үчүн эсептерди орнотуп, ачкычтарды жүктөп алышыңыз керек болот
Worldtime API - убакыт үчүн
Бул API ачкычты талап кылбайт, андыктан бул ишти жасоо үчүн эч кандай аракет талап кылынбайт.
National Weather Service APIлери - аба ырайы үчүн
National Weather Service API бекер жана API ачкычы талап кылынбайт. Бирок, алар ар бир сурамда (баш файлдын бир бөлүгү катары) байланыш маалыматын (электрондук почта түрүндө) тапшырууңузду суранышат. Кийинки кадамда байланыш маалыматын кодго кошосуз.
ОПЦИОНАЛДУУ - Microsoft Graph API жана Google Fitness API
Бул кодду орнотуунун эң татаал бөлүгү. Биздин түзмөктө толук кандуу клавиатура жок … ошондуктан календарыбызга жетүү үчүн чектелген түзмөктөр үчүн OAUTH деген нерсени колдонобуз. Тилекке каршы, сиз чектелген түзмөктөр үчүн OAUTH кодун колдонуу үчүн Azure "колдонмосун" жана Google колдонмосун түзүшүңүз керек.
Колдонмо түзүү боюнча нускамалар бул жерде Microsoft үчүн жана Google үчүн бул жерде. Бул жерде сиз билишиңиз керек болгон бир нече нерселер:
- Сиз Azure жана Google булут эсебин түзүшүңүз керек болот. Бул бекер жана сизден эч нерсе алынбайт
-
Microsoft:
- Колдонмону кайсы колдонуучулар колдоно аларын тактоо талап кылынат. Мен сизге "Ар кандай уюштуруу каталогундагы жана жеке Microsoft эсептериндеги эсептерди" тандоону сунуштайм. Бул жеке Microsoft эсептерин жана корпоративдик эсептерди колдонууга мүмкүндүк берет (көпчүлүк учурда).
- Сиз "Мобилдик жана Иштакта" тиркемелерин тандагыңыз келет, бирок бардык маалыматты толтуруунун кажети жок (бул жеке колдонмо болгондуктан). Бул сиздин колдонмоңузду дүйнөгө жеткиликтүү кыла албайсыз дегенди билдирет …. бирок бул учурда жакшы
- Колдонмоңуз орнотулгандан кийин, керектүү уруксаттарды тандап алышыңыз керек. Мен профилдерге жана календарга байланыштуу уруксаттарды сурадым (уруксаттардын толук тизмеси үчүн галереядагы сүрөттү караңыз). Ушул эле топтомду тандашыңыз керек болот. Эгер сиз дагы уруксаттарды кошсоңуз, анда кийинки кадамда масштабды тийиштүү түрдө өзгөртүүгө туура келет.
9 -кадам: AWS кодун өзгөртүү жана жүктөө
Бул үйрөткүч сиз Node.js өнүктүрүү жана Lambda менен тааныш экениңизди билдирет. Шилтемеленген файлды жүктөп алып, жаңыртуу үчүн өзгөртүүлөрдү киргизиңиз:
- Microsoft Колдонмо жана Кардар маалыматы
- Google ачкычы
- Улуттук Аба ырайы кызматынын көзөмөлү үчүн электрондук почта дареги
- S3 чаканын аталышы
- S3 папкасынын аты
- AWS Endpoint
Сиз ошондой эле төмөнкү түйүн китепканаларын жүктөп алышыңыз керек:
- aws-sdk
- учурдун убакыт алкагы
- акценттер
Бул өзгөртүүлөр киргизилгенден кийин, кодду мурда түзүлгөн ламбда толтургучка жүктөңүз.
10 -кадам: Arduino IDEди даярдап, китепканаларды жүктөп алыңыз
Бул колдонмо сизди Arduino менен тааныш деп болжолдойт. Сиз 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" файлын ачыңыз. "Колдонуучулардын_ орнотуусун камтыйт …" деген саптарга комментарий жазыңыз жана бул сапты кошуңуз:
#кошуу
Андан кийин, байланыштырылган Custom_Tricorder.zip файлын жүктөп алып, ".h" файлын Arduino китепканалар папкасындагы "TFT_eSPI / User_Setups" жайгашкан жерге чыгарыңыз. Мен
Эми биз Arduino кодун жаңыртууга өтө алабыз
11 -кадам: Arduino кодун жаңыртып, орнотуңуз
Arduino коду
Arduino коду үчүн шилтемеленген файлды жүктөп алыңыз. Secret.h өтмөгүнө өтүңүз. Төмөнкүлөрдү жаңыртышыңыз керек:
- WIFI_SSID = wifi SSID менен жаңыртуу
- WIFI_PASSWORD = wifi сырсөзүңүз менен жаңыртуу
- 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" ортосундагы текстти чаптаңыз;'. Сөзсүз түрдө "----- СЕРТИФИКАТ БАШТА -----" же "----- БАШТА RSA ЖЕКЕ АЧКЫЧЫ -----" камтыйт.
Сүрөт файлдары
ESP32 кичинекей файл системасы менен келет. Биз бул файл тутумун программабыз үчүн сүрөттөрдү сактоо үчүн колдонобуз. Файлдарды жүктөөгө мүмкүнчүлүк берген куралды орнотушуңуз керек.
- Биринчиден, Random Nerd Tutorials боюнча тереңдетилген сабакка барыңыз.
- Бул иштөө болгондон кийин, файлдарды маалымат папкасына жүктөй аласыз (ошондой эле zip файлына киргизилген).
Тарт
Акыркы Arduino кодун жүктөңүз, сиз бүттүңүз!
Эскертүү - Star Trek аты жана Star Trek сүрөттөрү CBS/Paramount компаниясына таандык. Косплейге жана фантастикага келгенде, алар бир аз солгун саясатка ээ - суроолор болсо бул жерден окуңуз.
Фандом конкурсунда биринчи сыйлык
Сунушталууда:
SMD ICs Breadboard достук кыл!: 10 кадам (сүрөттөр менен)
SMD ICs Breadboard достук кыл!: Бул биздин сүйүктүү IC SMD пакетинде гана жеткиликтүү болгон учурлар көп кездешет жана аны нан тактасында сынап көрүүгө мүмкүнчүлүк жок. Ошентип, мен бул кыска нускамада SMD IC үчүн өзүмө кичинекей адаптер жасагандыгымды көрсөтмөкмүн
Мени жарык кыл!: 20 кадам (Сүрөттөр менен)
Light Me Up!: Проектинин командасынын мүчөлөрү (Hyewon Shin, Eunjeong Ko, Junsung Yi) Жарыкка тийип дизайн жасай алсаңызчы? Эгерде сизде кызыктуу анимация менен өзүңүздүн кооз жарык үлгүңүз болсо, анда кандай сезимде болмоксуз?
"Көбүрөөк кыл" таймери, Кейси Нейстаттан шыктанган: 4 кадам (сүрөттөр менен)
More Do' Таймери, Кейси Нейстаттан шыктандырылган: Жай, нерселер боло турган сонун мезгил. Бирок кээде убакытты унутуп калабыз. Ошентип, калган убакытты эстетүү үчүн, мен бул Кейси Нейстаттын "Дагы жаса" DIY ардуино менен иштөөчү таймерин иштеп чыктым, ал каалаган убакыттан калган убакытты көрсөтүү үчүн программаланышы мүмкүн
DC MOTOR тунук кыл: 4 кадам (сүрөттөр менен)
DC MOTORду тунук кылыңыз: Салам достор, мен бул көрсөтмөдө Toy DC Motorду Transparent DC Motorга кантип өзгөртүү керектигин көрсөтөм жана бул жерде бир өзгөчө нерсе - бул сиздин үйүңүздө жеткиликтүү болушу үчүн керектүү материалдар:) Бул идеалдуу долбоор илим жарманкеси үчүн
Star Trek Communicator Edition RAZR түзүү: 3 кадам (Сүрөттөр менен)
Star Trek Communicator Edition RAZR түзүңүз: Star Trek Communicator бүгүнкү телефондор үчүн шыктандыруучу болгондуктан, эмне үчүн телефонуңузду оригиналына окшоштуруп койбойсуз. Мен кылдым жана бул жерде