ターミナル

シリアルとダイレクトに送受します。

これにより、インターネットに接続できる周辺機器を用いて

Telnet などへの接続が可能です。

また、RS-232C 変換を行う事で、

モデムを接続してダイヤルアップも可能です。

 

フロー制御 RS・CS が接続されていないので、

通信速度は 2400 以下が推奨されます。(300・1200・2400)

それより大きい値にすると

シリアルから受信じた文字列が欠ける状態になります。

 

Telnet BBS(パソコン通信時代のホストへ Telnet 接続)も

接続できますが、文字コードの影響で英語の BBS に限られます。

ANSI(ESC コード)は対応していないため、

コードがそのまま出力されます。

右画像は実際に海外の Telnet BBS へ接続しています。

 

IchigoJam BASIC では INKEY() コマンドで
キーボード入力とシリアル信号が混ざって得られるため、
ターミナルを実現するのは現状困難です。


確認できている環境

次の環境は実際に動作を確認できています。

 

AT コマンドによって接続操作を行います。

環境によって AT コマンドが異なります。

AT と入力して OK が返ってこれば正常です。

Wi-Fi 接続は一度行うと再起動直後に自動接続を行うため、

改めて接続コマンドを入力する必要はありません。

+++ は 1 秒ほど送受のない状態から入力し、

更に 1 秒ほど待つ事で OK などのレスポンスが得られます。

 

全く反応がない場合、通信速度の違い以外に
TXD・RXD を逆に接続すると良いかもしれません。

(特に RS-232C 変換を経由する場合)

 


The PiModem Project

The PiModem Projact

 

Raspberry Pi のシリアル信号は IchigoLatte と一緒です。(UART)

直接 GND・TXD・RXD を接続して下さい。

 

デフォルトの通信速度は 2400 です。

Wi-Fi 接続は予め Raspberry Pi の OS 側で行っておきます。

トーン海鮮による接続手段で 電話番号 の代わりに サーバ名:ポート になっています。分かりやすい操作です。

 

ATDTサーバ名:ポート サーバ接続
この間送受
+++ サーバ送受を抜け AT 入力状態へ
ATH サーバ切断

ESP-WROOM-02 AT コマンド(初期状態)・ESP32 UART2

デフォルトの通信速度は 115200 です。

そのままでは受信した文字が欠けてしまうので、AT+UART_DEF で変更します。

コマンド体型は独特です。

 

AT+UART_DEF=2400,8,1,0,0 通信速度を 2400 に設定
AT+CWMODE=3  
AT+CIPMODE=1  
AT+CWJAP="アクセスポイント","パススルー" Wi-Fi 接続
通常使用はここから
AT+CIPSTART="TCP","サーバ名",ポート サーバ接続
AT+CIPSEND 送信有効化
この間送受
+++ サーバ送受を抜け AT 入力状態へ
AT+CIPCLOSE サーバ切断

Zimodem(ESP-WROOM-02・ESP32)

bozimmerman/Zimodem - GitHub - ソース・使用方法詳細

subethasoftware.com/files/zimodem/ - .bin バイナリー

 

.bin ファイルのみを 0x00000 で書き込みます。(MixJuice と同じ)

ESP-WROOM-02 を使用している MixJuice プリント基板にも入れて使用できます。

(MixJuice ファームウェアは上書き消去されます。MixJuice ファームウェアで更新して元に戻せます)

通常(MixJuice 含む)は generic を含む .bin、NodeMcu 向けは nodemcu が含まれる .bin となります。 

デフォルトの通信速度は 1200 になっています。bps(1200) にして下さい。

パソコン通信時代の AT コマンドに近く、扱い安くなっています。ただし ATD は "" 囲みになっている事にご注意下さい。

 

ATW Wi-Fi 一覧
ATW"アクセスポイント,パススルー" Wi-Fi 接続
通常使用はここから
ATD"サーバ名:ポート" サーバ接続
この間送受
+++ サーバ送受を抜け AT 入力状態へ
ATH サーバ切断

MixJuice・MicJack

MixJuice - イチゴジャム レシピ

 

MJ コマンドを直接入力して参照可能です。MJ GET ~ ・ MJ GETS ~ などを使用できます。

例えば通常 lash で次のコマンドを入力する場合

 

lash>echo MJ GETS 15jr.ml/> uart;cat uart

 

ターミナルでは MJ GETS 15jr.ml/ のみで表示できます。

 

bps(115200)・ローカルエコーあり・改行コード CR+LF にして下さい。(下項目参照)
ただし IchigoJam BASIC のように特定のコンテンツに記載される GET・GETS コマンドから更に参照する事はできません。

 

接続先の BBS

英語の BBS でないまともに表示できないでしょう。日本語の草の根 BBS ではほとんど読めなくなります。

多くの BBS は ANSI(ESC)を用いた色表示を実現していますが、接続直後無効にできる場合があります。

ANSI と ASCII の選択肢が表示される場合は ASCII を選択して下さい。
また CP437(IBM PC で採用されていた文字コード)を現在も採用するため、

一部は文字化けしますが、メニューなどは表示できます。

今でも英語の BBS は豊富に運営されています。

 

Telnet BBS Guide - 英語圏を中心とした Telnet 接続 BBS の一覧


ターミナルの設定

必要に応じてプログラムの次のところを修正して下さい。

  • 通信速度を変更する …… bps(2400) を変更します。Telnet などは 2400 以下を推奨します。
  • ローカルエコーを有効にする …… //echo を含む 2 行の行頭 // を外します。(デフォルトはローカルエコーなし)
  • 改行コードを変更する …… // CR および // LF の行頭に // を入れます。(デフォルトは CR+LF)

プログラム実行で自動的に接続したり文字を送出するようにしたい場合、bps コマンドの直後に uart コマンドで送出します。

 

uart("atdt 192.168.1.1:23\n");

uart("atd",chr(34),"192.168.1.1:23",chr(34),"\n"); ※ chr(34) → "

 

数行送出を要する場合は、sleep を間に入れて下さい。

接続先で上記の設定が異なるため、接続先毎に EEPROM 保存すると良いでしょう。


//Terminal
 
var d,c=0;
 
bps(2400);
 
while(1)
{
  d=uart();
  if((d!=-1)*(d!=13))
  {
    if(c==1)
    {
      log(chr(8));
      c=0;
    }
 
    log(chr(d));
  }
  else if((d==-1)*(c==0))
  {
    c=1;
    log(chr(140));
  }
 
  d=inkey();
  if(d==10)
  {
    if(c==1)
    {
      log(chr(8));
      c=0;
    }
 
    // log("\n"); // echo
    uart(13); // CR
    uart(10); // LF
  }
  else if(d!=0)
  {
    if(c==1)
    {
      log(chr(8));
      c=0;
    }
 
    // log(chr(d)); // echo
    uart(d);
  }
}

MixJuice・MicJack ダウンロード lash>echo MJ GET 15lt.eu.org/terminal.js> uart;cat uart > .