eHouse Adeiladu System Automation – Android meddalwedd i dderbyn y statws o reolwyr drwy CDU

Ethernet Automation Hafan eHouse yn caniatáu i chi yn awtomatig yn anfon statws broadcastu CDU (Defnyddiwr Datagram Protocol) , sy'n gallu derbyn yr holl ddyfeisiau yn eich LAN neu a IP WiFi bodloni'r cyflwr – Dod o hyd yn y mwgwd lleol 255 . 255 . 255 . 0 , sy'n cael ei darlledu oddi ar y statws y cyfeiriadau IP y rheolwyr 192 . 168 . 0 . x . CDU Broadcast yn eich galluogi i analluoga 'r download statws y cleient TCP / IP , sy'n gofyn am cysylltiad â'r rheolwr . CDU Broadcast yn brotocol connectionless , ar gyfer data lluosogi ac nid waeth beth yw nifer y dyfeisiau sy'n derbyn yn llwytho mwy y CPU neu gysylltiadau rhwydwaith .
Swyddogaeth syml darlledu CDU dderbynfa gyda smartphones , paneli a thabledi Android yn cael ei ddangos isod .
Felly mae'n dolen ddiddiwedd ar y sail y swyddogaeth , mae angen i chi greu edau (edau) yn gweithio yn y cefndir , gan roi iddo y gwaith blaenoriaeth isaf .
Fel arall , cyflawni swyddogaeth hon rhwystro cyflawni gweithgareddau eraill y rhaglen .
Mae'r cod ffynhonnell ar gyfer derbyn CDU llwyfan Android Darlledwyd:
darlledu ddi-rym cyhoeddus udp (int porthladd) / porthladd / paramedr i godi 'r ball 6789 – statws yn rheolwr deuaidd
{
beit [] broadcastadr = newydd beit [4] ;
beit [] localadr = newydd beit [4] ;
WifiManager wifi = (WifiManager) getSystemService (Cyd-destun . WIFI_SERVICE) ; / / Rheolwr Wifi
DhcpInfo dhcp = wifi . getDhcpInfo () ; / / Cael gwybodaeth o wifi dhcp
os (dhcp == null) / / yn cael gwerth diofyn yn anabl os DHCP rhwydwaith o eHouse
{/ / Na dhcp neu gwallau ar gyfer y ddyfais
broadcastadr [0] = (beit) 192 ;
broadcastadr [1] = (beit) 168 ;
broadcastadr [2] = (beit) 0 ;
broadcastadr [3] = (beit) 255 ;
}
arall / / DHCP
{
darlledu = int (dhcp . IPAddress & ; ; dhcp . masg rhwydwaith) | ~ dhcp . masg rhwydwaith ; / / I udp darlledu – Os ydych am i ddarlledu'r data ar y swyddogaeth
rheolwr ond yn derbyn statws
ar gyfer (int k = 0 ; k < ; 4 ; k + +) broadcastadr [k] = (beit) ((darlledu> ; > ; k * 8) & ; 0xFF) ;
lleol int = (dhcp . ipaddress) ; / / Cyfeiriad ip dhcp Lleol
ar gyfer (int k = 0 ; k < ; 4 ; k + +) localadr [k] = (beit) ((lleol> ; > ; k * 8) & ; 0xFF) ; / / I gyfeiriad ip lleol
}
roi cynnig ar
{
ds = newydd DatagramSocket (porthladd) ; / / / Gwrando ar udp ddata porthladd o unrhyw ip
y tu mewn mwgwd – udp soced i greu enghraifft o nifer porthladd lleol
}
dal (e Eithriad)
{
/ / Ehousecommunication . l ( ” INet Gwall: cael gyfeiriad ” + E . getMessage ()) ; ar gyfer y prawf
}
roi cynnig ar
{
ds . setBroadcast (wir) ; / / Galluogi anfon neges darlledu – ar gyfer trosglwyddo
ds . setReuseAddress (wir) ; / / Galluogi soced lluosog yn defnyddio'r un cyfeiriad IP
/ / Ds . setSoTimeout (400) ; / / Derbynfa timeout
}
dal (io Eithriad)
{/ / Anwybyddu gwallau, ond rydym yn amddiffyn yn erbyn gwallau cais a system
}
/ PRAWF * / darllediad CDU – darlledu broadcastu prawf udp gan eich ffôn neu dabled – cyfathrebu yn y dyfodol gyda'r cais o
/ * Rhowch gynnig ar
{
DatagramPacket dd DatagramPacket newydd = ( ” Helo Word o PRAWF Android CDU ” . getBytes () , 0 , ” Helo Word o PRAWF Android CDU ” . hyd () ,
InetAddress . getByAddress (broadcastadr) , porthladd) ;
ds . anfon (dd) ; / / Anfon a DatagramPacket
}
dal (e Eithriad)
{
ehousecommunication . l ( ” Trosglwyddo gwall pecyn Datagram: ” + E . getMessage ()) ;
}
* /
MulticastLock ml = wifi . createMulticastLock ( ” Clo amlddarlledydd galluogi ” ) ;
/ / Creu enghraifft o amlddarlledydd bloc a broadcastu
ml . Gaffael () ; / / Derbynfa galluogi darlledu clo Multicast wedi udp – Gall fod yn anabl smartphones Android rhai ar gyfer Dibenion arbed batery –
broadcastu CDU cefnogaeth activates y ffôn os caiff ei gloi ac anabl yn unig
ychydig (! ehousecommunication . Terfynu) / dolen / anfeidrol gyfer udp dderbynfa
{/ / 'N Anfeidraidd dolen derbyn udp statws
DatagramPacket dp = newydd DatagramPacket (neges , neges . hyd) ; / / Creu udp byffer pecyn datagram gan ddefnyddio data – yn gwneud defnydd o'r pecyn CDU
clustogi ” neges ”
roi cynnig ar {
ds . derbyn (dp) ; / / Derbyn pecyn CDU o system eHouse – yn derbyn y pecyn udp porthladd y CDU a soced
os (dp . getLength ()> ; 0) / / os maint y parseli yn fwy na sero – rhywbeth a dderbyniwyd
{
EhouseTCP . QueryBuff = dp . getData () ; / / Neilltuo darllediad udp recepition querybuffer – llwytho i mewn i'r statws byffer eHouse
/ / Dp . setLength (0) ; – maint y pecyn yn cael ei osod i sero fel na fydd prosesu'r data un dro ar ôl tro
EhouseTCP . QueryReceived () ; / / Decode araeau data ymholiad a llenwi dyfeisiau – decodes y statws o reolwyr a llwythi y cais tabl statws
}
}
dal (if Eithriad)
{/ / Anwybyddu gwallau
/ / Ehousecommunication . l ( ” asdfasdfsafsa ” + NO . getMessage ()) ; / / Ar gyfer prawf yn unig
}
}
ml . rhyddhau () ; / / Multicast udp clo rhad ac am ddim ar gyfer derbyn cais eHouse – rhyddhau'r amlddarlledydd clo
ds . cau () ; / / Caewch y soced datagram ar ddiwedd y – cau y soced ar ddiwedd y
}
Efallai y clo amlddarlledydd yn ofynnol mewn rhai dyfeisiau Android .
Gall CDU Darlledu Lleol yn achos ffonau symudol yn cael ei alluogi ai peidio yn dibynnu ar y firmware ffôn symudol .
Gall hefyd fod yn anabl yn barhaol ar gyfer arbed batri ac am resymau diogelwch neu i leihau llwyth y CPU ar y rhwydwaith yn y gwaith .
(Noder y cyfluniad cnewyllyn: Nid CONFIG_IP_MULTICAST ei osod) .
Yn ogystal, , gall rhai modelau gael eu rhwystro gan wal dân leol ac mae angen at activate y trosglwyddo ar borthladd penodol (diofyn 6789) .
Y tu allan Darlledu wrth ddefnyddio GPRS cysylltiadau Rhyngrwyd , EDGE , 3G , Gellir 4G yn cael ei gloi neu gloi gan y gweithredwr y rhwydwaith . Yn fwy aml , Fodd bynnag, , dylid disgwyl , fod wedi ei osod er mwyn lleihau ar y defnydd o gyswllt .
Mewn rhai modelau o ffonau symudol , Gall statws gweithredu meddalwedd o reolwyr yn derbyn CDU fod yn anodd iawn neu hyd yn oed yn amhosibl . Efallai y bydd angen y defnydd o niebrandowanego firmware arbennig neu smartphone .
Yn ogystal, , Rhaid bod yn ofalus wrth upgradowaniu firmware a gwirio bod yr holl nodweddion yn cael eu gweithio'n iawn allan o'r bocs , fel arall bydd y diagnosis o gamgymeriadau fod yn anodd iawn .
Yn seiliedig ar rai ffonau HTC a chynhyrchion eraill sy'n cynnwys y fersiwn weithredu Android system is na 2 . 3 . 3 arsylwi bloc cyfanswm CDU dderbynfa broadcastu .
Hwn oedd y fersiwn o Android (2 . 1 – 2 . 3 y cyfnod o 01 . 01 . 2010 – 14 . 06 . 2011)
Os na allwch dderbyn CDU broadcastu lawrlwytho a gosod , New Fersiwn ROM Android y 2 o leiaf . 3 . 3 (Mehefin 14 , 2011) , a oedd yn profi cywirdeb y darllediad llwytho gwaith CDU .
Chnewyllyn Fersiwn 2 . 6 . 35 . 10 – htcg3ef43272 – cnewyllyn @ and18 – 2 # 1 .
Dim . 3software . 14 . 405 . 1 .
Ar gyfer brandiau eraill o ffonau sydd â phroblemau tebyg , os gwelwch yn dda lawrlwytho Firmware Android Rom gan y gwneuthurwr , fersiwn o leiaf 2 . 3 . 3 .
Noder hefyd y nodweddion hanfodol y CDU Pacedi .
Maent yn asynchronous ac yn ei gwneud yn ofynnol darllen am yr hyn a allai achosi data ddarllen gwallau , eu colled (shedding) , yn enwedig gydag offer araf , cysylltiadau , cyfuno llwyth uchel a smartphones galwedigaeth CPU a thabledi .
Data statws cdu wedi'i gyfarparu yn checksum i wirio dilysrwydd y data .
Cynhyrchydd Automation Hafan eHouse Automation Hafan eHouse
Rheolwyr eHouse – Automation Hafan eHouse