Cov txheej txheem:

NexArdu: Teeb Pom Kev Ntse Ntse: 5 Kauj Ruam
NexArdu: Teeb Pom Kev Ntse Ntse: 5 Kauj Ruam

Video: NexArdu: Teeb Pom Kev Ntse Ntse: 5 Kauj Ruam

Video: NexArdu: Teeb Pom Kev Ntse Ntse: 5 Kauj Ruam
Video: Plab Plab Ntswg..(Pluav Pluav Ntswg) Maiv Twm New Song 2023-2024 2024, Lub Xya hli ntuj
Anonim
NexArdu: Illumination Ntse Tswj
NexArdu: Illumination Ntse Tswj

Hloov tshiab

Yog tias tau txhim kho tib txoj haujlwm siv Tsev Pabcuam. Tus Pabcuam Hauv Tsev muaj ntau txoj hauv kev. Koj tuaj yeem pom txoj kev txhim kho ntawm no.

Daim duab kos los tswj lub teeb pom kev zoo hauv tsev ntawm 433.92MHz (aka 433MHz) wireless X10-zoo li cov khoom siv, xws li Nexa.

Keeb kwm yav dhau

Thaum nws los txog rau kev ua kom pom kev zoo nkauj, nws tau ua rau kuv nkees nkees tias txhua lub lim tiam thib ob lossis thib peb kuv yuav tsum rov kho lub sijhawm uas hloov lub teeb vim tias hloov pauv ntawm lub hnub ci teev nrog kev hwm rau CET. qee hmo peb mus pw ntxov dua lwm qhov. Vim li no, qee zaum lub teeb hloov los "lig dhau" lossis "ntxov dhau". Cov lus saum toj no nyuaj rau kuv xav: Kuv xav kom lub teeb pom kev zoo hloov pauv ib txwm nyob rau tib theem ntawm lub teeb pom kev ib puag ncig thiab tom qab ntawd hloov mus rau qee lub sijhawm nyob ntawm seb peb puas tsaug zog lossis tsis.

Lub Hom Phiaj

Cov lus qhia no siv los ntawm kev muaj peev xwm ntawm cov cuab yeej tswj tau wireless xws li System Nexa ua haujlwm ntawm 433.92MHz zaus. Ntawm no peb yuav tsum feature:

  1. Automatized illumination tswj
  2. Web tswj

Web tswj. Sab hauv vs Sab Nraud Web server

Internal Server siv qhov ua tau ntawm Arduino Ethernet daim thaiv los muab lub vev xaib. Lub vev xaib server yuav koom nrog cov neeg siv web hu mus xyuas thiab cuam tshuam nrog Arduino. Nov yog kev daws ncaj ncaj rau yav tom ntej nrog kev ua haujlwm tsawg; qhov muaj peev xwm ntawm kev txhim kho lub vev xaib tus lej server raug txwv los ntawm lub cim xeeb ntawm Arduino. Qhov Chaw Sab Nraud xav tau teeb tsa ntawm sab nraud PHP web server. Qhov teeb tsa no nyuaj dua thiab tsis txhawb nqa los ntawm qhov kev qhia no txawm li cas los xij, PHP code/nplooj ntawv los tshuaj xyuas thiab taw qhia Arduino tau muab ua haujlwm yooj yim. Qhov muaj peev xwm ntawm kev txhim kho lub web server yog, qhov no, txwv los ntawm sab nraud web server.

Cov nqi khoom

Txhawm rau ua kom tau txais txiaj ntsig zoo ntawm qhov muaj peev xwm kos duab no muab, koj xav tau:

  1. Ib qho Arduino Uno (kuaj ntawm R3)
  2. Arduino Ethernet ntaub thaiv npog
  3. Nexa teeb lossis ua haujlwm zoo sib xws ntawm 433.92MHz
  4. Lub PIR (Passive InfraRed) lub sensor ua haujlwm ntawm 433.92MHz
  5. 10KOhms resistor
  6. LDR ib
  7. RTC DS3231 (sab nraud server nkaus xwb)
  8. 433.92MHz transmitter: XY-FST
  9. 433.92MHz tus txais: MX-JS-05V

Yam tsawg kawg pom zoo yog:

  1. Ib qho Arduino Uno (kuaj ntawm R3)
  2. Nexa teeb lossis ua haujlwm zoo sib xws ntawm 433.92MHz
  3. 10KOhms resistor
  4. LDR ib
  5. 433.92MHz transmitter: XY-FST

(Qhov tsis lees paub ntawm Ethernet daim ntaub thaiv yuav tsum tau hloov kho ntawm daim duab tsis muab hauv qhov kev qhia no)

Lub Nexa Logic. Cov lus piav qhia luv luv

Tus neeg txais Nexa kawm paub tswj tus lej ID thiab khawm ID. Hauv lwm lo lus, txhua lub chaw taws teeb muaj nws tus lej xa thiab txhua khub ntawm/tawm khawm muaj nws khawm ID. Tus neeg txais yuav tsum kawm cov lej. Qee cov ntaub ntawv Nexa hais tias tus neeg txais khoom tuaj yeem ua ke nrog txog li rau rau qhov nyob deb. Nexa tsis:

  • SenderID: ID ntawm cov chaw taws teeb tswj
  • ButtonID: khawm-khub tus lej (qhib/tawm). Nws pib nrog tus lej 0
  • Pawg: yog/tsis yog (aka "Txhua qhov tawm/ntawm" cov nyees khawm)
  • Hais kom ua: rau/tawm

Cov Lus Qhia. Nco tseg

Cov Kauj Ruam sib txawv piav qhia hauv no yog muab ob qhov sib txawv ntawm yuav ua li cas thiaj ua tiav lub hom phiaj. Xav tias dawb los xaiv ib qho ntawm koj qhov yooj yim. Nov yog qhov ntsuas:

Kauj ruam #1: Lub voj voog

Kauj ruam #2: Nexardu nrog Internal Web Server (nrog NTP)

Kauj ruam #3: Nexardu nrog Sab Nraud Server

Kauj ruam #4: Cov Ntaub Ntawv Muaj Nqis

Kauj Ruam 1: Circuit…

Qhov Circuit…
Qhov Circuit…

Hlau cov khoom sib txawv raws li qhia hauv daim duab.

Arduino tus pin#8 rau Cov Ntaub Ntawv tus pin ntawm RX (tus txais) module

RTC kev teeb tsa. Tsuas yog xav tau ntawm Sab Nraud Cov Neeg rau zaub mov teeb tsa. Arduino tus pin A4 rau SDA tus pin ntawm RTC moduleArduino tus pin A5 rau SCL tus pin ntawm RTC module

Kauj Ruam 2: Nexardu Nrog Sab Hauv Web Server (nrog NTP)

Cov Tsev Qiv Ntawv

Txoj cai no ua rau siv ntau lub tsev qiv ntawv. Feem ntau ntawm lawv tuaj yeem nrhiav tau los ntawm "Tus Thawj Saib Xyuas Tsev Kawm Ntawv" ntawm Arduino IDE. Koj yuav tsum tsis pom lub tsev qiv ntawv teev npe, thov google.

Wire.hSPI.h - Yuav tsum tau los ntawm Ethernet shieldNexaCtrl.h - Nexa ntaus ntawv tswj Ethernet.h - Kom pab tau thiab muaj cov Ethernet shieldRCSwitch.h - Yuav tsum tau rau PIRTime.h - Yuav tsum tau rau RTCTimeAlarms.h - Lub sij hawm tswb tswj EthernetUdp.h - Yuav tsum tau rau NTP client

Daim Duab

Cov cai hauv qab no nthuav tawm qhov ua tau ntawm kev siv Arduino UNO pawg thawj coj tsis yog tsuas yog lub ntsiab lus los tswj Nexa cov cuab yeej tab sis nws kuj tseem muaj Sab Hauv Web server. Cov lus ceeb toom ntxiv yog tias RTC (Lub Sijhawm Sijhawm Sijhawm) tus qauv tau txais kev kho ntawm NTP (Network Time Protocol).

Ua ntej koj xa cov cai rau Arduino, koj yuav xav tau teeb tsa cov hauv qab no:

  • SenderId: koj yuav tsum hnia SenderId ua ntej, saib hauv qab no
  • PIR_id: koj yuav tsum hnia SenderId ua ntej, saib hauv qab no
  • LAN IP Chaw Nyob: teeb tus IP ntawm koj LAN rau koj li Ethernet Arduino daim ntaub thaiv. Default nqi: 192.168.1.99
  • NTP Server: Tsis nruj me ntsis tsim nyog tab sis nws yuav zoo rau google rau NTP servers hauv koj nyob ze. Tus nqi pib: 79.136.86.176
  • Txoj cai tau hloov kho rau CET lub sijhawm. Kho tus nqi no -yog xav tau, rau koj thaj tsam sijhawm kom thiaj li pom lub sijhawm raug (NTP)

Sniffing Nexa cov lej

Rau qhov no koj yuav tsum tau xaim -tsawg kawg, RX tivthaiv rau Arduino raws li qhia hauv kab lus.

Nrhiav hauv qab Nexa_OK_3_RX.ino kos duab uas, thaum lub sijhawm sau nws, yog sib xws nrog Nexa cov cuab yeej NEYCT-705 thiab PET-910.

Cov kauj ruam ua raws yog:

  1. Pair tus Nexa tus txais nrog cov chaw taws teeb tswj.
  2. Thauj Nexa_OK_3_RX.ino mus rau Arduino thiab qhib "Serial Monitor".
  3. Nias lub khawm tswj chaw taws teeb uas tswj Nexa tus txais.
  4. Nco tseg ntawm "RemoteID" thiab "ButtonID".
  5. Teem cov lej no hauv SenderID thiab ButtonID ntawm qhov hloov pauv tshaj tawm ntawm kev kos duab dhau los.

Txhawm rau nyeem tus lej ntawm PIR, tsuas yog siv tib daim duab no (Nexa_OK_3_RX.ino) thiab nyeem tus nqi ntawm "Serial Monitor" thaum PIR pom cov lus tsa suab.

Kauj Ruam 3: Nexardu Nrog Sab Nraud Server

Cov Tsev Qiv Ntawv

Txoj cai no ua rau siv ntau lub tsev qiv ntawv. Feem ntau tuaj yeem nrhiav tau los ntawm "Tus Thawj Saib Xyuas Tsev Kawm Ntawv" ntawm Arduino IDE. Koj yuav tsum tsis pom lub tsev qiv ntawv teev npe, thov google.

Wire.hRTClib.h - qhov no yog lub tsev qiv ntawv los ntawm https://github.com/MrAlvin/RTClibSPI.h - Yuav tsum tau los ntawm Ethernet shieldNexaCtrl.h - Nexa device controllerEthernet.h - Txhawm rau thiab ua kom lub ntsej muag Ethernet shieldRCSwitch.h - Yuav tsum tau ua rau PIRTime.h - Yuav tsum tau rau RTCTimeAlarms.h - Lub tswb tswj lub sijhawm aREST.h - rau RESTful API cov kev pabcuam tau siv los ntawm kev pabcuam sab nraud/wdt.h - Watchdog timer tuav

Daim Duab

Cov duab hauv qab no qhia lwm qhov zoo ib yam, lub sijhawm no txhawb lub peev xwm uas lub vev xaib sab nraud tuaj yeem muab. Raws li tau hais hauv qhov kev taw qhia, Sab Nraud Server xav tau kev teeb tsa ntawm sab nraud PHP web server. Qhov teeb tsa no nyuaj dua thiab tsis txhawb nqa los ntawm qhov kev qhia no txawm li cas los xij, PHP code/nplooj ntawv los tshuaj xyuas thiab taw qhia Arduino tau muab ua haujlwm yooj yim.

Ua ntej koj xa cov cai rau Arduino, koj yuav xav tau teeb tsa cov hauv qab no:

  • SenderId: koj yuav tsum hnia SenderId ua ntej, saib Sniffing Nexa cov lej ntawm qib ua ntej
  • PIR_id: koj yuav tsum hnia SenderId ua ntej, saib Sniffing Nexa cov lej ntawm qib ua ntej
  • LAN IP Chaw Nyob: teeb tus IP ntawm koj LAN rau koj li Ethernet Arduino daim ntaub thaiv. Default nqi: 192.168.1.99

Txog Nexa txoj cai hnia tus txheej txheem, thov saib mus rau Kauj Ruam #1.

Cov ntaub ntawv ntxiv

Rub cov ntawv nexardu4.txt txuas rau koj tus neeg rau zaub mov PHP sab nraud thiab hloov nws mus rau nexardu4.php

RTC sijhawm teem

Txhawm rau teeb tsa lub sijhawm/hnub ntawm RTC Kuv siv teeb duab SetTime uas los ua ke lub tsev qiv ntawv DS1307RTC.

Kauj Ruam 4: Cov Ntaub Ntawv Muaj Nqis

Cov Ntaub Ntawv Tseem Ceeb
Cov Ntaub Ntawv Tseem Ceeb
Cov Ntaub Ntawv Tseem Ceeb
Cov Ntaub Ntawv Tseem Ceeb

Zoo paub tus cwj pwm

  1. Thaum Arduino nyob hauv "Lub Teeb Tsis Siv Neeg Tswj", nws tuaj yeem hla plaub lub xeev sib txawv hauv kev cuam tshuam nrog qhov pom kev ib puag ncig thiab lub sijhawm ntawm hnub:

    1. Wakefully: Arduino tos hmo ntuj los txog.
    2. Ua haujlwm: Hmo dhau los thiab Arduino tau hloov lub teeb ON.
    3. Tsis Txaus Siab: Lub teeb tau qhib tab sis lub sijhawm los tua lawv tab tom los. Nws pib ntawm "time_to_turn_off - PIR_time" uas yog, yog tias lub sijhawm_to_turn_off tau teeb tsa rau 22: 30 thiab PIR_time tau teem rau 20 feeb, tom qab ntawd Arduino yuav nkag mus rau hauv lub xeev tsis txaus ntseeg thaum 22:10.
    4. Dormant: Hmo dhau los, Arduino tau hloov lub teeb OFF thiab Arduino tos kom txog thaum kaj ntug los ua rau sawvdaws tsaug.
  2. Arduino ib txwm mloog cov cim qhia los ntawm cov chaw taws teeb tswj. Qhov no muaj peev xwm ua kom pom lub xeev teeb pom kev (qhib/tawm) ntawm lub vev xaib thaum siv chaw taws teeb tswj.
  3. Thaum Arduino tab tom tsaug zog nws tau sim teeb lub teeb tawm txhua lub sijhawm yog li ntawd, ON cov cim xa los ntawm kev tswj kom rov hloov lub teeb ntawm tej zaum yuav raug ntes los ntawm Arduino. Yog tias qhov no tshwm sim, Arduino yuav sim tig lub teeb dua.
  4. Thaum Arduino nquag siv nws sim kom tau lub teeb ON txhua lub sijhawm yog li ntawd, OFF cov cim xa los ntawm cov chaw taws teeb tswj kom hloov lub teeb tawm yuav raug ntes los ntawm Arduino. Yog tias qhov no tshwm sim, Arduino yuav sim qhib lub teeb dua.
  5. Hauv lub xeev tsis txaus ntseeg lub teeb tuaj yeem qhib/tua nrog lub chaw taws teeb tswj. Arduino yuav tsis tawm tsam.
  6. Hauv lub xeev tsis txaus ntseeg PIR suav rov qab yuav pib rov pib dua los ntawm "time_to_turn_off - PIR_time" thiab yog li lub sijhawm_to_turn_off tau txuas ntxiv los ntawm 20 feeb txhua lub sijhawm PIR pom cov lus tsa suab. Ib qho "PIR Teeb Pom Kev Pom!" cov lus yuav pom ntawm lub vev xaib browser thaum qhov no tshwm sim.
  7. Thaum Arduino tsis muaj teeb pom kev tuaj yeem qhib thiab tawm ntawm kev tswj chaw taws teeb. Arduino yuav tsis tawm tsam.
  8. Kev rov pib dua lossis lub zog hloov pauv ntawm Arduino yuav coj nws mus rau hom nquag. Qhov no txhais tau tias yog tias Arduino tau rov pib dua tom qab lub sijhawm _turn_off ces Arduino yuav hloov lub teeb rau. Txhawm rau zam qhov no Arduino xav tau coj mus rau hauv phau ntawv hom (zuam tawm "Lub Teeb Tsis Siv Neeg Tswj") thiab tos kom txog thaum sawv ntxov kom nws rov qab mus rau "Lub Teeb Tsis Siv Neeg Tswj".
  9. Raws li tau hais los saum no, Arduino tos txog kaj ntug kom rov muaj zog dua. Vim li no, lub kaw lus tuaj yeem raug dag los ntawm kev coj lub zog txaus rau lub teeb pom kev uas yog kom dhau qhov "qhov tsawg kawg nkaus ci ntsa iab" qhov pib. Yuav tsum muaj qhov no tshwm sim, ces Arduino yuav hloov mus rau lub xeev nquag.
  10. Tus kam rau siab tus nqi yog qhov tseem ceeb hauv kev txhawm rau zam kev kaw lub kaw lus thiab kaw ib puag ncig tus nqi pib yam tsawg kawg Luminosity. Coj teeb, vim yog lawv qhov muag thiab lawv qhov ua tau zoo, tuaj yeem yog lub hauv paus ntawm kev coj tus cwj pwm. Ua kom tus nqi siab dua yog tias koj ntsib teeb meem no. Kuv siv tus nqi 7.

Zoo paub txog txoj cai

  1. Raws li koj tuaj yeem pom, cov cai yog loj heev thiab ua rau siv ntau lub tsev qiv ntawv. Qhov no cuam tshuam tus nqi ntawm lub cim xeeb pub dawb tsim nyog rau pawg. Kuv tau pom tus cwj pwm tsis ruaj khov yav dhau los ua rau lub kaw lus raug nres, tshwj xeeb yog tom qab lub vev xaib hu. Yog li ntawd, qhov teeb meem loj tshaj plaws uas kuv tau muaj yog kom txwv nws qhov loj me thiab kev siv ntau yam sib txawv txhawm rau txhawm rau ua kom lub kaw lus ruaj khov.
  2. Cov cai uas siv cov server sab hauv -siv los ntawm kuv hauv tsev, tau ua haujlwm tam sim no txij li Lub Ob Hlis 2016 teeb meem dawb.
  3. Kuv tau siv zog ua ntau ntxiv los txhawb cov cai nrog kev piav qhia. Ua kom zoo dua qhov no los ua si nrog ntau yam tsis xws li tus naj npawb ntawm Nexa cov lej xa tuaj ib ntus, NTP lub sijhawm sib txuas, thiab lwm yam.
  4. Txoj cai tsis muaj kev txuag hnub ci. Qhov no yuav tsum tau hloov kho ntawm lub vev xaib thaum nws siv.

Qee cov ntsiab lus los xav txog

  1. Ntxiv cov kav hlau txais xov rau TX thiab RX xov tooj cua zaus (RF) cov qauv. Nws yuav txuag koj lub sijhawm yws yws txog ob lub ntsiab lus tseem ceeb: tiv taus thiab ntau yam ntawm RF teeb liab. Kuv siv 50Ohms xaim 17.28cm (6.80in) ntev.
  2. Qhov tsis nkag siab no tuaj yeem ua haujlwm nrog lwm lub tshuab ua haujlwm hauv tsev ib yam li Proove, piv txwv. Ib ntawm ntau qhov xwm txheej kom ua tiav yog kom lawv ua haujlwm ntawm 433.92MHz zaus.
  3. Mob taub hau loj nrog Arduino yog los daws cov tsev qiv ntawv uas tuaj yeem hloov kho tshiab nyob rau lub sijhawm thiab tam sim ntawd tsis rov zoo li qub nrog koj daim duab "qub"; teeb meem tib yam tuaj yeem nce ntxiv thaum txhim kho koj li Arduino IDE. Ceev faj tias qhov no tuaj yeem yog peb kis ntawm no -yog, kuv qhov teeb meem ib yam.
  4. Ntau lub vev xaib cov neeg siv khoom sib txawv nrog lub teeb sib txawv ua rau lub xeev "ntsais".

Screenshot

Hauv daim duab carousel saum toj no, koj pom lub vijtsam ntawm lub vev xaib tso tawm thaum koj hu rau Arduino hla koj lub vev xaib. Muab lub hauv paus IP teeb tsa ntawm cov cai, URL yuav yog

Ib qho uas yuav yog kev txhim kho yog qhov chaw ntawm "xa" khawm vim nws siv tau rau txhua lub thawv nkag thiab tsis yog ntawm "Lub Teeb Tsis Siv Neeg Tswj" raws li ib tus yuav xav. Hauv lwm lo lus, yog tias koj xav hloov ib qho ntawm qhov muaj peev xwm ua tau, koj ib txwm yuav tsum nias lub pob "xa".

Cov ncauj lus kom ntxaws/Advanced cov ntaub ntawv

Kuv tau txuas cov ntaub ntawv hauv qab no kom lawv tuaj yeem pab koj nkag siab txog kev daws teeb meem tag nrho, tshwj xeeb rau kev daws teeb meem thiab txhim kho.

Arduino_NexaControl_IS.pdf muab cov ntaub ntawv ntawm Internal Server daws.

Arduino_NexaControl_ES.pdf muab cov ntaub ntawv hais txog Kev Pabcuam Sab Nraud.

Lwm tus neeg ua tim khawv

Nexa System (Swedish)

Kauj ruam 5: Tiav lawm

Tiav lawm!
Tiav lawm!

Muaj koj tau ua tiav nws thiab ua tiav!

Cov ntaub ntawv Arduino Uno tuaj yeem pom hauv Thingiverse li "Arduino Uno Rev3 nrog Ethernet Shield XL-case".

Pom zoo: