דיקאָודינג די ביינערי סטאַטוס פון שטוב אָטאַמיישאַן קאַנטראָולערז – פֿרייַ מקור קאָד

היים אַוטאָמאַטיאָן , בנין פאַרוואַלטונג עהאָוסע – דיקאָודינג די סטאַטוס פון מייקראָופּראַסעסער קאַנטראָולערז
היים אַוטאָמאַטיאָן באקומען דורך דעם קאָנטראָל טאַפליע פארבונדן צו דעם לאַן אָדער וויפי , דורך ודפּ (באַניצער דאַטאַגראַם פּראָטאָקאָל) .
דער נאָרמאַל ראַם אָפּטראָג סטאַטוס אין ביינערי פאָרעם , מיט קאַנטראָולערז איז דיסקאַסט אין דער אַרטיקל ” ינטעליגענט בילדינג עהאָוסע קאָנטראָללער סטאַטוס פּעקל ” .
דיקאָודינג די ראַם דאַרף צו פונאַנדערקלייַבן יעדער ביסל פון דאַטן פון פּאַק .
אין דערצו , יעדער טיפּ פון קאָנטראָללער:

  • ראָאָממאַנאַגער
  • עקסטערנאַלמאַנאַגער
  • העאַטמאַנאַגער
  • ינפּוטעקסטענדער
  • קאָמממאַנאַגער
  • לעוועלמאַנאַגער
  • עטהערנעטראָאָממאַנאַגער

האָבן אַ חילוק אין סומע פון ​​דיגיטאַל ינפּוץ , מעאַסורעמענט ינפּוץ , דיגיטאַל אַוטפּוץ , דימערז , מאָניטאָרינג פאַנגקשאַנז און אַלגערידאַמז אַז רעזולטאַט , אַז די דאַטן אין די נאָרמאַל ראַם מיוטייט דיפּענדינג אויף דעם טיפּ פון קאָנטראָללער .
דאס רעזולטאַטן אין די דאַרפֿן פֿאַר דיקאָודינג די ביסל דורך ביסל פֿאַר יעדער טיפּ פון קאָנטראָללער ינדיפּענדאַנטלי .
אין די פאַל פון די ימפּלאַמענטיישאַן פון אַלע טייפּס פון מייקראָופּראַסעסער קאַנטראָולערז צו שאַפֿן און פּרובירן די ראַם דיקאָודינג אַלגערידאַם זאל נעמען זיך צו 1 חודש .
צו מינאַמייז דעם צייַט צו אַ מינימום , צו פאַסילאַטייט גרייט צו פאָרשטעלן די אַלגערידאַם באַראָוד פון עהאָוסע . עקסע אַפּלאַקיישאַן , צו אויטאָמאַטיש דעקאָדע אַלע די אינפֿאָרמאַציע פון ​​די קאָנטראָללער און מאַסע דאַטן אין דער מוסטער רעקאָרדס פון פאַרבינדן טאַפליע (פֿאַר טאַבלעץ) Windows XP , וויסטאַ , 7 , 8 .
נאָך אויטאָמאַטיש לאָודינג די דאַטן אין די עהאָוסע ווייכווארג לייברעריז , מיט אַ ביסל שורות פון קאָד , איר קענען מאַכן דיין אייגן קאָנטראָל אַלגערידאַמז עהאָוסע סיסטעם אין אַ ביסל מינוט .
ביינערי פריים דיקאָודינג ווייכווארג פון די עהאָוסע סטאַטוס נאָרמאַל איז ימפּלאַמענטאַד אין מוסטער ביבליאָטעק פֿאַר טאַפליע . עס דאַרף צו זייַן געטאן ביינערי , פֿאַר דירעקט דיקאָודינג סטאַטוס פון עטהערנעט קאַנטראָולערז אָן עהאָוסע . עקסע אַפּלאַקיישאַן השגחה .
דיקאָודינג די גאנצע ראַם (פֿאַר מייקראָופּראַסעסער קאַנטראָולערז עהאָוסע1 רם , עם , הם) איז געפירט אויס דורך דעם פּראָצעדור סעט_רם פונקציאָנירן (Str: אַררייַ_אָפ_טשאַר ; טקפּ_ינדעקס_ינק: ינטעגער) ;
פּאַראַמעטערס זענען פאַנגקשאַנז פון די באַפער סטאַטוס און יבעררוק (פאָטאָ) . די באַפער כּולל אַלע דער באקומען דאַטן פון די סטאַטוס . פאָטאָ דעפּענדס אויף דעם טיפּ פון טראַנסמיסיע (עקסטענדעד אַדרעס , נאָרמאַל , און אנדערע צוקונפֿט פּראָגראַמען אָפענגיק אויף קאָמוניקאַציע אַלגערידאַמז) .
עס אויטאָמאַטיש זאַט די מענגע סטאַטוס פֿאַר יעדער קאָנטראָללער ינדיווידזשואַלי און קענען דעריבער גלייַך מאַניפּולירן די דאַטן אָדער דערהייַנטיקן דאַטן אויטאָמאַטיש אויף פאַרשטעלן פאַרבינדן פּאַנאַלז .
דעם פֿונקציע איז אַקטיווייטיד אין געשעעניש פּראָצעדור פון באַקומען דאַטן פון ודפּ כאָלעל קאָמפּאָנענט (טנמודפּ – גערופן ביינערי) אין די געשעעניש אָנדאַטאַרעסעיוועד .
דער אָפּטראָג איז ווי גייט:
פּראָצעדור טפאָרמ1 . בינאַרידאַטאַרעסעיוועד (סענדער: טקאָמפּאָנענט ;
נומבערביטעס: ינטעגער ; פראָמיפּ: סטרינג ; פּאָרט: ינטעגער) ;
וואַר C: מענגע [0 . . 1024] פון טשאַר ;
מיסטרעאַם: טמעמאָריסטרעאַם ;
אָנהייבן
אויב פילעסיסטעמ_סטאַטוס דעמאָלט אַרויסגאַנג ; / / אויב קיין טעקע סיסטעם פילעסיסטעמ_סטאַטוס
מיסטרעאַם: = טמעמאָריסטרעאַם . מאַכן ; / / שאַפֿן אַ טייַך פון דאַטן
ביינערי . רעאַדסטרעאַם (מיסטרעאַם) ; / / לייענען די דאַטן טייַך
מיסטרעאַם . לייענען (C [0] , נומבערביטעס) ; / / לאָאַדס די באַפער C
סעט_רם (C , 1) ; / / קאָנווערץ די ביינערי דאַטן און לאָודז די רעגיסטערס רם [אינדעקס] פֿאַר קאַנטראָולערז עהאָוסע 1
טעסט_סאַווע ; / / טעסט רעקאָרד דער רעזולטאַט צו אַ טעקסט טעקע פֿאַר גרינג אָפּעראַציע
ופּדאַטע_פּאַנעל ; / / לאָוד דאַטן פֿאַר די קאָנטראָל טאַפליע
עק ;
עס אַלאַוז איר צו אויטאָמאַטיש און ניט – ינווייסיוו זאַמלונג פון דאַטן איבער אַ לאַן אָדער ווי – פי מיט דעם פּעקל בראָדקאַסט דורך ודפּ (באַניצער דאַטאַגראַם פּראָטאָקאָל) .
וואָס מער טוט נישט דאַרפן אַ עפענען קשר צו די סערווירער בלויז ליסאַנז אויף די פּאָרט בראָדקאַסט ‘ 6789 ‘ פעליקייַט אָדער אנדערע .
ערראָרס לינק , נעץ , ראָוטערס טאָן ניט רעזולטאַט אין אַ סאַספּענשאַן אָדער ונספּעסיפיעד ווייכווארג ערראָרס (ווי אין דעם פאַל פון קאָמוניקאַציע מיט טקפּ סערווער) , אָבער פארשווינדט נאָר דערהייַנטיקן די דאַטן אָן אַפעקטינג די דאַטן אָדער פּאַסיק סערווער ודפּ קליענט אַפּלאַקיישאַן .

ווארענונג! . אויב איר מאַכן קאָנטראָל ווייכווארג אויף אַ פֿענצטער פֿאַר עהאָוסע היים אַוטאָמאַטיאָן , עס איז נייטיק צו מאַכשער אַלע אַלגערידאַמז אין איין אַפּלאַקיישאַן , וואָס אַנאַליזעס די דאַטן און פּערפאָרמז אַלע די אַלגערידאַמז און וויזשוואַלייז זיי . מיר באמערקט מאל אַז 2 ודפּ ליסנער כאָלעל קענען נישט עקסיסטירן אויף דער זעלביקער פּיסי .
די מערסט וויכטיק וועריאַבאַלז אין דער ביבליאָטעק ביינערי:
באָילער_אַלאַרם: בוליאַן = פאַלש ; / / בוילער שרעק שרעק פּראָוגראַמד טעמפּעראַטור אויבן
/ / איבער – טעמפּעראַטור שרעק קעסל
באָנפירע_סטאַט: ינטעגער ; / / באָנפירע באַהיצונג מדרגה 0 – 7 פֿאַר ביינערי מאָדע – באַשעפטיקונג סטאַטוס פייַער
/ / 0 – פייַער אַוועק – טוט ניט היץ
/ / 1 – פייַער אויף / יקסטינגגווישינג => ; ; גרין מדרגה < ; ; טעמפּ רעקל (גרין געפירט בלינקינג) – יקספּייערז פלאַשיז גרין
/ / 2 – פייַער אויף => ; ; גרין מדרגה> ; ; = טעמפּ רעקל> ; ; געל מדרגה – היסטערעססיס (גרין געפירט) – גרין
/ / 3 – פייַער אויף => ; ; געל מדרגה – היסטערעססיס> ; ; טעמפּ רעקל> ; ; היסטערעססיס מדרגה + געל) (גרין + געל לעדס) – גרין – געל
/ / 4 – פייַער אויף => ; ; געל מדרגה + היסטערעססיס> ; ; טעמפּ רעקל> ; ; רויט מדרגה – היסטערעססיס (געל) – געל
/ / 5 – ומבאַדינגט => ; ; רויט מדרגה – היסטערעססיס < ; ; טעמפּ רעקל < ; ; היסטערעססיס מדרגה + רויט (רויט + געל לעדס) געל – רויט
/ / 6 – ומבאַדינגט => ; ; טעמפּ רעקל> ; ; היסטערעססיס מדרגה + רויט (רויט געפירט קעסיידערדיק) – רויט
/ / 7 – ומבאַדינגט => ; ; טעמפּ רעקל> ; ; באַנפייער שרעק (רויט געפירט בלינקינג) שרעק – רויט פלאַשיז
באָנפירע_סענסאָר_ערראָר: בוליאַן = פאַלש ; / / פֿעלער סענסאָרס באַנפייער אויך פיל פאַרשידענע וואַסער רעקל טעמפּעראַטור סענסאָרס צווישן צוויי
/ / פֿעלער קאַמין מאנטל טעמפּעראַטור סענסאָרס אויך גרויס חילוק
רעקופּעראַטאָר_סטאַטוס: שטריקל ; / / סטאַטוס פון ריקופּעריישאַן , ווענטאַליישאַן , לופט באַהיצונג – רעקופּעראַטאָר און ווענטאַליישאַן סטאַטוס
רעקו_ווינטער: בוליאַן = פאַלש ; / / רעקופּעראַטאָר ווינטער / זומער היץ יקסטשיינדזשער מאָדע ענייבאַלד / פאַרקריפּלט – רעקופּעראַטאָר ווינטער / זומער
רעקו_מאַנואַל_אַמאַלוואַ: בוליאַן = אמת ; / / רעקופּעראַטאָר אַוטאָ / מאַנואַל מאָדע פֿאַר אַמאַלוואַ רעקופּעראַטאָר (אַוטאָ געראטן דורך ינערלעך קאָנטראָלער אַמאַלוואַ , מאַנואַל צו עהאָוסע העאַטמאַנאַגער) / /
רעקופּעראַטאָר אַמאַלוואַ מאַנואַל / אַוטאָ
ווענט_קאָאָלער: בוליאַן = אמת ; / / וואסער קולער אויף / אַוועק פֿאַר ווענטאַליישאַן אָדער קולער אין די סיסטעם ריקופּעריישאַן ריקופּעריישאַן אָדער גווק אויף / אַוועק
ווענט_גווק: בוליאַן = פאַלש ; / / גהע (ערד היץ יקסטשיינדזשער) סערוואָמאָטאָר אויף / אַוועק – ערד היץ יקסטשיינדזשער מאָטאָר אויף / אַוועק
ווענט_אַוקס_גווק_פאַן: בוליאַן = פאַלש ; / / אַוקסיליאַרי גווק ווענטילאַטאָר / פאָכער אויף / אַוועק באַשטימען פֿאַר ערד היץ יקסטשיינדזשער – גווק פאָכער אַססיסטעד
באָנפירע_דגפּ: בוליאַן = פאַלש ; / / באָנפירע הייס לופט פאַרשפּרייטונג סיסטעם ענייבאַלד / פאַרקריפּלט – פאָכער פאַרשפּרייטונג פון הייס לופט פון דעם קאַמין דגפּ
ווענטילאַטיאָנ_אָן: בוליאַן = פאַלש ; / / ווענטילאַטיאָן איז דערווייַל ארבעטן אויף / אַוועק – אַרייַננעמען ווענטאַליישאַן און היץ אָפּזוך
העאַטער_פּומפּ: בוליאַן = אמת ; / / פּאַמפּ פֿאַר כיטער פֿאַר ווענטאַליישאַן אויף / אַוועק – פּאָמפּע באַהיצונג און ווענטאַליישאַן קרייַז פֿאַר ראַדיאַטאָרס
טהרעע_ווייַס_קוטאָפף: ינטעגער = 0 ; / / דריי וועגן קאַטאָף ריכטונג 0 אַוועק , ינקריסינג מדרגה 1 , – דיקריסינג מדרגה 1) די ריכטונג פון ראָוטיישאַן עלעקטראָ – וועג וואַלוו
סאָלאַר_פּומפּ: בוליאַן = פאַלש ; / / זונ פּאָמפּע אויף / אַוועק – זונ – פּאָמפּע
באָילער_אָן: בוליאַן = פאַלש ; / / בוילער ענייבאַלד / פאַרקריפּלט – קעסל אויף / אַוועק
באָילער_פּומפּ: בוליאַן = פאַלש ; / / סטאַטוס פון די קעסל פּאָמפּע אויף / אַוועק – קעסל פּאָמפּע אויף / אַוועק
באָילער_פועל_אָוט: בוליאַן = פאַלש ; / / בוילער אויס פון ברענוואַרג אַפּראָקסימאַטע (ציילן שעה פון באַהיצונג) – עסטימאַטעד ברענוואַרג שאָרטידזשיז פֿאַר האַרט ברענוואַרג קעסל (קאַלקיאַלייטיד אויף דער באזע פון ​​שעה פון אָפּעראַציע פון ​​די קעסל)
באָילער_פּאָווער_אָן: בוליאַן = פאַלש ; / / בוילער סופּפּלייַ מאַכט אויף / אַוועק ; – קעסל מאַכט אויף / אַוועק
באָילער_פועל_סופּפּלי_אָוועררידע: בוליאַן = פאַלש ; / / אָוועררידע סופּפּלייער ברענוואַרג קעסל (קאָנטראָל דורך עהאָוסע / ינערלעך קעסל קאָנטראָללער) – פאָטער קאַנטראָולד ברענוואַרג עקספּרעס סיסטעם עהאָוסע אויף / אַוועק
באָנפירע_פּומפּ: בוליאַן = פאַלש ; / / באָנפירע פּאָמפּע סטאַטוס אויף / אַוועק – פייַער פּאָמפּע אויף / אַוועק
רעקו_ספּעעד: ינטעגער = 0 ; / / רעקופּעראַטאָר ספּעעעד 0 . . 3 – רעקופּעראַטאָר גיכקייַט
רעקו_טעמפּעראַטורע: ינטעגער ; / / טעמפּעראַטורע מדרגה פון רעקו 0 . . 30ק טעמפּעראַטור רעקופּעראַטאָר פֿאַר אַמאַלוואַ
_רעקו_מאָדע: שטריקל = ‘ ‘ ; / / רעקופּעראַטיאָן מאָדע אין טעקסט ווי עס העאַטמאַנאַגער קאָנטראָל טאַפליע (עהאָוסע . עקסע) – רעקופּעראַטאָר מאָדע ווי דער קאָנטראָל טאַפליע אַפּלאַקיישאַן העאַטמאַנאַגערעם עהאָוסע . עקסע
געגאנגען: שטריקל ; / / טעקסט ווענטאַליישאַן סטאַטוס ווי אַ העאַטמאַנאַגער קאָנטראָל טאַפליע (עהאָוסע . עקסע) – ווענטאַליישאַן סטאַטוס די זעלבע ווי אין העאַטמאַנאַגער טאַפליע פון ​​עהאָוסע . עקסע
קעסל , זונ: שטריקל ; / / בוילער , זונ טעקסט העאַטמאַנאַגער סטאַטוס ווי אַ קאָנטראָל פּאַנעל (עהאָוסע . עקסע) – סטאַטוס פון די קעסל און די זונ – טאַפליע קאָנטראָל (העאַטמאַנאַגער) עהאָוסע . עקסע
קאָמי: שטריקל ; / / טעקסט באַנפייער סטאַטוס ווי אַ העאַטמאַנאַגער קאָנטראָל טאַפליע (עהאָוסע . עקסע) – סטאַטוס ווי דער פייַער קאָנטראָל טאַפליע אַפּלאַקיישאַן העאַטמאַנאַגער עהאָוסע . עקסע
קאָנטראָל ליגהץ