Sortu mugikorreko sentsoreak erabiltzen dituen aplikazio bat
Sentsoreek funtzionalitate aberatsagoa gehitzeko aukera ematen dute zure aplikazioetan, telefonoaren gaitasunak baliatuz. Artikulu honetan, zure gailu mugikorrean sentsoreak nola erabiltzen diren jakingo duzu Power Apps.
Horretarako, lagin-aplikazio bat egingo duzu bi pantailekin. Lehenengo pantailan uneko iparrorratzaren goiburua, latitudea, longitudea, altitudea bistaratuko da eta NFC etiketak eskaneatu ahal izango ditu testu informazioa lortzeko. Bigarren pantailan azelerometroaren datuak nola bistaratuko diren erakutsiko da gailuaren angelua X eta Y ardatzetan zehar sortzeko.
Lehenengo pantailaren atzean agertokia konfiguratzeko, imajina ezazu NFC oinarritutako scavenger ehiza egiteko aplikazio bat eraikitzen ari zarela. Parte-hartzaile bakoitzak aplikazioa erabiliko du NFC etiketa bat eskaneatzeko eta horrek iparrorratzaren izenburua, latitudea eta longitudea emango dizkie hurrengo helmugara bideratuko dituena. Helmuga horretan, partaideak beste etiketa bat eskaneatuko du eta prozesua errepikatuko du ehizaren amaierara iritsi arte.
Bigarren pantailarako, imajinatu angelu gutxi gorabehera neurtzeko tresna bat behar dela. Bigarren pantailan dagoenean, parte-hartzaileak gailua azalera batean kokatu edo eutsi ahal izango dio, eta gailuaren X eta Y ardatzetako angeluak lortu ahal izango ditu, baita angelu horien ikusizko irudikapena ikusi ere.
Ikusi bideo hau sentsore mugikorrak erabiltzen dituen aplikazio bat nola eraikitzen ikasteko:
Aurrebaldintzak
Edozein maila Power Apps lizentzia erabil daiteke aplikazio honetarako, ez baita datu konexiorik erabiltzen.
GPS eta azelerometro gaitasunak dituen telefono mugikorra edo tableta bezalako gailu mugikorra beharko da ordenagailu gehienek behar bezalako sentsoreak ez izatea.
Bat NFC gaitzeko gailua beharrezkoa da NFC eskaneatzeko funtziorako. Gainera, suposatzen da eskaneatu beharreko NFC etiketak aurrez konfiguratuta daudela testuaren balioak hurrengo adibide formatuan sortzeko:
"<b>Heading: </b> 80 degrees <br> <b>Latitude: </b> 44.4604788 <br> <b>Longitude: </b> -110.82813759"
Horrek testua HTMLrako egokitutako formatuan emango du aplikaziorako. NFC etiketen konfigurazioa artikulu honen eremutik kanpo dago, eta beharrezkoa bada NFC elementuak alde batera utzi daitezke; fokatze nagusia mugikorreko sentsoreak erabiltzean dago Power Apps.
Gehitu goiburua eta HTML testua gailuaren sentsoreen irteeretarako
Goiburuaren etiketa
Editatzeko irekitako aplikazio batekin Power Apps, gehitu Testu etiketa pantailara arrastatuz eta jarrita Txertatu panela. Kokatu pantailaren goiko ezkerreko izkinan eta aldatu propietate hauek Propietateak panelean:
Propietatea | Balioa |
---|---|
Testu-mezua | "Scavenger ehiza" |
Letra-tamaina | 24 |
Letraren pisua | FontWeight.Semibold |
Testuaren lerrokatzea | Align.Center |
Zabalera | Parent.Width |
Ondoren Aurreratua panelean, aldatu propietate hauek:
Propietatea | Balioa |
---|---|
Kolorea | RGBA(255, 255, 255, 1) |
Bete | RGBA(56, 96, 178, 1) |
Honek pantailaren goiburua emango du.
HTML testua gailuaren sentsoreen irteeretarako
Ondoren, gehitu HTML testua kontrola. Gailuaren sentsoreen irteera guztiak leku berean bistaratzeko erabiliko da. Erabili kode hau HtmlText jabetza:
"<b><u>Current Location</u></b><br>
<br>
<b>Compass Heading: </b>" & Round(Compass.Heading, 2) & Char(0176) &
"<br>
<br>
<b>Lat: </b>" & Location.Latitude & "<br>
<b>Long: </b>" & Location.Longitude & "<br>
<b>Alt: </b>" & Round(Location.Altitude, 2) & " m"
Aldatu hurrengo propietateak panel aurreratuan:
Propietatea | Balioa |
---|---|
Tamaina | 21 |
BorderStyle | BorderStyle.Solid |
BorderThickness | 2 |
Zabalera | 560 |
Altuera | 576 |
PaddingTop | 16 |
PaddingRight | 16 |
PaddingBottom | 16 |
PaddingLeft | 16 |
HtmlText jarritakoa aztertzen baduzu, baliteke bi sentsore mota erabiltzen ari direla ohartzea.
Lehenik eta behin Iparrorratza sentsorea, hau da Goiburua gailutik iparrorratza goiburua emateko propietatea.
Bigarrena da Kokapena sentsorea, hau da Latitudea, Longitudea, eta Altitudea. Kokapenari buruz bi gogoeta daude. Lehenik eta behin, kokapena operadorerik eta propietaterik gabe erabiltzen baduzu, Latitudea, Longitudea eta Altitudea eremuak dituen erregistroa lortuko duzu. Bigarrenik, Altitude propietatea metrotan dago lehenespenez. Oinetara bihurtu nahi baduzu, ordeztu formula hau:
Erabili neurgailuak:
Round(Location.Altitude, 2) & " m"
Erabili oinak:
Round(Location.Altitude \* 3.2808, 2) & " ft"
Oharra
Baliteke sentsoreen propietate askok behar bezala ez funtzionatzea barruko aplikazioa aurreikusten baduzu Power Apps Studio. Probetarako sentsoreen propietateekin lan egiteko, nahiago duzu telefono mugikorra erabili.
Orain kokatu HTML testua kontrol pantailaren beheko erditik gertu.
Gehitu botoia NFC eskaneatzeko eta HTML testu kontrolerako
NFC eskaneatzeko botoia
Gehitu botoia aplikazioan, HTML testua kontrolatu azken urratsean gehitu duzula eta aldatu propietate hauek Aurreratua panelean:
Propietatea | Balioa |
---|---|
OnSelect | ClearCollect (colNFCScan, ReadNFC ()) |
Testu-mezua | "Eskaneatu NFC etiketa" |
Kodea OnSelect jabetza erabiltzen ari da ReadNFC() funtzioa, NFC irakurgailua aktibatzen duena. Ondoren, NFC etiketatik irakurritakoa izeneko bilduman gordetzen du colNFCScan. Bilduma honek lau eremu izango ditu: RTD, Testua, TNF, eta URI. Eremu hauen azalpen osoa artikulu honen eremutik kanpo dagoen arren, azalpen batzuk lagungarriak izan daitezke. TNF esan nahi du Idatzi izenaren formatua eta egitura definitzeko erabiltzen da erregistro mota Definizioa, edo RTD fitxategian jasotako erregistro mota definitzen du Testua eta/edo URI zelaiak. URI esan nahi du Baliabideen identifikatzaile uniformea, hau da, funtsean, baliabide baten helbidea. Adibide honetan erabiltzen ari diren NFC etiketetarako Testua gai honen sarrerako adibideko testua duen eremuan, a edukiko lukete TNF balioa 1, bat I+G balioa T, eta hutsik URI balioa.
Gehitu HTML testu kontrola NFC eskaneatze informazioa bistaratzeko
Gehitu segundo bat HTML text kontrolatu eta erabili honako formula hau HTMLText jabetza:
"<b><u>Next Destination</u></b><br>
<br>" &
First(colNFCScan).Text
Aldatu hurrengo propietateak panel aurreratuan:
Propietatea | Balioa |
---|---|
Tamaina | 21 |
BorderStyle | BorderStyle.Solid |
BorderThickness | 2 |
Zabalera | 560 |
Altuera | 248 |
PaddingTop | 16 |
PaddingRight | 16 |
PaddingBottom | 16 |
PaddingLeft | 16 |
NFC daturik egon gabe, kontrola bistaratuko da Hurrengo helmuga. NFC etiketa eskaneatzen denean, bistaratuko da Hurrengo helmuga, eta ondoren Testua eskaneatzetik jasotako datuetako eremua.
NFC etiketen datuak sarreran deskribatutako moduan konfiguratuta daudela, erabiltzaileak hurrengo iparrorratzaren izenburua, latitudea eta longitudearen balioak ikusiko ditu scavenger ehizaren kokapenaren hurrengo etiketa horietako bat eskaneatu ondoren.
Probatu aplikazioa
Gorde eta argitaratu aplikazioa. Beharrezko sentsoreak dituen gailu mugikorrean, ireki aplikazioa eta begiratu iparrorratzaren izenburua, latitudea, longitudea eta altueraren balioak. Saiatu hainbat norabidetan biratzen ari zaren bitartean ibiltzen, sentsoreen irakurketa desberdinetan aldaketak ikusteko.
Sakatu Eskaneatu NFC etiketa botoia NFC irakurlearen kontrola behatzeko. Produktu bat sor dezakeen NFC etiketa baduzu Testua balioa, eskaneatu etiketa eskuz testuan behatzeko. Bestela, hautatu Utzi.
Gehitu eta konfiguratu bigarren pantaila bat
Gehitu berria Pantaila hutsa aplikazioaren angelua neurtzeko zatirako.
Pantaila gehitu ondoren, itzuli lehen pantailara eta gehitu Hurrengo gezia ikonoa + Txertatu > Ikonoak > aukeratu Hurrengo gezia ikonoa. Kokatu pantailaren goiko eskuineko izkinan eta aldatu propietate hauek Aurreratua panelean:
Propietatea | Balioa |
---|---|
OnSelect | Navigate(Screen2) |
Kolorea | RGBA(255, 255, 255, 1) |
Gehitu berri den bigarren pantailaren izena aldatu baduzu, ordeztu izen hori Pantaila2 urtean Nabigatu funtzioa.
Aurreikusi aplikazioa, gehitu berri den ikonoa hautatuta, gehitu berri den pantaila zurira nabigatzen duzula egiaztatzeko.
Gehitu konfigurazioa X eta Y angeluetarako
Gehitu Testu-etiketa pantailan arrastatuz eta askatuz Txertatu panelean. Kokatu pantailaren goiko ezkerreko izkinan eta aldatu propietate hauek Propietateak panelean:
Propietatea | Balioa |
---|---|
Testu-mezua | "2 Ardatzeko Maila" |
Letra-tamaina | 24 |
Letraren pisua | FontWeight.Semibold |
Testuaren lerrokatzea | Align.Center |
Zabalera | Parent.Width |
Ondoren Aurreratua panelean, aldatu propietate hauek:
Propietatea | Balioa |
---|---|
Kolorea | RGBA(255, 255, 255, 1) |
Bete | RGBA(56, 96, 178, 1) |
Honek bigarren pantailaren goiburua emango du.
Ondoren, gehitu Atzera gezia ikonoa + Txertatu > Ikonoak > aukeratu Atzera gezia ikonoa. Kokatu pantailaren goiko eskuineko izkinan eta aldatu propietate hauek Aurreratua panelean:
Propietatea | Balioa |
---|---|
OnSelect | Navigate(Screen1) |
Kolorea | RGBA(255, 255, 255, 1) |
Gehitu berri den lehen pantailaren izena aldatu baduzu, ordeztu izen hori Pantaila1 urtean Nabigatu funtzioa.
Azkenean, gehitu HTML testua kontrola. Gailuaren sentsoreen irteera guztiak leku berean bistaratzeko erabiliko da. Erabili formula hau HTML Testuaren propietatean:
"<b><u>Angles:</u></b><br>
<br>
<table width='100%'>
<tr>
<td width='50%'><b>X: </b>" & Abs(Round(Acceleration.X * (90 / 9.81),
0)) & Char(0176) & "</td>
<td width='50%'><b>Y: </b>" & Abs(Round(Acceleration.Y * (90 / 9.81),
0)) & Char(0176) & "</td>
</tr>
</table>"
Aldatu hurrengo propietateak fitxa aurreratuan:
Propietatea | Balioa |
---|---|
Tamaina | 21 |
BorderStyle | BorderStyle.Solid |
BorderThickness | 2 |
Zabalera | 560 |
Altuera | 168 |
PaddingTop | 16 |
PaddingRight | 16 |
PaddingBottom | 16 |
PaddingLeft | 16 |
Jarri kontrol hau aplikazioaren pantailaren goialdetik gertu.
Urtean jarritakoa aztertzen baduzu HtmlText, balia zaitezke ohartzen zara Azelerazioa sentsorea, batera X eta Y propietateak. Badago Z agertoki honetan erabiltzen ez dugun jabetza.
Sentsore honek gailuan grabitazio indarrak hiru planoetan hautematen ditu. Adibidez telefono mugikorra erabiliz, imajinatu telefonoaren alboetatik luzatzen den linea. Hau izango litzateke X hegazkina. Telefonoaren eskuina altxatzeak balio positiboa lortuko du eta ezkerraldea altxatzeak balio negatiboa. Telefonoaren goiko eta beheko aldetik hedatzen den lerro batek adieraziko luke Y hegazkina. Telefonoaren goialdea altxatzeak balio positiboa lortuko du eta behealdean altxatzeak balio negatiboa. Azkenean, lerroa ateratzen pantailatik eta telefonoaren atzetik ordezkatzen du Z hegazkina. Pantaila gorantz begira egoteak balio positiboa sortuko du eta beherantz begiratuta balio negatiboa lortuko duzu.
Azelerometroak gailuan eragiten duten indarrak neurtuko ditu bai mugimenduan, hala nola gailua eroriz gero, bai atsedenean, hala nola gailua lehen deskribatutako ardatzetako batean edo gehiagotan okertuz. Atsedenean, balio teorikoek 0 eta +/- 9,81 m / s2 artekoak izan beharko lukete, 0k ardatz erlatiboa Lurrarekiko paraleloa dela sentsorean grabitaterik ez duela eta 9.81 irakurketa ardatz erlatiboa perpendikularra dela adierazten du. Lurrera eta grabitatearen indar osoa sentsorearen gainean ari da.
Kodean HTML testua gehitu berri duzun kontrola, ohar ezazu atal hau:
Abs(Round(Acceleration.X * (90 / 9.81), 0))
Formula honetan, barrutik-kanpora, lehenengoa Azelerazioa gainean X hegazkina biderkatzen ari da (90 / 9,81). Hau atsedenaldiaren gehieneko balio teorikoa erabiltzen ari da sentsorearen irakurketa gradu bihurtzeko. Balioa 90 presente dago, balio teoriko maximoan gailua Lurrarekiko perpendikularra izango litzateke plano horretan, 90 graduko neurria emanez.
Gradutan dagoen balio hori zero hamartarrera biribiltzen da zenbaki osoaren gradu balioa emateko. Azkenean, zenbaki biribil horren balio absolutua irakurketa positiboa emateko kalkulatzen da. Horregatik ez du axola angelua alde batetik edo bestetik neurtzea.
Oharra
Goian partekatutako balioak gutxi gorabeherakoak dira, eta ez dute neurketa zehatza adierazten.
Gehitu maila bisualak
Urrats honetan, kontrol batzuk modu ez konbentzionaletan erabiliko ditugu helburu bisuala lortzeko.
Burbuila zirkularra maila bezalako bisuala
Hasteko, gehitu Botoia pantailan kontrolatu, izena aldatu btnCircleLevel eta aldatu propietate hauek Aurreratua panela:
Propietatea | Balioa |
---|---|
Testu-mezua | "" |
BorderColor | RGBA(56, 96, 178, 1) |
FocusedBorderThickness | 2 |
Bete | Gardena |
DisabledFill | Self.Fill |
X | (Parent.Width - Self.Width) / 2 |
Y | (Parent.Height - Self.Height) / 2 |
Zabalera | 400 |
Altuera | Norbera.Zabalera |
Aldaketa horien emaitzak pantailaren erdialdean botoi zirkular bat sortu beharko luke, desgaituta dagoelako sakatu ezin dena.
Ondoren, gehitu Zirkulu forma, ezarri ertzaren erradioa 400ean eta aldatu propietate hauek Aurreratua panela:
Propietatea | Balioa |
---|---|
FocusedBorderThickness | 0 |
X | (Parent.Width - Self.Width) / 2 + (Round(Acceleration.X / 9.81 * 90, 0) / 90 * btnCircleLevel.Width / 2) |
Y | (Parent.Height - Self.Height) / 2 - (Round(Acceleration.Y / 9.81 * 90, 0) / 90 * btnCircleLevel.Width / 2) |
Zabalera | 42 |
Altuera | Norbera.Zabalera |
Zabalera | 400 |
Altuera | Norbera.Zabalera |
X eta Y propietateek Zirkulu forma aplikazioaren pantailaren erdian mugitzeko, aldaketa erlatiboa Azelerazioa sentsoreen balioak baina btnCircleLevel.
X eta Y ardatzaren burbuila mailaren antzeko irudiak
Gehitu Slider kontrola aplikaziora, berriro izena eman sIdXValue eta aldatu propietate hauek Aurreratua panela:
Propietatea | Balioa |
---|---|
Minutu | -90 |
Gehienekoa | 90 |
Lehenetsiak | Biribila (Azelerazioa.X * (90 / 9,81), 0) |
ValueFill | Norberak.RailFill |
X | (Parent.Width - Self.Width) / 2 |
Y | btnCircleLevel.Y + btnCircleLevel.Hight + 30 |
Zabalera | btnCircleLevel.Zabalera |
Altuera | 70 |
Hau Irristailua kontrolak burbuila - maila baten antzeko angelua erakutsiko du: Heldulekua gailuaren altxatutako aldera mugituko da, burbuila mailan dagoen aire burbuilaren antzera.
Jarraian, kopiatu btnCircleLevel hautatuz, sakatuta Ktrl + C eta gero Ktrl + V. Aldatu izena kontrolari btnXValueOverlay eta aldatu propietate hauek Aurreratua panela:
Propietatea | Balioa |
---|---|
X | sldXValue.X - sldXValue.HandleSize / 2 |
Y | sldXValue.Y |
Zabalera | sldXValue.Width + sldXValue.HandleSize |
Altuera | sldXValue.Height |
Aldaketa hauek kokapenean kokatuko dute sldXValue kontrola, erabiltzaileari bere balioa aldatzea eragotzi eta ertz bisuala eskainiz.
Kopiatu eta itsatsi sldXValue, kopiatzeko erabilitako metodo bera erabiliz btnCircleLevel. Aldatu izena sldYValue eta aldatu propietate hauek:
Propietatea | Balioa |
---|---|
Diseinua | Maketazioa.Bertikala |
X | btnCircleLevel.X - Self.Width - 30 |
Y | (Parent.Height - Self.Height) / 2 |
Zabalera | sldXValue.Height |
Altuera | sldXValue.Width |
Kopiatu eta itsatsi btnXValueOverlay, izena aldatuz btnYValueOverlay, propietate hauek aldatuz:
Propietatea | Balioa |
---|---|
X | sldYValue.X |
Y | sldYValue.Y - sldYValue.HandleSize / 2 |
Zabalera | sldYValue.Width |
Altuera | sldYValue.Height + sldYValue.HandleSize |
Honek burbuila mailaren antzeko irudiak osatzen ditu.
Probatu mailaren aplikazioa
Gorde eta argitaratu aplikazioa. Beharrezko sentsoreak dituen gailu mugikorrean, ireki aplikazioa eta nabigatu pantailara burbuila-maila duten irudiekin. Okertu gailua ezkerretik eskuinera, gero gora eta behera eta, azkenean, norabide guztietan, angeluaren propietateen aldaketak eta ikusizko aldaketak nabarituz. Bilatu angeluazko gainazala gailua jartzeko eta berriro kontutan hartu angeluak eta ikus-entzunezkoak.