نظام eHouse بناء الأتمتة – الروبوت البرمجيات لاستقبال حالة وحدات تحكم عن طريق UDP

إيثرنت أتمتة المنزل eHouse تسمح لك بإرسال تلقائيا وضع broadcastu UDP (بروتوكول مخطط بيانات المستخدم) , والتي يمكن الحصول على كافة الأجهزة في شبكة الاتصال المحلية أو واي فاي وIP تلبية الشرط – وجدت في قناع المحلية 255 . 255 . 255 . 0 , التي تبث من على وضع عناوين IP وحدات تحكم 192 . 168 . 0 . X . UDP البث يسمح لك لتعطيل حالة التنزيل للعميل TCP / IP , الأمر الذي يتطلب اتصال إلى وحدة تحكم . UDP هو بروتوكول البث بدون اتصال , لنشر البيانات وبغض النظر عن عدد من الأجهزة المستقبلة لا يتم تحميل أكثر من CPU أو وصلات الشبكة .
بسيطة استقبال الإذاعة وظيفة UDP مع الهواتف الذكية , ويرد لوحات وأقراص الروبوت أدناه .
ولذلك حلقة لا نهائية على أساس هذه الوظيفة , تحتاج إلى إنشاء الموضوع (موضوع) التي تعمل في الخلفية , ويعطيها الأولوية في العمل أقل .
وإلا , تنفيذ هذه الوظيفة منع تنفيذ أنشطة أخرى من البرنامج .
شفرة المصدر لتلقي UDP منصة أندرويد إذاعة:
بث UDP العامة باطلة (الباحث الميناء) / ميناء / المعلمة لالتقاط الافتراضي 6789 – الحالة في وحدة تحكم ثنائية
{
بايت [] = broadcastadr جديدة بايت [4] ;
بايت [] = localadr جديدة بايت [4] ;
WifiManager واي فاي = (WifiManager) getSystemService (السياق . WIFI_SERVICE) ; / / مدير واي فاي
DhcpInfo DHCP = واي فاي . getDhcpInfo () ; / / احصل على معلومات من DHCP واي فاي
إذا كان (DHCP == فارغة) / / الحصول على القيمة الافتراضية إذا تم تعطيل DHCP شبكة من eHouse
{/ / DHCP لا أو خطأ للجهاز
broadcastadr [0] = (البايت) 192 ;
broadcastadr [1] = (البايت) 168 ;
broadcastadr [2] = (البايت) 0 ;
broadcastadr [3] = (البايت) 255 ;
}
آخر / / DHCP
{
البث = INT (DHCP . وIPADDRESS ; ; DHCP . قناع الشبكة) | ~ DHCP . قناع الشبكة ; / / للبث UDP – إذا كنت ترغب في بث البيانات على وظيفة
يستقبل مركز تحكم فقط
ل (كثافة العمليات ك = 0 ; ك < ; 4 ; ك + +) broadcastadr [ك] = (البايت) ((بث> ; > ; ك * 8) و ; عشرية 0xFF) ;
الباحث المحلية = (DHCP . IPADDRESS) ; / / DHCP عنوان IP المحلي
ل (كثافة العمليات ك = 0 ; ك < ; 4 ; ك + +) localadr [ك] = (البايت) ((المحلية> ; > ; ك * 8) و ; عشرية 0xFF) ; / / للحصول على عنوان IP المحلي
}
محاولة
{
= DS جديدة DatagramSocket (منفذ) ; / / / الاستماع على منفذ بيانات UDP من أي IP
داخل قناع – UDP مأخذ لإنشاء مثيل من رقم المنفذ المحلي
}
الصيد (ه استثناء)
{
/ / Ehousecommunication . ل ( ” آينت الخطأ: الحصول على عنوان ” + E . getMessage ()) ; لاختبار
}
محاولة
{
DS . setBroadcast (صحيح) ; / / تمكين إرسال رسالة البث – لنقل
DS . setReuseAddress (صحيح) ; / / تمكين مأخذ متعددة استخدام نفس العنوان IP
/ / DS . setSoTimeout (400) ; / / الاستقبال مهلة
}
الصيد (IO استثناء)
{/ / تجاهل الأخطاء ولكننا حماية من أخطاء التطبيق والنظام
}
/ / إذاعة UDP * اختبار – بث broadcastu اختبار UDP من هاتفك أو قرص – المستقبل التواصل مع تطبيق
/ * حاول
{
DatagramPacket ي ي DatagramPacket جديدة = ( ” مرحبا Word من اختبار الروبوت UPD ” . getBytes () , 0 , ” مرحبا Word من اختبار الروبوت UPD ” . طول () ,
InetAddress . getByAddress (broadcastadr) , الميناء) ;
DS . إرسال (اليوم) ; / / يرسل DatagramPacket
}
الصيد (ه استثناء)
{
ehousecommunication . ل ( ” نقل مخطط بيانات الحزمة الخطأ: ” + E . getMessage ()) ;
}
* /
MulticastLock مل = واي فاي . createMulticastLock ( ” تمكين قفل الإرسال المتعدد ” ) ;
/ / إنشاء مثيل من كتلة الإرسال المتعدد وbroadcastu
مل . الحصول على () ; / / قفل الإرسال المتعدد البث UDP تمكين الاستقبال – يمكن تعطيله بعض الهواتف الذكية الروبوت لأغراض توفير batery –
broadcastu UDP الدعم ينشط الهاتف إذا تم تأمين ذلك وتعطيل فقط
في حين (! ehousecommunication . إنهاء) / حلقة / لانهائي لاستقبال UDP
{/ / حلقة لانهائية تلقي UDP حالة
موانئ دبي DatagramPacket = DatagramPacket جديدة (رسالة , رسالة . الطول) ; / / إنشاء حزمة UDP العازلة مخطط البيانات باستخدام بيانات – يجعل من استخدام الحزمة UDP
العازلة ” رسالة ”
محاولة {
DS . استلام (موانئ دبي) ; / حزمة UDP / استقبال من نظام eHouse – يتلقى منفذ UDP حزمة من مأخذ UDP
إذا كان (موانئ دبي . getLength ()> ; 0) / / إذا كان حجم الطرود أكبر من الصفر – تلقى شيء
{
EhouseTCP . QueryBuff = موانئ دبي . برنامج GetData () ; / / تعيين البث UDP recepition querybuffer – تحميل في المخزن المؤقت eHouse حالة
/ / موانئ دبي . setLength (0) ; – تم تعيين حجم الحزمة إلى الصفر حتى لا معالجة البيانات نفسها مرارا وتكرارا
EhouseTCP . QueryReceived () ; / / فك ترميز البيانات الاستعلام صفائف الأجهزة وملء – يترجم حالة وحدات تحكم ويقوم بتحميل الجدول حالة الطلب
}
}
الصيد (استثناء OS)
{/ / تجاهل الأخطاء
/ / Ehousecommunication . ل ( ” asdfasdfsafsa ” + السراج . getMessage ()) ; / / للاختبار فقط
}
}
مل . الإفراج () ; / / UDP المتعدد قفل مجانا لاستقبال تطبيق eHouse – تطلق قفل الإرسال المتعدد
DS . إغلاق () ; / / إغلاق مأخذ مخطط البيانات في نهاية – إغلاق مأخذ في نهاية
}
قد تكون هناك حاجة قفل الإرسال المتعدد في بعض أجهزة أندرويد .
يمكن تمكين إذاعة المحلية UDP في حالة من الهواتف النقالة أو عدم الاعتماد على البرامج الثابتة للهاتف المحمول .
يمكن أيضا أن يصاب بعاهة دائمة لتوفير البطارية لأسباب تتعلق بالسلامة وأو لتقليل الحمل على الشبكة CPU في العمل .
(لاحظ تكوين نواة: لم يتم تعيين CONFIG_IP_MULTICAST) .
وبالإضافة إلى ذلك , يمكن حظر بعض النماذج من جدار حماية والمحلية تحتاج إلى تفعيل نقل على منفذ معين (الافتراضي 6789) .
خارج البث عند استخدام جي بي آر إس وصلات الانترنت , 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 الاحتلال وأقراص .
تم تجهيز مركز البيانات UDP في اختباري للتأكد من صحة البيانات .
أتمتة المنزل المنتج eHouse أتمتة المنزل eHouse
eHouse تحكم – أتمتة المنزل eHouse