INHOUDSOPGAWE:
- Stap 1: wat u benodig
- Stap 2: Berei die Bluetooth -module voor
- Stap 3: Monteer die onderdele
- Stap 4: Koppel
- Stap 5: Die sagteware
- Stap 6: Toets
Video: Sodial stofsensor op Android: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
'N Jaar gelede het 'n vriend van my 'n naweek -werkswinkel oor omgewingsmonitering gehou. Die doel van die werkswinkel was om 'n stofsensor op te bou wat gekoppel is aan 'n framboos -pi -bord om metingsdata op 'n bediener te plaas wat gereeld stofkonsentrasiekaarte verskaf. My vriend het gevra of daar 'n manier is om die sensordata direk op sy slimfoon te kry vir monitering en aanmelding. Ek soek die internet vir 'n datablad en sien dat die sensor 'n eenvoudige UART -koppelvlak met 'n 9600Baud 8N1 -protokol het. Maar hoe kan u 'n UART aan 'n slimfoon koppel? Wel, dit is maklik. Ek moes net een van die alomteenwoordige klein Bluetooth -modules gebruik wat 'n nabootsingskomponent op Android bied. Kyk nou hoe ek dit gemaak het.
Stap 1: wat u benodig
U benodig die volgende dele
- 'N Koppelstuk JST XH 7-pen vir die Sodial-koppelvlak met drade. Ek het myne op Ebay gekoop.
- 'N Bluetooth -module HC05 of 06 verenigbaar met UART -aansluiting
- 'N USB-reeksomskakelaar met 'n TTL-vlak-koppelvlak. Ons gebruik dit om die BT-module 'n unieke naam te gee
- Sodial SDS011 stofsensor. Ek het myne by Ebay gekry
- 'n stuk veroboard
- USB-B-aansluiting
- draad
- 'N Stukkie hout om alles op te monteer
Dan benodig u 'n paar eenvoudige gereedskap:
- 'N Geldsaag om die hout te sny
- pincet
- soldeerbout en soldeer
- draad snyer
- Warm gom geweer
- 'N Stukkie 8 mm silikonmou (nie op die foto nie)
U kan die Sodial SDS011 -datablad hier aflaai Sodial SDS011 -datablad
Stap 2: Berei die Bluetooth -module voor
Die BT-module het 'n UART-koppelvlak met TTL-vlak. Dit kan herkonfigureer word met 'AT' -opdragte, soos ons met internetmodems in die ou tyd gedoen het. Om dit aan 'n terminale program op u masjien te koppel, moet u die UART aanpas by u rekenaar. Ek gebruik 'n USB-RS232-omskakelaar wat ek by Amazon gekoop het. Ek het 'n aansluiting vir die BT-module aangewend en die 3, 3V kragtoevoer en GND van die omskakelaar na die BT-module gestuur. Toe verbind ek die onderskeie TxD- en RxD -lyne in crossover. TxD van USB-omskakelaar na RxD van BT-module en omgekeerd.
Ek het 'n linux masjien en gebruik cutecom. Na die aansluiting van die USB-omskakelaar was die komport "ttyUSB0". U kan die komporte name vind in die gids "/dev" op u Linux -masjien. Vir Windows -gebruikers sal ek 'hterm' aanbeveel. Dit is maklik om te bedryf. Tik 'AT' en u moet 'AT' kry as antwoord. Tik dan "AT+NameSensor" om die BT-module die naam "Sensor" te gee
Stap 3: Monteer die onderdele
Sny 'n stuk hout in 'n grootte wat geskik is om al die dele te neem. Verbind alle seine soos aangedui in die skema. Dit is 'n goeie idee om 'n silikonmou om die drade te sit om dit te beskerm. Soldeer die USB-B-prop op die perfboard. Dit word net gebruik vir die kragtoevoer. Maak alle dele vas met skroewe op die houtbasis. Plak uiteindelik die kabels warm om dit op die hout vas te maak.
Stap 4: Koppel
Skakel die sensortoepassing aan deur 'n USB-kragbron in te sluit. 'N Rooi LED op die BT-module sal begin knipper. Moenie probeer om dit met u Android -slimfoon te koppel nie. U moet 'n PIN -kode invoer. Dit is "1234". Nadat u die kode ingevoer het, moet u slimfoon gekoppel word aan die BT-module.
Stap 5: Die sagteware
Ek skryf graag Android -programme op die doelplatform self. dit red u van al die emulasie -dinge waaraan u moet omgee as u met Android Studio werk. Ek het drie geskikte ontwikkelingshulpmiddels op Android self uitgevind
- Mintoris Basic. 'N Basiese tolk met 'n uitgebreide reeks opdragte om byna alles op Android aan te pak. U kan kortpaaie vir u programme skep. Mintoris basic bevat nie 'n samesteller nie. U moet dus Mintoris geïnstalleer het op elke toestel wat u gebruik. Maar u hoef dit slegs een keer te betaal (ongeveer 7 €)
- Basies! Uiters goeie basiese tolk en samesteller (byvoeging vir ongeveer €). Haak amper alles in Android aan, en u kan regte programme saamstel om dit te versprei sonder om Basic te hê! op die teikenapparaat. Ongelukkig basies! ontbreek die uitstekende diagramgrafiekfunksies van Mintoris
- AIDE is 'n semi -professionele IDE vir die ontwikkeling van Android in Java op Android. Met AIDE het u die grootste buigsaamheid, maar u moet java leer. AIDE het 'n jaarlikse koste van ongeveer 50 €
Ek het Mintoris gekies. In hierdie afdeling gee ek u nie 'n tutoriaal oor programmering in Mintoris nie, maar 'n kort beskrywing van die funksieblokke
In die volgende deel word drie skikkings verklaar vir die twee sensordatalyne en die onderskeie tydstempels. Die tydstempeldata word gebruik om die x-as van die diagram te merk. Die Sodial lewer twee datastrome uit wat elk gespesifiseer is vir 'n spesiale deeltjiegrootte. Die twee stofdata-skikkings neem hierdie waardes aan.
WakeLock gedeeltelik
TextColor 100, 75, 10
TextColorA 50, 50, 50
TextAlign 0
Teksgrootte 24
CLS
Opspring "Stofsensormeter (c) ARJ 2017"
Globale dustData (), dustDataF (), timeStamp () Globale indeks, keuse, maxData, fileName $
Dim tydstempel (59)
Dowwe stof Data (59)
Dim stof DataF (59)
Dim menu $ (4) = "maks. 100 datastelle", "maks. 1000 datastelle", "maks. 5000 datastelle", "maks. 10000 datastelle", "Uitgang"
'Begin die skikkings
Vir i = 0 tot 59
dustData (i) = 0
dustDataF (i) = 0
timeStamp (i) = i
Volgende i
Vervolgens word 'n lysmenu opgestel. Dit gee die gebruiker die keuse om die maksimum grootte data te versamel. Dit is slegs 'n veiligheidsskakelaar om te verhoed dat die slimfoon eindelose data insuig. Die funksies BTgetPaired $ () gee 'n lys terug met alle gekoppelde toestelle op die Android-toestel, hul name en BT-adres.
L ist Menu $ (), keuse
'Kies die maksimum hoeveelheid as data gestoor moet word
runLevel = 1
Kies keuse
Geval 0 maxData = 100
Geval 1 maxDate = 1000
Geval 2 maxData = 5000
Geval 3 maxData = 10000
Geval 4 maxData = 0
Einde Kies
'' Koppel sensor
dowwe paar $ (0)
paar $ () = BTGetPaired $ ()
As paar $ (0) = "none" Dan
Druk "Geen gekoppelde toestelle gevind nie. Is BT aangeskakel?" Druk "Program beëindig"
Einde
Endif
Lyspaar $ (), toestel $
naam $ = ItemExtract $ (toestel $, 0)
adres $ = ItemExtract $ (toestel $, 1)
BTC Connect 1, adres $
'Wag vir verbinding
Vordering AAN
Druk 'probeer om aan te sluit'; adres $
Vir i = 1 tot 20
Vordering i/2
As BTGetstate (1) = 4, verlaat dan vir wag 1000
Volgende i
Vordering AF
'Koppel met die BT -toestel na sukses
As BTGetState (1) = 4 Druk dan "Gekoppel", anders druk "Kon nie aan" nie; noem $
Druk "Program beëindig"
Einde
Endif
Die volgende blok toon die data -vereiste. Vir elke datasessie word 'n lêer outomaties oopgemaak en vernoem na tyd en datum. Dan lees die lus die sensordata. Die data is verpak in verskeie grepe. 'N Stel grepe word geïdentifiseer deur twee ASCII-karakters 170 en 171. Die volgende data word herorganiseer en in die stofskikkings gevul
Grafika aan
'Maak die lêer oop om te skryf
fileName $ = FormatTime $ (t, "jjjj-MM-dd-kk-mm-ss") + ".dat"
Open 1, fileName $, "w+" Print "Opened datafile"; fileName $ Writeln 1, FormatTime $ (Time (), "yy-MM-dd")
Skrywe 1, "Tydstof2.5 Stof10"
'Vul skikking met die gemete data
data $ = "" pakkie $ = ""
indeks = 0
Doen Terwyl maxData> 0
B Lees 1, pakkie $ 10
data $ = data $+pakkie $
As Len (data $)> = 10 Dan
As (ASCII (Left $ (data $, 1)) = 170) & (ASCII (Right $ (data $, 1)) = 171) Dan
dustDataF (indeks) = ASCII (middel $ (data $, 2, 1))
dustDataF (indeks) = (dustDataF (indeks)+256*ASCII (middel $ (data $, 3, 1))))/10
dustData (indeks) = ASCII (middel $ (data $, 4, 1))
dustData (indeks) = (dustData (indeks)+256*ASCII (middel $ (data $, 5, 1))))/10
Skryf 1, FormatTime $ (Time (), "kk: mm: ss") + "" + Str $ (dustDataF (index)) + "" + Str $ (dustData (index))
data $ = ""
maxData = maxData-1
indeks = indeks+1
As indeks> 59 Dan is indeks = 0
dustData (indeks) = 0
dustDataF (indeks) = 0
Endif
Endif
DrawGraph ()
Wag 100
Lus
Sluit 1
Grafiese af
CLS Druk "Program beëindig"
Einde
Die laaste deel is 'n subroutine wat na elke data -ontvangs gebel word. Dit maak die skerm skoon, teken die diagram weer met die werklike data wat in die stof- en tydstempelskikkings gestoor is.
'Teken die koördinate, die etikette, bosluise en ook die datakurwes
Sub DrawGraph ()
'In die grafiese modus word die skerm na die huidige kleur verander
Kleur 0, 0, 0
CLS
Kleur 0, 0, 100
'Stel die grafiese kleur in wat gebruik moet word om die roosterlyne te teken
TextColor 100, 100, 100, 50
'TextColor is die kleur van die roostertitel
TextColorA 100, 100, 100
'TextColorA word gebruik vir as -titels en roosteraantekeninge.
'Stel die grootte van die as se titelteks in
'Die titel van die rooster is 2x hierdie grootte
Teksgrootte 20
Fix Desimaal 0
'Stel om 2 desimale plekke te vertoon
PadDigits 2
'Teken 'n rooster vir die grafiek' Stel die omvang en titel van die X & Y in
As AxisX 0, 59, "Tyd/s"
As Y 0, 10000, "ug/m3"
Rooster 3, "Stofkonsentrasie"
'Teken stofgrafieke
Kleur 100, 0, 0
GraphXY timeStamp (), dustDataF ()
Kleur 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
Keer terug
Laai die bronkode hier af
Stap 6: Toets
Skakel die sensor aan en begin die app. Kies die een met die naam "Sensor" uit die lys met gekoppelde toestelle. Na die aansluiting van die sensor, sal die skerm die data begin wys. Terselfdertyd word die datalêer toegeken. Nadat u die mode voltooi het, kan u GnuPlot gebruik om die data te vertoon. Gebruik die lêer "Test.gp" in GnuPlot om GnuPlot op te stel vir die vertoon van 'n datafile met die naam "Test.dat". U kan dit ook hier vind
Sien die video vir meer besonderhede en toetse. Baie plesier en nog meer idees!
Aanbeveel:
Digitale klok LED -puntmatriks - ESP Matrix Android -app: 14 stappe
Digital Clock LED Dot Matrix - ESP Matrix Android App: Hierdie artikel word met trots geborg deur PCBWAY. PCBWAY maak prototipe PCB's van hoë gehalte vir mense oor die hele wêreld. Probeer dit self en kry 10 PCB's vir slegs $ 5 by PCBWAY met 'n uitstekende kwaliteit, dankie PCBWAY. Die ESP Matrix Board wat ek ontwikkel het
MONITORAMENTO DA UMIDADE DO SOLO DE UMA HORTA UTILIZANDO ARDUINO E ANDROID: 15 stappe
MONITORAMENTO DA UMIDADE DO SOLO DE UMA HORTA UTILIZANDO ARDUINO E ANDROID: A ideia do nosso projeto é monitorar a umidade do solo de uma horta en apresentar na tela do celular para acompanhamento real
Hoe om Android -telefone te herwin vir BOINC of vou -tuig sonder om batterye te gebruik: 8 stappe
Hoe om Android -telefone vir BOINC of vou -tuig te herwin sonder om batterye te gebruik: WAARSKUWING: EK IS NIE VERANTWOORDELIK VIR ENIGE SKADE AAN JOU HARDWARE GEDOEN NIE, Deur hierdie gids te volg. Hierdie gids is meer effektief vir BOINC -gebruikers (persoonlike keuse / redes), dit kan ook gebruik word om te vou, aangesien ek nie te veel tyd het nie, wil ek
Maak 'n DIY Sonoff Smart Switch Gebruik Android App: 11 stappe
Maak 'n DIY Sonoff Smart Switch Gebruik Android -app: Wat is Sonoff? Sonoff is 'n slim skakelaar vir Smart Home wat deur ITEAD ontwikkel is. Een van die mees buigsame en goedkoopste toestelle uit die reeks is Sonoff Basic en Sonoff mini. Dit is Wi-Fi-skakelaars wat gebaseer is op 'n uitstekende chip, ESP8266/E
Hoe om 'n Android -app met Android Studio te skep: 8 stappe (met foto's)
Hoe om 'n Android -app met Android Studio te skep: Hierdie tutoriaal leer u die basiese beginsels van hoe u 'n Android -app kan bou met behulp van die Android Studio -ontwikkelingsomgewing. Namate Android -toestelle al hoe meer algemeen word, sal die vraag na nuwe programme net toeneem. Android Studio is maklik om te gebruik ('n