PercoのリバヌスACS RS485プロトコル。 ACSラむンを䟵入から保護する

最近、さたざたな興味深いプロゞェクトに参加しお、代替補品管理Perco ElectronicりォヌクスルヌKT02.3の問題が発生したした 。 この補品は完党な゜リュヌションであり、他のACSシステムの䜿甚や管理環境ぞの䟵入を意味するものではありたせん。 しかし、sayingにもあるように、 「すべおが可胜です 䞍可胜にはもっず時間がかかる」Cダン・ブラりン 。



しかし、我々はそれをやった。 猫の䞋ですべおがどうなったかを読んでください。



ここでこのドキュメントからシステムの基本的な蚘述を芋぀けるこずができたす 。



システムの倖郚むンタヌフェむスに぀いお詳しく芋おみたしょう。

以䞋のデバむスのRS-485むンタヌフェヌスを介した接続をサポヌトしたす。

•最倧8぀のPERCo-CL201ロックコントロヌラヌCL201コントロヌラヌにはリヌダヌが内蔵されおおり、1぀のロックを制埡できたす。

•システム時刻衚瀺PERCo-AU05

•PERCo-IC02.1カヌドリヌダヌ接続スキヌムに぀いおは、PERCo-IC02の説明を参照しおください。
぀たり、構内ぞのアクセスを提䟛する十分な数の呚蟺システムを、この回転匏改札口の共通バスに接続できたす。

PCおよびその他のS-20システムコントロヌラヌずの通信むンタヌフェむス-むヌサネット

TCP / IPプロトコルスタックARP、IP、ICMP、TCP、UDP、DHCPのサポヌト。
アプリケヌションを通じお管理され、サむトからダりンロヌドできたす。 たた、NDAが閉じる非垞にトリッキヌなSDKもありたす。
「SDKの配信は、利害関係者ずの機密保持機密保持契玄の眲名を提䟛し、無料です。」
はんだごおずRS485トランシヌバヌを装備したタヌンスタむルスキヌムやSDKぞのアクセスがなかったため、プロトコルの仕組みを調査し始めたした。



倖郚デバむスの接続スキヌムは非垞に簡単です。

画像

接続できたす



他のデバむスは接続できたせん。

Percoプロトコルは閉じられおいたすが、PERCo-AU05りォッチの説明がありたす。これはネットワヌク䞊で簡単にグヌグルで怜玢できたす。



画像



説明のこの図は、ネットワヌクで芋぀かったPERCoプロトコルの唯䞀の蚀及です。

玠晎らしい。 プロトコルの䞀郚があるので、そこで実行されるものを芋るこずができたす。 RS485を回転匏改札口に接続しお芋たす。



䞀次ダンプ
14:04:08 :: ['0xaa'、 '0x05'、 '0x8c'、 '0x04'、 '0x01'、 '0x01'、 '0x98'、 '0xfe']

14:04:08 :: ['0xaa'、 '0x25'、 '0x8c'、 '0x04'、 '0x01'、 '0x01'、 '0x19'、 '0x39']

14:04:08 :: ['0xaa'、 '0x45'、 '0x8c'、 '0x04'、 '0x01'、 '0x01'、 '0x99'、 '0x31']

14:04:09 :: ['0xaa'、 '0x65'、 '0x8c'、 '0x04'、 '0x01'、 '0x01'、 '0x18'、 '0xf6']

14:04:09 :: ['0xaa'、 '0x85'、 '0x8c'、 '0x04'、 '0x01'、 '0x01'、 '0x99'、 '0x20']

14:04:09 :: ['0xaa'、 '0xa5'、 '0x8c'、 '0x04'、 '0x01'、 '0x01'、 '0x18'、 '0xe7']

14:04:09 :: ['0xaa'、 '0xc5'、 '0x8c'、 '0x04'、 '0x01'、 '0x01'、 '0x98'、 '0xef']

14:04:10 :: ['0xaa'、 '0xe5'、 '0x8c'、 '0x04'、 '0x01'、 '0x01'、 '0x19'、 '0x28']

14:04:10 :: ['0xaa'、 '0x05'、 '0x1a'、 '0xff'、 '0xa4'、 '0xde']

14:04:10 :: ['0xaa'、 '0x25'、 '0x1a'、 '0xff'、 '0xa5'、 '0x14']

14:04:10 :: ['0xaa'、 '0x45'、 '0x1a'、 '0xff'、 '0xa5'、 '0x0a']

14:04:10 :: ['0xaa'、 '0x65'、 '0x1a'、 '0xff'、 '0xa4'、 '0xc0']

14:04:10 :: ['0xaa'、 '0x85'、 '0x1a'、 '0xff'、 '0xa5'、 '0x36']

14:04:11 :: ['0xaa'、 '0xa5'、 '0x1a'、 '0xff'、 '0xa4'、 '0xfc']

14:04:11 :: ['0xaa'、 '0xc5'、 '0x1a'、 '0xff'、 '0xa4'、 '0xe2']

14:04:11 :: ['0xaa'、 '0xe5'、 '0x1a'、 '0xff'、 '0xa5'、 '0x28']

14:04:11 :: ['0xaa'、 '0x01'、 '0x1a'、 '0xff'、 '0xe5'、 '0x1f'、 '0x7f'、 '0xa4']

14:04:11 :: ['0xaa'、 '0x01'、 '0x48'、 '0x04'、 '0xff'、 '0x00'、 '0xff'、 '0x6f'、 '0x60'、 '0xfe'、 '0x59 ']

14:04:11 :: ['0xaa'、 '0x01'、 '0xa8'、 '0x07'、 '0x01'、 '0x01'、 '0xff'、 '0x01'、 '0x01'、 '0xff'、 '0x01 '、' 0x01 '、' 0xff '、' 0x44 '、' 0xc2 '、' 0xff '、' 0xd1 ']

14:04:11 :: ['0xaa'、 '0x21'、 '0x1a'、 '0xff'、 '0xe4'、 '0xd5'、 '0x66'、 '0x64']

14:04:11 :: ['0xaa'、 '0x21'、 '0x48'、 '0x04'、 '0xff'、 '0x00'、 '0xff'、 '0x68'、 '0x00'、 '0xe7'、 '0x99 ']

14:04:11 :: ['0xaa'、 '0x21'、 '0xa8'、 '0x07'、 '0x01'、 '0x01'、 '0xff'、 '0x01'、 '0x01'、 '0xff'、 '0x01 '、' 0x01 '、' 0xff '、' 0xc5 '、' 0x7d '、' 0xe6 '、' 0x11 ']

14:04:11 :: ['0xaa'、 '0x02'、 '0x1a'、 '0xff'、 '0x15'、 '0x1f']

14:04:11 :: ['0xaa'、 '0x22'、 '0x1a'、 '0xff'、 '0x14'、 '0xd5']

14:04:11 :: ['0xaa'、 '0x04'、 '0x38'、 '0x34'、 '0x02'、 '0x11'、 '0x83'、 '0xfd']

14:04:11 :: ['0xaa'、 '0x01'、 '0x1b'、 '0x0f'、 '0xe4'、 '0xcb'、 '0xbe'、 '0x64']

14:04:11 :: ['0xaa'、 '0x01'、 '0x48'、 '0x02'、 '0x00'、 '0xff'、 '0xff'、 '0x1e'、 '0x28'、 '0xfe'、 '0x59 ']

14:04:11 :: ['0xaa'、 '0x21'、 '0x1b'、 '0x0f'、 '0xe5'、 '0x01'、 '0xa7'、 '0xa4']

14:04:11 :: ['0xaa'、 '0x21'、 '0x48'、 '0x02'、 '0x00'、 '0xff'、 '0xff'、 '0x19'、 '0x48'、 '0xe7'、 '0x99 ']

14:04:11 :: ['0xaa'、 '0x04'、 '0x38'、 '0x34'、 '0x02'、 '0x11'、 '0x83'、 '0xfd']

14:04:11 :: ['0xaa'、 '0x04'、 '0x38'、 '0x34'、 '0x02'、 '0x11'、 '0x83'、 '0xfd']

14:04:11 :: ['0xaa'、 '0x04'、 '0x38'、 '0x34'、 '0x02'、 '0x11'、 '0x83'、 '0xfd']

14:04:11 :: ['0xaa'、 '0x04'、 '0x38'、 '0x34'、 '0x02'、 '0x11'、 '0x83'、 '0xfd']

14:04:11 :: ['0xaa'、 '0x05'、 '0x04'、 '0x00']

14:04:11 :: ['0xaa'、 '0x01'、 '0x01'、 '0x0e'、 '0x10'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00 '、' 0x00 '、' 0x00 '、' 0x88 '、' 0x22 '、' 0xf5 ']

14:04:11 :: ['0xaa'、 '0x01'、 '0x09'、 '0x3e'、 '0x69'、 '0x3e'、 '0x69']

14:04:11 :: ['0xaa'、 '0x01'、 '0x05'、 '0x16'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00 '、' 0x00 '、' 0x00 '、' 0xf2 '、' 0x7a ']

14:04:12 :: ['0xaa'、 '0x01'、 '0x1a'、 '0xff'、 '0xe5'、 '0x1f'、 '0x7f'、 '0xa4']

14:04:12 :: ['0xaa'、 '0x01'、 '0x48'、 '0x02'、 '0x00'、 '0xff'、 '0xff'、 '0x1e'、 '0x28'、 '0xfe'、 '0x59 ']

14:04:12 :: ['0xaa'、 '0x21'、 '0x01'、 '0x07'、 '0x10'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00 '、' 0x00 '、' 0x00 '、' 0xfb '、' 0x65 ']

14:04:12 :: ['0xaa'、 '0x21'、 '0x09'、 '0x27'、 '0xa9'、 '0x27'、 '0xa9']

14:04:12 :: ['0xaa'、 '0x21'、 '0x05'、 '0x4e'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00 '、' 0x00 '、' 0x00 '、' 0xf1 '、' 0x6e ']

14:04:12 :: ['0xaa'、 '0x21'、 '0x1a'、 '0xff'、 '0xe4'、 '0xd5'、 '0x66'、 '0x64']

14:04:12 :: ['0xaa'、 '0x21'、 '0x48'、 '0x02'、 '0x00'、 '0xff'、 '0xff'、 '0x19'、 '0x48'、 '0xe7'、 '0x99 ']

14:04:12 :: ['0xaa'、 '0x01'、 '0x01'、 '0x4f'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00 '、' 0x00 '、' 0x00 '、' 0x34 '、' 0x24 ']

14:04:12 :: ['0xaa'、 '0x01'、 '0x05'、 '0x40'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00 '、' 0x00 '、' 0x00 '、' 0x11 '、' 0x24 ']

14:04:12 :: ['0xaa'、 '0x21'、 '0x01'、 '0x2e'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00 '、' 0x00 '、' 0x00 '、' 0xe7 '、' 0xe0 ']

14:04:12 :: ['0xaa'、 '0x21'、 '0x05'、 '0x2d'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00 '、' 0x00 '、' 0x00 '、' 0x02 '、' 0xdf ']



原則ずしお、これがどのように機胜するかは䞀般に䞍明です。 送信者は誰ですか、受信者は誰ですか どこで、䜕が終了したすか ある皮のバむナリデヌタのストリヌム。

数日間投棄されたものを手探りしお、「悪魔は现郚に宿っおいる」こずに気付きたした。

読者甚のパッケヌゞ内で次のバむト構造が取埗されたした。



次は

誰がこれを送っおいたすか これらのどれが答えですか

セッションプロトコルで芋たものよりも、すべおがはるかに巧劙であるこずが刀明したした。

これを理解するには、リヌダヌずコントロヌラヌを2぀のRS485コンバヌタヌを介しおギャップに接続する必芁がありたした。

したがっお、実際には、パッケヌゞは2぀の郚分で構成されおいたす。 最初の郚分は垞に0xAAで始たるコントロヌラヌコマンドで、2番目の郚分はコマンドが属するデバむスの応答です。 この回答には可倉長があり、パケット党䜓のチェックサムで終わりたす。

実際には、コントロヌラヌずリヌダヌのセッションは次のようになりたす。

分割セッションダンプ
cntrler['0xaa'、 '0x01'、 '0x1a'、 '0xff'、 '0xe5'、 '0x1f']

読者['0x7f'、 '0xa4']

cntrler['0xaa'、 '0x01'、 '0x48'、 '0x04'、 '0xff'、 '0x00'、 '0xff'、 '0x6f'、 '0x60']

読者['0xfe'、 '0x59']

cntrler['0xaa'、 '0x01'、 '0xa8'、 '0x07'、 '0x01'、 '0x01'、 '0xff'、 '0x01'、 '0x01'、 '0xff'、 '0x01'、 '0x01' 、「0xff」、「0x44」、「0xc2」]

読者['0xff'、 '0xd1']

cntrler['0xaa'、 '0x21'、 '0x1a'、 '0xff'、 '0xe4'、 '0xd5']

読者['0x66']

読者['0x64']

cntrler['0xaa'、 '0x21'、 '0x48'、 '0x04'、 '0xff'、 '0x00'、 '0xff'、 '0x68'、 '0x00']

読者['0xe7']

読者['0x99']

cntrler['0xaa'、 '0x21'、 '0xa8'、 '0x07'、 '0x01'、 '0x01'、 '0xff'、 '0x01'、 '0x01'、 '0xff'、 '0x01'、 '0x01' 、「0xff」、「0xc5」、「0x7d」]

読者['0xe6'、 '0x11']

cntrler['0xaa'、 '0x02'、 '0x1a'、 '0xff'、 '0x15'、 '0x1f']

cntrler['0xaa'、 '0x02'、 '0x1a'、 '0xff'、 '0x15'、 '0x1f']

cntrler['0xaa'、 '0x22'、 '0x1a'、 '0xff'、 '0x14'、 '0xd5']

cntrler['0xaa'、 '0x22'、 '0x1a'、 '0xff'、 '0x14'、 '0xd5']

cntrler['0xaa'、 '0x04'、 '0x38'、 '0x37'、 '0x2e'、 '0x11'、 '0x6f'、 '0x3d']

cntrler['0xaa'、 '0x01'、 '0x1b'、 '0x0f'、 '0xe4'、 '0xcb']

読者['0xbe']

読者['0x64']

cntrler['0xaa'、 '0x01'、 '0x48'、 '0x02'、 '0x00'、 '0xff'、 '0xff'、 '0x1e'、 '0x28']

読者['0xfe'、 '0x59']

cntrler['0xaa'、 '0x21'、 '0x1b'、 '0x0f'、 '0xe5'、 '0x01']

読者['0xa7'、 '0xa4']

cntrler['0xaa'、 '0x21'、 '0x48'、 '0x02'、 '0x00'、 '0xff'、 '0xff'、 '0x19'、 '0x48']

読者['0xe7']

読者['0x99']

cntrler['0xaa'、 '0x04'、 '0x38'、 '0x37'、 '0x2e'、 '0x11'、 '0x6f'、 '0x3d']

cntrler['0xaa'、 '0x04'、 '0x38'、 '0x37'、 '0x2e'、 '0x11'、 '0x6f'、 '0x3d']

cntrler['0xaa'、 '0x04'、 '0x38'、 '0x37'、 '0x2e'、 '0x11'、 '0x6f'、 '0x3d']

cntrler['0xaa'、 '0x04'、 '0x38'、 '0x37'、 '0x2e'、 '0x11'、 '0x6f'、 '0x3d']

cntrler['0xaa'、 '0x05'、 '0x04'、 '0x00']

cntrler['0xaa'、 '0x01'、 '0x01']

読者['0x0f'、 '0x10'、 '0x00']

読者['0x00'、 '0x00'、 '0x00']

読者['0x00'、 '0x00'、 '0x00']

読者['0x00'、 '0xfb'、 '0x30']

cntrler['0xaa'、 '0x01'、 '0x09'、 '0x3e'、 '0x69']

読者['0x3e'、 '0x69']

cntrler['0xaa'、 '0x01'、 '0x05']

読者['0x4b']

読者['0x00'、 '0x00'、 '0x00']

読者['0x00'、 '0x00'、 '0x00']

読者['0x00'、 '0x00'、 '0x00']

読者['0x60'、 '0xc1']

cntrler['0xaa'、 '0x01'、 '0x1a'、 '0xff'、 '0xe5'、 '0x1f']

読者['0x7f'、 '0xa4']

cntrler['0xaa'、 '0x01'、 '0x48'、 '0x02'、 '0x00'、 '0xff'、 '0xff'、 '0x1e'、 '0x28']

読者['0xfe'、 '0x59']

cntrler['0xaa'、 '0x21'、 '0x01']

読者['0x47']

読者['0x10'、 '0x00'、 '0x00']

読者['0x00'、 '0x00'、 '0x00']

読者['0x00'、 '0x00'、 '0x00']

読者['0xf9'、 '0xb1']



いく぀かの組み合わせを分析したしょう。

cntrler['0xaa'、 '0x01'、 '0x1a'、 '0xff'、 '0xe5'、 '0x1f']

読者['0x7f'、 '0xa4']
コントロヌラは、識別子「0x01」ずデヌタ「0xFF」を含むコマンド「0x1A」をリヌダヌに送信し、リヌダヌはコヌドに応答したす。 「ここだ それ 持っお行っおください」

呜什は、CRC16アルゎリズムを䜿甚しお、コマンドコヌドを陀き、パケットの最埌の2バむトがパケット党䜓のチェックサムであるず述べおいたす。 蚈算機で['0x01'、 '0x1A'、 '0xFF']からCRC16を読み取り、 0x1FE5ず収束しない0xE01Aを取埗したす 。 勇敢なPERCo開発者は、回線の干枉から、たたは私のような人々から少しの保護を行ったこずがわかりたす;

実際、 0x1FE5は0xE01A xor 0xFFFFであり、もちろん他のどこにも曞かれおいたせん䞊蚘のマニュアルを参照。

それで、コントロヌラからのパケットで、アドレス0x01のリヌダヌが送信したものがたすたす明確になっおきおいたすか

コントロヌラヌからパケット内のデヌタを調べお、CRC16を段階的にカりントするず、リヌダヌの応答['0x7f'、 '0xa4']は2番目ず3番目のバむト['0x01'、 '0x1A']のチェックサムであるこずがわかりたした 。

したがっお、読者はコントロヌラヌに「生きおいる」ず䌝えたす。

初期化
cntrler['0xaa'、 '0x01'、 '0x48'、 '0x04'、 '0xff'、 '0x00'、 '0xff'、 '0x6f'、 '0x60']

読者['0xfe'、 '0x59']

cntrler['0xaa'、 '0x01'、 '0xa8'、 '0x07'、 '0x01'、 '0x01'、 '0xff'、 '0x01'、 '0x01'、 '0xff'、 '0x01'、 '0x01' 、「0xff」、「0x44」、「0xc2」]

読者['0xff'、 '0xd1']



その埌、すべおが同じです。 コマンドの2番目ず3番目のバむトからのCRC16およびCRC16で終わるコマンド。



倖郚デバむスのアドレス指定に぀いお説明したす。

倖郚ロックに察凊する
['0xaa'、 '0x05'、 '0x1a'、 '0xff'、 '0xa4'、 '0xde']

['0xaa'、 '0x25'、 '0x1a'、 '0xff'、 '0xa5'、 '0x14']

['0xaa'、 '0x45'、 '0x1a'、 '0xff'、 '0xa5'、 '0x0a']

['0xaa'、 '0x65'、 '0x1a'、 '0xff'、 '0xa4'、 '0xc0']

['0xaa'、 '0x85'、 '0x1a'、 '0xff'、 '0xa5'、 '0x36']

['0xaa'、 '0xa5'、 '0x1a'、 '0xff'、 '0xa4'、 '0xfc']

['0xaa'、 '0xc5'、 '0x1a'、 '0xff'、 '0xa4'、 '0xe2']

['0xaa'、 '0xe5'、 '0x1a'、 '0xff'、 '0xa5'、 '0x28']



ダンプからわかるように、すべおの倖郚ロックにはビットアドレス指定があるため、8぀の倖郚ロックの制限がありたす。

䜿甚可胜なすべおのデバむスの初期化が完了するず、リヌダヌのコントロヌラヌが指瀺をリセットしたす

衚瀺のリセット
cntrler['0xaa'、 '0x01'、 '0x1b'、 '0x0f'、 '0xe4'、 '0xcb']

読者['0xbe'、 '0x64']

cntrler['0xaa'、 '0x01'、 '0x48'、 '0x02'、 '0x00'、 '0xff'、 '0xff'、 '0x1e'、 '0x28']

読者['0xfe'、 '0x59']

cntrler['0xaa'、 '0x21'、 '0x1b'、 '0x0f'、 '0xe5'、 '0x01']

読者['0xa7'、 '0xa4']

cntrler['0xaa'、 '0x21'、 '0x48'、 '0x02'、 '0x00'、 '0xff'、 '0xff'、 '0x19'、 '0x48']

読者['0xe7'、 '0x99']



0x1Bコントロヌラヌコマンドはリヌダヌをリセットし、 ['0x48'、lamp]コマンドはランプを点灯したす。ランプには倀がありたす。



リヌダヌが初期化された埌、コントロヌラヌは再びステヌタスをチェックしたす

ステヌタス投祚
cntrler['0xaa'、 '0x01'、 '0x01']

読者['0x0e'、 '0x10'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x88'、 '0x22' 、 '0xf5']

cntrler['0xaa'、 '0x01'、 '0x09'、 '0x3e'、 '0x69']

読者['0x3e'、 '0x69']

cntrler['0xaa'、 '0x01'、 '0x05']

読者['0x16'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0xf2'、 '0x7a' ]

cntrler['0xaa'、 '0x01'、 '0x1a'、 '0xff'、 '0xe5'、 '0x1f']

読者['0x7f'、 '0xa4']

cntrler['0xaa'、 '0x01'、 '0x48'、 '0x02'、 '0x00'、 '0xff'、 '0xff'、 '0x1e'、 '0x28']

読者['0xfe'、 '0x59']

cntrler['0xaa'、 '0x21'、 '0x01']

読者['0x07'、 '0x10'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0xfb'、 '0x65' ]

cntrler['0xaa'、 '0x21'、 '0x09'、 '0x27'、 '0xa9']

読者['0x27'、 '0xa9']

cntrler['0xaa'、 '0x21'、 '0x05']

読者['0x4e'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0xf1'、 '0x6e' ]

cntrler['0xaa'、 '0x21'、 '0x1a'、 '0xff'、 '0xe4'、 '0xd5']

読者['0x66'、 '0x64']

cntrler['0xaa'、 '0x21'、 '0x48'、 '0x02'、 '0x00'、 '0xff'、 '0xff'、 '0x19'、 '0x48']

読者['0xe7'、 '0x99']



リヌダヌずロックのステヌタスをポヌリングするためにゞェネレヌタヌを起動したす。

リヌダヌは毎秒3回ポヌリングされたす。

そしお今、楜しみが始たりたす。

ステヌタスを芁求するず、リヌダヌはバッファからのデヌタを䜿甚しおコントロヌラコマンドを远加し、 CRC16 xor 0xFFFFを考慮しお、通信チャネルにデヌタを発行したす。

リヌダヌの応答パケットを考えおみたしょう

空のパッケヌゞ リヌダヌ['0x4e'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0x00'、 '0xf1'、 '0x6e']

カヌドパッケヌゞ リヌダヌ['0x45'、 '0x40'、 '0x5d'、 '0x7a'、 '0x07'、 '0x00'、 '0x04'、 '0x00'、 '0x00'、 '0x00'、 '0xbb' 、 '0x9d']



コントロヌラヌにカヌドが接続されおいる堎合、コントロヌラヌはリヌダヌにコマンドを発行しおカヌドコヌドを受け入れ、緑色のランプを点灯しお通過機構を開きたす。 タむムアりト埌、たたはナヌザヌがパスするず、通過メカニズムが閉じ、リヌダヌのステヌタスがリセットされたす。 ただし、他のデバむスの調査は停止したせん。



そしお今、実際、「ACSラむンを䟵略から守る」ずいう芋出しの意味は䜕ですか



Python蚀語で䜜成されたむンタヌセプタヌにより、RS485高速道路の任意のポむントでPERCoアクセス制埡システムを制埡でき、タヌンスタむルが通過する蚱可を䞎えるカヌドを远跡し、有効なキヌのデヌタベヌスを䜿甚しおリヌダヌからタヌンスタむルコントロヌラヌぞのデヌタ転送を䞭断し、デヌタハむりェむに接続されおいるデバむスを開くこずができたす。 この堎合、システムのリヌダヌに適甚されおいる「巊」のカヌドは「有効」に眮き換えるこずができ、その逆も可胜です。 初期化ブロックのダンプを削陀し、それを行にスクロヌルしお戻すず、コントロヌラヌ自䜓ずリヌダヌの䞡方を゚ミュレヌトでき、システムを制埡するための無制限の可胜性が広がりたす。



したがっお、「ACSラむンを䟵入から保護する」:)



PSスクリプトをアップロヌドしたせん:-P



©Aborche 2016

アボルシュ







All Articles