سیستم اتوماسیون ساختمان eHouse از – آندروید نرم افزار برای دریافت وضعیت کنترل از طریق UDP

اترنت اتوماسیون صفحه اصلی eHouse از شما اجازه می دهد به طور خودکار ارسال یک وضعیت broadcastu UDP (پروتکل دادهای کاربر) , که می تواند تمام دستگاه های موجود در LAN خود و یا WiFi و IP شرط دریافت – موجود در ماسک های محلی 255 . 255 . 255 . 0 , است که پخش کردن وضعیت آدرس های IP از کنترل 192 . 168 . 0 . X . پخش UDP به شما اجازه می دهد تا غیر فعال کردن وضعیت دانلود از مشتری TCP / IP , که نیاز به اتصال به کنترلر . پخش UDP یک پروتکل بدون اتصال است , برای داده های انتشار و بدون در نظر گرفتن شماره از دستگاه دریافت می کند بیشتر CPU و یا لینک های شبکه را بار نیست .
پخش UDP ساده تابع پذیرش با تلفن های هوشمند , پنل ها و قرص آندروید زیر نشان داده شده است .
از این رو یک حلقه بی نهایت بر اساس این تابع , شما نیاز به ایجاد یک موضوع (تاپیک) در پس زمینه کار , دادن به آن را به پایین ترین اولویت کار .
وگرنه , اعدام این تابع جلوگیری از اعدام از فعالیت های دیگر این برنامه .
منبع کد برای دریافت UDP پخش پلت فرم آندروید:
عمومی از درجه اعتبار ساقط بی سیم (بندر بین المللی) / / پارامتر پورت را انتخاب کنید تا به طور پیش فرض پخش 6789 – وضعیت در کنترل باینری
{
بایت [] broadcastadr = بایت [4] ;
بایت [] localadr = بایت [4] ;
WifiManager فای (WifiManager) getSystemService (بافت . WIFI_SERVICE) ; / / مدیر فای
DhcpInfo DHCP = فای . getDhcpInfo () ; / / دریافت اطلاعات از DHCP فای
اگر (DHCP == تهی) / / دریافت مقدار پیش فرض غیر فعال است اگر شبکه DHCP از eHouse از
{/ / بدون DHCP و یا یک خطا برای دستگاه
broadcastadr [0] = (BYTE) 192 ;
broadcastadr [1] = (BYTE) 168 ;
broadcastadr [2] = (BYTE) 0 ;
broadcastadr [3] = (BYTE) 255 ;
}
دیگری / / DHCP
{
پخش هوشمند (DHCP . IPAddress و ; ; DHCP . نقاب شبکه) | ~ DHCP . نقاب شبکه ; / / برای پخش بی سیم – اگر شما می خواهید برای پخش داده ها بر عملکرد
کنترل دریافت وضعیت
(از نوع int k = 0 ; K < ; 4 ; K + +) broadcastadr [K] = (بایت) ((پخش> ; > ; K * 8) و ; برابر 0xFF) ;
محلی اعضای هیات = (DHCP . ipaddress) ; / / آدرس آی پی محلی DHCP
(از نوع int k = 0 ; K < ; 4 ; K + +) localadr [K] = (بایت) ((محلی> ; > ; K * 8) و ; برابر 0xFF) ; / / برای آدرس آی پی محلی
}
امتحان
{
DS = جدید DatagramSocket (پورت) ; / / / گوش دادن بر روی اطلاعات پورت UDP از هر آی پی
در درون یک ماسک – بی سیم سوکت برای ایجاد یک نمونه از شماره پورت محلی
}
گرفتن (E استثنا)
{
/ / Ehousecommunication . L ( ” خطا در INET: دریافت آدرس ” + E . getMessage ()) ; برای تست
}
امتحان
{
DS . setBroadcast (واقعی) ; / / فعال کردن ارسال پیام پخش – برای انتقال
DS . setReuseAddress (واقعی) ; / / فعال کردن سوکت های متعدد استفاده از همان آدرس IP
/ / DS . setSoTimeout (400) ; / / پذیرش ایست
}
گرفتن (به استثنا یو)
{/ / نادیده گرفتن اشتباهات، اما ما در برابر نرم افزار و خطاهای سیستم محافظت می کند
}
/ / * بی سیم پخش TEST – broadcastu آزمون بی سیم پخش از طریق تلفن و یا رایانه لوحی خود را – ارتباط در آینده با استفاده از
/ * سعی کنید
{
DatagramPacket DD = DatagramPacket جدید ( ” سلام کلام از TEST UPD آندروید ” . getBytes () , 0 , ” سلام کلام از TEST UPD آندروید ” . طول () ,
InetAddress . getByAddress (broadcastadr) , پورت) ;
DS . ارسال (DD) ; / / می فرستد DatagramPacket
}
گرفتن (E استثنا)
{
ehousecommunication . L ( ” انتقال بسته دادهای خطا: ” + E . getMessage ()) ;
}
* /
MulticastLock ML = فای . createMulticastLock ( ” چندپخشی قفل فعال ” ) ;
/ / ایجاد یک نمونه از بلوک چندپخشی و broadcastu
میلی لیتر . بدست آوردن () ; / / چندپخشی قفل فعال بی سیم دریافت پخش – برخی از گوشی های هوشمند آندروید می توان آن را برای اهداف صرفه جویی در batery غیر فعال شده –
پشتیبانی UDP فعال broadcastu تلفن اگر آن را قفل شده است و تنها از کار افتاده
در حالی که (! ehousecommunication . خاتمه دادن) / / حلقه بی نهایت برای دریافت بی سیم
{/ / حلقه نامتناهی دریافت وضعیت بی سیم
DatagramPacket DP = جدید DatagramPacket (پیام , پیام . طول) ; / / ایجاد بافر بسته UDP دیتاگرام با استفاده از داده – بسته UDP استفاده می کند
بافر ” پیام ”
سعی کنید
DS . دریافت (DP) ; / / دریافت بسته بی سیم از سیستم eHouse – دریافت بسته پورت UDP UDP سوکت
اگر (DP . getLength ()> ; 0) / / اگر به اندازه بسته بزرگتر از صفر – چیزی را دریافت
{
EhouseTCP . QueryBuff = DP . getData () ; / / اختصاص یک پخش بی سیم recepition querybuffer – لود شده به eHouse از وضعیت بافر
/ / DP . setLength (0) ; – اندازه بسته صفر تا مبادا به پردازش داده های مشابه بارها و بارها
EhouseTCP . QueryReceived () ; / / رمزگشایی آرایه های داده پرس و جو و پر کردن دستگاه – رمزگشایی از وضعیت کنترل و بارهای نرم افزار جدول وضعیت
}
}
گرفتن (به استثنا سیستم عامل)
{/ / نادیده گرفتن خطاها
/ / Ehousecommunication . L ( ” asdfasdfsafsa ” + سیستم عامل . getMessage ()) ; / / برای آزمون تنها
}
}
میلی لیتر . آزادی () ; / / چندپخشی قفل بی سیم رایگان برای پذیرایی از برنامه eHouse از – آزاد چندپخشی قفل
DS . نزدیک () ; / / بستن سوکت دیتاگرام در پایان – بسته سوکت در پایان
}
قفل چندپخشی ممکن است در برخی از دستگاه های آندروید مورد نیاز .
UDP پخش محلی در مورد گوشی های تلفن همراه می تواند فعال باشد و یا بر روی سیستم عامل تلفن همراه بسته به نوع .
همچنین می تواند به طور دائم برای صرفه جویی در باتری و به دلایل ایمنی غیر فعال و یا به منظور کاهش بار CPU بر روی شبکه در محل کار .
(توجه داشته باشید که پیکربندی کرنل: CONFIG_IP_MULTICAST تنظیم نشده است) .
بعلاوه , بعضی از مدل ها می توانند در فایروال های محلی مسدود شده است و نیاز به فعال کردن انتقال بر روی یک پورت داده شده (به طور پیش فرض 6789) .
خارج پخش در هنگام اتصال به اینترنت با استفاده از GPRS , EDGE , 3G , 4G را می توان و یا توسط اپراتور شبکه قفل شده و قفل . بیشتر , اما , باید انتظار داشت , که در آن ثابت است به منظور به حداقل رساندن استفاده از لینک .
در برخی از مدل های گوشی های تلفن همراه , نرم افزار وضعیت پیاده سازی از کنترل دریافت UDP می تواند بسیار دشوار و یا حتی غیر ممکن . ممکن است نیاز به استفاده از niebrandowanego سیستم عامل خاص و یا گوشی های هوشمند .
بعلاوه , باید دقت شود که upgradowaniu افزار و بررسی کنید که تمام ویژگی های در حال کار به درستی خارج از جعبه , در غیر این صورت تشخیص از اشتباهات بسیار دشوار خواهد بود .
بر اساس برخی از گوشی های HTC و سایر محصولات که شامل نسخه سیستم عامل آندروید کمتر از 2 . 3 . 3 مشاهده کل یک بلوک UDP پذیرش و broadcastu .
این نسخه از آندروید (2 بود . 1 – 2 . 3 دوره از 01 . 01 . 2010 – 14 . 06 . 2011)
اگر شما می توانید UDP broadcastu دانلود و نصب را دریافت نمی , نسخه جدید اندروید ROM حداقل از 2 . 3 . (3 روز 14 ژوئن , 2011) , که آزمایش صحت کار بار پخش UDP .
کرنل نسخه 2 . 6 . 35 . 10 – htcg3ef43272 – هسته @ and18 – 2 # 1 .
بدون . 3software . 14 . 405 . 1 .
برای علامت های تجاری دیگر از تلفن های همراه با مشکلات مشابه , دانلود نرم افزار آندروید رام از تولید کننده , نسخه ای از حداقل 2 . 3 . 3 .
همچنین توجه داشته باشید ویژگی های ضروری از بسته های UDP .
آنها ناهمزمان و نیاز به مطالعه در مورد آنچه که ممکن است باعث شود داده خوانده اشتباهات , از دست دادن آنها (حذف) , به ویژه با تجهیزات آهسته , لینک , ترکیب بار بالا و CPU اشغال تلفن های هوشمند و قرص .
داده های بی سیم وضعیت در کنترلی مجهز برای بررسی اعتبار داده ها .
صفحه اصلی تولید کننده اتوماسیون eHouse از اتوماسیون صفحه اصلی eHouse از
کنترل eHouse از – اتوماسیون صفحه اصلی eHouse از