Përmbajtje:
- Hapi 1: Ajo që ju nevojitet
- Hapi 2: Përgatitja e modulit Bluetooth
- Hapi 3: Montimi i pjesëve
- Hapi 4: Çiftimi
- Hapi 5: Softueri
- Hapi 6: Testoni
Video: Sensori i Pluhurit Sodial në Android: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:24
Një vit më parë një miku im kishte një punëtori gjatë fundjavës për monitorimin e mjedisit. Qëllimi i punëtorisë ishte të ndërtonte një sensor pluhuri të lidhur me një bord të mjedrës pi për të vendosur të dhëna matëse në disa serverë që siguronin harta të përqendrimit të pluhurit të përditësuara shpesh. Miku im pyeti nëse ka një mënyrë për të marrë të dhënat e sensorit direkt në smartphone -in e tij për monitorim dhe regjistrim. Kështu që unë gërmova internetin për një fletë të të dhënave dhe pashë që sensori kishte një ndërfaqe të thjeshtë UART me protokollin 9600Baud 8N1. Por si të lidhni një UART me një smartphone? Epo, është e lehtë. Thjesht më duhej të përdorja një nga ato module të kudogjendura të vogla Bluetooth që ofrojnë një komplet të emuluar në android. Tani shikoni se si e arrita.
Hapi 1: Ajo që ju nevojitet
Keni nevojë për pjesët e mëposhtme
- Një lidhës çiftëzimi JST XH 7-pin për ndërfaqen Sodial me tela. Bleva timen në Ebay.
- Një modul Bluetooth HC05 ose 06 i pajtueshëm me lidhësin UART
- Një konvertues serik USB me ndërfaqe të nivelit TTL. Ne e përdorim këtë për t'i dhënë modulit BT një emër unik
- Sensori pluhur sodial SDS011. Unë e mora nga Ebay
- një copë veroboard
- Lidhës USB-B
- tela
- Një copë druri për të montuar gjithçka
Atëherë do t'ju duhet disa mjete të thjeshta:
- Një sharrë metalike për prerjen e drurit
- piskatore
- lidhës hekuri dhe lidhës
- prerës teli
- Armë me zam të nxehtë
- Një copë mëngë silikoni 8 mm (jo në foto)
Ju mund të shkarkoni fletën e të dhënave Sodial SDS011 këtu Fletën e të dhënave Sodial SDS011
Hapi 2: Përgatitja e modulit Bluetooth
Moduli BT ka një ndërfaqe UART me nivelin TTL. Mund të rikonfigurohet me komandat "AT" siç bëmë me modemët e internetit në kohët e lashta. Për ta lidhur atë me një program terminal në kompjuterin tuaj, duhet të përshtatni UART me kompjuterin tuaj. Kam përdorur një konvertues USB-RS232 që bleva në amazon. Unë aplikova një lidhës për modulin BT dhe drejtova furnizimin me energji elektrike 3, 3V dhe GND nga konvertuesi në modulin BT. Pastaj lidha linjat përkatëse TxD dhe RxD në kryqëzim. TxD nga konvertuesi USB në RxD nga moduli BT dhe anasjelltas.
Unë kam një makinë linux dhe përdor cutecom. Pas lidhjes së konvertuesit USB, komporti ishte "ttyUSB0". Ju mund t'i gjeni emrat e komportit në drejtorinë "/dev" në makinën tuaj linux. Për përdoruesit e Windows unë do të rekomandoja "hterm". Easyshtë e lehtë për të vepruar. Shkruani "AT" dhe ju duhet të merrni "AT" si përgjigje. Pastaj shtypni "AT+NameSensor" për t'i dhënë modulit BT emrin "Sensor"
Hapi 3: Montimi i pjesëve
Pritini një copë druri në një madhësi të përshtatshme për marrjen e të gjitha pjesëve. Lidhni të gjitha sinjalet siç tregohet në skemë. Ideashtë një ide e mirë të vendosni një mëngë silikoni rreth telave për t'i mbrojtur ato. Ngjiteni prizën USB-B në tabelën e shpinës. Përdoret vetëm për furnizimin me energji elektrike. Fiksoni të gjitha pjesët me vida në bazën prej druri. Më në fund ngjitni nxehtësisht kabllot për t'i fiksuar ato në dru.
Hapi 4: Çiftimi
Fikni aplikacionin e sensorit duke lidhur një furnizim me energji USB. Një LED i kuq në modulin BT do të fillojë të pulsojë. Asnjëherë mos u përpiqni ta çiftoni me smartphone tuaj android. Duhet të futni një kod pin. Kjo është "1234". Pasi të keni futur kodin, smartphone juaj duhet të çiftohet me modulin BT.
Hapi 5: Softueri
Më pëlqen të shkruaj aplikacione Android në vetë platformën e synuar. ju kursen nga të gjitha gjërat imituese për të cilat duhet të kujdeseni nëse punoni me Android Studio. Kam gjetur tre mjete të përshtatshme zhvillimi në vetë Android
- Mintoris Basic. Një përkthyes bazë me një sërë komandash të pasura për të ngatërruar me pothuajse gjithçka në android. Mund të krijoni shkurtore për aplikacionet tuaja. Mintoris bazë nuk përmban një përpilues. Pra, duhet të keni instaluar Mintoris në çdo pajisje që përdorni. Por ju duhet të paguani për të vetëm një herë (rreth 7 €)
- Themelore! Përkthyes dhe përpilues jashtëzakonisht i mirë bazë (shtesë për disa €). Pothuajse lidhet me gjithçka në android dhe mund të përpiloni aplikacione të vërteta për t'i shpërndarë ato pa pasur Basic! në pajisjen e synuar. Mjerisht Themelore! i mungojnë funksionet e shkëlqyera të grafikut të diagramit të Mintoris
- AIDE është një IDE gjysmë profesionale për zhvillimin e android në java në android. Me AIDE ju keni fleksibilitetin më të madh, por ju duhet të mësoni java. AIDE ka kosto vjetore prej rreth 50 €
Zgjodha Mintoris. Në këtë pjesë nuk do t'ju jap një tutorial të programimit në Mintoris, por një përshkrim të shkurtër të blloqeve të funksioneve
Në pjesën vijuese, tre vargje deklarohen për dy linjat e të dhënave të sensorit dhe afatet kohore përkatëse. Të dhënat kohore përdoren për etiketimin e boshtit x të diagramës. Sodial nxjerr dy rryma të dhënash secila të specifikuara për një madhësi të veçantë të grimcave. Dy vargjet e të dhënave të të dhënave marrin këto vlera.
WakeLock i pjesshëm
Ngjyra e tekstit 100, 75, 10
TextColorA 50, 50, 50
TextAlign 0
Madhësia e tekstit 24
CLS
Dritarja "Matësi i sensorit të pluhurit (c) ARJ 2017"
Pluhuri global Data (), dustDataF (), timeStamp () Indeksi global, zgjedhja, maksData, emri i skedarit $
Koha e zbehur Pulla (59)
Pluhur i zbehtë Të dhëna (59)
Pluhur i zbehtëDataF (59)
Menuja e zbehtë $ (4) = "max. 100 grupe të të dhënave", "max. 1000 grupe të të dhënave", "max. 5000 grupe të të dhënave", "max. 10000 grupe të dhënash", "Exit"
'Filloni vargjet
Për i = 0 deri në 59
pluhurData (i) = 0
dustDataF (i) = 0
vula kohore (i) = i
Tjetra i
Tjetra një menu List është konfiguruar. Kjo i jep përdoruesit një zgjedhje për të zgjedhur madhësinë maksimale të të dhënave për të mbledhur. Ky është vetëm një çelës sigurie për të parandaluar që smartphone të thithë të dhëna të pafundme. Funksionet BTgetPaired $ () kthen një listë me të gjitha pajisjet e çiftuara në pajisjen android, emrat e tyre dhe adresën BT.
L ist Menu $ (), e zgjedhur
'Zgjidhni shumën maksimale nëse të dhënat do të ruhen
runLevel = 1
Zgjidhni zgjedhjen
Rasti 0 maxData = 100
Rasti 1 maxData = 1000
Rasti 2 maxData = 5000
Rasti 3 maxData = 10000
Rasti 4 maxData = 0
Zgjedhja e Fundit
'' Lidh sensorin
palë e zbehtë $ (0)
palë $ () = BTGetPaired $ ()
Nëse palë $ (0) = "asnjë" Atëherë
Shtyp "Nuk u gjetën pajisje të çiftuara. A është BT i ndezur?" Shtyp "Programi përfundoi"
Fund
Endif
Listoni palën $ (), pajisjen $
emri $ = ItemExtract $ (pajisja $, 0)
adresa $ = ItemExtract $ (pajisja $, 1)
BTConnect 1, adresa $
'Prisni lidhjen
Progresi ON
Shtypni "Duke u përpjekur të lidheni me"; adresa $
Për i = 1 deri në 20
Përparimi i/2
Nëse BTGetstate (1) = 4 Pastaj dilni për Prisni 1000
Tjetra i
Progresi OFF
'Me sukses lidheni me pajisjen BT
Nëse BTGetState (1) = 4 Pastaj Shtypni "Lidhur" Tjetër Shtyp "Nuk mund të lidhet me"; emri $
Shtyp "Programi përfundoi"
Fund
Endif
Blloku tjetër tregon marrjen e të dhënave. Për secilën sesion të të dhënave një skedar hapet automatikisht dhe emërohet sipas kohës dhe datës. Pastaj lak po lexon të dhënat e sensorit. Të dhënat paketohen në disa byte. Një grup bajtësh identifikohet nga dy karaktere ASCII 170 dhe 171. Të dhënat e mëposhtme riorganizohen dhe mbushen në grupimet e pluhurit
Grafika Aktive
'Hapni skedarin e të dhënave për të shkruar
emri i skedarit $ = FormatTime $ (t, "yyyy-MM-dd-kk-mm-ss") + ".dat"
Hap 1, fileName $, "w+" Print "Datafile e hapur"; fileName $ Writeln 1, FormatTime $ (Time (), "yy-MM-dd")
Writeln 1, "Pluhuri i kohës 2.5 pluhuri10"
'Plotësoni grupin me të dhënat e matura
të dhëna $ = "" pako $ = ""
indeksi = 0
Bëni ndërsa maxData> 0
BTRead 1, pako $, 10
të dhëna $ = të dhëna $+pako $
Nëse Len (të dhëna $)> = 10 Atëherë
Nëse (ASCII (Majtas $ (të dhëna $, 1)) = 170) & (ASCII (Djathtas $ (të dhëna $, 1)) = 171) Atëherë
dustDataF (indeksi) = ASCII (Mes $ (të dhëna $, 2, 1))
dustDataF (indeksi) = (dustDataF (indeksi)+256*ASCII (Mes $ (të dhëna $, 3, 1)))/10
dustData (indeksi) = ASCII (Mes $ (të dhëna $, 4, 1))
dustData (indeksi) = (dustData (indeksi)+256*ASCII (Mes $ (të dhëna $, 5, 1)))/10
Writeln 1, FormatTime $ (Koha (), "kk: mm: ss") + "" + Str $ (dustDataF (indeksi)) + "" + Str $ (dustData (indeksi))
të dhëna $ = ""
maxData = maxData-1
indeks = indeks+1
Nëse indeksi> 59 Pastaj indeksi = 0
pluhurData (indeksi) = 0
dustDataF (indeksi) = 0
Endif
Endif
DrawGraph ()
Prisni 100
Lak
Mbylle 1
Grafika joaktive
CLS Print "Programi përfundoi"
Fund
Pjesa e fundit është një nëngrup që thirret pas çdo marrjeje të të dhënave. Pastron ekranin, rishikon diagramin me të dhënat aktuale të ruajtura në vargjet e pluhurit dhe kohëzgjatjes.
'Vizatoni koordinatat, etiketat, rriqrat dhe gjithashtu kthesat e të dhënave
Nën DrawGraph ()
'Në modalitetin Grafik, ekrani pastrohet në ngjyrën aktuale
Ngjyra 0, 0, 0
CLS
Ngjyra 0, 0, 100
'Vendosni ngjyrën grafike që do të përdoret për të vizatuar linjat e rrjetit
TextColor 100, 100, 100, 50
'TextColor është ngjyra e titullit kryesor të rrjetit
TextColorA 100, 100, 100
'TextColorA përdoret për titujt e Boshtit dhe shënimet e rrjetit.
'Vendosni madhësinë e tekstit të titullit të boshtit
'Titulli kryesor i rrjetit është 2 herë në këtë madhësi
Madhësia e tekstit 20
FixDecimal 0
'Vendos që të shfaqen 2 vende dhjetore
PadDigits 2
'Vizatoni një rrjet për grafikun' Vendosni diapazonin dhe titullin e X & Y
Aksi AxisX 0, 59, "Koha/s"
AksiY 0, 10000, "ug/m3"
Rrjeti 3, "Përqendrimi i pluhurit"
'Vizatoni grafikë pluhuri
Ngjyra 100, 0, 0
GraphXY timeStamp (), dustDataF ()
Ngjyra 0, 100, 0
GraphXY timeStamp (), dustData ()
TextColor 100, 0, 0
DrawText "PM2.5", 30, Int (ScreenY ()-60), 90, 1
TextColor 0, 100, 0
DrawText "PM10", 30, Int (ScreenY ()-150), 90, 1
TextColor 100, 100, 100, 50
Kthehu
Shkarkoni kodin burimor këtu
Hapi 6: Testoni
Ndizni sensorin dhe filloni aplikacionin. Nga lista e pajisjeve të çiftuara zgjidhni atë të quajtur "Sensor". Pas lidhjes së sensorit, ekrani do të fillojë të shfaqë të dhënat. Njëkohësisht shpërndahet skedari i të dhënave. Pas përfundimit të modës, mund të përdorni GnuPlot për të shfaqur të dhënat. Përdorni skedarin "Test.gp" në GnuPlot për të konfiguruar GnuPlot për shfaqjen e një skedari të dhënash të quajtur "Test.dat". Mund ta gjeni edhe këtu
Shikoni videon për më shumë detaje dhe testime. Keni shumë argëtim dhe më shumë ide!
Recommended:
Ruflerja e pluhurit (Sumo Bot): 4 hapa
Dust Ruffler (Sumo Bot): Mjetet dhe lista e materialeve Mjetet dhe materialet e përdorura për të ndërtuar Dust Ruffler janë shumë të drejtpërdrejta dhe të lehta për tu blerë. Elektronikë: Paketa e baterisë, servotat e rrotullimit të vazhdueshëm me rrotullim të lartë (x3), marrësi dhe telekomanda. Fletë 3x2 'e bërthamës së shkumës x-a
Studimi i pluhurit Arduino: 8 hapa
Studimi i pluhurit Arduino: Si do të ishte të jetosh në Mars? A thith ajri? A eshte e sigurt? Sa pluhur ka? Sa të shpeshta janë stuhitë? A keni menduar ndonjëherë përgjigjen e ndonjë prej këtyre pyetjeve?
Stacioni i monitorimit të grimcave të pluhurit me Arduino: 4 hapa (me fotografi)
Stacioni i monitorimit të grimcave të pluhurit të Arduino: Ju mund të krijoni me lehtësi një pajisje DIY të gjërave që monitoron ndotjen e pluhurit në shtëpinë tuaj për më pak se 50 dollarë dhe njoftohuni kur niveli i pluhurit bëhet shumë i lartë kështu që ju mund të ajrosni dhomën, ose mund të vendosni atë jashtë dhe njoftohuni nëse është
Nokia 6280 Largimi i kapakut të ekranit për pastrimin e pluhurit: 7 hapa
Nokia 6280 Heqja e Mbulesës së Ekranit për Pastrimin e Pluhurit: Ndryshe nga shumë modele të tjera, Nokia 6280 nuk duket se është bërë në mënyrë që përdoruesit të mund ta heqin mbulesën e ekranit vetë. Kjo i bezdis ata që marrin pluhur midis LCD -it aktual dhe kapakut të ekranit, i cili ka shumë pronarë … Në fakt, me kalimin e kohës, është
Rregullimi i pluhurit të ekranit Samsung I600/Blackjack: 4 hapa
Samsung I600/Blackjack Screen Dust Fix: Përshëndetje të gjithëve, nëse ju (si unë) keni një Samsung SGH -i600 (ose shkop polici në Amerikë) dhe keni vënë re pluhur që hyn në njësi dhe grumbullohet në këndin e sipërm të majtë të ekranit - mendoj Unë kam një rregullim për ju. Para imazhit me leje dashamirëse nga Trejsi