Cov txheej txheem:
- Kauj ruam 1: Teeb Angular hauv Koj Lub Computer
- Kauj Ruam 2: Teeb Koj Cov Qauv Txheej Txheem
- Kauj Ruam 3: Txhim Kho Bootstrap 4
- Kauj Ruam 4: Txheeb Txoj Kev
- Kauj ruam 5: Firebase
- Kauj Ruam 6: Nruab Firebase hauv Angular
- Kauj Ruam 7: Txuas Peb Txoj Haujlwm Angular Nrog Firebase
- Kauj Ruam 8: Txhim Kho NgxCharts Library hauv Koj Txoj Haujlwm Angular
- Kauj Ruam 9: Tsim Cov Kev Pabcuam Hauv Chav Kawm thiab Lub Sijhawm Teev Npe
- Kauj ruam 10: Sau koj li Project
Video: LoRa-Raws Li Pom Kev Pom Kev Pom Zoo rau Kev Ua Liaj Ua Teb Iot - Tsim Tsim Daim Ntawv Thov Ua Ntej Siv Firebase & Angular: 10 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:24
Hauv tshooj dhau los peb tham txog yuav ua li cas cov ntsuas hluav taws xob ua haujlwm nrog loRa module txhawm rau nthuav tawm cov ntaub ntawv hluav taws kub Lub Sijhawm Sijhawm, thiab peb tau pom daim duab qhia siab heev li cas peb txoj haujlwm tag nrho ua haujlwm li cas. Hauv tshooj no peb yuav tham txog yuav ua li cas peb tuaj yeem sau cov ntaub ntawv no hauv web application.
Kauj ruam 1: Teeb Angular hauv Koj Lub Computer
Angular yog ib qho ntawm javascript nrov tshaj plaws (uas yog cov ntawv sau zoo) raws cov qauv feem ntau siv hauv kev lag luam software, raws li peb siv firebase raws li peb cov backend (backend raws li server) tsuas yog qhov peb xav tau yog lub ntsej muag los tswj cov backend no. Yog li cia saib yuav ua li cas teeb tsa txhua qhov tsim nyog qhov no los ntawm kos.
xav txog tag nrho cov lus qhia no yog lub hauv paus ntawm Windows 10 ib puag ncig thiab vam tias koj muaj kev paub yooj yim txog kaum thiab firebase.
Nruab node.js thiab NPM ntawm qhov rais
Ua ntej tshaj plaws mus rau Node.js lub vev xaib raug cai node.js thiab rub tawm qhov tseeb version ntawm node.js, node yog ib puag ncig runtime kom khiav tag nrho cov lej javascript. NPM sawv rau ntawm tus thawj tswj hwm pob uas pab koj teeb tsa txhua lwm yam software tsim nyog los ntawm cov cuab yeej kab hais kom ua, uas yog lub tswv yim yooj yim txog ntawm node thiab NPM yog tias koj xav mus tob dua muaj tons ntawm cov vev xaib thiab yeeb yaj kiab uas koj tuaj yeem tau txais kev paub ntau ntxiv txog ntawm. (Nco ntsoov tias koj tau nruab node.js thoob ntiaj teb koj lub khoos phis tawj).
thov txheeb xyuas yog tias koj tau ua tiav teeb tsa ua ntej koj mus tom ntej.
Nruab Angular
Qhib koj cov kab hais kom ua cuab yeej thiab ua haujlwm hauv qab no hais kom ua, npm nruab -g @angular/cli
tam sim no nco ntsoov tias koj tau teeb tsa lub kaum ntse ntse tiav, koj tuaj yeem kawm paub ntau ntxiv txog kaum rau qhov kev qhia no angular official lub vev xaib.
Kauj Ruam 2: Teeb Koj Cov Qauv Txheej Txheem
Mus rau qhov chaw koj xav tsim koj txoj haujlwm, rau kuv kuv tau siv D: / Angular-Projects qhov chaw no. Qhib kab hais kom ua tam sim ntawd hauv qhov chaw ntawd. Ntaus hauv qab cov lus txib.
ng kev ua liaj ua teb tshiab-saib xyuas-kab ke
ces kaum yuav tsim txhua yam tsim nyog uas peb xav kom muaj hauv peb qhov kawg. ua ntej peb txuas frontend thiab backend ua ke. cia peb kawm me ntsis txog qhov angular thiab firebase.
Angular
Wb tham txog yuav ua li cas lub web architecture zoo li zoo li, muaj frontend lossis cov neeg siv khoom backend lossis server sab, cov neeg siv khoom txhais tau tias nws yog qhov twg tag nrho HTML, CSS muaj, tab sis nyob rau hauv angular peb tsis tas yuav tsim cov nplooj ntawv web rau peb muaj zoo li, home.html, about.hml, index.html … thiab lwm yam. tsuas muaj ib nplooj ntawv nkaus xwb rau tag nrho daim ntawv thov nws yog index.html thaum tus neeg siv hla mus rau lwm nplooj ntawv lossis lwm qhov muaj index.html tab tom ua nrog nrog cov nplooj ntawv uas txhais tau tias html thiab css saib ntawm qee nplooj ntawv. yog li peb daim ntawv thov tag nrho tsuas muaj ib nplooj.html nkaus xwb. Nov yog qhov peb hu ua SPA. Yog li cia peb tsim peb daim ntawv thov. qhib CMD hauv tib cov npe hauv qab no hais kom ua.
ng tsim khoom tiv thaiv tsev.
qhov no yuav tsim kom muaj cov ntawv ntawm koj lub vev xaib, tom qab ntawd koj yuav pom cov ntawv home.ts thiab home.html cov ntaub ntawv thiab home.css hauv home.html cov ntaub ntawv uas koj yuav txiav txim siab li cas koj cov nplooj ntawv hauv tsev thiab hauv tsev. css qhov twg koj yuav ntxiv koj cov style rau nplooj ntawv hauv tsev, thiab kawg home.ts cov ntaub ntawv uas koj yuav mus rau tus lej koj hom ntawv sau lossis javascript code los ua haujlwm nrog peb backend.
Kauj Ruam 3: Txhim Kho Bootstrap 4
Raws li peb tau tham hauv cov kauj ruam yav dhau los tam sim no peb tau nqis tes ua peb txoj haujlwm thiab tam sim no peb muaj lub tswv yim meej txog yuav ua li cas kaum sab xis ua haujlwm. tam sim no rau lub hom phiaj styling peb yuav siv bootstrap 4, txhawm rau nruab bootstrap rau peb cov haujlwm yam hauv qab no hais kom ua hauv txoj haujlwm.
npm nruab bootstrap@3
tam sim no koj tsis tas yuav txhawj xeeb yuav ua li cas peb tuaj yeem tsim peb lub vev xaib, bootstrap yuav ua qhov ntawd.
Kauj Ruam 4: Txheeb Txoj Kev
Hauv qhov project IOT peb tab tom yuav sau lub taub hau, lub hauv paus, qhov ntsuas kub, av noo, Co2 feem pua, cov av noo. yog li peb tab tom tsim 4 nplooj ntawv nplooj ntawv uas txhais tau tias nyob rau hauv kaum peb peb yuav tsim 4 ntu rau txhua qhov ntsuas no.
ntshuam angular router module hauv AppModule tivthaiv.
txhais cov kev hauv cov ntawv cais.
const txoj kev: Txoj kev = [{txoj kev: 'thawj-tivthaiv', tivthaiv: HomeComponent}, {txoj kev: 'thib ob tivthaiv', tivthaiv: HumiComponent},];
ntxiv cov kab no ntawm cov lej sab hauv cov cim ntshuam hauv AppMoodule.
@NgModule ({ntshuam: [RouterModule.forRoot (txoj hauv kev)], xa tawm: [RouterModule]})
Cia peb ntxiv bootstrap navigation bar code hauv peb cov ntawv header.html thiab txuas peb cov khoom,
Kauj ruam 5: Firebase
Firebase yog ib qho kev pabcuam txias tshaj plaws uas google tau muab rau lawv cov neeg siv. Yog li ib qho ntawm cov yam ntxwv uas peb tau siv rau txoj haujlwm no yog firebase lub sijhawm tiag tiag database thiab hosting. cia peb tsim tus account firebase thiab txuas peb txoj haujlwm rau firebase lub sijhawm tiag tiag database.
Kauj ruam 01: Nkag mus rau koj tus account gamil
kauj ruam 02: ntaus firebase console hauv koj qhov bar tshawb
kauj ruam 03: tam sim no koj ua tiav.
Kauj Ruam 6: Nruab Firebase hauv Angular
Txhawm rau ua haujlwm nrog firebase peb tau teeb tsa lossis suav nrog qhov kev pabcuam tsev qiv ntawv txuas rau firebase thiab cov ces kaum ua ke. mus rau koj txoj hauv kev txoj haujlwm thiab qhib CMD thiab ntaus hauv qab kab ntawv.
npm nruab firebase @angular/fire --save
Kauj Ruam 7: Txuas Peb Txoj Haujlwm Angular Nrog Firebase
tam sim no peb yuav tsum ntxiv peb txoj haujlwm rau hauv firebase. nias ntxiv lub cim icon ntawm koj tus account firebase, thiab muab lub npe project uas koj nyiam thiab txuas ntxiv ob lwm ntxiv kom txog thaum koj pom qhov zoo nkauj xiav dashboard ntawm koj tus account firebase, koj tuaj yeem pom tias sab laug sab peb tuaj yeem pom tag nrho cov npe ntawm firebase cov kev pabcuam, yog li peb tuaj yeem siv txhua qhov kev pabcuam no. tam sim no txhua yam npaj txhij mus. hauv koj lub console ntxiv ib qho app kom pib thiab nyem rau ntawm lub cim. kom tau txais txhua qhov kev teeb tsa cov ntsiab lus los txuas peb daim ntawv thov angular nrog tus lej firebase. Cov ntsiab lus no tshwj xeeb rau peb txoj haujlwm. tam sim no theej cov ntsiab lus thiab mus rau koj txoj haujlwm angular nrhiav ib puag ncig.ts ntxiv hauv qab cov cai thiab muab cov ntsiab lus ntawd tso rau hauv.
export const ib puag ncig = {
ntau lawm: muaj tseeb, firebase: {
koj cov ntsiab lus teeb tsa ntawm no …
}
};
thiab tseem ntxiv cov lej hauv qab no ntawm app.module.ts
ntshuam: [AngularFireModule.initializeApp (ib puag ncig.firebase),….],
Kauj Ruam 8: Txhim Kho NgxCharts Library hauv Koj Txoj Haujlwm Angular
Mus rau txoj hauv kev raws li peb tau ua hauv cov kauj ruam dhau los, ntaus hauv qab cov cai hauv koj li CMD.
npm i @swimlane/ngx-charts --save
NgxChart Official site mus rau ntawm lub xaib no thiab rub daim duab uas koj xav tau. Kuv nyiam nrog kab ntawv kab. mus rau qhov url no thiab rub cov cai thiab ntxiv rau hauv cov khoom sib xws.
Kauj Ruam 9: Tsim Cov Kev Pabcuam Hauv Chav Kawm thiab Lub Sijhawm Teev Npe
Mus rau qhov project nplaub tshev thiab qhib CMD thiab ntaus txoj hauv kev siv tau thiab nyiam lub npe npe rau kev pabcuam nrog rau cov lus tsim tawm. Ua ntej peb nkag mus rau cov cai Kuv xav qhia me ntsis tswv yim txog firebase lub sijhawm tiag tiag database. Nws tsis zoo li lwm cov qauv piv txwv txheeb ze database. Peb tsis tuaj yeem pom cov qauv hauv rooj hauv Qhov Kev Sib Txawv ntawm cov databases, Qhov no hu ua NOSQL database peb tuaj yeem pom cov ntawv sau lossis cov ntaub ntawv hauv paus cov qauv. Uas yog hu ua JSON, yog li yog peb xav khaws cov ntaub ntawv sab hauv hauv cov ntaub ntawv zoo li no peb yuav tsum hla cov ntawd zoo li JSON Cov Hom Phiaj. Hauv daim duab saum toj no koj tuaj yeem pom, Hauv peb qhov chaw khaws ntaub ntawv muaj ib lub node lossis ntug hu ua cov cuab yeej, thiab hauv qab ntawm qhov ntawd muaj lwm lub npe hu ua DeviceA thiab hauv qab ntawm lub node, koj tuaj yeem pom saum toj no txhua qhov ntsuas xws li cov av noo, kub..etc.. hauv qab Hum node koj tuaj yeem pom cov ntaub ntawv senor uas tau khaws tseg ib ntus.
async getData () {
qhov no.items = ;
rov cog lus tshiab ((daws teeb meem) => {
qhov no.database list (`/devices/$ {this.sessionService.get (" DeviceA ")}/$ {" Hum "}`).snapshotChanges (). subscribe (snapshot => {
snapshot.forEach (caij => {
yog (! element.key.startsWith ('current_hum')) {
this.items.push ({
name: moment (element.payload.val () ['date'], 'YYYY-M-DD hh: mm: ss'). format ('YYYY-MM-DD hh: mm'), tus nqi: element.payload.val () ['tus nqi']
});
}
});
daws (qhov no.items);
});
});
}
qhov no yog cov kev pabcuam hauv chav kawm txhawm rau nkag mus rau cov ntaub ntawv uas tau khaws cia hauv qab hum node hauv lub database, txhua yam koj yuav tsum tau ua yog hu rau chav kawm getData () ua haujlwm qhov twg koj xav sau koj daim ntawv.
async ngOnInit () {this.items = tos qhov no.humService.getData ();
qhov no.multi = [{
npe: '%', series: this.items
}];
}
Ntawm no sab hauv peb cov chav kawm ngOnInit txoj hauv kev peb tau hu rau peb cov kev pabcuam suav nrog ntau qhov array uas cov array uas peb yuav tsum dhau qhov txiaj ntsig rau daim duab.
Kauj ruam 10: Sau koj li Project
Mus rau koj cov phiaj xwm phiaj xwm thiab qhib CMD thiab ntaus ng server, Tom qab ntawd tag nrho Cov Cai Ntaus Cim yuav hloov mus rau hauv javascript. thiab ntaus qhov url uas CMD tab tom yuav qhia rau koj, rau qhov haujlwm saum toj no https:// localhost: 4200/tsev thiab koj tau ua tiav.
Pom zoo:
Qab Zib Ua Ntej Pom Kev Ua Liaj Ua Teb: 8 Kauj Ruam
Qab Zib Ua Ntej Ua Ntej Ua Ntej Ua Ntej: Qhov no yog kev ua liaj ua teb qab zib tsis siv neeg tag nrho. Nws yog qhov ua tau zoo heev
Kev Tau Txais Cov Ntaub Ntawv thiab Cov Ntaub Ntawv Pom Kev Pom Zoo rau MotoStudent Fais Fab Sib Tw Tsheb kauj vab: 23 Kauj Ruam
Kev Tshawb Nrhiav Cov Ntaub Ntawv thiab Cov Ntaub Ntawv Pom Zoo rau MotoStudent Hluav Taws Xob Sib Tw Tsheb: Cov ntaub ntawv khaws cov ntaub ntawv yog cov khoom siv khoos phis tawj thiab software ua haujlwm ua ke txhawm rau sau cov ntaub ntawv los ntawm cov ntsuas sab nraud, khaws thiab ua nws tom qab kom nws tuaj yeem pom cov duab thiab txheeb xyuas, tso cai rau cov kws tsim txuj ci los ua
Yuav Ua Li Cas Txuas Android Daim Ntawv Thov Nrog AWS IOT thiab Nkag Siab Lub Suab Pom Zoo API: 3 Cov Kauj Ruam
Yuav Ua Li Cas Txuas Android Daim Ntawv Thov Nrog AWS IOT thiab Nkag Siab Lub Suab Pom Pom API: Qhov kev qhia no qhia tus neeg siv yuav ua li cas txuas Android Daim Ntawv Thov rau AWS IOT server thiab nkag siab lub suab lees paub API uas tswj lub Tshuab Kas Fes. Kev Pabcuam Suab, txhua lub app c
KEV TSHAWB TSEV KAWM NTAWV HAUV TSEV KAWM NTAWV (Tswj koj cov ntawv thov los ntawm ib tus neeg thoob ntiaj teb): 5 Kauj Ruam
KEV HLOOV TSHIAB (tswj koj cov ntawv thov los ntawm ib lub koom haum thoob ntiaj teb): Hauv cov lus qhia no kuv tau qhia yuav ua li cas koj tuaj yeem siv ESP8266 los tswj cov cuab yeej AC xws li Teeb, kiv cua, thiab lwm yam los ntawm thoob plaws ntiaj teb hauv Is Taws Nem ntawm Blynk app yog tias koj yog tshiab rau ESP8266 nco ntsoov txheeb xyuas cov lus qhia no:-Pib Pib Nrog NodeM
Arduino Neeg Hlau Nrog Kev Nyob, Kev Qhia thiab Qib Kev Sib Hloov (Sab Hnub Poob, Sab Hnub Poob, Sab Qaum Teb, Sab Qab Teb) Tswj los ntawm Lub Suab Siv Bluetooth Module thiab Kev Siv Tus Neeg Siv Hluav Taws Xob: 6 Kauj Ruam
Arduino Neeg Hlau Nrog Kev Nyob, Kev Qhia thiab Qib Kev Sib Hloov (Sab Hnub Poob, Sab Hnub Poob, Sab Qaum Teb, Sab Qab Teb) Tswj los ntawm Lub Suab Siv Bluetooth Module thiab Kev Siv Tus Neeg Siv Hluav Taws Xob: Cov lus qhia no piav qhia yuav ua li cas thiaj tsim tau Arduino Robot uas tuaj yeem txav mus raws qhov xav tau (Forward, Backward) , Sab laug, Txoj Cai, Sab Hnub Poob, Sab Hnub Poob, Sab Qaum Teb, Sab Qab Teb) xav tau Kev nrug deb hauv Centimeters siv lub suab hais kom ua. Neeg hlau kuj tseem tuaj yeem txav tau tus kheej