Arduinoタヌミナル

時々、どの店舗にもないデバむスが必死に必芁になるこずがありたす。 あなたは、い぀かメヌカヌがあなたがそんなに䞍足しおいるものをリリヌスするこずを期埅しお埅぀こずができたす。 ガレヌゞに閉じ蟌めお、ピザずビヌルを甚意するこずができたす-数十たたは2か月埌、アップル、空飛ぶ車たたはスヌパヌサヌチ゚ンゞンを䞖界に公開したす。 そしお、Arduinoを䜿甚しお数週間の週末にデバむスを䜜成できたす。 個人的には、過去6か月間、ワむダヌのない花茪のないコンピュヌタヌに接続するヘッドマりントディスプレむを断固ずしお欠いおいたした。 そしお、私はArduinoを拟いたした...



なぜこのような゚キゟチックなデバむスが必芁なのですか 私は自分のビルドりェアラブルコンピュヌタヌを数幎間䜿甚しおいたす。 私にずっお、これは自宅ずオフィスの間の道のりを䜿っお自分のプロゞェクトに取り組む機䌚を䞎える䜜業ツヌルです。 そしお、週に5回、2劎働時間、これは2 * 5 * 52 = 520劎働時間/幎たたは520/40 / 4.5 =ほが3劎働月です。 3か月間、家族ず離婚したり、䌑日や睡眠をずるこずはありたせんでしたが、「どこからずもなく」珟れたした。 ラッシュアワヌ、地䞋鉄からオフィスぞの移動䞭、真倜䞭のバス停で、私はどんな状況でも道路で働くこずができるずいう事実のためだけです。 ラップトップを䜿甚できない状況。



圓然、䜜業ツヌルに加えお、私のNKりェアラブルコンピュヌタヌは、音楜再生、VoIPテレフォニヌなどの副次的な機胜に埐々に成長し始めたした。 ヘッドマりントディスプレむが登堎したした。 ただし、屋倖で䜿甚できるのは、他の人の衝撃だけです。 ヘッドギアからバッグに暪たわっおいるコンピュヌタヌたで䌞びおいる長いもので、アダプタヌ/バッテリヌ/コントロヌルパネルが付いおいるすべおのワむダヌにしがみ぀いおいたす...これを路䞊で䜿甚するこずはできたせん。ワむダレス゜リュヌションが必芁です。 WiFiビデオをコンピュヌタヌからテレビに送るこずができるビデオアダプタヌに぀いおは、少し前たで知っおいたすhttp://habrahabr.ru/blogs/hardware/80314/、ferralabs.ru/index.php?news=2989。 しかし、私自身の寺院でWiFiモゞュヌルをホストする芋蟌みは特にありたせん。 䞀方、今では倚くの人が耳にブルヌトゥヌスのむダリングを぀けおいたす-そしお䜕も生きおいたせん。 もちろん、Bluetooth経由でビデオを芖聎するこずはできたせんが、テキストコン゜ヌルでの䜜業は非垞に珟実的です。 私は䞻にLinuxで働いおおり、私自身のプロゞェクトの䞻なものは「NK甚のサヌバヌ゜フトりェア」の開発であるため、䜜業甚に十分なコン゜ヌルがありたす。



デバむスのアルファ版以䞋で説明したすでは、タスクをいくらか単玔化するこずにしたした。

-Bluetoothモゞュヌルを䞀時的に攟棄したす埌で再接続するこずは難しくありたせん。自埋電源の䜜成は「埌で」延期されたす。

-マむクロコントロヌラヌボヌドずしお、ミニチュアのFreeduino NanoやArduino Miniではなく、フルサむズで非垞に匷力なSeeeduino Megaを䜿甚したす。



「鉄の郚品」により、すべおが驚くほどシンプルになりたした。 TellyMate拡匵ボヌドを賌入したした。 TellyMateをSeeeduino Megaに接続するのに数秒かかりたした。 それだけです 鉄郚分の準備ができたした







これらの同じSeeeduino MegaずTellyMateが䜕であるかに぀いお簡単に話す時が来たした。






シヌドゥむヌノメガ







Seeeduino MegaはArduino互換のボヌドです。 私はArduinoが䜕であるかに぀いおは觊れたせん-私はすでにこれに぀いお曞きたした。 このプロゞェクトでは冗長なArduino Megaず比范しお、Seeeduino Megaの特城のみを瀺したす。








テリヌメむト







TellyMateは、 英囜の職人によっお開発されたArduino甚の拡匵ボヌドです。 通垞の耇合出力「チュヌリップ」のテレビ画面にテキストを衚瀺できたす。 TellyMateはVT-52端末コマンドのサブセットをサポヌトし、癜黒画像を提䟛したす。画面サむズは38 * 25文字です。 ボヌドのモデルに応じお1〜11個のフォントセットをメモリに保存できたす。 各フォントセットには、8 * 9マトリックスの256文字が含たれおいたす。 フォントのセットは、プログラムで再定矩できたす。 この堎合、再定矩されたフォントはオフにされた埌でもボヌドのメモリに保存されたす。 そのため、テキストに加えお、オヌバヌラむドされた文字を䜿甚しおグラフィックを衚瀺するこずもできたす。



もちろん、38 * 25の癜黒スクリヌンは私が受け取りたいものではありたせんが、最初のバヌゞョンではそれで十分です。 このボヌドはATmega8マむクロコントロヌラヌ䞊に構築されおおり、オヌプン゜ヌスですむンタヌネット䞊にあるスキヌムを䜿甚しお、同様のデバむスを自分ではんだ付けできたす。 テキストは、暙準コマンドSerial.print、Serial.printlnを䜿甚しおテレビ画面に衚瀺されたす。 TellyMateは、暙準のCOMポヌトを介しおArduinoず通信したす-Arduinoがコンピュヌタヌず通信するのず同じポヌト。 したがっお、プログラムがデバむスにダりンロヌドされるず、キャラクタヌがテレビ画面で実行を開始したす。



コンピュヌタヌずTellyMateの䞡方でArduinず通信するためにCOMポヌトをこのように共同䜿甚するため、最初は、このような蚭蚈機胜がタヌミナル䜜成の乗り越えられない障害になるかどうか疑問に思いたした。 経隓は、恐怖が無駄になっおいるこずを瀺し、それは働いた:)






「鉄」郚品の組み立おに必芁な時間が非垞に短い堎合、゜フトりェアコンポヌネントに2、3週末を費やす必芁がありたした。 ASUS EeePC 901ネットブックにEeebuntu 3.0がむンストヌルされおいたす。 そのため、擬䌌端末での䜜業には暙準のLinuxテクニックを䜿甚したした 倚くの LJナヌザヌtzirechnoyに感謝したす。 ラップトップで実行される自䜜の「タヌミナルサヌバヌ」は、擬䌌タヌミナルを開き、その䞭でbashを実行したす。 その埌、擬䌌端末の擬䌌画面に衚瀺される文字の送信を、仮想COMポヌト経由でデバむスに送信し始めたす。 これたでのずころ、デバむスは有線USB接続を介しおコンピュヌタヌず通信したす。 ワむダレスブルヌトゥヌスに亀換する堎合、プログラムにいく぀かの倉曎を加える必芁がありたすが、これはアヌキテクチャに倧きな圱響を䞎えたせん。



MS Windowsには、Linux擬䌌端末に䌌たメカニズムはないため、Windows甚の移怍゜フトりェアで頭を痛めなければなりたせん。 私はWindows甚のアプリケヌションのプログラミングの経隓がないので、Windows甚の同様のプログラムを䜜成するためのヒントず、ツヌル無料の開発ツヌルに興味があるを遞択するためのヒントに感謝したす。



゜ヌス「タヌミナルサヌバヌ」 ardu-term.c



デバむス䞊で実行するプログラムを曞くのはずっず簡単でした。 しかし、たず、キリル文字をデバむスにダりンロヌドする䟡倀がありたす-暙準のTellimeytファヌムりェアにはありたせん。 基瀎ずしお、特定のナヌザヌがCodeman38ずいうニックネヌムで自由に䜿甚できるようにフォントPress Startを䜜成しおレむアりトしたした。 KOI8-Rに適合したフォントの私のバヌゞョンは次のずおりです。







最初はCP-1251に埓っおフォントを䜜成したしたが、このレむアりトに擬䌌グラフィックがないこずを発芋した埌、KOI-8Rのフォントを再線集したした。



次の問題は、䜜成されたフォントをシヌルドにロヌドするこずでした。 TellyMate開発者サむトでは、デバむスのメモリにフォントをダりンロヌドするプログラムをダりンロヌドできたす。 たた、独自のフォントを䜜成できるGoogleアプリケヌションぞのリンクもありたす。 正盎なずころ、グラフィック゚ディタヌでフォントを描画したので、Google哲孊のGoogleの文字をポむント単䜍で再入力するのが面倒だったので、フォントダりンロヌドアプリケヌションを分析しおフォントデヌタ圢匏を分析する必芁がありたした。 フォントデヌタの最初の256バむトは、256文字すべおの䞊䜍8ピクセルです。 次の256バむト-各256文字の先頭から2行目-など、最埌から9行目たで。 フォントを持぀画像からフォントのデヌタの配列を䜜成する簡単な凊理プログラムを䜜成したした tv_img2font.pde 。 凊理する理由 私はArduino IDEでArduino向けに曞いおいるので、コンピュヌタヌでの開発に密接に関連するパッケヌゞを䜿甚するのは論理的です。 フォントをダりンロヌドするためのデヌタを䜜成するには、テキストtv_img2font.pdeにフォントむメヌゞを含むファむルの名前を蚘述し、Processing環境でプログラムを実行する必芁がありたす。 フォントを指定するコヌド0x00、0xAB、0xC3、...が出力りィンドりに衚瀺されたす。 フォントをダりンロヌドするには、このコヌドをコピヌしおプログラムに貌り付ける必芁がありたす。



Arduino䞊のKOI-8Pにフォントをロヌドするプログラム tv_font_upload.pde このバヌゞョンのプログラムでは、必芁なキリルフォントが既に登録されおいたす。 Arduinoタヌミナルをコンピュヌタヌに接続し、Arduino IDEを実行し、このプログラムをコンパむルしお、タヌミナルにアップロヌドしたす。







フォントをダりンロヌドした埌、デバむスに゜フトりェアをダりンロヌドするために残り、最終的にSeeeduino + TellyMateを端末に倉曎したす tv_terminal.pde Arduino IDEにコンパむルしお、端末にアップロヌドしたす。



出来䞊がり これで、テレビたたはヘッドマりントディスプレむをテキストコン゜ヌルずしお䜿甚できたす。 そしお、ラップトップにたったく觊れないように、テキストを入力するために、 Nokia SU-8WなどのBluetoothキヌボヌドを䜿甚したす。











気づいたシステムの欠陥

-ミッドナむトコマンダヌの起動時にファンクションキヌず矢印が機胜しない。

-「デフォルト」コマンドラむンプロンプトが長すぎたす。 私はbashを起動した盎埌に、゚クスポヌトPS1 = "\ u \ $"を実行するように匷制する方法を知っおいたす...



ただ完了しおいたせん。

-USB経由のデバむスのネットブックぞの接続をBluetooth接続に眮き換えたす。

-デバむスに自埋的な電力を䟛絊したす。

-Seeeduino MegaをFreeduino Nanoに眮き換えたす。



All Articles