Sisällysluettelo:
- Vaihe 1: Mitä tarvitset
- Vaihe 2: Bluetooth -moduulin valmistelu
- Vaihe 3: Osien asennus
- Vaihe 4: Pariliitos
- Vaihe 5: Ohjelmisto
- Vaihe 6: Testaa
Video: Sodial Pölyanturi Androidissa: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Vuosi sitten ystäväni piti viikonloppuna työpajan ympäristön seurannasta. Työpajan tavoitteena oli rakentaa vadelmapi -levylle kytketty pölyanturi mittaustietojen sijoittamiseksi palvelimelle, joka tarjosi usein päivitettäviä pölypitoisuuskarttoja. Ystäväni kysyi, onko mahdollista saada anturitiedot suoraan älypuhelimeesi seurantaa ja kirjaamista varten. Joten kaivoin Internetistä tietolomakkeen ja näin, että anturilla oli yksinkertainen UART -liitäntä 9600Baud 8N1 -protokollalla. Mutta miten yhdistää UART älypuhelimeen? No se on helppoa. Minun oli vain käytettävä yhtä niistä kaikkialla olevista pienistä Bluetooth -moduuleista, jotka tarjoavat emuloidun yhteensopivuuden Androidissa. Saa nyt nähdä miten onnistuin.
Vaihe 1: Mitä tarvitset
Tarvitset seuraavat osat
- Liitosliitin JST XH 7-napainen Sodial-liitäntään, jossa on johdot. Ostin omani Ebaysta.
- Bluetooth -moduuli HC05 tai 06, joka on yhteensopiva UART -liittimen kanssa
- USB-sarjamuunnin TTL-tason liitännällä. Käytämme tätä antaaksemme BT-moduulille ainutlaatuisen nimen
- Sodial SDS011 pölyanturi. Sain omani Ebaysta
- pala veroboardia
- USB-B-liitin
- lanka
- Puupala kaiken kiinnittämiseen
Sitten tarvitset joitain yksinkertaisia työkaluja:
- Saha puun leikkaamiseen
- pinsetit
- juotosrauta ja juote
- langanleikkuri
- Kuuma liimapistooli
- Pala 8 mm: n piiholkkia (ei kuvassa)
Voit ladata Sodial SDS011 -esitteen täältä Sodial SDS011 -esite
Vaihe 2: Bluetooth -moduulin valmistelu
BT-moduulissa on UART-liitäntä, jossa on TTL-taso. Se voidaan konfiguroida uudelleen AT -komennoilla, kuten teimme Internet -modeemeilla muinaisina aikoina. Jos haluat liittää sen koneesi pääteohjelmaan, sinun on sovitettava UART tietokoneeseesi. Käytin Amazonista ostamaani USB-RS232-muunninta. Laitoin liittimen BT-moduuliin ja reititin 3, 3 V: n virtalähteen ja GND: n muuntimesta BT-moduuliin. Sitten liitin vastaavat TxD- ja RxD -linjat crossoveriin. TxD USB-muuntimesta RxD: ksi BT-moduulista ja päinvastoin.
Minulla on linux -kone ja käytin cutecomia. USB-muuntimen liittämisen jälkeen portti oli "ttyUSB0". Comport -nimet löytyvät Linux -koneesi "/dev" -hakemistosta. Windows -käyttäjille suosittelen "hterm". Se on helppo käyttää. Kirjoita "AT" ja saat "AT" vastauksena. Kirjoita sitten "AT+NameSensor" antaaksesi BT-moduulille nimen "Sensor"
Vaihe 3: Osien asennus
Leikkaa puukappale, jonka koko sopii kaikkien osien ottamiseen. Liitä kaikki signaalit kaavion mukaisesti. Johtojen ympärille on hyvä laittaa piiholkki niiden suojaamiseksi. Juotos USB-B-liitin perfboardiin. Sitä käytetään vain virtalähteenä. Kiinnitä kaikki osat puupohjaan ruuveilla. Lopuksi kuumaliimaa kaapelit kiinnittääksesi ne puuhun.
Vaihe 4: Pariliitos
Käynnistä anturisovellus kytkemällä USB-virtalähde. BT-moduulin punainen LED alkaa vilkkua. Älä yritä yhdistää sitä Android -älypuhelimeesi. Sinun on annettava PIN -koodi. Tämä on "1234". Koodin syöttämisen jälkeen älypuhelimesi on yhdistettävä BT-moduulin kanssa.
Vaihe 5: Ohjelmisto
Tykkään kirjoittaa Android -sovelluksia itse kohdealustalle. se säästää sinut kaikilta emulointitavaroilta, joista sinun on huolehdittava, jos käytät Android Studiota. Löysin kolme sopivaa kehitystyökalua Androidissa
- Mintoris Basic. Perustulkki, jossa on runsaasti komentoja, joiden avulla voit käsitellä lähes kaikkea Androidissa. Voit luoda pikakuvakkeita sovelluksillesi. Mintoris basic ei sisällä kääntäjää. Joten sinun on oltava asennettuna Mintoris jokaiseen käyttämääsi laitteeseen. Mutta sinun on maksettava se vain kerran (noin 7 €)
- Perus! Erittäin hyvä Basic-tulkki ja kääntäjä (lisäosa joillekin euroille). Lähes kaikki Androidin koukut ja voit koota todellisia sovelluksia niiden jakamiseksi ilman Basicia! kohdelaitteessa. Valitettavasti Basic! puuttuu Mintoriksen erinomaisista kaaviotaulukkotoiminnoista
- AIDE on puoliammattimainen IDE Androidin kehittämiseen javassa Androidilla. AIDE: n avulla sinulla on äärimmäinen joustavuus, mutta sinun on opittava java. AIDE: n vuosikustannukset ovat noin 50 €
Valitsin Mintorin. Tässä osassa en anna sinulle Mintoris -ohjelmoinnin opetusohjelmaa, vaan lyhyen kuvauksen toimintolohkoista
Seuraavassa osassa ilmoitetaan kolme matriisia kahdelle anturitietolinjalle ja vastaaville aikaleimoille. Aikaleiman tietoja käytetään kaavion x-akselin merkitsemiseen. Sodial tuottaa kaksi datavirtaa, joista jokainen on määritetty erityiselle hiukkaskoolle. Kaksi dustdata-taulukkoa ottavat nämä arvot.
Osittainen WakeLock
TextColor 100, 75, 10
TextColorA 50, 50, 50
TextAlign 0
Tekstikoko 24
CLS
Ponnahdusikkuna "Pölyanturimittari (c) ARJ 2017"
Global dustData (), dustDataF (), timeStamp () Global index, choice, maxData, fileName $
Aikamerkin himmennys (59)
Tumma (59)
Himmennä pölyä Data (59)
Dim -valikko $ (4) = "enintään 100 tietojoukkoa", "enintään 1000 tietojoukkoa", "enintään 5000 tietojoukkoa", "enintään 10000 tietojoukkoa", "Poistu"
'Alusta taulukot
I = 0-59
dustData (i) = 0
dustDataF (i) = 0
timeStamp (i) = i
Seuraavaksi minä
Seuraavaksi määritetään luettelovalikko. Tämä antaa käyttäjälle mahdollisuuden valita kerättävän datan enimmäiskoko. Tämä on vain turvakytkin, joka estää älypuhelinta imemästä loputtomia tietoja. Toiminnot BTgetPairs $ () antaa takaisin luettelon kaikista Android-laitteen pariliitetyistä laitteista, niiden nimistä ja BT-osoitteista.
Valikko $ (), valinta
'Valitse tallennettavien tietojen enimmäismäärä
runLevel = 1
Valitse vaihtoehto
Tapaus 0 maxData = 100
Tapaus 1 maxDate = 1000
Tapaus 2 maxData = 5000
Tapaus 3 maxData = 10000
Tapaus 4 maxData = 0
Lopeta Valitse
'' Yhdistä anturi
himmeä pari $ (0)
pari $ () = BTGetPairs $ ()
Jos pari $ (0) = "none" Sitten
Tulosta "Laiteparia ei löydy. Onko BT käytössä?" Tulosta "Ohjelma lopetettu"
Loppu
Loppu Jos
Listapari $ (), laite $
nimi $ = ItemExtract $ (laite $, 0)
osoite $ = ItemExtract $ (laite $, 1)
BTConnect 1, osoite $
'Odota yhteyttä
Edistyminen PÄÄLLÄ
Tulosta "Yritetään muodostaa yhteyttä"; osoite $
Sillä i = 1-20
Edistyminen i/2
Jos BTGetstate (1) = 4, Poistu Odota 1000
Seuraavaksi minä
Edistyminen POIS PÄÄLTÄ
'Onnistu, kun muodostat yhteyden BT -laitteeseen
Jos BTGetState (1) = 4 Tulosta sitten "Yhdistetty" Else Print "Ei voi muodostaa yhteyttä"; nimi $
Tulosta "Ohjelma lopetettu"
Loppu
Loppu Jos
Seuraava lohko näyttää datan keräämisen. Tiedosto avataan automaattisesti jokaiselle tietoistunnolle ja se nimetään kellonajan ja päivämäärän mukaan. Sitten silmukka lukee anturitietoja. Tiedot on pakattu useisiin tavuihin. Tavujoukko tunnistetaan kahdella ASCII-merkillä 170 ja 171. Seuraavat tiedot järjestetään uudelleen ja täytetään pölymatriiseihin
Grafiikka päällä
'Avaa kirjoitettava datatiedosto
fileName $ = FormatTime $ (t, "yyyy-MM-dd-kk-mm-ss") + ".dat"
Avaa 1, fileName $, "w+" Tulosta "Avattu datatiedosto"; fileName $ Writeln 1, FormatTime $ (Time (), "yy-MM-dd")
Writeln 1, "Time Dust2.5 Dust10"
'Täytä taulukko mitatuilla tiedoilla
data $ = "" paketti $ = ""
indeksi = 0
Tee vaikka maxData> 0
BTRead 1, paketti $ 10
data $ = data $+paketti $
Jos Len (data $)> = 10 Sitten
Jos (ASCII (Left $ (data $, 1)) = 170) & (ASCII (Right $ (data $, 1))) = 171) Sitten
dustDataF (indeksi) = ASCII ($ puoliväli (data $, 2, 1))
dustDataF (hakemisto) = (dustDataF (hakemisto)+256*ASCII (puolivälissä $ (data $, 3, 1)))/10
dustData (indeksi) = ASCII ($ puoliväli (data $, 4, 1))
dustData (indeksi) = (dustData (hakemisto)+256*ASCII ($ puoliväli (data $, 5, 1)))/10
Writeln 1, FormatTime $ (Time (), "kk: mm: ss") + "" + Str $ (dustDataF (index)) + "" + Str $ (dustData (index))
data $ = ""
maxData = maxData-1
indeksi = indeksi+1
Jos indeksi> 59 Sitten indeksi = 0
dustData (indeksi) = 0
dustDataF (indeksi) = 0
Loppu Jos
Loppu Jos
DrawGraph ()
Odota 100
Silmukka
Sulje 1
Grafiikka pois päältä
CLS -tulostus "Ohjelma lopetettu"
Loppu
Viimeinen osa on aliohjelma, joka kutsutaan jokaisen datavastaanoton jälkeen. Se tyhjentää näytön, piirtää kaavion uudelleen pöly- ja aikaleimajärjestelmiin tallennetuilla tiedoilla.
'Piirrä koordinaatit, tarrat, punkit ja myös datakäyrät
Sub DrawGraph ()
'Grafiikkatilassa näyttö muuttuu nykyiseksi
Väri 0, 0, 0
CLS
Väri 0, 0, 100
'Aseta ruudukon viivojen piirtämiseen käytettävä grafiikan väri
TextColor 100, 100, 100, 50
'TextColor on ruudukon pääotsikon väri
TextColorA 100, 100, 100
'TextColorA: ta käytetään akselin otsikoihin ja ruudukkomerkintöihin.
'Aseta akselin otsikkotekstin koko
'Ruudukon pääotsikko on 2x tämän kokoinen
Tekstikoko 20
FixDecimal 0
'Aseta näyttämään kaksi desimaalia
PadDigits 2
'Piirrä ruudukko kaavioon' Aseta X & Y: n alue ja otsikko
Akseli AxisX 0, 59, "Aika/s"
AkseliY 0, 10000, "ug/m3"
Ruudukko 3, "Pölypitoisuus"
'Piirrä pölykaaviot
Väri 100, 0, 0
GraphXY timeStamp (), dustDataF ()
Väri 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
Palata
Lataa lähdekoodi täältä
Vaihe 6: Testaa
Käynnistä anturi ja käynnistä sovellus. Valitse pariliitettyjen laitteiden luettelosta "Sensor". Anturin liittämisen jälkeen näyttö alkaa näyttää tietoja. Samalla datatiedosto varataan. Muodin päätyttyä voit näyttää tiedot GnuPlotilla. Määritä GnuPlot GnuPlot -tiedoston "Test.gp" avulla näyttämään datatiedosto nimeltä "Test.dat". Löydät sen myös täältä
Katso videolta lisätietoja ja testaus. Hauskaa ja lisää ideoita!
Suositeltava:
Kannettava toimintogeneraattori WiFi: ssä ja Androidissa: 10 vaihetta
Kannettava toimintogeneraattori WiFi- ja Android -laitteilla: Lähes 1900 -luvun loppua kohden ilmaantui erilaisia teknologisia innovaatioita erityisesti viestinnän alalla. mutta ei vain. Meille käyttäjille, kuluttajille ja insinööreille tuli ilmi elektronisten laitteiden nopea kehitys, jotka voivat tehdä elämästämme
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
Cómo Poner La Ip Estática Androidissa: 5 vaihetta
Cómo Poner La Ip Estática En Android: En el dia dia hoy les mostrare como poner la ip est á tica en nuestro dispositivo android.Esto es ú til en caso de que el dispositivo nos se quiera conectar a la red o se queda buscando directcci ó n ip
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: 3 vaihetta
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: Seuraava opas auttaa sinua saamaan live-HD-videovirtoja lähes mistä tahansa DJI-dronesta. FlytOS -mobiilisovelluksen ja FlytNow -verkkosovelluksen avulla voit aloittaa videon suoratoiston droonilta
Kuinka estää Facebookia toistamasta videoita automaattisesti Androidissa !!: 10 vaihetta
Kuinka lopettaa Facebookin automaattinen videoiden toisto Androidilla !!: Tämä ohje antaa sinulle mahdollisuuden estää Facebookia toistamasta videoita automaattisesti sekä datalla että wifi -yhteydellä Android -laitteella Tilaa kanavaniKiitos