Cov txheej txheem:
- Kauj Ruam 1: Software Logic: System Architecture
- Kauj Ruam 2: Kauj Ruam 1: Teeb Kho Vajtse
- Kauj Ruam 3: Kauj Ruam 2: Arduino
- Kauj Ruam 4: Kauj Ruam 3: NodeJS
- Kauj Ruam 5: Kauj Ruam 4: Web Interface
- Kauj Ruam 6: Qhov tshwm sim
Video: Arduino Project: Tswj Hluav Taws Xob Hauv Is Taws Nem Siv Nodejs + SQL Database & Website: 6 Cov Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:28
Txoj Haujlwm Los Ntawm: Mahmed.tech
Hnub Ua: 14 Lub Xya Hli 2017
Qib Nyuaj: Pib nrog qee qhov kev paub txog lub cajmeem.
Yuav Tsum Tau Kho Vajtse:
- Arduino Uno, Nano, Mega (Kuv xav tias feem ntau MCU nrog cov txuas txuas yuav ua haujlwm)
- Tib LED & Tam sim no limiting resistor. Siv lub laij lej no yog tias koj tsis paub tseeb: Ohms Law Calculator
- 10K Potentiometer.
Software Yuav Tsum Tau:
- Arduino IDE
- Node. JS (qhov no yog software ntawm lub computer, yooj yim heev rau nruab)
- MySQL Server (txoj hauv kev yooj yim tshaj plaws uas kuv pom yog siv lub vev xaib pheej yig. Koj kuj tuaj yeem tau txais cov npe dawb)
Programming & Scripting lus siv:
Arduino (Hloov Kho C/C ++), JavaScript (Nodejs), PHP, HTML & CSS
Taw qhia Qhov haujlwm no hauv qhov yooj yim: Tswj Arduino microcontroller los ntawm lub vev xaib interface. Yog li tswj hwm cov cuab yeej hluav taws xob los ntawm txhua qhov chaw nrog internet. Kuv xav ncab kuv txoj kev nkag siab ntawm cov phiaj xwm thiab kev txhim kho lub vev xaib thiab txoj hauv kev zoo li cas los ua qhov no dua li ua qhov yooj yim tab sis ua haujlwm zoo. Kho vajtse raug khaws cia tsawg kawg yog li kuv tuaj yeem tsom mus rau software ntau dua. Li no kuv tau mus nrog ib qho yooj yim LED, lauj kaub teeb. Lub lauj kaub yuav xa cov ntaub ntawv thiab cov coj yuav tau txais (PWM ci ci). Siv NodeJS cov ntaub ntawv xov xwm tau nyeem (tus nqi zog) thiab sau (coj qhov ci ci). Qhov nyuaj ntawm txoj haujlwm no tau txais cov ntaub ntawv nkag los ntawm qhov chaw nyob deb (web server)
Kauj Ruam 1: Software Logic: System Architecture
Cov ntaub ntawv Potentiometer:
Qhov no pib ntawm Arduino, nyeem cov lauj kaub tus nqi yog cov ntawv luam tawm. Txawm li cas los xij, lub sijhawm no peb yuav siv Node. JS los nyeem tus nqi. NodeJS yuav qhib kev sib txuas lus txuas mus rau tib lub chaw nres nkoj raws li Arduino txuas nrog thiab nyeem cov ntawv lauj kaub uas muaj nqi. NodeJS yuav xa cov ntaub ntawv mus rau SQL cov chaw taws teeb deb, qhov no yuav tshwm sim txhua lub sijhawm tus nqi lauj kaub tshiab tau luam tawm. Ib lub vev xaib yuav txuas mus rau SQL database teeb tsa ntu thiab khaws tus nqi zog. Qhov no yuav tshwm rau ntawm nplooj ntawv webpage.
Cov ntaub ntawv coj:
Rau cov coj PWM qhov ci ci yuav teeb tsa los ntawm tus neeg siv ntawm lub vev xaib nyob deb, yog li nws cov lus pib ntawm qhov kawg ntawm qhov pom. Cov ntaub ntawv nkag tau khaws tseg rau hauv SQL database, txhua qhov teeb tsa lub hauv paus database tau tshuaj xyuas rau kev hloov pauv hauv coj PWM, qhov no yog ua los ntawm NodeJS. Yog tias tus nqi sib txawv rau tus nqi yav dhau los ces tus nqi tshiab yuav raug xa mus rau Arduino ntawm lub npav npav. Arduino hloov pauv PWM tus nqi ntawm tus coj los hloov nws qhov ci ci.
Ohms txoj cai laij lej siv tus lej V = IR thiab P = IV = I²R = V²/R Rau qhov haujlwm no, Kuv yuav siv lub teeb xiav coj. Qhov no yog qhov tseem ceeb vim tias lub teeb pom kev ntau ntxiv qhov poob qis kuj nce ntxiv. Txij li lub teeb xiav muaj qhov ntau dua piv rau qee yam xws li liab coj. Qhov no txhais tau tias yog qhov siab dua rau pem hauv ntej. Nyob ntawm qhov ua, hom, thiab qhov loj qhov ua haujlwm yuav sib txawv. Rau kuv teeb tsa, Kuv siv 220 Ω resistor hauv koob, tsis zoo rau hauv av thiab zoo rau PWM tus pin ntawm Arduino. Lub lauj kaub tau txuas nrog tus pin analog. Nrog 5VCC ib kawg GND lwm qhov thiab tus pin nruab nrab txuas nrog tus pin zoo sib xws (A0 hauv kuv rooj plaub).
Kauj Ruam 2: Kauj Ruam 1: Teeb Kho Vajtse
Qhov no yog qhov yooj yim heev: Tsuas yog txuas koj qhov kev txwv tam sim no hauv cov kab nrog LED kom paub tseeb tias koj coj yog qhov raug. Ib lub ntsiab lus yuav mus rau GND thaum lwm qhov kawg yuav mus rau Arduino tus pin. Txog kuv teeb tsa, Kuv siv tus pin 12 rau coj thiab A7 rau lauj kaub. Kuv tsis muaj schematic txij li nws yooj yim Circuit Court. Txawm li cas los xij, Kuv tau pom qhov no online (duab)
Kauj Ruam 3: Kauj Ruam 2: Arduino
Ua ntej, coj thiab lauj kaub raug tshuaj xyuas yog tias lawv tau ua haujlwm raws li xav tau. Qhov no tau nqis los ntawm txoj haujlwm yooj yim uas tus nqi lauj kaub tswj tus coj. Kuv siv txoj haujlwm txwv kom hloov pauv ntau yam ntawm 0 txog 1023 txog 0 txog 255, tab sis yooj yim /4 ua haujlwm ib yam nkaus. Lub lauj kaub tus nqi tau du tawm los ntawm kev ntsuas qhov nruab nrab nruab nrab los ntawm 10 nyeem ntawv sib law liag, qhov no yog txhawm rau tshem tawm qhov spikes. (Txawm li cas los xij, qhov no ua rau muaj teeb meem nrog NodeJS yog li qhov no raug tshem tawm tom qab ntawm txoj haujlwm - ntau ntxiv ntawm qhov ntawd)
Txoj Cai Arduino
Nyeem / Sau Serial Cov kauj ruam tom ntej yog coj cov neeg siv nkag los ntawm lub qhov rooj saib xyuas qhov rais muab los ntawm Arduino lub tswv yim los teeb qhov ci ci. Txhawm rau ua qhov no, serial.parseInt () tau siv uas siv tus lej lej thiab tsis quav ntsej txoj hlua. Tsis tas li, kev tshuaj xyuas yuam kev tau ntxiv rau cov cai. Qhov siv tau ntawm PWM tus nqi yog 0 - 255, thaum tus neeg siv nkag mus> 255 ces nws muab tus nqi 255 thiab yog tias tus neeg siv nkag mus rau tus nqi lossis <+/- 5 Kuv tau ua qhov no los ua kom nyeem tau ruaj khov vim nws tau hloov pauv. Vim li cas qhov no yog teeb meem loj ntsig txog SQL hloov kho, ntau ntxiv tom qab ntawd.
Kauj Ruam 4: Kauj Ruam 3: NodeJS
Kuv yuav tsis qhia koj yuav ua li cas kom tau lossis teeb tsa thiab SQL server. Muaj ntau ntau cov tutorials tawm muaj.
Muaj 3 lub hauv paus tseem ceeb rau NodeJS txoj haujlwm:
Nyeem Cov Ntaub Ntawv
Sau Cov Ntaub Ntawv
Hloov kho SQL Database
Txhawm rau txuas txuas hauv NodeJS, tus qauv hu ua serialport yuav tsum tau rub tawm uas tuaj yeem ua tiav siv npm hais kom ua. Qhib CMD ntawm daim nplaub tshev qhov twg NodeJS program yuav khaws cia, teeb tsa los ntawm kev ntaus: npm nruab serialport Tsis tas li ntawd SQL module yuav tsum tau teeb tsa kom muaj peev xwm txuas mus rau sql database: npm nruab mysql NodeJS - Serial Port Kuv thawj kauj ruam nrog NodeJS qhov kev zov me nyuam tau nyeem cov ntaub ntawv luam tawm thiab xa pwm ci ci rau Arduino. Qhov no tau ua tiav los ntawm kev qhib cov ntawv txuas ntawm tib lub braudrate thiab chaw nres nkoj. Thaum qhov kev sib txuas tau tsim los Kuv tau nyeem cov lus nkag thiab luam tawm nws mus rau lub qhov rai console. Teeb meem tshwm sim thaum kuv sim sau tus nqi pwm los tswj qhov ci ci.
Nws khaws pov tseg tsis raug: Chaw Nres Nkoj Tsis Qhib, kuv qhov kev daws teeb meem thawj zaug yog hu rau kev ua haujlwm thaum muaj cov ntaub ntawv nkag. Txawm li cas los xij qhov no yog qhov kho tsis zoo thiab kuv tsis txaus siab rau qhov kev daws teeb meem, txawm hais tias nws ua haujlwm nws tsuas yog xa thaum lub lauj kaub tus nqi tau hloov pauv. Tus qauv piv txwv rau tus lej xov tooj yuav tsis ua haujlwm ib yam cuam tshuam tib qho yuam kev. Kuv tom qab pom tias qhov haujlwm tau sim ua haujlwm sau tsis qhib qhov chaw nres nkoj, uas ua rau qhov yuam kev ntawd. Kuv tuaj ncig qhov teeb meem no los ntawm kev siv setInterval () muaj nuj nqi
NodeJS - MySQLLub tsev qiv ntawv MySQL tau siv (npm nruab MySQL) txhawm rau txuas rau SQL database txij li cov neeg rau zaub mov nyob hauv qhov chaw nyob deb qhov chaw nyob IP ntawm tus neeg rau zaub mov tau siv hloov chaw.
var con tuav cov ntaub ntawv sib txuas hauv JSON hom, thaum qhov kev sib txuas tau ua tiav, cov ntaub ntawv tuaj yeem txaj txaj muag. 2 lub luag haujlwm tau tsim ib qho rau kev hloov kho lub rooj lwm yam xaiv nrog tsis ua hauv SQL cov lus nug. Cov lus hloov tshiab tau raug hu thaum tau txais lub lauj kaub tshiab thiab tau txais cov lus nug ci ntsa iab yuav ua haujlwm ib ntus.
NodeJSCode Txuas
Kauj Ruam 5: Kauj Ruam 4: Web Interface
Web Interface
Lub vev xaib tseem ceeb tau sau hauv PHP txij li kuv twb muaj qee qhov tau paub los ntawm kuv CO323 Databases thiab Web module hauv tsev kawm ntawv. Html rooj & daim ntawv tau siv los tso saib cov ntaub ntawv sql.
PHP SQL Access Code: Txuas Txuas mus rau ntu ntu web interface.
HTML & CSS * Javascript Webapage Code: Txuas Txuas mus rau hauv qab
Lub Vev Xaib Kawg
Pom zoo:
Chaw Nres Nkoj Huab Cua: ESP8266 Nrog Tsaug Zog, SQL, Teeb Duab los ntawm Flask & Plotly: 3 Kauj Ruam
Chaw Nres Tsheb Huab Cua: ESP8266 Nrog Tsaug Zog, SQL, Teeb Duab los ntawm Lub Raj Dej & Plotly: Puas yog qhov lom zem kom paub qhov kub, av noo, lossis lub teeb ci ntawm koj lub sam thiaj? Kuv paub kuv yuav. Yog li kuv tau ua lub chaw nres tsheb huab cua yooj yim los sau cov ntaub ntawv ntawd. Cov hauv qab no yog cov kauj ruam uas kuv tau ua los tsim ib qho. Cia peb pib