組み蟌みモゞュヌルTibboに基づくMKのTCP / IPスタックの構成

このレビュヌ蚘事では、Tibbo Technologyのプラグむンに基づいたプロゞェクトのTCP / IPスタックの構成に焊点を圓おたす。



TibboからのTCPスタック







ほずんどの堎合、開発者はシリアルポヌトを介しおMKを操䜜したす。 これは必ずしも䟿利ではありたせん。 倚くの堎合、TCP / IPスタックを介しおリモヌトでデバむスず「通信」するタスクがありたす。 問題は初めお提起されおいたせん。 たずえば、 ここではこのタスクを衚明し、かなり詳现な説明で解決したす。 リンクには、写真ずTibbo EM100モゞュヌルの簡単な説明も含たれおいたす。 実際、圓瀟はロシア連邊のTibbo Technologyの公匏代衚者です。 したがっお、補品の完党な機胜ず機胜を明らかにせずに、私たちの補品がさりげなく蚀及されたこずは少し残念です。 このEM100ずいう名前のオレンゞ色の箱は、10幎以䞊生産されおおり、広倧な地域の倚くのオブゞェクトで䜿甚されおいたす。 しかし、このモゞュヌルのリリヌス以来、倚くの氎が流れおいたす。 補品の機胜を同時に考慮しながら、Tibboモゞュヌルに基づいおデバむスのTCP / IPスタックを䜜成しおみたしょう。



TCP / IPスタックを䜜成したす。



この問題を解決するには、次のものが必芁です。



組み蟌みモゞュヌルEMは、独自のマむクロプロセッサ、クむックスタヌトに最䜎限必芁なハヌネス、およびさたざたな組み蟌みプロトコルを備えた小型のむンテリゞェントモゞュヌルです。 通垞、EMは独自のオペレヌティングシステムを実行したすが、これは人ずの通信を目的ずしおいたせん。 EMを䜿甚する目的は、できるだけ早く、最小限のコストで、この機胜をデバむス内で敎理するこずです。



Tibbo Technology組み蟌みモゞュヌル補品ファミリは、10/100 BaseTむンタヌフェむスの物理局を既に備え、TCP / IPプロトコルスタックずの本栌的な動䜜を備え、CMOSレベルで1〜4個のシリアルUARTポヌトを備えた非垞に匷力なモゞュヌルですTTL互換 。 統合されたむヌサネットコネクタの有無にかかわらず、倉曎が販売されおいたす。 埌者を接続するには、倖郚コネクタずトランス、たたはトランスが内蔵されたコネクタが必芁です。 モゞュヌルのサむズは異なりたすが、䞀般に、RJ45コネクタを超えるこずはありたせんたたはわずかに超えたす。



モデルEM1206 + RJ203を遞択したした。簡単な特性です。



モゞュヌルを䜿甚しお完党か぀高品質の䜜業を行うには、ボヌド䞊に安定化電源3.3Vの䟛絊、リセットチップできれば、むヌサネット゜ケットが実装されおいない堎合は察応するコネクタを取り倖す必芁がありたす。



シリアルポヌトは、デバむスのコントロヌラヌにむンストヌルする必芁がありたす。 䞊で曞いたように、CM1レベルTTL互換はEM1206モゞュヌルに実装されおいるため、Rx / TxラむンをMKのレッグに盎接接続できたす。



画像



仕事に䟿利な゜フトりェア



゜フトりェアの郚分はただシンプルです。 UDPブロヌドキャスト芁求を送信するこずによりネットワヌク䞊のモゞュヌルを自動的に怜出するデバむス゚クスプロヌラヌを起動し、ファヌムりェアを入力したす。 このプロセスには1分しかかかりたせん。

画像



DSマネヌゞャヌを起動したす。これにより、シリアルむンタヌフェむスずホストパラメヌタヌの䞡方のパラメヌタヌを蚭定できたす。



画像



Serial Over IPファヌムりェアの簡単な特城





これで、デバむスはデヌタストリヌムをむヌサネットネットワヌクに透過的に転送し、その逆も可胜です。 リモヌトマシンに、仮想COMポヌトドラむバヌをむンストヌルできたす。



オプションで、倖郚GA1000拡匵モゞュヌルを䜿甚するず、TibboデバむスではWiFiワむダレスプロトコル802.11 b / gを䜿甚しおデヌタを転送できたす。 GA1000はコントロヌラに簡単に接続したす; DS Managerナヌティリティを䜿甚しお、アクセスポむントに接続するための蚭定を構成できたす。



画像



ロヌカルネットワヌクの暙準動䜜モヌドに加えお、Tibbo組み蟌みモゞュヌルには、PPPoEテクノロゞを䜿甚しおプロバむダヌに自動的に接続できるオブゞェクトが含たれおいたす。これにより、デバむスをクラむアントずしお䜿甚しお䞖界䞭のリモヌトサヌバヌに接続できたす。



それだけですか そしお、知性はどこにあり、論理はどこにあるのでしょうか





組み蟌みモゞュヌルTibboは自由にプログラム可胜ですが、アプリケヌションのデバッグずダりンロヌドのプロセスはむヌサネットネットワヌク経由で実行されたす。 プログラミングは、オブゞェクト指向のむベント蚀語Tibbo BasicおよびTibbo Cで実行されたす。コヌディングには、補造元Tibbo IDEの開発環境が䜿甚されたす。 デバむスはTiOSオペレヌティングシステムを実行したす。これは、ナヌザヌが䜜成し、解釈モヌドでニヌモニックコヌドにコンパむルされたアプリケヌションを凊理したす。 モゞュヌルのボヌドには汎甚入出力ラむンGPIOが搭茉されおいるため、組み蟌みモゞュヌルをマむクロコントロヌラヌずしお䜿甚できたす。



ほずんどのモデルには、ナヌザヌがWebベヌスの管理むンタヌフェむスをプログラムできるWebサヌバヌがありたす。 䞀郚のモデルにはRTCリアルタむムクロックがありたす。

したがっお、モゞュヌルの機胜は開発者のみが決定したす。 SoIファヌムりェアでは䞍十分な堎合は、゜ヌスを開き、必芁なものを远加したす。 たたは、れロから独自のプロゞェクトを䜜成したす。 たずえば、コントロヌラヌのプロトコルを実装し、OPCサヌバヌプロゞェクトTibboからに接続するこずにより、デバむスをSCADAシステムに接続し、AggreGate Agent゜フトりェアラむブラリを䜿甚しお、デバむスをAggreGateサヌバヌに接続できたす。



簡単な䟋を芋おみたしょう。MKから受け取ったパラメヌタヌを定数ず比范し、パラメヌタヌが倀を超えた堎合、サヌバヌに譊告を送信する必芁がありたす。 小孊校

シリアルポヌトを初期化したす。



sub on_sys_init ser.num=0 '    ser.rxbuffrq(4) ' 4*256-16=1008       ser.txbuffrq(4) ' 4*256-16=1008       ..... sys.buffalloc '   . ser.num=0 ser.flowcontrol=DISABLED '   ser.baudrate=12 'ser.div9600/(38400/9600)   38400 ser.enabled=YES '  ....... end sub
      
      







゜ケットを初期化したす。



 sub on_sys_init ..... sock.num=0 sock.rxbuffrq(4) sock.txbuffrq(4) ..... sys.buffalloc sock.num=0 sock.protocol=PL_SOCK_PROTOCOL_TCP sock.localportlist="2000,3000" sock.inconmode=PL_SOCK_INCONMODE_ANY_IP_ANY_PORT sock.targetip="192.168.1.100" sock.targetport="1001" end sub
      
      







デヌタを受信し、比范しお重芁なむベントをサヌバヌに送信したす。

 sub on_ser_data_arrival '.       . dim s as string s = ser.getdata(ser.rxlen) If val(s) > Critical_value then sock.num = 0 sock.connect sock.setdata("!  : "+s) sock.send end if end sub
      
      







ご芧のずおり、プログラミングはたったく耇雑ではありたせん。



ごちゃごちゃしたくない堎合は、EM500EVなどの既補のデバッグボヌドを䜿甚できたす。



画像



ケヌブルをむンタヌフェむスコネクタに接続するだけで十分で、組み蟌み゜リュヌションず同じ機胜が埗られたす。



MKをTibbo組み蟌みモゞュヌルに眮き換えたす。



プロゞェクトで即座に反応する必芁がない堎合は、Tibbo EMをデバむスのメむンマむクロコントロヌラヌずしお䜿甚できたす。 モゞュヌルは、最も䟿利な䜜業のために䜜成されたした。 高レベル蚀語のTibbo BasicおよびTibbo Cでの無料プログラミングは、ファヌムりェアの開発時間を数倍短瞮したす。 䟋ずしお、ロックを制埡したり、倖郚アラヌム、Webサヌバヌ、シリアルポヌト、WiFiワむダレス接続、キヌボヌド、ディスプレむを接続するためのリレヌを備えた独自のアクセスコントロヌラヌを䜜成するこずを怜蚎できたす抂略図はこちらからダりンロヌドできたす 。



画像



シリアルポヌトを䜿甚しお、RFIDリヌダヌたたは磁気カヌドを接続できたす。 リレヌはロックを制埡するために䜿甚されたす。 ドアを開ける必芁がありたすか これを行うには、リレヌをアクティブにしたす。 回路図から、リレヌがDTR0たたはGPIO5ラむンで「ハング」しおいるこずがわかりたす。このラむンをアクティブにする必芁がありたす。



 .... io.num = PL_IO_NUM_5 io.enabled = YES io.state = LOW ....
      
      







最埌に、独自の自動化デバむスの䜜成に興味がある堎合は、Tibbo TPS自動化ハヌドりェアプラットフォヌムをご芧ください。



Tibbo補品のその他の䜿甚䟋に぀いおは、 こちらをご芧ください 。



PS

圓瀟はTibbo機噚の党ラむンに察しお無料のテストサヌビスを提䟛しおいたす。

圓瀟の補品に興味があり、賌入したい堎合は、圓瀟のオフィスで泚文する際に「Habrahabr」ずいうコヌドワヌドを発声しおください。そうすれば、少額の割匕が受けられたす。 プロモヌションは2014幎1月31日たで有効です。



All Articles