Мазмуну:

ESP8266 түзмөгү менен компьютерди алыстан өчүрүү же өчүрүү: 10 кадам (сүрөттөр менен)
ESP8266 түзмөгү менен компьютерди алыстан өчүрүү же өчүрүү: 10 кадам (сүрөттөр менен)

Video: ESP8266 түзмөгү менен компьютерди алыстан өчүрүү же өчүрүү: 10 кадам (сүрөттөр менен)

Video: ESP8266 түзмөгү менен компьютерди алыстан өчүрүү же өчүрүү: 10 кадам (сүрөттөр менен)
Video: Управление 32 серводвигателями с PCA9685 и ESP32 - V4 2024, Июль
Anonim
Image
Image

Бул жерде түшүнүктүү болуш үчүн, биз сиздин компьютериңизди өчүрүп жатабыз, башка бирөөнүн компьютерин эмес.

Окуя болуп жатат:

Фейсбуктагы досум мага жазышып, математиканы иштеткен ондогон компьютери бар экенин айтты, бирок күн сайын эртең мененки саат 3тө алар кулпуланышат. Компьютерлер 30 мүнөттүк алыстыкта болгондуктан, эки шаарды (биз Түштүк Дакотада жашайбыз) компьютерлерди иштетүү абдан чоң түйшүк. Ал сурады, мен ага ыңгайлуу төшөктөн, бузулган компьютерди өчүрүп -күйгүзүүгө мүмкүндүк бере турган IoT аппаратын кура аламбы?

Эч качан кыйынчылыкты колдон чыгарбоо үчүн, мен ага бир нерсе чогултууга макул болдум. Бул ошол долбоор.

Катталган эки бит которуштурууну, ESP8266 ESP01ди, бир нече светодиоддорду жана кээ бир үйдө жасалган оптоизоляторлорду колдонуп, eBayден Кытайдан тетиктерди сатып алсаңыз, бүтүндөй долбоор 5 долларга жакын турат. Балким Амазонкадан 20 доллар.

Бул бир топ татаал түзүлүш, ал көптөгөн ширетилген. Менин буроолорумду жана кайра ширетүүмдү эсепке албаганда, мага 20 сааттын эң жакшы бөлүгү жасалды, бирок ал укмуштуудай болуп чыкты жана кемчиликсиз иштеди.

Баштайлы.

1 -кадам: Прототип тактасы

Прототип тактасы
Прототип тактасы
Прототип тактасы
Прототип тактасы

Ар дайым бардык долбоорлорду протоколдуу нан тактасы менен баштаңыз. Бул сизде бардык компоненттер бар же жок экенин аныктоонун эң жакшы жолу. Бул долбоор бир аз татаал, ошондуктан мен алдыга жылардан мурун аны нан тактасына курууну сунуштайм.

Сизге керектүү бөлүктөр:

  • Бир ESP8266 ESP01 (бирок ESP8266 түзмөгү иштейт)
  • Эки 8-бит алмашуу реестри, мен 74HC595N колдондум
  • 16 светодиод, мен 3.3В иштөөчү саман шляпа ак диоддорду колдондум. Эгер башкаларды колдонсоңуз, сизге резисторлор керек болушу мүмкүн.
  • 3k3-ohmpulldown үч резистору
  • Өткөргүч зымдар жана нан тактасы

Ошондой эле, жок эле дегенде, бир optoisolator куруу керек болот. Мен кара түстөгү кичи түтүктөрдү, ачык ак диодду, 220 омдук резисторду жана фоторезисторду колдондум. 220-Ом резисторун LEDдын катодуна кошуп, анан LED менен фоторезисторду бири-бирине караган түтүктүн ичине мөөрлөштү. Бирок биз аларга кийинки кадамда жетебиз.

Кийинки кадамда берилген зым схемасын аткарыңыз. Кабелдер абдан жөнөкөй.

ESP8266 3.3Vде иштегендиктен, аны тийиштүү түрдө кубаттаңыз

2-кадам: Will-CADны колдонуу схемасы

Will-CAD колдонуу схемасы
Will-CAD колдонуу схемасы

Схема абдан жөнөкөй. Биз 8-разряддык реестрдин стандарттык зымдарын ээрчип жатабыз. Мен эки 8-биттик нөөмөт реестрин колдонуп жаткандыктан, аларды "саат" жана "бекитүү" казыктарына чынжырлаш керек.

ESP01де эки гана GPIO казыгы болгондуктан, биз TX & RXти кайра колдонуубуз керек, бул биздин максаттар үчүн жакшы иштейт. Эгер көбүрөөк көзөмөлдөөнү кааласаңыз, ESP-12 же экиден ашык GPIO казыгы бар башка версияны колдонсоңуз болот. Бирок бул долбоордун наркына дагы 2 доллар кошот - бул жөн эле акылга сыйбаган нерсе.

Биз 8-разряддык реестрлерибизди жана ESP01 төөнөгүчтөрүбүздү жүктөөдө бийик кармашыбыз керек, андыктан алар кызыктай нерселерди жасашпайт же программа режимине өтүшпөйт. Мен 3к3 үч резистор колдондум, чоңураак же кичине маанилер да иштейт. Бул балл ESP01деги альтернативдүү казыктарды колдонуу жөнүндө сөз болгон гиддерден алынган.

ESP01 (ESP8266)

  • TX саат пин 3k3 тартуу
  • RX бекитүүчү пин 3к3 тартма
  • 00 сериялык маалыматтар 3k3 pullup
  • 02 калкып жүрөт

8-бит Shift реестри (74HC595H)

  • VCC 3.3V
  • OE 3.3V (бул иштетүүчү пин)
  • GND GND
  • CLR GND (бул ачык пинди тазалоодон сактайт)
  • Ал эми светодиоддор жерге түшөт.

3 -кадам: ESP8266 коду

ESP8266 коду
ESP8266 коду

ESP8266 коду абдан жөнөкөй. Тилекке каршы, Instructables редактору абдан жараксыз, андыктан сиз Githubдан кодду түз алууну каалайсыз.

"racks-reboot" долбоору:

github.com/bluemonkeydev/arduino-projects/…

"SensorBase" классы бул жерде жеткиликтүү. Менин кодумду "колдонууну" кааласаңыз, бул талап кылынат:

github.com/bluemonkeydev/arduino-projects/…

Белгилей турган бир нече нерсе бар. Код абдан жакшы документтештирилген.

  1. Мен абдан жалкоо иштеп чыгуучумун, ошондуктан кайра колдонулуучу ESP8266 кодунун баарын "SensorBase" деп аталган класска киргиздим. Сиз муну Githubдан да таба аласыз, жогорудагы шилтеме.
  2. Сиз MQTT брокеринин серверин, колдонуучу атын, сырсөзүңүздү жана портуңузду теришиңиз керек. Биз CloudMQTT кызматын түзгөндө, аларды бир аз ылдыйда табууга болот.
  3. Менин темамдын синтаксистик форматына баш ийүүнүн кажети жок. Бирок, мен аны ээрчүүнү сунуштайт элем.
  4. Бул коддо акылдуу эч нерсе жок. Бул абдан прагматикалык.

4 -кадам: Perfboard Layout

Perfboard Layout
Perfboard Layout

Бул долбоор мини-маалымат борборуна орнотулат, ошондуктан мен акыркы дизайн үчүн perf board колдонууну чечтим. Perfboard ушул сыяктуу долбоорлор үчүн абдан жакшы иштейт жана колдонуучунун графикалык кагазын колдонуу менен жайгашуусу оңой. Бул жерде сиз менин макетимди көрөсүз. Албетте, сиз муну башкача кылып тандай аласыз.

Менин проектиме 8 биттик эки сменалык регистр керек болчу, ошондуктан мен алардын ортосуна жайгашуусун баштадым. Оптизоляторлорго туташтыргычтарым идеалдуу чечим болбосо да, азырынча жөнөкөй аял баштары болорун билчүмүн.

Мен светодиоддорду жакшы көрөм жана бул үчүн ар бир оптоизолятор схемасы үчүн LED болушу керек болчу. Мен тактада түздөн -түз жооп ала алсам, сыноо фазасы чексиз жеңил болорун билчүмүн, бирок ошол эле светодиоддордун эрип кетишине чоң зыян алып келерин билчүмүн. Жана алар болушту. Менде 5 мм светодиоддон кичине эч нерсе жок болчу, ошондуктан аларды тепкилеп кетүүгө туура келди. Менин акыркы дизайным катоддордун zig-zag үлгүсүн жасады, анткени мен аноддорду жер зымдары аркылуу өткөргүм келбеди. Бул жакшы дизайн экенин көрсөттү. LED зымдары 8-разряддык реестрлердин үстүнө кошулуп, тактанын үстүндө корголгон зымдар менен иштейт.

Бийлик үчүн, мен аны түз эле компьютерлердин биринен иштетүү үчүн эски USB кабелинен иштетким келди. Бул жакшы иштейт, анткени USB порттору адатта компьютер өчүк болсо дагы иштейт. Мен кубаттуулукту 3.3V чейин азайтуу үчүн LM317 линиялык чыңалуу жөндөгүчүн колдондум. 3.3V регулятору да иштемек, бирок менде жок болчу.

Зымдардын өтө көп өтүшүнө жол бербөө үчүн, мен перформанын үстү жагында бир нече зымдарды өткөрдүм, мен аларды качууга аракет кылам. Тешиктер өткөргүч экенин унутпаңыз, андыктан шорты болбош үчүн корголгон зымдарды колдонуңуз. Тактанын үстүндө болуп жаткан байланыштар менин диаграммамда үзүлгөн сызыктар менен көрсөтүлгөн.

5 -кадам: Soldered Board

Soldered Board
Soldered Board

Менин акыркы ширетилген тактайым абдан жакшы чыкты. Күтүлгөндөй эле, үстүнкү диоддор эч кандай шорты жок туура ширетүү үчүн көп эмгекти талап кылган. Сизде шорты бар же жок экенин аныктоо үчүн мультиметрди колдонуп, светодиоддорду жана аталыштарды кошкондон кийин. Муну азыр билип алуу эң жакшы.

Светодиоддордон башка бардык нерселер абдан жакшы өттү. Мен бир нече байланышты кайра жасоого туура келди, бирок кээ бир бейтаптар менен, кээ бир мүчүлүштүктөрдү оңдоо жана бир аз кайра ширетүү менен, баары жакшы иштейт.

Бул сүрөттөн мен 8-зымдуу CAT-5 кабелин колдонгон оптоизоляторлорду кошуп койгондугумду көрөсүз. Себеби, бул супер арзан, бириктирүү оңой жана кийинки баскычта ошол оптоизоляторлор жөнүндө жакшы белгиленген.

6 -кадам: Optoisolators жасоо

Оптизоляторлорду жасоо
Оптизоляторлорду жасоо

Албетте, өзүңүздүн оптоизоляторлоруңуздун кереги жок. Көптөгөн коммерциялык версиялар ар бир тыйынга жеткиликтүү жана алар жакшыраак иштешет, анткени алар компьютердин электр линияларын эч кандай каршылыксыз түз айдайт. Бирок, менде эч кандай оптоизолятор жок болчу, ошондуктан мен LED, резистор жана фоторезистордун жардамы менен мина жасоого туура келди.

Кара кысылган түтүктөрдүн жеңинин ичинде менин эсептегичтен азыраак "өчүрүү" каршылыгы окула алаарын жана "күйүк" каршылыктын бир нече миң ом экенин ырастагандан кийин, мен эски платада акыркы тестти өткөрдүм. Бул мен үчүн кемчиликсиз иштеди. Мен кээ бир компьютерлер аздыр -көптүр сезгич болушу мүмкүн деп шектенип жатам, бирок мен текшерген энелик платаларда бул конфигурация жакшы иштеген.

Сиз фоторезисторго максималдуу жарык алуу үчүн чындап эле ачык ак диодду колдонууну каалайсыз. Мен көп варианттарды сынап көргөн жокмун, бирок ачык ак LED жана 220 омдук резистор сөзсүз жакшы иштейт.

7 -кадам: CloudMQTT орнотуусу

CloudMQTT орнотуусу
CloudMQTT орнотуусу
CloudMQTT орнотуусу
CloudMQTT орнотуусу
CloudMQTT орнотуусу
CloudMQTT орнотуусу

Ар кандай MQTT кызматы же Blynk сыяктуу окшош IoT кызматы иштейт, бирок мен бул долбоор үчүн CloudMQTT колдонууну тандап алам. Мен CloudeMQTTти мурун көптөгөн долбоорлор үчүн колдонгон элем, жана бул долбоор досума тапшырыла тургандыктан, жаңы эсепти түзүүнүн мааниси бар, аны да өткөрүп берүүгө болот.

CloudMQTT эсебин түзүп, андан кийин жаңы "мисал" түзүңүз, "Сүйкүмдүү мышыктын" өлчөмүн тандаңыз, анткени биз аны көзөмөлдөө үчүн гана колдонобуз, журналга кирүү жок. CloudMQTT сизге сервердин атын, колдонуучунун атын, паролду жана порт номерин берет. (Порт номери стандарттык MQTT порту эмес экенин эске алыңыз). Бул баалуулуктардын бардыгын ESP8266 кодуңузга тиешелүү жерлерге өткөрүп бериңиз, бул иштин туура болушун камсыз кылат. (олуттуу түрдө, баалуулуктарды көчүрүү/чаптоо)

Сиз CloudMQTTдеги "Websocket UI" панелин колдонуп, түзмөгүңүздүн туташуусун, баскычын басууну жана кызык сценарийде ката, ката тууралуу кабарды көрөсүз.

Android MQTT кардарын конфигурациялоодо сизге бул жөндөөлөр керек болот, андыктан керек болсо баалуулуктарга көңүл буруңуз. Сырсөзүңүз телефонуңузга терүү үчүн өтө татаал эмес деп үмүттөнөбүз. Сиз муну CloudMQTTде орното албайсыз.

8 -кадам: MQTT Android кардары

MQTT Android кардары
MQTT Android кардары
MQTT Android кардары
MQTT Android кардары
MQTT Android кардары
MQTT Android кардары
MQTT Android кардары
MQTT Android кардары

Бардык Android (же iPhone) MQTT кардары иштейт, бирок мага MQTT Dash жагат. MQTT Dash колдонууга оңой, абдан жооптуу жана сизге керектүү бардык параметрлер бар.

Орнотулгандан кийин, MQTT Serverди орнотуңуз, CloudMQTTге кирүү маалыматыңызды ЭМЕС, сервердин, порттун, колдонуучунун атын жана сырсөздү сиздин инстанциянын баалуулуктары менен толтуруңуз. Сиз каалаган кардардын атын колдоно аласыз.

Эгер сиз бардыгын туура терсеңиз, ал автоматтык түрдө MQTT серверине туташат жана бош экранды көрсөтөт, анткени сиз азырынча эч кандай баскычтарды, текстти же билдирүүлөрдү орното элексиз. Бош экранда сиз жогорку оң бурчта "+" белгисин көрөсүз, аны чыкылдатыңыз, анан "Тандоо/Баскычты" тандаңыз. Биз бир компьютерге бир "Тандоо/Баскычты" кошобуз, ошондуктан 8 же 16 же андан аз.

Эгерде сиз туташуу катасын алсаңыз, анда баалуулуктардын бири туура эмес. Артка кайтып, кайра текшериңиз

Ар бир компьютер сиздин коддо көрсөтүлгөн баалуулуктарга туура келген теманы колдонот. Эгерде сиз менин конвенциямды аткарсаңыз, алар "кластер/стеллаж-01/компьютер/01" болмок. Биздин кодго дал келүү үчүн "күйгүзүү" жана "өчүрүү" маанилерин өзгөртүү эң жакшы болмок. "0" жана "1" ордуна, "on" жана "off" маанилерин колдонуңуз. Мен QoS (1) колдонууну сунуштайт элем, анткени биз серверден ырастоону күтөбүз.

Бирөөнү кошкондон кийин, узак басып, "клон" опциясын колдонуп, топту түзүп, андан кийин алардын атын жана темасын өзгөртө аласыз.

Жетиштүү оңой.

9 -кадам: WIFIге ESP8266 алуу

Wifiда ESP8266 алуу
Wifiда ESP8266 алуу

ESP8266 Wifi менеджер модулун колдонуп, биздин түзмөктү Wifiга орнотуу оңой. Эгерде сиз менин SensorBase классымды колдонгон болсоңуз, ал мурунтан эле орнотулган. Болбосо, Wifi менеджеринин баракчасындагы көрсөтмөлөрдү аткарыңыз.

Wifi менеджери жүктөөдө сиздин SSIDге туташууга аракет кылат, бирок сиз буга эч качан SSIDиңизди айткан эмессиз, андыктан ал автоматтык түрдө кирүү чекити режимине (же AP режимине) кирип, SSID сураган жөнөкөй веб -баракчага чейин кызмат кылат. & Купуя сөз. Телефонуңузду же ноутбугуңузду колдонуп, жаңы жеткиликтүү зымсыз тармакты SSID аты менен туташтырыңыз "ESP_xxxxxx", мында "xxxxxx" кандайдыр бир кокустук (чынында кокустук эмес) ырааттуулук. (Толук көрсөтмөлөрдү Wifi Manager баракчасынан тапса болот.)

Туташкандан кийин, веб -браузериңизди алып келип, аны 192.168.4.1ге көрсөтүп, SSID & Сырсөзүңүздү териңиз жана Сактоону басыңыз.

Сиз азыр интернеттесиз жана IoT түзмөгүңүздө "I" бөлүгү иштейт!

10 -кадам: Акыркы туташуу жана тестирлөө

Акыркы туташуу жана тестирлөө
Акыркы туташуу жана тестирлөө

Баары аткарылды.

Баарын туташтыруу үчүн, компьютериңиздин кубат баскычынын кабелин табыңыз, ал эне платага туура келет. Сиз зым жана туташтыргычы бар эки катар баштарды көрүшүңүз керек. Адатта, алар абдан жакшы белгиленген. Которгучту сууруп, optoisolator сайгычын сайыңыз. Мен кээ бир "Дюпонт" штепсельдерин койгом, ошондуктан алар кубат кабели сыяктуу эле туташтырылган. Бул жагынан полярдык мааниге ээ эмес, бирок сиз башка учунун полярлыгы туура экенине ынанганыңызга ишениңиз - ал сиздин тактаңызга барат.

Жана ал кемчиликсиз иштейт. MQTT Dash кардарын (же ушул сыяктуу куралды) колдонуп, компьютерлериңизди алыстан кубаттай аласыз.

Колдонмоңуздагы тиешелүү текшерүү баскычын басыңыз, жана колдонмо MQTT серверинен "өчүрүү" билдирүүсү менен угулганда, баскыч кайра текшерилбегенге өзгөрөт.

Бул бир нече жумадан бери эч кандай көйгөйсүз иштеп келе жатат. Биз компьютерлердеги баскычты төмөн түшүрүү убактысынын узартылышы керек экенин байкадык. Биз 1 толук секунд менен аяктадык. Бул маани MQTT сервери аркылуу жөнгө салынуучу баалуулук катары көрсөтүлүшү мүмкүн, же сиз каалооңузга жараша маанини катаалдата аласыз.

Ийгилик, сеники кандай болгонун мага билдир.

Сунушталууда: