Sisukord:
- Samm: mida vajate
- Samm: Bluetooth -mooduli ettevalmistamine
- 3. samm: osade paigaldamine
- 4. samm: sidumine
- Samm 5: Tarkvara
- 6. samm: testige
Video: Naatriumtolmuandur Androidis: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Aasta tagasi oli mu sõbral nädalavahetusel keskkonnaseire teemaline töötuba. Töötoa eesmärk oli ehitada vaarikaplaadiga ühendatud tolmuandur, et panna mõõtmisandmed mõnele serverile, mis pakkus sageli uuendatavaid tolmukontsentratsiooni kaarte. Mu sõber küsis, kas on võimalik saada anduri andmed otse nutitelefoni jälgimiseks ja logimiseks. Nii ma otsisin Internetist andmelehte ja nägin, et anduril oli lihtne UART -liides 9600Baud 8N1 protokolliga. Aga kuidas ühendada UART nutitelefoniga? Noh, see on lihtne. Ma pidin lihtsalt kasutama ühte neist kõikjal levivatest väikestest Bluetooth -moodulitest, mis pakuvad androidis emuleeritud ühilduvust. Vaadake nüüd, kuidas mul see õnnestus.
Samm: mida vajate
Te vajate järgmisi osi
- Ühendusliides JST XH 7-kontaktiline juhtmetega Sodial liidese jaoks. Ostsin Ebayst oma.
- Bluetooth -moodul HC05 või 06, mis ühildub UART -pistikuga
- USB-jadamuundur TTL taseme liidesega. Me kasutame seda, et anda BT-moodulile ainulaadne nimi
- Sodial SDS011 tolmuandur. Mina sain Ebayst oma
- tükk veriplaati
- USB-B pistik
- traat
- Tükk puitu, millele kõik paigaldada
Siis vajate lihtsaid tööriistu:
- Tagasaag puidu lõikamiseks
- pintsetid
- jootekolb ja joodis
- traadi lõikur
- Kuum liimipüstol
- Tükk 8 mm räniümbrist (pole pildil)
Sodial SDS011 andmelehe saate alla laadida siit Sodial SDS011 andmelehe
Samm: Bluetooth -mooduli ettevalmistamine
BT-moodulil on UART-liides TTL-tasemega. Seda saab ümber konfigureerida AT -käskudega, nagu tegime Interneti -modemitega iidsetel aegadel. Selle ühendamiseks oma arvuti terminaliprogrammiga peate kohandama UART arvutiga. Kasutasin Amazonist ostetud USB-RS232 muundurit. Ma rakendasin BT-mooduli pistiku ja suunasin 3, 3 V toiteallika ja GND muundurilt BT-moodulile. Seejärel ühendasin ristumisel vastavad TxD ja RxD liinid. TxD USB-muundurist RxD-le BT-moodulist ja vastupidi.
Mul on Linuxi masin ja kasutasin cutecomi. Pärast USB-muunduri ühendamist oli port "ttyUSB0". Komportide nimed leiate oma Linuxi masina kataloogist "/dev". Windowsi kasutajatele soovitaksin "hterm". Seda on lihtne kasutada. Sisestage "AT" ja vastuseks peaksite saama "AT". Seejärel tippige "AT+NameSensor", et anda BT-moodulile nimi "Sensor"
3. samm: osade paigaldamine
Lõika puutükk sellise suurusega, mis sobib kõigi osade võtmiseks. Ühendage kõik signaalid vastavalt skeemile. Nende kaitsmiseks on hea panna juhtmete ümber räniümbris. Jootke USB-B pistik perfboardil. Seda kasutatakse ainult toiteallika jaoks. Kinnitage kõik osad kruvidega puidust alusele. Lõpuks liimige kaablid kuumalt, et need puidule kinnitada.
4. samm: sidumine
Lülitage andurirakendus sisse, ühendades USB-toiteallika. BT-mooduli punane LED hakkab vilkuma. Ärge proovige seda siduda oma Android -nutitelefoniga. Peate sisestama PIN -koodi. See on "1234". Pärast koodi sisestamist tuleb nutitelefon siduda BT-mooduliga.
Samm 5: Tarkvara
Mulle meeldib kirjutada Androidi rakendusi sihtplatvormile endale. see säästab teid kõigist emuleerivatest asjadest, millest peate hoolitsema, kui töötate Android Studioga. Leidsin Androidist kolm sobivat arendustööriista
- Mintoris Basic. Põhitõlk, millel on rikkalik käskude komplekt, et peaaegu kõike Androidis ringi vaadata. Saate oma rakendustele otseteid luua. Mintoris basic ei sisalda kompilaatorit. Nii et teil peab olema Mintoris installitud igasse seadmesse, mida kasutate. Kuid selle eest peate maksma ainult ühe korra (umbes 7 €)
- Põhiline! Äärmiselt hea Basic tõlk ja kompilaator (lisandmoodul mõne euro eest). Peaaegu haakub Androidis kõigega ja saate nende levitamiseks koostada tõelisi rakendusi ilma Basicu omamata! sihtseadmes. Kahjuks elementaarne! puuduvad Mintorise suurepärased diagrammifunktsioonid
- AIDE on poolprofessionaalne IDE Androidi arendamiseks javas Androidis. AIDE abil on teil ülim paindlikkus, kuid peate õppima java. AIDE aastased kulud on umbes 50 eurot
Valisin Mintoris. Selles osas ei anna ma teile Mintoris programmeerimise õpetust, vaid funktsioonide plokkide lühikirjeldust
Järgmises osas esitatakse kahe anduri andmeliini ja vastavate ajatemplite jaoks kolm massiivi. Ajatempli andmeid kasutatakse diagrammi x-telje märgistamiseks. Sodial väljastab kaks andmevoogu, millest igaüks on määratud konkreetse osakese suuruse jaoks. Kaks tolmuandmete massiivi võtavad need väärtused.
WakeLock osaline
TextColor 100, 75, 10
TextColorA 50, 50, 50
TextAlign 0
Tekstisuurus 24
CLS
Hüpikaken "Tolmuandur (c) ARJ 2017"
Global dustData (), dustDataF (), timeStamp () Globaalne indeks, valik, maxData, fileName $
Aja hämaruse aeg (59)
Andmed (59)
Dim tolm Andmed (59)
Dim Menüü $ (4) = "max 100 andmekogumit", "max 1000 andmekogumit", "max 5000 andmekogumit", "max 10000 andmekogumit", "Välju"
'Alustage massiive
I = 0 kuni 59
tolmuandmed (i) = 0
tolmuandmedF (i) = 0
ajatempel (i) = i
Edasi i
Järgmisena konfigureeritakse loendimenüü. See annab kasutajale võimaluse valida kogutavate andmete maksimaalne suurus. See on lihtsalt turvalüliti, mis hoiab ära nutitelefoni lõputute andmete imemise. Funktsioonid BTgetPairs $ () annab tagasi loendi kõigi Android-seadmega seotud seadmete, nende nimede ja BT-aadresside kohta.
Menüü $ (), valik
'Valige salvestatavate andmete jaoks maksimaalne kogus
runLevel = 1
Valige valik
Juhtum 0 maxData = 100
Juhtum 1 maxDate = 1000
Juhtum 2 maxData = 5000
Juhtum 3 maxData = 10000
Juhtum 4 maxData = 0
Lõpp Vali
'' Ühendage andur
hämar paar $ (0)
paar $ () = BTGetPairs $ ()
Kui paar $ (0) = "none" Siis
Prindi "Seotud seadmeid ei leitud. Kas BT on sisse lülitatud?" Trükk "Programm lõpetatud"
Lõpp
Endif
Loendipaar $ (), seade $
nimi $ = ItemExtract $ (seade $, 0)
aadress $ = ItemExtract $ (seade $, 1)
BTConnect 1, aadress $
'Oota ühendust
Edenemine SEES
Prindi "Proovin ühendust luua"; aadress $
I = 1 kuni 20
Edusammud i/2
Kui BTGetstate (1) = 4, siis väljuge oodake 1000
Edasi i
Edenemine VÄLJAS
'Edu korral looge ühendus BT -seadmega
Kui BTGetState (1) = 4, siis printige "Ühendatud", muidu printige "Ei saanud ühendust luua"; nimi $
Trükk "Programm lõpetatud"
Lõpp
Endif
Järgmine plokk näitab andmete kogumist. Iga andmeseansi jaoks avatakse fail automaatselt ja antakse nime kellaaja ja kuupäeva järgi. Seejärel loeb tsükkel anduri andmeid. Andmed on pakitud mitmesse baiti. Baitide komplekti identifitseerivad kaks ASCII märki 170 ja 171. Järgmised andmed korraldatakse ümber ja täidetakse tolmumassiividesse
Graafika sees
'Avage kirjutamiseks andmefail
fileName $ = FormatTime $ (t, "yyyy-MM-dd-kk-mm-ss") + ".dat"
Ava 1, fileName $, "w+" Prindi "Avatud andmefail"; fileName $ Writeln 1, FormatTime $ (Time (), "yy-MM-dd")
Writeln 1, "Time Dust2.5 Dust10"
'Täitke massiiv mõõdetud andmetega
andmed $ = "" pakett $ = ""
indeks = 0
Kas ajal maxData> 0
BTRead 1, pakett $, 10
andmed $ = andmed $+pakett $
Kui Len (andmed $)> = 10 Siis
Kui (ASCII (vasak $ (andmed $, 1)) = 170) & (ASCII (parem $ (andmed $, 1))) = 171) siis
dustDataF (indeks) = ASCII (keskmine $ (andmed $, 2, 1))
dustDataF (indeks) = (dustDataF (indeks)+256*ASCII (keskmine $ (andmed $, 3, 1)))/10
dustData (indeks) = ASCII (keskmine $ (andmed $, 4, 1))
dustData (indeks) = (dustData (indeks)+256*ASCII ($ $ (andmed $, 5, 1)))/10
Writeln 1, FormatTime $ (Time (), "kk: mm: ss") + "" + Str $ (dustDataF (index)) + "" + Str $ (dustData (index))
andmed $ = ""
maxData = maxData-1
indeks = indeks+1
Kui indeks> 59, siis indeks = 0
dustData (indeks) = 0
dustDataF (indeks) = 0
Endif
Endif
DrawGraph ()
Oota 100
Loop
Sule 1
Graafika välja
CLS -print "Programm lõpetatud"
Lõpp
Viimane osa on alamprogramm, mis kutsutakse välja pärast iga andmete vastuvõtmist. See tühjendab ekraani, joonistab diagrammi uuesti koos tolmu- ja ajatempli massiividesse salvestatud andmetega.
„Joonistage koordinaadid, sildid, linnukesed ja ka andmekõverad
Alamjoonistusgraafik ()
'Graafikarežiimis muutub ekraan praeguseks
Värv 0, 0, 0
CLS
Värv 0, 0, 100
'Määrake ruudustiku joonistamiseks kasutatav graafika värv
TextColor 100, 100, 100, 50
„TextColor on ruudustiku pealkirja värv
Tekstivärv: 100, 100, 100
„TextColorA -d kasutatakse telgede pealkirjade ja ruudustiku märkuste jaoks.
'Määrake telje pealkirja teksti suurus
„Võrgu pealkiri on 2x suurem
Tekstisuurus 20
FixDecimal 0
'Seadistage kuvama kaks kohta pärast koma
PadDigits 2
'Joonista graafikule ruudustik' Määra X & Y vahemik ja pealkiri
Telg Telg X 0, 59, "Aeg/s"
Telg Y 0, 10000, "ug/m3"
Võrk 3, "Tolmu kontsentratsioon"
'Joonista tolmugraafikud
Värv 100, 0, 0
GraphXY timeStamp (), dustDataF ()
Värv 0, 100, 0
GraphXY timeStamp (), dustData ()
TextColor 100, 0, 0
DrawText "PM2.5", 30, Int (ScreenY ()-60), 90, 1
Tekstivärv 0, 100, 0
DrawText "PM10", 30, Int (ScreenY ()-150), 90, 1
TextColor 100, 100, 100, 50
Tagasi
Laadige lähtekood alla siit
6. samm: testige
Lülitage andur sisse ja käivitage rakendus. Seotud seadmete loendist valige seade nimega "Andur". Pärast anduri ühendamist kuvatakse ekraanil andmeid. Samal ajal eraldatakse andmefail. Pärast moe lõpetamist saate andmete kuvamiseks kasutada GnuPloti. Kasutage GnuPloti faili "Test.gp", et konfigureerida GnuPlot andmefaili nimega "Test.dat" kuvamiseks. Selle leiate ka siit
Lisateavet ja testimist leiate videost. Palju nalja ja rohkem ideid!
Soovitan:
Kaasaskantav funktsioonigeneraator WiFi ja Androidis: 10 sammu
Kaasaskantav funktsioonigeneraator WiFi -s ja Androidis: 20. sajandi lõpus ilmusid mitmesugused tehnoloogilised uuendused, eriti side valdkonnas; aga mitte ainult. Meie jaoks tulid kasutajad, tarbijad ja insenerid esile elektrooniliste seadmete kiiret arengut, mis võivad muuta meie elu
Reaalajas graafiku joonistamine Androidis Arduino kaudu HC-05: 3 sammu
Reaalajas graafiku joonistamine Androidis Arduino kaudu HC-05: Hei, siin on õpetus, kuidas reaalajas graafikut väärtuste graafikust mikrokontrollerilt, näiteks Arduino, rakendusele joonistada. See kasutab Bluetooth-moodulit, näiteks HC-05, et toimida sõnumsidevahendina andmete edastamiseks ja vastuvõtmiseks Ar
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Kuidas peatada Facebooki videote automaatne esitamine Androidis !!: 10 sammu
Kuidas peatada Facebooki Androidi videote automaatse esitamise eest !!: See juhend annab teile teada, kuidas peatada Facebooki Androidi seadmetes nii andmete kui ka wifi videote automaatne esitamine. Palun tellige minu kanalTänan
Como Hacer ja Guante Con Sensores Flex Y Conexión Androidis: 9 sammu
Como Hacer Un Guante Con Sensores Flex Y Conexión Androidi jaoks: El objetivo de este proyecto es crear and system de entrada para dispositivos m ó viles, que est á selle õpetuse inglise keeles vaatamiseks klõpsake siin: ht