Building Automation eHouse Sistèm – Android lojisyèl resevwa estati a nan contrôleur via udp

Ethernet Automation Kay eHouse pèmèt ou otomatikman voye yon estati broadcastu udp (User datagram Pwotokòl) , sa ki ka resevwa tout aparèy yo ki nan LAN ou a oswa WiFi ak IP satisfè kondisyon an – Yo te jwenn nan mask la lokal 255 . 255 . 255 . 0 , ki se emisyon nan estati a adrès ki IP nan contrôleur yo 192 . 168 . 0 . x . Udp Difizyon pèmèt ou enfim estati a download nan kliyan an tchp / IP , ki mande pou yon koneksyon sou kontwolè a . Udp Difizyon se yon pwotokòl koneksyon , pou done pwopagasyon ak kèlkeswa kantite a nan aparèy yo k ap resevwa pa chaje plis CPU a oswa lyen rezo .
Senp difizyon resepsyon udp fonksyon ak smartphones , panno ak android tablèt a yo montre anba a .
Se poutèt sa yon riban enfini sou baz sa a fonksyon , ou bezwen yo kreye yon moso fil (fil) k ap travay nan background nan , bay li travay la priyorite ki pi ba .
Sinon , ekzekisyon sa a fonksyon bloke ekzekisyon an nan lòt aktivite nan pwogram nan .
Sous kòd la pou resevwa udp Difizyon android platfòm:
piblik udp anile (Int pò) / / paramèt pò nan ranmase default la emèt 6789 – estati nan kontwolè binè
{
multiple [] broadcastadr = nouvo multiple [4] ;
multiple [] localadr = nouvo multiple [4] ;
WifiManager wifi = (WifiManager) getSystemService (Context . WIFI_SERVICE) ; / / Wifi manadjè
DhcpInfo dkp = wifi . getDhcpInfo () ; / / Jwenn info soti nan wifi dkp
si (dkp == nil) / / jwenn valè default ki enfim si dkp rezo nan eHouse
{/ / Non dkp oswa yon erè pou aparèy la
broadcastadr [0] = (multiple) 192 ;
broadcastadr [1] = (multiple) 168 ;
broadcastadr [2] = (multiple) 0 ;
broadcastadr [3] = (multiple) 255 ;
}
lòt bagay / / dkp
{
difizyon = int (dkp . IPAddress & ; ; dkp . mask) | ~ dkp . mask ; / / Pou udp difizyon – Si ou vle emisyon done yo sou fonksyon an
kontwolè sèlman resevwa estati
pou (Int k = 0 ; k < ; 4 ; K + +) broadcastadr [k] = (multiple) ((emisyon> ; > ; k * 8) & ; 0xFF) ;
lokal int = (dkp . ipaddress) ; / / Lokal adrès IP dkp
pou (Int k = 0 ; k < ; 4 ; K + +) localadr [k] = (multiple) ((lokal> ; > ; k * 8) & ; 0xFF) ; / / Pou lokal adrès IP
}
eseye
{
ds = nouvo DatagramSocket (pò) ; / / / Tande sou udp done pò nan nenpòt IP
andedan yon mask – udp priz yo kreye yon egzanp nan nimewo a pò lokal
}
trape (e Eksepsyon)
{
/ / Ehousecommunication . l ( ” Ine Erè: jwenn adrès ” + E . getMessage ()) ; a, pou tès
}
eseye
{
ds . setBroadcast (vre) ; / / Pèmèt voye mesaj difizyon – pou transmisyon
ds . setReuseAddress (vre) ; / / Pèmèt miltip priz itilize menm adrès la IP
/ / DS . setSoTimeout (400) ; / / Travay Biwo poz
}
trape (IO Eksepsyon)
{/ / Ignore erè men nou pwoteje kont aplikasyon ak sistèm erè
}
/ / * Udp difizyon EGZAMEN – broadcastu tès udp emisyon soti nan telefòn ou oswa konprime – lavni kominikasyon yo ak aplikasyon an nan
/ * Eseye
{
DatagramPacket jj = nouvo DatagramPacket ( ” Alo Pawòl soti nan EGZAMEN android up ” . getBytes () , 0 , ” Alo Pawòl soti nan EGZAMEN android up ” . longè () ,
InetAddress . getByAddress (broadcastadr) , pò) ;
ds . voye (jj) ; / / Voye yon DatagramPacket
}
trape (e Eksepsyon)
{
ehousecommunication . l ( ” Transmèt datagram erè pake: ” + E . getMessage ()) ;
}
* /
MulticastLock ml = wifi . createMulticastLock ( ” Multikast lock pèmèt ” ) ;
/ / Kreye yon egzanp nan multikast nan blòk ak broadcastu
ml . Jwenn () ; / / Multikast lock abilite udp difizyon resepsyon – Li kapab enfim Sèten smartphones android Fè pou Objektif ekonomize batery –
broadcastu udp sipò aktive telefòn nan si li klete e pou yo sèlman ki enfim
pandan y ap (! ehousecommunication . Mete fen nan) / / enfini riban pou resepsyon udp
{/ / Enfini riban k ap resevwa udp estati
DatagramPacket DP = nouvo DatagramPacket (mesaj , mesaj . longè) ; / / Kreye udp tanpon pake datagram lè l sèvi avèk done – fè pou sèvi ak pake a udp
tanpon ” mesaj ”
eseye {
ds . resevwa (DP) ; / / Udp pake resepsyon nan sistèm eHouse – resevwa pake udp pò a nan udp nan yon priz
si (DP . getLength ()> ; 0) / / si gwosè a nan tè ki pi konsekan pase zewo – yon bagay te resevwa
{
EhouseTCP . QueryBuff = DP . getData () ; / / Bay yon udp difizyon recepition querybuffer – chaje nan eHouse nan estati tanpon
/ / DP . setLength (0) ; – se gwosè pake mete a zewo Konsa yo pa travay sou done yo menm repete
EhouseTCP . QueryReceived () ; / / Dekode done rechèch ranje, epi nwasi aparèy – Decoder estati a nan contrôleur ak charj tab la estati aplikasyon
}
}
trape (kreyòl Eksepsyon)
{/ / Ignore erè
/ / Ehousecommunication . l ( ” asdfasdfsafsa ” + Os . getMessage ()) ; / / Pou tès sèlman
}
}
ml . lage () ; / / Multikast udp lock gratis pou resepsyon nan aplikasyon eHouse – degaje multikast la lock
ds . fèmen () ; / / Fèmen priz la datagram nan fen a – fèmen priz la nan fen
}
Ka multikast lock ka nesesè pou kèk aparèy android .
Ka Lokal udp Difizyon nan ka a nan telefòn mobil dwe pèmèt oswa pa depann sou mikrolojisyèl a telefòn mobil .
Li kapab tou pou tout tan enfim pou ekonomize batri ak pou rezon tankou sekirite oswa diminye chay la CPU sou rezo a nan travay .
(Note configuration la, te Kernel: CONFIG_IP_MULTICAST se pa sa mete) .
Anplis de sa , kèk modèl yo ka bloke pa yon firewall lokal yo ak bezwen aktive transmisyon an sou yon pò ki bay (default 6789) .
Deyò Difizyon lè w ap itilize GPRS Entènèt koneksyon , FWONTYÈ , 3 G , 4 G yo kapab bloke nan oswa louvri pa operatè a rezo . Pi souvan , sepandan , yo ta dwe atann , ke li se fiks yo nan lòd pou misyon pou minimize itilizasyon de lyen ki .
Nan kèk modèl nan telefòn mobil , Estati aplikasyon lojisyèl nan contrôleur k ap resevwa udp ka trè difisil oswa menm enposib . Ka mande pou itilize nan niebrandowanego mikrolojisyèl espesyal oswa smartphone .
Anplis de sa , swen ou dwe pran li lè upgradowaniu mikrolojisyèl epi tcheke ke tout karakteristik yo ap travay byen soti nan bwat la , otreman dyagnostik la nan erè yo ki pral trè difisil .
Ki baze sou kèk telefòn HTC ak lòt pwodwi ki ki genyen opere vèsyon an android sistèm pi ba pase 2 . 3 . 3 obsève yon blòk total udp resepsyon broadcastu .
Sa a te vèsyon an android a (2 . 1 – 2 . 3 nan peryòd la nan 01 . 01 . 2010 – 14 . 06 . 2011)
Si ou pa kapab resevwa udp broadcastu download ak enstale , New android ROM vèsyon an 2 nan minimòm . 3 . 3 (14 jen , 2011) , ki teste ekzaktitid a nan chaj difizyon travay la udp .
Kernel Haitian Creole 2 . 6 . 35 . 10 – htcg3ef43272 – Kernel @ and18 – 2 # 1 .
Pa gen . 3software . 14 . 405 . 1 .
Pou lòt mak nan telefòn ki gen pwoblèm ki sanble , tanpri download mikrolojisyèl android Rom soti nan manifakti a , vèsyon an omwen 2 . 3 . 3 .
Note tou karakteristik sa yo esansyèl nan udp sache .
Yo se asenkron epi mande pou lekti sou sa ki ka lakòz done li erè , pèt yo (eliminasyon) , sitou ak dousman ekipman , lyen , konbine segondè chaj ak smartphones okipasyon CPU ak tablèt .
Done udp estati an equiped nan kontwòl yo tcheke validite nan done .
Kay Automation Pwodiktè eHouse Automation Kay eHouse
eHouse regulateur – Automation Kay eHouse