جهاز :: ديفيس

الجهاز :: ديفيس هو امتداد بيرل للتواصل مع محطات الطقس ديفيس.
التحميل الان

جهاز :: ديفيس الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • Perl Artistic License
  • السعر:
  • FREE
  • اسم الناشر:
  • Stan Sander
  • موقع ويب الناشر:
  • http://search.cpan.org/~stsander/Device-Davis-1.2.3/Davis.pm

جهاز :: ديفيس العلامات


جهاز :: ديفيس وصف

الجهاز :: ديفيس هو امتداد بيرل للتواصل مع محطات الطقس ديفيس. جهاز :: ديفيس هو امتداد بيرل للتواصل مع محطات الطقس Davis.Syopsis استخدام الجهاز :: ديفيس؛ $ fd = station_open ($ tty)؛ put_string ($ fd، "سلسلة $")؛ $ char = get_char ($ fd)؛ $ crc = crc_accum ($ crc، data data_byte)؛ put_unsigned ($ fd، $ Num)؛ Davis هو وحدة Perl 5 التي تسهل التواصل مع محطات الطقس Davis. يجب أن تعمل هذه الوحدة على معظم أنظمة UNIX، ومع ذلك تم تطويرها في Linux.Station_open () تأخذ TTY حيث يتم توصيل المحطة كوسيطة ويفتح TTY مع المعلمات الصحيحة للاتصالات. معدل باود يستخدم يطابق المصنع الافتراضي للمصنع Pro، وهو 19200. إذا كنت بحاجة إلى استخدام معدل باود مختلف، فستحتاج إلى تعديل ملف Davis.xs قبل ترجمة الوحدة النمطية. واصف (وليس perl filehandle) والسلسلة لإرسالها كوسائط وترسل السلسلة إلى محطة الطقس. ستقوم هذه الوظيفة بإرجاع عدد البايتات المكتوبة. get_char () يأخذ واصف ملف كوسيطة و byte retuns 1 بايت من محطة الطقس .CRC_ACCMUM () هو تراكم لحساب CRC. يستغرق الأمر القيمة السابقة لاتفاقية حقوق الطفل التي تراكمت ($ CRC) وبايت البيانات الجديدة التي يجب إضافتها إلى المجموع المتراكم. تأكد من تهيئة CRC $ إلى 0 قبل إرسال مجموعة جديدة من بايت البيانات. ستعود الوظيفة قيمة CRC الجديدة المتراكمة. بمجرد المرور في قيمة CRC المستلمة من محطة الطقس، يجب أن ترجع الوظيفة 0 إذا مرت شيك CRC. إذا كنت تقوم بإرسال أوامر إلى المحطة، يجب أن تكون القيمة الأخيرة التي يتم إرجاعها بواسطة الوظيفة ما ترسله إلى المحطة كقيمة CRC. لاحظ أن المحطة تتوقع أن يتم إرسال البايت الأكثر أهمية في اتفاقية حقوق الطفل أولا، وهو عكس كيفية إرسال قيم البيانات العادية.Put_Unsigned () لإرسال القيم الرقمية إلى المحطة. يستغرق واصف الملف والشخصية لإرسالها كجدات. سوف ترسل حجة أنها شخصية بايت غير موقعة. سيعود عدد البايتات المكتوبة. بايت بايت = put_string ($ fd، "n")؛ بايت = put_string ($ fd، testn ")؛ قراءة النتائج من حلقة 1 طلب: $ crc = 0؛ بينما (مؤشر $ <100) {$ البيانات = get_char ($ fd)؛ البايت الأول الذي تم إرجاعه بواسطة المحطة في حزمة حلقة 1 هو ack (0x06) ويجب ألا يتم تضمينها في اتفاقية حقوق الطفل إذا كان (مؤشر $) {$ crc = crc_accum ($ crc، بيانات $ )؛}؛ بيانات $ = sprintf ("x"، "بيانات $ ")؛ # تحويل إلى hex $ index ++؛ }؛ عند هذه النقطة، يجب أن تكون قيمة crc $ 0 إذا لم تكن هناك أخطاء ناقل الحركة، ويمكنك الاستمرار في معالجة الحزمة إرسال أمر أو قيمة أخرى إلى المحطة: سنرغب في حساب القيمة ل crc بواسطة تشغيل كل بايت سنرسل من خلال crc_accum () $ crc = crc_accum ($ crc، 0xc6)؛ $ crc = crc_accum ($ crc، 0xce)؛ $ crc = crc_accum ($ crc، 0xa2)؛ $ crc = crc_accum ($ crc، 0x03)؛ دعنا نقول عند هذه النقطة أن قيمة crc $ هي e2b4 إذا كنا نرسل أمرا إلى محطة الطقس، فيجب أن نرسل e2b4 (أهم البايت أولا) إلى المحطة $ msbyte = $ crc>> 8؛ # لمثالينا يساوي e2 put_unsigned ($ fd، msbyte $)؛ $ lsbyte = $ crc> 24؛ # للحصول على مثالنا يساوي B4 put_unsigned ($ fd، lsbyte $)؛ المتطلبات: متطلبات بيرل: perl.


جهاز :: ديفيس برامج ذات صلة

CGI :: Auth :: Auto

CGI :: Auth :: Script Auto يسمح لصيانة المصادقة التلقائية والمثابرة من أجل CGI Scrips. ...

217

تحميل