Мазмуну:

Raspberry Pi менен соода түйүндөрүн кантип көзөмөлдөө керек: 6 кадам
Raspberry Pi менен соода түйүндөрүн кантип көзөмөлдөө керек: 6 кадам

Video: Raspberry Pi менен соода түйүндөрүн кантип көзөмөлдөө керек: 6 кадам

Video: Raspberry Pi менен соода түйүндөрүн кантип көзөмөлдөө керек: 6 кадам
Video: Как собрать ПЛК Raspberry Pi Pico || Редактор OpenPLC 2024, Июль
Anonim
Raspberry Pi менен соода түйүндөрүн кантип көзөмөлдөө керек
Raspberry Pi менен соода түйүндөрүн кантип көзөмөлдөө керек
Raspberry Pi менен соода түйүндөрүн кантип көзөмөлдөө керек
Raspberry Pi менен соода түйүндөрүн кантип көзөмөлдөө керек
Raspberry Pi менен соода түйүндөрүн кантип көзөмөлдөө керек
Raspberry Pi менен соода түйүндөрүн кантип көзөмөлдөө керек

Бул Нускамада мен сизге Raspberry Pi аркылуу үйүңүздөгү соода түйүндөрүн көзөмөлдөө үчүн веб -интерфейсти кантип түзүүнү көрсөтөм. Мен бул долбоорду сенсорлор конкурсун көргөндө жазууну чечтим жана бул проект сенсордун жардамы менен, сиз сатып алган соода түйүндөрү менен камсыздалган пульттун коддорун окууну камтыйт, мен бул долбоор эң сонун ылайыктуу болот деп ойлогом.

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

Бул долбоор 433МГц жыштыктагы радио жыштыгын көзөмөлдөгөн розеткаларды колдонуп, малина пиңизге туташкан RF өткөргүч менен коштолот. Соода түйүндөрү розеткаларды күйгүзүп/өчүрө турган пульт менен келет, бирок бул кызыктуу эмес! Биз анын ордуна малина piде иштеген веб -серверди колдонобуз, ал тармакка туташкан ар бир адамга айрым түйүндөрдү күйгүзүүгө же өчүрүүгө мүмкүндүк берет. Бул долбоордун веб-фронту идеалдуу, анткени тармагыңыздагы вебке туташкан каалаган түзмөк пультуңуз катары колдонулушу мүмкүн.

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

Жабдуулар

  • Raspberry Pi (мен RPi 3 Model B+колдондум)
  • 433MHz өткөргүч жана алуучу (мен муну колдондум)
  • 433MHz розеткалары (мен муну колдондум)
  • Аялдан-аялга секирүүчүлөр (мен бул топту сатып алдым)
  • Интернетке кирүүгө жөндөмдүү болгон компьютер же портативдүү түзмөк

1 -кадам: Raspberry Pi түзүңүз

Raspberry Pi орнотуңуз
Raspberry Pi орнотуңуз

Жаңы Raspberry Piге Raspbianдин акыркы версиясын орнотуудан баштаңыз. Эгерде сиз бар Пиди колдонууну пландап жатсаңыз (муну сиз толугу менен жасай аласыз), анда сиздин Пиңизде Python 3 бар экенине ынануу гана жетиштүү, анткени мен берген бардык булак коду ушунда жазылган., түрү

python3

буйрук сабына. Эгерде сизде Python 3 болсо, анда python терминалы ачык экенин көрүшүңүз керек. Жабуу же терүү аркылуу терминалдан чыгыңыз

чыгуу ()

Муну ырастагандан кийин, Пиңизге колбаны орнотушуңуз керек. Flask бизге веб -серверибизди түзүүгө мүмкүнчүлүк берет. Pi буйрук сабынан териңиз

sudo pip3 колбасын орнотуу

Пиңизде пип орнотулбаган учурда, терүүңүз керек болот

sudo apt-get python3-pip орнотуу

Мен Raspberry Pi менен иштөөчү компьютеримдин ыңгайлуулугунан иштеп чыгууну туура көрөм. Эгер сиз дагы бул вариантты жактырсаңыз, SSHге кандайдыр бир чөйрөнү Pi ичине орнотушуңуз керек. PuTTY иштейт, бирок мен GUIге ээ болууну артык көрөм (колдонуучунун графикалык интерфейси), бул сизди түздөн -түз Пиде окшойт. GUI варианты үчүн, сиз иштөөнү пландап жаткан компьютерге VNC Viewer орнотууну каалайсыз. Пиңизди тууралашыңыз керек болгон орнотуулар дагы бар. Жөндөөлөрдү өзгөртүү боюнча нускамаларды бул жерден тапса болот.

2 -кадам: Аппаратты туташтыруу

Сиздин Аппаратты туташтыруу
Сиздин Аппаратты туташтыруу

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

кадап чыгып

Төмөндө мен жасаган байланыштар. Эгерде сиз кириште мен көрсөткөндөн башка өткөргүч/алуучу жабдыктарды сатып алсаңыз, сизде башка конфигурация болушу мүмкүн. Эгерде сиз төмөндө мен көрсөткөн номерлерден башка пин номерлерди тандап алууну чечсеңиз, коркпоңуз! Булак кодун жүктөп алганыңызда, RxTx.py файлында керектүү пин коддорду өзгөртүп коюңуз.

Алуучу (чоң чип):

  • GND - Ар кандай дайындалган жер казыгы
  • DATA - Pin 11
  • DER - Туташкан жок
  • +5V - Ар кандай дайындалган +5V пин
  • ------
  • +5V - Ар кандай дайындалган +5V пин
  • GND - Ар кандай дайындалган жер казыгы
  • GND - Туташкан жок
  • ANT - Туташкан жок

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

Бергич:

  • P - 3.3V пин
  • DA - Pin 7
  • G - Ар кандай дайындалган жер казыгы
  • AN - туташкан жок

Эскертүү: Антеннаны өткөргүчкө керектүү түрдө туташтырсаңыз болот, бирок мен кереги жок экенин түшүндүм. Диапазон жетиштүү (50+фут).

3 -кадам: Кодду кошуу

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

Бул жерде тартылган тилдер:

  • Python
  • CSS
  • Javascript
  • HTML
  • JQuery/Ajax

Python колбанын серверинде жана

RxTx.py

кодду берүү жана алуу менен алектенген файл. CSS веб -беттин стилин түзүүдө колдонулат. Ким кызыксыз вебсайтты каалайт !? Javascript окуяларды иштетүүдө колдонулат (кнопканы басуу ж. Б.). HTML веб -баракчанын негизги курулуш материалы. Акыр -аягы, JQuery/Ajax веб -баракча менен Python фонунун ортосунда байланыш үчүн колдонулат.

Эгерде бул тилдердин баары коркунучтуу угулса, кабатыр болбо! Мен Pythonдун бул долбоорго кирерин гана билчүмүн, ал эң аз коддоону камтыган тил болгон, фигурага өтүңүз … Айтканыңыз жетиштүү, эгерде сиз тандаган болсоңуз, анда кодду терүүгө шашылыңыз. Каалабасаң, кереги жок!

Төмөндө мен бул веб -баракча менен иштөөнү тандаган каталог структурасы. Бул кадамга тиркелген сыдырылган папка төмөнкү структурада бардык баштапкы кодду камтыйт.

Outlet Switch-> comm-- DataRW.py-- keys.py-- RxTx.py-> webpage-- static ----- favicon.ico ----- style.css-- шаблондор ----- index.html ----- расписание.html-- app.py-- data.file

Сиз Outlet Switch папкасын Piңиздин каалаган жерине койсоңуз болот. Веб -сервериңизди иштетүүгө даяр болгондо, Пиңиздеги терминалды ачыңыз жана

cd

(каталогду өзгөртүү) веб -баракча каталогуна. Андан кийин териңиз

python3 app.py

терминалга. Эгер эч кандай ката жок болсо, анда сиз барышыңыз керек!

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

4 -кадам: Муну аткыла

Муну аткыла!
Муну аткыла!

Эми сиз кодду иштетип жатсаңыз, веб -интерфейсти манжаңыздын учунда сезе аласыз. Системаны башкаруу өтө жөнөкөй:

  • Сиз веб -интерфейсти колдонуп, каалаганча соода түйүндөрүн кошо аласыз.
  • Өчүрүү оңдоону басуу, жок кылгыңыз келген түйүндөрдү тандоо жана жок кылуу баскычын басуу сыяктуу жөнөкөй.

Жогорудагы YouTube видеосу чындыгында тизмеңизге жаңы түйүндү кантип кошууну көрсөтөт. Ал эмнени көрсөткөнүн жалпылаштыруу үчүн:

  • Адегенде Title талаасына соода түйүнүнүн аталышын киргизиңиз
  • Программанын аталышы жок экенин текшерүүгө уруксат берүү үчүн Титулдук талаанын сыртына чыкылдатыңыз же тийиңиз. Сиз бир эле аталышта титулдарга ээ боло албайсыз
  • Текшерилгенден кийин, ON Code жана OFF Code баскычтары иштетилет.
  • Берилген алыстан башкаруудагы ON баскычын басып кармап туруңуз жана интерфейстеги ON код баскычын тез басыңыз. Пульттагы баскычты экилик кодуңуз чектеш талаага чыкмайынча кармап туруңуз.
  • OFF коду үчүн мурунку кадамды кайталаңыз.
  • OK чыкылдатыңыз, эми сиз бул розетканы алмаштырууга даярсыз!

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

5 -кадам: Мүчүлүштүктөрдү оңдоо жана RxTx.py File

Мүчүлүштүктөрдү оңдоо жана RxTx.py файлы
Мүчүлүштүктөрдү оңдоо жана RxTx.py файлы
Мүчүлүштүктөрдү оңдоо жана RxTx.py файлы
Мүчүлүштүктөрдү оңдоо жана RxTx.py файлы
Мүчүлүштүктөрдү оңдоо жана RxTx.py файлы
Мүчүлүштүктөрдү оңдоо жана RxTx.py файлы
Мүчүлүштүктөрдү оңдоо жана RxTx.py файлы
Мүчүлүштүктөрдү оңдоо жана RxTx.py файлы

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

  • Пиңизге matplotlib орнотулганын текшериңиз. Сиз муну Пи терминалына төмөнкүлөрдү терүү менен жасай аласыз:

    • python3

    • matplotlib импорттоо

    • Эгер сиз ката алсаңыз, анда matplotlib орнотушуңуз керек.
    • Колдонуу менен python кабыгынан чыгыңыз

      чыгуу ()

  • Matplotlib орнотуу үчүн, териңиз

    sudo pip3 matplotlib орнотуу

  • терминалга
  • Тиркелген test.py файлын жүктөп алып, аны Piңиздеги RxTx.py файлынын жанына коюңуз
  • Python терминалын ачыңыз жана каталогду комм папкасына өзгөртүңүз.
  • Түрү

    python3 test.py

  • "** Жазуу башталды **" деп жазылганда, пультуңуздагы ON же OFF баскычын басып, жазуу бүткүчө басып туруңуз.
  • Программа жогоруда окшош matplotlib фигурасын жүктөйт. Жогорудагы сүрөттөрдө көрсөтүлгөндөй кайталануучу сигналды көргөнгө чейин чоңойтуп коюңуз.
  • Ар бир билдирүү үчүн жалпы логикалык 1 жана логикалык 0 санаңыз, мында билдирүү кайталануучу сигналдын бир кайталанышы. Эгерде бардыгы 25 болсо, RxTx.py файлы күнөөлүү эмес. Эгерде сиз 25тен башка нерсеге туш болсоңуз, төмөндө комментарий жазууну унутпаңыз, мен RxTx.py файлын дагы ачык-айкын кылып кайра иштетем (же колуңду сынап көрүүдөн тартынба).

Кайталануучу сигналды көрбөй калсамчы?

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

6 -кадам: ырахат алыңыз

Телефонуңуздан, планшетиңизден, компьютериңизден же башка веб иштетилген түзмөктөн розеткаларды күйгүзүү/өчүрүү мүмкүнчүлүгүнө ээ экениңизди билесиз! Мага сын ой кандай чечим чыгарганын билишсин!

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