【C2】テクニカルセッション「着飾らない IoT」
富永 英明 (a.k.a. DEKO)

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

1
2

はじめに

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

今回は？
•
•
•
•
•
•

DEKO です…自己紹介終わり。
今回 “も” ゆるい話です。
知ったかぶりしているかもしれません (wIoT (Internet Of Things) って範囲が広すぎるよ…orz
僕より適任者が居たんじゃないの？エンバカさん！
フリーランスになったばかりなのに容赦ないな、
エンバカさん！

初っ端から泣き言か？
3

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

時間…
• 尺が足りない事があります…ご了承ください。
すっ飛ばせばいいじゃん！！

Ｉ賀

Ｆ士

Ｔ永

こんなの書くから時間がなくなる！！

4

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

2
5

IoT とはなんぞや？

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

IoT そのものの説明はしないと言ったけど？
•簡単な用語の定義を。

•

IoT (Internet of Things) とは日本語だと「モノのインターネット」だそうです…なんとなくダサいです。

•

簡単に言えばあらゆるものをインターネットに繋ぐというものです。

•

インターネットへの接続は直接だったり、Wi-Fi 等での LAN 経由だったり、Bluetooth 等での間接的なものだったりします。

•

電話をインターネットに繋げたのがガラケーやスマホですね。
これも IoT です。

•「IT」とか「マルチメディア」とか「クラウド」とか「ユビキタス」とかと同じように「バズワード」の匂いがしますネ。

6

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

3
7

IoT を支えるモノ (1)〜 BLE 〜

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

BLE•

BLE (Bluetooth Low Energy)
Bluetooth 4.0 で対応。低消費電⼒で通信が可能。
(ボタン電池で数年動作するものもある)•

対応機器として有名なものに Apple の iBeacon がある。
– Aplix MyBeacon
http://www.aplix.co.jp/?page_id=8620– Estimote beacons
http://estimote.com/– Kontakt iBeacon
http://kontakt.io– StickNFind
http://dev.classmethod.jp/smartphone/ibeacon-example/

8

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

iBeacon (1)iBeacon9

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

iBeacon (2)•XE6 での iBeacon 利用例は
高橋さんの記事 (Team Japan) を参照の事。
http://blogs.embarcadero.com/teamj/2014/05/22/4469/
http://blogs.embarcadero.com/teamj/2014/05/30/4515/
http://blogs.embarcadero.com/teamj/2014/06/10/4556/

丸投げかーい！！
10

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

その他の BLE 機器•

体重計とか紛失防止タグとか BLE 対応 mbed とか
イロイロあります。

TANITA RD-901-WH

RATOC REX-SEEK1-X

Martian Victory Watches

iBUFFALO BSMBB09DS

mbed HRM1017

REBL600FR

11

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

XE7 と BLE
XE7 には RTL として
System.Bluetoothがあるヨ！
※詳細は Youtube で。

「Internet of Things using Bluetooth and XE7 with David I」
http://www.youtube.com/watch?v=zkAJxSU6Z5Y「Appmethod and the Internet of Things (IoT)」
http://www.youtube.com/watch?v=K4BljmBANfE「Bluetooth LE Programming with Object Pascal, VCL and FMX 」
http://www.youtube.com/watch?v=6d7o8dcNBGI「Bluetooth Classic and LE C++ Programming with VCL and FMX」
http://www.youtube.com/watch?v=E6oKLuJZbnQ
12

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Blutooth-RTL がサポートする OS (BLE)•

Windows は 8 以降で利用可能。

•

OS X は 10.7 (Lion) 以降で利用可能。

•

iOS は 5 以降で利用可能 (iOS 7.1 以降をオススメ)。

•

Android は 4.3 (Jelly Bean) 以降で利用可能。

…結構限定的なのね。
13

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

4
14

IoT を支えるモノ (2)〜 IoT ゲートウェイ〜

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

IoT ゲートウェイ•

インターネットに直接接続できない機器はIoT ゲートウェイ経由でデータを送信する。

•

パソコンやスマホ等インターネットに繋がる機器ならIoT ゲートウェイになり得る。
– 超小型 PC (Windows)– スマートフォン or タブレット– 組み込み用ボード•

どっちでもいいけど ”IoT ハブ” と呼ばれたりもします。

•

Bluetooth 4.1 ではゲートウェイ/ハブが不要となる。
(但し 4.1 対応ルータが必要となる)

15

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Rasberry Pi• http://www.raspberrypi.org/• 電子工作でおなじみ。
Model B は Ethernet に対応している。

16

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Arduino•

http://www.arduino.cc/•

こちらも電子工作でおなじみ。
モデルによっては Ethernet に対応している。

17

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Edison•http://www.intel.com/content/www/us/en/do-ityourself/edison.html

18•

x86 の IoT ゲートウェイ。

•

OS は Yocto Linux。Windows は動作しない。

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

CuBox-i

19•

http://www.solid-run.com/•

OS として Android 4.3 を利用可能。

•

Wi-Fi 及び Bluetooth 搭載モデルがある。

•

専用の外部 I/O 端子はない。

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

ECS LIVA

20•

http://www.ecsjpn.co.jp/liva/•

Windows 8.1 (64bit 版) を利用可能。

•

3A のモバイルバッテリーで駆動可能。

•

専用の外部 I/O 端子はない。

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

メーラー・ボード Ver.2

21•

http://www.tristate.ne.jp/mailer02.htm•

I/O の各種条件によってメールを送信するボード。

•

秋月電子で購入可能。

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Panasonic ネットワークカメラ•

http://panasonic.biz/netsys/netwkcam/•

ネットワークカメラ。

ん？そりゃ確かにネットワーク対応してるだろうけどさ？
22

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Panasonic ネットワークカメラの I/O•

Panasonic のネットワークカメラには外部 I/O 端子が付いている。

•

センサーやスイッチを繋げ、それをトリガーとしてFTP にカメラ画像を転送したり、メールを送信したり、
HTTP で CGI を呼び出す事ができる。

23

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

424

IoT を支えるモノ (3)〜 デバイス〜

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

デバイス
•

それこそ何でもある。

•

BLE 機器やセンサーなど。

•

IoT ゲートウェイに何でも繋げばいい。

•

それをあらゆるものと組み合わせる。これこそが IoT。

手抜きにも程があるな。
だな。
25

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

526

IoT を支えるモノ (4)〜 バックエンド〜

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

ネットワーク / データベース•

ハードウェアをネットワークに繋いだだけでは意味がない。

•

ハードウェアから得られたデータを活用する所までが IoT。

•

幸い、Delphi には FireDAC / DataSnap / Indy 等があるので、バックエンドの処理は問題ない…むしろ得意分野。

•

27

ハードウェアを Delphi からコントロールする必要がない事もある。

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

メーラーボードの場合

センサーやスイッチ28

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Panasonic ネットワークカメラの場合

センサーやスイッチ29

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

630

IoT をやる上での問題点

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

BLE の問題点•

OS のサポートが限定的。

•

例えば入退室をスマホの BLE で管理しようとしても、すべての端末が BLE 対応である必要がある。

•

BLE デバイスを Delphi からコントロールできるかどうかはやってみなければわからない。

•

BLE デバイスには大抵アプリが付属している。
…つまり、改めてアプリを作る必要がない場合も多い。

•

Bluetooth-RTL は XE7 以降。

しゃーないね。
31

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

通信環境の問題•「何でもネットにつなぐ」とは言っても、それをやりたい場所で快適な通信環境が整っているとは限らない。

•

例えば⼭間部、例えば海岸沿い。
頻繁にデータを送受信するのは無理だったり、
そもそも電波を掴まない事がある。

•

田舎をナメてはいけない！!

アンタの私怨が混じってないか？
32

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

設置場所の問題•

屋外への設置は大変。
– 灼熱だったり極寒だったり。
– プラスチックは紫外線で簡単に劣化する。
– ⾬も降るので防⽔対策。

ひぃ！

– 気温差もあるので結露対策。
– 海の近くなら潮風対策。
– 電源をどうやって確保しようか？

•

ビーコン的なものは誰がメンテナンスするのか？
– 電池が切れたら？
– 故障したら？
– そもそも故障をどうやって判断する？

33

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

…正直、
そんなのは
大した問題じゃないんだヨ。

34

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

IoT の最大の障壁は…

…⽇本の法律だったりする。
35

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

技術基準適合証明 (1)•いわゆる 「技適」。

•

技適マークがない無線機器を日本国内で使用すると、電波法違反となる 。
(5 年以下の懲役または、250 万円以下の罰⾦)

36

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

技術基準適合証明 (2)•無線 LAN だろうが Bluetooth だろうが、
技適マークのない機器は日本国内では使用できない。

•

面白そうな BLE ガジェットを eBay で購入しても日本国内で使う事はできない (検証目的であっても)。

•個人で技適を通す事もできない事はないが、現実的ではない。

•

電波法違反覚悟でゴニョゴニョやりたければ自己責任で勝手にやればいいけれど、仕事としてならそれは無理。

•

IoT と技適の問題はセットみたいなものです。

•

ちなみにこれまで紹介した機器はすべて技適マークが付いています (無線を利用する機器の場合)。

37

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

…思い出してみよう。
このセッションのタイトルが何であったかを。

38

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

できない事を嘆いても仕方ない

7
39~ 着飾らない IoT ~本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

「何ができないか？」
じゃなくて、現状で「何ができるか？」を考えてみようヨ。

40

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

…てな訳で買ってみたさ。
Kindle Fire HD 6
Android 4.4 (Kitkat) ベースのFire OS 4.1.1 を搭載
Bluetooth 4.0 対応

MyBeacon
USB 給電タイプのiBeaconPlanex BT-Micro4
Bluetooth 4.0 対応
Bluetooth USB アダプタ
41

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Kindle Fire HD 6 緒元
Amazon Kindle Fire HD 6
タイプ
OS 種類

タブレット

カードスロット

Fire OS 4.x (Android 4.4.2 互換) インターフェイスなし
microUSB (USB ホスト機能あり) / SlimPort

CPU

MTK8135 1.2 GHz

スピーカー

モノラル / 3.5mm ステレオジャック

コア数

クアッドコア

マイク

○

GPU

PowerVR G6200

Wi-Fi

802.11 b/g/n

メモリー

1GB

Bluetooth

4.0 LE

記憶容量

8 / 16GB

カメラ

前面 (30万画素) / 背面 (200万画素)

画面サイズ

6 インチ

センサー

加速度センサー、ジャイロセンサー

画面解像度

1280x800

位置情報

Wi-Fi ベース

液晶タイプ

IPS

バッテリー性能

8 時間

マルチタッチ

10 点

サイズ

169x103x10.7mm

HDMI

別売の HDMI アダプタが必要

重量

290g

42

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

BLE (iBeacon) デモ

43

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

構成図
デバッグ用
Micro USB

Windows PC

Kindle Fire HD 6

給電

MyBeacon44

モバイルバッテリー

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

結論から言うと大失敗 (1)•

MyBeacon の設定ツールは iOS または Android で動作する。

•

比較的新しい iPhone / iPad でないと設定ツールが動作しない。

•

Android も 4.3 (Jelly Bean) 以降でないと動作しない。

•

Android 向けの設定ツールは Google Play で配布されている…Kindle Fire HD 6 に Google Play はインストールされていない。

マトモなセッションになる気がしねぇ…

45

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

結論から言うと大失敗(2)•Bluetooth-RTL を使ってテストするも、
MyBeacon ではデバイス名が空で帰ってくるので、
XE7 付属のサンプルはそのままでは動作しない。
(ExploreDevicesLE / ProximityClient)•

割とサンプルが意味不明。

•

サンプルに Winapi.BluetoothLE.pas があるので、Windows アプリでデモして誤魔化そうと思ったけど、この PC は Windows 7 だった ＼(^o^)／46•

スペックを満たしていてもちゃんと動作するとは限らない。

•

OS X / iOS なら特に問題は出ないハズ (多分)。

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

方向転換
•

BLE 抜きで IoT やるとなると、真っ先に思いつくのはシリアル通信。

•

この方向でやってみる。
秋月電子 AE-UM232R
USB<->シリアル変換モジュール(FTDI FT232RL 採用)

ほぅ。
47

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

シリアル通信デモ

48

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Windows でシリアル通信したい•

Comport Library や TurboPower Async Professional が使える。
[Comport Library]
http://sourceforge.net/projects/comport/
コメント欄に XE2〜XE7 対応版へのリンク有[TurboPower Async Professional]
http://sourceforge.net/projects/tpapro/
RS-232C なんて
Delphi 1 の時からあったろ？
“釈迦に説法” じゃないのか？

49

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

構成図
接続
FT232RL

Mini USB

AE-UM232R

Windows PC

AE-UM232R

何と繋ぐ気？

シリアル通信デバイス

50

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

加工！
フリスクの空き容器を加工してアダプタを作る。

IC ソケットとハーフピッチ
ピンヘッダを配線

51

AE-UM232R を接続

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

配線！
SLD

CB2

CD

USB

CB4

RD

VCC

CTS#

PU2

DCD#

NC

PU1

DSR#

SG

CB3

GND

3V3

RI#

VCI

RESET#

RXD

RR

VCC

VIO

VC2

CB1

RTS#

ER

CB0

DTR#

GND

TXD

FG

RS
CS

CD
NC

PAR

PRG

ハーフピッチピンヘッダ (15P)52

IC ソケット (24P)

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

合体！
SHARP PC-E500 (26年物のポケコン！) に接続。

IC ソケットから AE-UM232R を抜くのがメンドイのと、
PC-E500 でコマンド入⼒するのが面倒なのでデモは割愛します
53

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

設定！
PC-E500 と接続する場合、
FT_Prog (or MProg) を使って信号の論理値を反転させる必要がある。
設定が終わったら⼀度ケーブルを抜いて挿し直す必要がある。

54

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

転送！
> POKE &BFD35,0,255,0,80> OPEN "COM:9600,N,8,1,A,L,&H1A,X,N"> CLOSE•

このような感じで PC-E500 のシリアルポートの設定を⾏う。

•

詳しくは以下の URL で。
http://ht-deko.minim.ne.jp/pce500/•

Delphi とはあまり関係ない話になってくるのでこの辺でやめます (^^;A「誰がテストできるのか？」って話だしな。

55

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

構成図

シリアル通信
Windows PC

NMEA データを送信する GPS モジュールはデータを垂れ流すので、シリアル通信のテストに便利。

56

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Android でシリアル通信したい•

Android デバイスが USB ホスト機能を有している必要がある。

•

OTG (USB ホスト) ケーブルが必要となる。

•

Winsoft 社製 “ComPort for Android” は
XE5〜XE7 に対応している。

•…が、これを動作させるためには殆どの端末において
root 権限が必要だと思われる。

•“ComPort for Android FTDI” や“ComPort for Android Prolific” というのもあるが、USB<->シリアル変換チップ別にコードを書かなくてはならない。

57

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

しかし！！
•

有限会社 CSD 社製“Android FTDI/Prolific/SILICON LABS 232
通信 コンポーネント” は XE7 に対応している。

•

有名所のUSB<->シリアル変換チップに対応している。
(FTDI / Prolific / Silicon Labs)

作者近影 (?)
58

流⽯、⼭菅さん。
そこにシビれる！
(以下略)

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

構成図

Micro USB

Kindle Fire HD 6

OTG ケーブルで接続する

59

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Android と RS-232C 機器を繋ぎたい•

OTG ケーブルと USB<->シリアル変換ケーブルを使う。

•

機種によっては途中に USB ハブを噛ませて電源供給しなくてはならないかもしれない。

•

Ratoc の REX-USB60MI がオススメ。

•

REX-USB60MI は別途 OTG ケーブルを用意する必要がない。
(microUSB コネクタとなっているので)•USB <-> シリアル変換チップは
FTDI の FT232RL。

60

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Blutooth (SPP)•

折角 Bluetooth USB アダプタがあるのだから、SPP (Serial Port Profile) 接続もやってみる。

•

手持ちのもので SPP 通信できるものというと…

IBS HS2142-95(FlicScan)
Bluetooth 接続 (SPP) のバーコードリーダ※ 廃盤になっています。

61

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

シリアル通信 (SPP) デモ62

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

構成図Bluetooth (SPP)
シリアル通信BT-Micro4
FlicScan63

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Windows PC

FlicScan の仕様•

スキャンした後で特定のデータを送信しないと同じデータを何度も送ってくる。

受信

[STX]
(0x02)

送信

チェックデータ(4bytes)

バーコードデータ[ACK](0x06)* 改⾏コードは変更可能。
64

チェックデータ(4bytes)

チェックデータを送り返す必要があるワケね。

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

[CR]*(0x0D)

Blutooth-RTL がサポートする OS (Classic)

65•

Windows は利用可能。

•

OS X は利用可能。

•

iOS は利用不可。

•

Android は利用可能。

BLE の制限と混同しないでね。

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

構成図
デバッグ用
Micro USB

Windows PC

Kindle Fire HD 6
Bluetooth (SPP)

FlicScan66

サンプルの BlueChat のUUID 書き換えれば動くから楽勝楽勝！！
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

思うようにはいかないよね。
•

BlueChat は Windows 7 だと Bluetooth アダプタを認識しない。
(2種類の Bluetooth USB アダプタで検証)•

Android だと
BlueChat.apk は例外クラス EJNIException （メッセージ‘java.io.IOException: Try again’）を送出しました。
エラーが出て思うように動作しない。

もう絶望しか⾒えない…

67

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

ん？コレは！
•ググっていたら XE5 用のAndroidapi.JNI.BluetoothAdapter.pas
なんていうステキユニットが！！

わずかな変更でXE7 でも動作します
https://github.com/cohbol/roverx1/blob/master/Androidapi.JNI.BluetoothAdapter.pas

68

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

FT232R には…
•

Bit Bang Mode という I/O 制御モードがある。

•

FTDI のサイトには…

http://www.ftdichip.com/Support/SoftwareExamples/
CodeExamples/Delphi.htm

D2XXUnit.pas …だと？
69

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Bit Bang Mode•

通常、USB<->シリアル変換を接続すると仮想 COM ポート (VCP) として認識される。
(VCP ドライバによる接続)•

それとは別に D2XX ドライバによる接続方法がある。
こちらで接続すると Bit Bang Mode で 8bit I/O を制御できる。

OS
VCP ドライバ

D2XX ドライバ

UART

Bit Bang Mode

FTDI FT232RL
70

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

でも…
•

FTDI のサイトにある D2XXUnit.pas は古い (いろんな意味で)。

•

そこで⾒つけたのが “FTDI class library for Delphi”。

•

しかしながら Bit Bang 関連のメソッドがない…orz

https://code.google.com/p/ftdiclass/downloads/list71

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Bit Bang Mode デモ72

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

構成図
接続
FT232RL

Mini USB

AE-UM232R

Windows PC

AE-UM232R

Bit Bang Mode
ブレッドボード

73

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

ブレッドボード
赤色 LED(出⼒: 下位 4bit)

LED 用抵抗(1KΩ)

ディップスイッチ(⼊⼒: 上位 4bit)
プルアップ抵抗(10KΩ)
AE-UM232R※ 配線が妥当であるかどうかは⼀切保証しません (w74

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Bit Bang Mode I/O
USB

CB4

VCC

CTS# (D3)

PU2

DCD# (D6)

PU1

DSR# (D5)

CB3

GND

3V3

RI# (D7)RESET#
VCC
CB1
CB0
GND

75

AE-UM232R

CB2

FT232RLSLD

RXD (D1)
VIO
RTS# (D2)

8個の I/O ポートは入⼒と出⼒を任意に切り替えられます。
用意したブレッドボードでは、上位ビット D4~D7 を入⼒としてスイッチを接続、下位ビット D0~D3 を出⼒として LED を接続してあります。

DTR# (D4)TXD (D0)

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Android で Bit Bang したい•

Android 用の D2XX ドライバとしてJava D2XX Driver (J2XX) がある。

•

実態はドライバと言うよりライブラリ (d2xx.jar)。

•

Winsoft の “ComPort for Android FTDI” はJ2XX をラッピングしたものなので、これを使えば Android で Bit Bang Mode が使える。
(有償: $60 / $120)•

XE7 でも使える最新版は何故か CodeCentral にある。
http://cc.embarcadero.com/Item/29879•

XE7 を持っていると入手できる
Java2OP を使えばあるいは…

76

ほほぅ。

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

構成図
FT232RL

Mini USB

AE-UM232R

AE-UM232R

接続
Micro USB

Kindle Fire HD 6

Bit Bang Mode
ブレッドボード

77

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

RS-232C 機器を繋ぎたい (番外編)•

Ratoc の REX-WF60 を使うテもある。

•

TCP/IP での送受信 (Wi-Fi 経由) となるので、コードがプラットフォームに依存しない。

•

でも、お高いんでしょう？
(Amazon で 2.4 万円前後です)

詳細は TeamJapan ブログで。
http://blogs.embarcadero.com/te
amj/2013/12/24/4149/

78

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

8
79

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

まとめ

まとめ (開発環境)•

XE7 で IoT をやりたい場合には以下の環境を揃えるのがいいかと思います…少なくとも開発環境としては。
– Windows 8.1 の PC
– Bluetooth 4.0 に対応した USB アダプタ (できれば複数)– Android 4.3 以降かつ Google Play に対応した機種(USB ホスト機能を有する機種)– Mac は 2013 Late 以降 (であれば間違いない)– iPhone は 5 以降
– できるだけ多くの BLE デバイス
揃えるのが結構大変だ！

80

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

まとめ (プログラミング)•

プログラミング以前の話で…

•

IoT そのものに知識は必要ないと思うが、前提条件として Bluetooth やシリアル通信等、
IoT を支える技術の知識が必要となる。

•

RTL のソースコードやデモのソースコードはよく読む事。

•

基礎からコツコツやりましょう。

評価版では無理が…

81

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

まとめ (反省点)•

やる事なす事、ことごとく高橋さんの記事の後追いになってしまった。

•

機器選定からして大間違いだったので、やってはいけない失敗のオンパレードになってしまった。

•

奥さんにはナイショだけど、無駄なものもイロイロ購入した…だが後悔はしていない。

次、がんばれ。

82

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

…でも、本当に大事なのは？

83

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

ハードウェアに詳しいヒトを
捕まえる事
ですネ。

84

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

おしまい。

85

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

X
86

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

資料

参考資料 (1)87•Comport Library
http://sourceforge.net/projects/comport/•

Android FTDI/Prolific/SILICON LABS 232 通信 コンポーネント(有限会社 CSD)
http://www.csd.co.jp/contents05.html•

ComPort for Android (Winsoft)
http://www.winsoft.sk/acomport.htm•

D2XX Programmer’s Guide (FTDI: PDF)
http://www.ftdichip.com/Support/Documents/ProgramGuides/D2X
X_Programmer%27s_Guide%28FT_000071%29.pdf•

Java D2xx for Android API User Manual (FTDI: PDF)
http://www.ftdichip.com/Support/Documents/AppNotes/AN_233_J
ava_D2xx_for_Android_API_User_Manual.pdf
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

参考資料 (2)88•

Android in XE5 (RedTitan Technology)
http://www.pclviewer.com/android/•

AE-UM232R - 完成品 (秋月電子通商)
http://akizukidenshi.com/catalog/g/gK-01977•

AE-UM232R - キット (秋月電子通商)
http://akizukidenshi.com/catalog/g/gK-06693/

•

FRISK
http://www.frisk.jp/•

Java2OP.exe - Android 向けネイティブ ブリッジ ファイル ジェネレータ
http://docwiki.embarcadero.com/RADStudio/ja/Java2OP.exe__Android_%E5%90%91%E3%81%91%E3%83%8D%E3%82%A4%E3%
83%86%E3%82%A3%E3%83%96_%E3%83%96%E3%83%AA%E3%8
3%83%E3%82%B8_%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB_%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%AC%E3%83%BC%E3%82%BF

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

参考資料 (3)89•Delphi XE5 - AndroidのBluetoothでクライアント&サーバー通信を⾏う
http://blogs.embarcadero.com/teamj/2014/02/28/4307/•

FireMonkey iOS アプリで iBeacon を試す - C++Builder XE6
http://blogs.embarcadero.com/teamj/2014/05/22/4469/•

Delphi / C++Builder - ネイティブ Android アプリで iBeacon(Bluetooth Low Energy) と通信する
http://blogs.embarcadero.com/teamj/2014/05/30/4515/•

FireMonkey iOS - アプリがバックグラウンドでも iBeacon に反応するには?
http://blogs.embarcadero.com/teamj/2014/06/10/4556/

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

参考資料 (4)90•Delphi XE で COMポート (RS-232C) を操作する
http://blogs.embarcadero.com/teamj/2010/12/14/1598/•

Mac OS X アプリでシリアルポート (RS-232C) にアクセスする
http://blogs.embarcadero.com/teamj/2013/08/08/4023/•

単⼀コードで RS-232C と通信する – Windows / Mac OS X / iOS /Android のアプリで TCP/IP 接続
http://blogs.embarcadero.com/teamj/2013/12/24/4149/•

Delphi Android - RS-232C に Micro-USB Bでアクセスする (FTDI)
http://blogs.embarcadero.com/teamj/2014/05/20/4463/

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。