Orodha ya maudhui:
- Hatua ya 1: Unachohitaji
- Hatua ya 2: Kuandaa Moduli ya Bluetooth
- Hatua ya 3: Kuweka Sehemu
- Hatua ya 4: Kuoanisha
- Hatua ya 5: Programu
- Hatua ya 6: Jaribu
Video: Sensor ya Vumbi ya Sodial kwenye Android: Hatua 6
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Mwaka mmoja uliopita rafiki yangu alikuwa na semina ya wikendi kuhusu ufuatiliaji wa mazingira. Lengo la semina hiyo ilikuwa kujenga sensorer ya vumbi iliyounganishwa na bodi ya rasipberry pi kuweka data ya kipimo kwenye seva fulani ambayo ilitoa ramani za mkusanyiko wa vumbi mara kwa mara. Rafiki yangu aliuliza ikiwa kuna njia ya kupata data ya sensorer moja kwa moja kwenye smartphone yake kwa ufuatiliaji na ukataji miti. Kwa hivyo nikachimba wavuti kwa hati ya data na nikaona kuwa sensa ilikuwa na kiolesura rahisi cha UART na itifaki ya 9600Baud 8N1. Lakini jinsi ya kuunganisha UART kwa smartphone? Kweli, hiyo ni rahisi. Ilinibidi tu nitumie moja wapo ya moduli ndogo ndogo za Bluetooth ambazo zinatoa mwendo ulioiga kwenye android. Sasa angalia jinsi nilivyoifanya.
Hatua ya 1: Unachohitaji
Unahitaji sehemu zifuatazo
- Kontakting ya kupandisha JST XH 7-pin kwa kiunganishi cha Sodial na waya. Nilinunua yangu kwenye Ebay.
- Moduli ya Bluetooth HC05 au 06 inayoambatana na kiunganishi cha UART
- Kigeuzi cha USB-serial na kiolesura cha kiwango cha TTL. Tunatumia hii kutoa moduli ya BT jina la kipekee
- Sensor ya vumbi ya Sodial SDS011. Nilipata yangu kutoka Ebay
- kipande cha veroboard
- Kiunganishi cha USB-B
- Waya
- Kipande cha kuni kuweka kila kitu juu
Kisha utahitaji zana rahisi:
- Bucksaw kwa kukata kuni
- kibano
- chuma cha solder na solder
- mkata waya
- Bunduki ya gundi moto
- Kipande cha sleeve ya silicon 8mm (sio kwenye picha)
Unaweza kupakua lahajedwali la Sodial SDS011 hapa Jedwali la Sodial SDS011
Hatua ya 2: Kuandaa Moduli ya Bluetooth
Moduli ya BT ina kiolesura cha UART na kiwango cha TTL. Inaweza kusanidiwa tena kuwa amri za "AT" kama tulivyofanya na modemu za wavuti zamani katika nyakati za zamani. Ili kuiunganisha na programu ya terminal kwenye mashine yako unahitaji kurekebisha UART kwa kompyuta yako. Nilitumia kibadilishaji cha USB-RS232 nilichonunua saa amazon. Niliweka kontakt kwa moduli ya BT na kupitisha usambazaji wa umeme wa 3, 3V na GND kutoka kwa kibadilishaji kwenda kwa moduli ya BT. Kisha nikaunganisha laini husika za TxD na RxD kwenye crossover. TxD kutoka kwa kibadilishaji cha USB hadi RxD kutoka kwa moduli ya BT na kinyume chake.
Nina mashine ya linux na cutecom iliyotumiwa. Baada ya kuunganisha kibadilishaji cha USB comport ilikuwa "ttyUSB0". Unaweza kupata majina ya comport katika saraka ya "/ dev" kwenye mashine yako ya linux. Kwa watumiaji wa windows ningependekeza "hterm". Ni rahisi kufanya kazi. Andika "AT" na unapaswa kupata "AT" kama jibu. Kisha andika "AT + NameSensor" ili upe moduli ya BT jina "Sensor"
Hatua ya 3: Kuweka Sehemu
Kata kipande cha kuni kwa saizi inayofaa kuchukua sehemu zote. Unganisha ishara zote kama ilivyoonyeshwa kwenye skimu. Ni wazo nzuri kuweka sleeve ya silicon karibu na waya kuzilinda. Solder kuziba USB-B kwenye ubao wa maandishi. Inatumika tu kwa usambazaji wa umeme. Rekebisha sehemu zote na visu kwenye msingi wa mbao. Mwishowe gundi moto nyaya kuzirekebisha kwenye kuni.
Hatua ya 4: Kuoanisha
Imarisha matumizi ya sensorer kwa kuziba usambazaji wa umeme wa USB. LED nyekundu kwenye moduli ya BT itaanza kupepesa. Hakuna kujaribu kuilinganisha na smartphone yako ya admin. Lazima uweke msimbo wa siri. Hii ni "1234". Baada ya kuingiza nambari smartphone yako inapaswa kuunganishwa na moduli ya BT.
Hatua ya 5: Programu
Ninapenda kuandika programu za Android kwenye jukwaa lengwa lenyewe. inakuokoa kutoka kwa vitu vyote vya kuiga ambavyo unapaswa kujali ikiwa unafanya kazi na Studio ya Android. Niligundua zana tatu zinazofaa za maendeleo kwenye Android yenyewe
- Msingi wa Mintoris. Mkalimani wa kimsingi na seti nyingi za amri za kuzunguka karibu na kila kitu kwenye android. Unaweza kuunda njia za mkato za programu zako. Msingi wa Mintoris hauna mkusanyaji. Kwa hivyo lazima uwe umeweka Mintoris kwenye kila kifaa unachotumia. Lakini lazima ulipe mara moja tu (karibu 7 €)
- Msingi! Mkalimani mzuri wa msingi na mkusanyaji (nyongeza kwa baadhi ya €). Karibu ndoano kwenye kila kitu kwenye android na unaweza kukusanya programu halisi za kuzisambaza bila kuwa na Basic! kwenye kifaa lengwa. Cha kusikitisha! haina kazi bora ya chati ya mchoro ya Mintoris
- AIDE ni nusu mtaalamu IDE ya kufanya maendeleo ya android katika java kwenye android. Ukiwa na Msaada una kubadilika kabisa lakini unahitaji kujifunza java. AIDE ina gharama ya kila mwaka ya karibu 50 €
Nilichagua Mintoris. Katika sehemu hii sitakupa mafunzo ya programu katika Mintoris lakini maelezo mafupi ya vitalu vya kazi
Katika sehemu ifuatayo safu tatu zinatangazwa kwa mistari miwili ya data ya sensa na mihuri ya nyakati. Takwimu ya muhuri hutumiwa kwa kuweka mhimili wa x wa mchoro. Matokeo ya Sodial hutoa mitiririko miwili ya data kila iliyoainishwa kwa saizi maalum ya chembe. Safu mbili za safu ya vumbi huchukua maadili haya.
WakeLock Sehemu
NakalaColor 100, 75, 10
NakalaColorA 50, 50, 50
NakalaAlign 0
NakalaSize 24
CLS
Dukizi "Mita ya Sura ya Vumbi (c) ARJ 2017"
Global vumbiData (), vumbiDataF (), Stempu ya wakati () Faharisi ya kimataifa, chaguo, maxData, failiName $
Wakati hafifu Stempu (59)
Data vumbi (59)
Punguza vumbiDataF (59)
Punguza Menyu $ (4) = "seti za data 100", "seti za data 1000", "seti za data 5000", "seti za data 10000", "Toka"
Ingiza safu
Kwa i = 0 hadi 59
vumbiData (i) = 0
vumbiDataF (i) = 0
mudaStamp (i) = i
Ifuatayo i
Ifuatayo orodha ya Orodha imesanidiwa. Hii inampa mtumiaji chaguo kuchagua saizi kubwa ya data kukusanya. Hii ni kubadili tu usalama ili kuzuia smartphone kutoka kwa kunyonya data isiyo na mwisho. Kazi BTgetPaired $ () inarudisha orodha na vifaa vyote vilivyooanishwa kwenye kifaa cha android, majina yao na BT-adress.
L ist Menyu $ (), chaguo
Chagua kiwango cha juu ikiwa data itahifadhiwa
runLevel = 1
Chagua chaguo
Kesi 0 maxData = 100
Kesi 1 maxDate = 1000
Uchunguzi 2 maxData = 5000
Uchunguzi 3 maxData = 10000
Uchunguzi 4 maxData = 0
Mwisho Chagua
Unganisha sensa
jozi hafifu $ (0)
jozi $ () = BTGetPaired $ ()
Ikiwa jozi $ (0) = "hakuna" Basi
Chapisha "Hakuna vifaa vilivyooanishwa vilivyopatikana. Je! BT imewashwa?" Chapisha "Programu imesitishwa"
Mwisho
Endif
Orodhesha jozi $ (), kifaa $
jina $ = ItemToa $ (kifaa $, 0)
anwani $ = ItemToa $ (kifaa $, 1)
BTConnect 1, anwani $
Subiri unganisho
MAENDELEO YAO
Chapisha "Kujaribu kuungana na"; anwani $
Kwa i = 1 hadi 20
Maendeleo i / 2
Ikiwa BTGetstate (1) = 4 Kisha Toka Kusubiri 1000
Ifuatayo i
Maendeleo YAMEZIMA
Kwenye mafanikio unganisha kifaa cha BT
Ikiwa BTGetState (1) = 4 Kisha Chapisha "Imeunganishwa" Chapisho Lingine "Haikuweza kuungana na"; jina $
Chapisha "Programu imesitishwa"
Mwisho
Endif
Kizuizi kinachofuata kinaonyesha ufikiaji wa data. Kwa kila kikao cha data faili hufunguliwa kiatomati na kutajwa baada ya wakati na tarehe. Kisha kitanzi kinasoma data ya sensorer. Takwimu zimejaa ka kadhaa. Seti ya ka hutambuliwa na herufi mbili za ASCII 170 na 171. Takwimu zifuatazo zimepangwa tena na kujazwa kwenye safu za vumbi
Picha zimewashwa
Fungua faili ya data ili uandike
fileName $ = FormatTime $ (t, "yyyy-MM-dd-kk-mm-ss") + ".dat"
Fungua 1, fileName $, "w +" Chapisha "Faili ya data iliyofunguliwa"; fileName $ Writeln 1, FormatTime $ (Time (), "yy-MM-dd")
Writeln 1, "Vumbi la Muda2.5 Vumbi10"
Jaza safu na data iliyopimwa
data $ = "" pakiti $ = ""
faharisi = 0
Fanya Wakati maxData> 0
BTRead 1, pakiti $, 10
data $ = data $ + pakiti $
Ikiwa Len (data $)> = 10 Basi
Ikiwa (ASCII (kushoto $ (data $, 1)) = 170) & (ASCII (Right $ (data $, 1)) = 171)
vumbiDataF (index) = ASCII (Mid $ (data $, 2, 1))
dustDataF (index) = (dustDataF (index) + 256 * ASCII (Mid $ (data $, 3, 1))) / 10
vumbiData (index) = ASCII (Mid $ (data $, 4, 1))
vumbiData (index) = (vumbiData (faharisi) + 256 * ASCII (Mid $ (data $, 5, 1))) / 10
Writeln 1, FormatTime $ (Time (), "kk: mm: ss") + "" + Str $ (dustDataF (index)) + "" + Str $ (dustData (index))
data $ = ""
maxData = maxData-1
index = index + 1
Ikiwa index> 59 Kisha index = 0
vumbiData (index) = 0
vumbiDataF (index) = 0
Endif
Endif
DrawGraph ()
Subiri 100
Kitanzi
Funga 1
Graphics Off
Magazeti ya CLS "Mpango umesitishwa"
Mwisho
Sehemu ya mwisho ni sehemu ndogo inayoitwa baada ya kila upokeaji wa data. Inafuta skrini, inachora tena mchoro na data halisi iliyohifadhiwa kwenye safu ya vumbi- na timestamp.
Chora kuratibu, lebo, kupe na pia curve za data
Draw Draw ndogo ()
'Katika hali ya Picha, skrini inafafanua rangi ya sasa
Rangi 0, 0, 0
CLS
Rangi 0, 0, 100
Weka rangi ya picha kutumika kuteka mistari ya gridi ya taifa
NakalaColor 100, 100, 100, 50
'TextColor ni rangi ya kichwa kikuu cha gridi
NakalaColorA 100, 100, 100
'TextColorA hutumiwa kwa majina ya Axis na ufafanuzi wa gridi ya taifa.
Weka ukubwa wa maandishi ya kichwa cha mhimili
Kichwa kuu cha gridi ni 2x saizi hii
Nambari ya maandishi 20
KurekebishaDecimal 0
'Weka ili kuonyesha maeneo 2 ya desimali
PadDigits 2
'Chora gridi ya grafu' Weka anuwai na kichwa cha X & Y
Mhimili AxisX 0, 59, "Saa / saa"
Mhimili 0, 10000, "ug / m3"
Gridi 3, "Mkusanyiko wa Vumbi"
Chora Grafu za Vumbi
Rangi 100, 0, 0
Wakati wa GrafuXYStamp (), vumbiDataF ()
Rangi 0, 100, 0
Wakati wa GrafuXYStamp (), vumbiData ()
NakalaColor 100, 0, 0
DrawText "PM2.5", 30, Int (ScreenY () - 60), 90, 1
NakalaColor 0, 100, 0
DrawText "PM10", 30, Int (ScreenY () - 150), 90, 1
NakalaColor 100, 100, 100, 50
Kurudi
Pakua nambari ya chanzo hapa
Hatua ya 6: Jaribu
Imarisha sensa na anza programu. Kutoka kwenye orodha ya vifaa vilivyooanishwa chagua ile iitwayo "Sensor". Baada ya kuunganisha sensor skrini itaanza kuonyesha data. Wakati huo huo faili ya data imetengwa. Baada ya kumaliza mtindo unaweza kutumia GnuPlot kuonyesha data. Tumia faili "Test.gp" katika GnuPlot kusanidi GnuPlot kwa kuonyesha faili ya data iitwayo "Test.dat". Unaweza pia kupata makopo hapa
Tazama video kwa maelezo zaidi na upimaji. Kuwa na mawazo mengi ya kufurahisha na zaidi!
Ilipendekeza:
Panua Maisha ya Laptop yako! Safisha vumbi nje ya kuzama kwake kwa joto. 3 Hatua
Panua Maisha ya Laptop yako! Safisha vumbi nje ya kuzama kwake kwa joto. Kulikuwa na mengi ndani! Siwezi kuamini kuwa mazoezi haya hayapendekezwi na kuhimizwa na watengenezaji. Ikiwa vumbi linazuia ghuba na hewa na
Vumbi la moja kwa moja: Hatua 6
Dustbin ya Moja kwa Moja: Labda hii ni vumbi la vumbi linalofaa zaidi, limetengenezwa kwa watu wavivu kama sisi. Wakati mwingine kifuniko cha pipa kinaweza kuwa chafu, ambacho kina bakteria na virusi ambavyo hatutumii
Ruffler ya Vumbi (Sumo Bot): Hatua 4
Vumbi Ruffler (Sumo Bot): Zana na orodha ya vifaaVifaa na vifaa vinavyotumika kujenga Ruffler ya Vumbi ni rahisi sana na ni rahisi kupata. Elektroniki: Pakiti ya betri, mzunguko unaoendelea servos kubwa (x3), mpokeaji, na kijijini. Karatasi ya 3x2 'ya msingi wa povu x-a
Utafiti wa Vumbi la Arduino: Hatua 8
Utafiti wa Vumbi la Arduino: Ingekuwaje kuishi kwenye Mars? Je! Hewa inapumua? Je, ni salama? Je! Kuna vumbi kiasi gani? Je! Dhoruba ni mara ngapi? Umewahi kujiuliza jibu la maswali yoyote haya?
Uondoaji wa Jalada la Nokia 6280 la Usafishaji wa Vumbi: Hatua 7
Uondoaji wa Jalada la Nokia 6280 la Usafishaji wa Vumbi: Tofauti na modeli zingine nyingi, Nokia 6280 haionekani kutengenezwa ili watumiaji waweze kuondoa kifuniko cha onyesho wenyewe. Hii inakera wale wanaopata vumbi kati ya LCD halisi na kifuniko cha kuonyesha, ambayo ni wamiliki wengi … Kweli, baada ya muda, ni