iPhone勉強会 20111023 -RS-232Cを利用-

2011/11/23

iPad とレシートプリンタを繋ぎたい。 (AirPlay があるのにあえて使ってみる!)

ポスレジを iPad と レシートプリンタで実現するデモ・・・感動ものでした。。。

プリンタ機種

EPSON TM-T70 ・RS-232C(シリアルポート) ・IEEE1284(パラレル) ・USB20 ・100(10)BASE-TX ・無線LAN(IEEE802.11b)インターフェイス

iPad側のインターフェイス

・GKSession で Bluetooth、NetWork接続 ・NSStream経由でNetWork接続

GKSessionは、同一アプリからしか通信できない

NSStream しかない

NSStream

メモリ、ファイル、ネットワーク(ソケットを通じて)に配置されたデータのストリームオブジェクトを作る事ができる。

EPSON TM-T70

■RS232 etherNet Converter シリアル通信をイーサーネット上のソケット通信に変換するコンバータ

TCP、UDP、UART が利用できる。 ※UART シリアル通信を制御するチップ

カスタマディスプレイ(2行表示)では見づらいので、

iPad でディスプレイ表示!

実装部分

  • NSStreamDelegate 利用
  • CFStreamCreatePairWithSocketToHost
  • ポート番号9100番を指定
char s[3];
s[0] = 0x1b;

[_outputStream write:(unit8_t*)s max Length:sizeof(s)];
  • Shift-JIS のロムを持っているので、NSShiftJISSStreingENcoding を利用
  • サーバを置かなくても、LPRプロトコルを使って通信可能

実演

  • メインディスプレイは、ONKYO の フォトビューワー(製造中止w) ※AppleTV 経由で表示も可能
  • 商品一覧、金額は基本プログラム
  • デザイン部分は、WebView で表示

iPad 側の機能

  • 顧客マスター
  • 担当マスター
  • 店舗マスター
  • 消費税率
  • 支払い方法
  • 売上げ管理(釣り銭準備金、回収、雑収入など)