еХоусе Аутоматизација у зградама система – Андроид софтвер да добију статус контролора преко УДП

Етхернет Хоме Аутоматион еХоусе омогућавају да аутоматски пошаље статусну броадцасту УДП (Усер Датаграм Протоцол) , која може да прими све уређаје у вашем ЛАН или ВиФи и ИП задовољавају услов – Пронађено у локалној маском 255 . 255 . 255 . 0 , који се емитује ван статусу ИП адресе контролора 192 . 168 . 0 . к . УДП Емитовање омогућава да онемогућите за преузимање статус ТЦП / ИП клијент , која захтева везу са контролером . УДП Емитовање је неповезани протокол , за простирања података и без обзира на број пријема уређаја не учита више процесора или мрежне везе .
Једноставно УДП емитовања пријем функција са паметних телефона , панели и Андроид таблете је приказано испод .
Стога је бесконачна петља на основу ове функције , морате да креирате навој (навој) који раде у позадини , дајући јој најнижи приоритет рад .
Иначе , извршење ове функције блокира извршење других активности програма .
Изворни код за пријем УДП емитовани Андроид платформу:
публиц удп (инт порт) / / параметар порт да покупи подразумевану емитован 6789 – статус у бинарном контролер
{
бите [] = нев броадцастадр бите [4] ;
бите [] = нев лоцаладр бите [4] ;
ВифиМанагер вифи = (ВифиМанагер) гетСистемСервице (Контекст . ВИФИ_СЕРВИЦЕ) ; / / Вифи менаџер
ДхцпИнфо дхцп = вифи . гетДхцпИнфо () ; / / Гет инфо из ВиФи ДХЦП
иф (дхцп == нулл) / / добијају дефаулт вредност је онемогућено ако ДХЦП мрежа еХоусе
{/ / Не ДХЦП или грешка за уређај
броадцастадр [0] = (бите) 192 ;
броадцастадр [1] = (бите) 168 ;
броадцастадр [2] = (бите) 0 ;
броадцастадр [3] = (бите) 255 ;
}
друго / / ДХЦП
{
броадцаст = инт (дхцп . ИП адреса и ; ; дхцп . нетмаск) | ~ дхцп . нетмаск ; / / За удп емитовању – Ако желите да емитујете податке о функцији
Контролер добија само статус
фор (инт к = 0 ; к < ; 4 ; к + +) броадцастадр [к] = (бајт) ((емитује> ; > ; к * 8) и ; 0кФФ) ;
локални инт = (дхцп . ИП адреса) ; / / Локални ип адреса дхцп
фор (инт к = 0 ; к < ; 4 ; к + +) лоцаладр [к] = (бајт) ((локални> ; > ; к * 8) и ; 0кФФ) ; / / За локалну ип адресу
}
пробати
{
дс = нев ДатаграмСоцкет (лука) ; / / / Слушајући на УДП порту подацима из било ип
унутар маске – удп утичница за креирање инстанце локалног порта
}
цатцх (Екцептион е)
{
/ / Ехоусецоммуницатион . л ( ” Грешка Инет гет адресу ” + Е . гетМессаге ()) ; за тест
}
пробати
{
дс . сетБроадцаст (истина) ; / / Омогући слање порука за емитовање – за пренос
дс . сетРеусеАддресс (истина) ; / / Омогући више утичница користе исту ИП адресу
/ / Дс . сетСоТимеоут (400) ; / / Пријем тимеоут
}
цатцх (Екцептион ио)
{/ / Игноре грешака, али смо заштитили од апликација и система грешке
}
/ / * Удп емитовање ТЕСТ – броадцасту тест удп емитује из вашег телефона или таблета – Будућност комуникација са применом
/ * Покушајте
{
ДатаграмПацкет дд = нев ДатаграмПацкет ( ” Поздрав Реч Андроид УПД ТЕСТ ” . гетБитес () , 0 , ” Поздрав Реч Андроид УПД ТЕСТ ” . Дужина () ,
ИнетАддресс . гетБиАддресс (броадцастадр) , порт) ;
дс . сенд (дд) ; / / Шаље ДатаграмПацкет
}
цатцх (Екцептион е)
{
ехоусецоммуницатион . л ( ” Трансмит Датаграм пакета грешку: ” + Е . гетМессаге ()) ;
}
* /
МултицастЛоцк мл = вифи . цреатеМултицастЛоцк ( ” Мултицаст омогућен брава ” ) ;
/ / Креирање инстанцу блока вишеструко и броадцасту
мл . Ацкуире () ; / / Мултицаст брава енабле удп емитовање пријем – Може се онемогућио Одређене Андроид смартпхоне за батери уштеде сврхе –
броадцасту УДП подршка активира телефон ако је закључан и само онемогућена
док (ехоусецоммуницатион! . Прекинути) / / бесконачна петља за пријем удп
{/ / Бесконачна петља добијања статуса удп
ДатаграмПацкет дп = нев ДатаграмПацкет (порука , порука . дужина) ; / / Креирање удп датаграм пакет бафер користи податке – користи УДП пакета
буффер ” порука ”
три {
дс . пријем (ДП) ; / / УДП пакет пријем од еХоусе система – прими пакет удп порт УДП соцкет
иф (дп . гетЛенгтх ()> ; 0) / / уколико величина парцела већа од нуле – Нешто је добио
{
ЕхоусеТЦП . КуериБуфф = дп . Гетдата () ; / / Додељивање удп емитовање рецепитион куерибуффер – учитан у еХоусе тампон статуса
/ / ДП . сетЛенгтх (0) ; – величина пакета је подешен на нулу, тако да не би стално обрађују исте податке
ЕхоусеТЦП . КуериРецеивед () ; / / Декодирање низова података упита и попуните уређаје – декодира статус контролора и оптерећења апликација статуса табеле
}
}
цатцх (Екцептион ос)
{/ / Игноре грешке
/ / Ехоусецоммуницатион . л ( ” асдфасдфсафса ” + Ос . гетМессаге ()) ; / / За тестирање само
}
}
мл . ослобађање () ; / / Мултицаст удп брава слободан за пријем еХоусе апликације – ослобађа блокаде Мултицаст
дс . цлосе () ; / / Затварање датаграм сокет на крају – затвара утичницу на крају
}
Мултицаст брава може бити потребна у неким Андроид уређаје .
Локална објављивање УДП у случају мобилних телефона могу да буду омогућене или не у зависности од мобилног телефона фирмваре .
Такође, може бити трајно искључена из батерије штедње и из безбедносних разлога или да се смањи оптерећење ЦПУ на мрежи на послу .
(Напомена конфигурацију кернела: ЦОНФИГ_ИП_МУЛТИЦАСТ није постављен) .
Додатно , неки модели могу бити блокирани од стране локалног фиревалл и треба да активира пренос на датом порту (дефаулт 6789) .
Изван објављивање када користите ГПРС Интернет везе , ЕДГЕ , 3Г , 4Г може закључати или откључати од стране оператера мреже . Чешће , међутим , треба очекивати , да је фиксирана у циљу минимизирања искоришћеност везе .
У неким моделима мобилних телефона , Софтвер имплементација статус контролора примају УДП може бити веома тешко или чак немогуће . Може захтевају коришћење посебног софтвера ниебрандованего или смартпхоне .
Додатно , мора се водити рачуна када упградованиу фирмваре и проверите да ли су све функције раде правилно оут оф тхе бок , иначе дијагноза грешака ће бити веома тешко .
На основу неких ХТЦ телефона и других производа који садрже Андроид оперативни систем верзија мања од 2 . 3 . 3 приметио тоталну блокаду УДП пријем броадцасту .
Ово је верзија Андроид (2 . 1 – 2 . 3 од периода 01 . 01 . 2010 – 14 . 06 . 2011)
Ако не можете да примате УДП броадцасту преузети и инсталирати , Нови Андроид РОМ верзија Минимум 2 . 3 . 3 (14. јун , 2011) , која је тестирала исправност рада оптерећења УДП емитовању .
Кернел Верзија 2 . 6 . 35 . 10 – хтцг3еф43272 – Језгро @ анд18 – 2 # 1 .
Не . 3софтваре . 14 . 405 . 1 .
За друге марке телефона са сличним проблемима , преузмите фирмваре Андроид Ром од произвођача , верзија најмање 2 . 3 . 3 .
Приметимо такође битне карактеристике УДП Пацкетс .
Они су асинхрони и захтевају читање о томе шта може да изазове грешке читања података , њихов губитак (проливање) , посебно са спорим опремом , линкови , комбинују високу носивост и смартфоне окупационе ЦПУ и таблетама .
УДП статус подаци опремљена у цхецксум да провери исправност података .
Хоме Аутоматион Продуцент еХоусе Хоме Аутоматион еХоусе
еХоусе Контролери – Хоме Аутоматион еХоусе