LoginSignup
0
0

More than 5 years have passed since last update.

設計 > SDKありとSDKなしでの実装

Last updated at Posted at 2017-10-20
動作環境
RS-232Cが使える環境

関連

組込みプログラミング > エミュレータを作る利点と欠点

背景

  • とある装置がある
  • とある通信interface(例: RS-232C)で通信する
  • その装置との通信用SDKが提供されている
    • 対応OSは決まっている

とある装置のエミュレータを作ったのは2年くらい前だった。
その後、PC上でSDKを使った通信ソフトのデバッグにそのエミュレータが活躍してきた(数百時間くらい)。

変更 > SDKを使わない

「SDKなしで通信できたらXXXできるのに」という一言から始まった。

エミュレータがあったので、エミュレータと通信しながら、SDKなしの通信ソフトを実装した。
装置の実機もあるので、その後に実機を使って動作確認も終わった。

SDKを使わない

SDKを使った場合、以下の事項が気になる。

  • OSのバージョンアップ時にSDKはそのまま使えるか
    • XPから7になったので対応できません、という実例は、とある会社の製品であった
      • それを残念がるユーザの言葉が強く印象に残った
    • ソフトのEOL (End of Life)を規定する
  • SDKを使えるOS上でしか動かない
    • ESP8266やRaspberry Piでは使えない
  • 付随情報の通信を行うことにより、処理時間がかかる
    • 例:20秒(SDKあり), 1秒(SDKなし)
  • 一度に1対1通信しかできない (1対N同時通信ができない)
    • SDKでインスタンス変数ではなく、static変数を使っているようだ

アスキー通信の場合は通信内容から推測ができるかもしれない。
バイナリ通信では解析が成功しないとSDKを使うことになる。

状況に合わせてSDKあり、SDKなしを検討するのはいいかもしれない。

独自機能に依存した通信の場合はSDKなしでの利点は少ないかもしれない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0