おひさしぶりです。
やましょうです。
先日、日本Androidの会の勉強会に参加しまして、
Android Thingsと組込み用 のアンドロイドのプレビューが発表されている事を知りました。
どうもラップするだけで、ザマリンでも動く様ですので、Delphiからも簡単にアクセスできる筈
と思やってみました。
1.System イメージの入手先です。
https://developer.android.com/things/preview/download.html
で入手できます。(私はラズパイ3で挑戦です。)
2.イメージの書込みツール入手
https://sourceforge.net/projects/win32diskimager/
3.イメージツールでSDCard 8Gにイメージを書込みます。
その後ラズパイに挿入、Lanケーブルを挿し、hdmi接続
4.ラズパイ電源起動
するとipアドレスが下の方に出てきますので、それをメモりましょう
5.adb コマンドでラズパイと接続します。
私の場合Android Studioも入っているので
C:\Users\me\AppData\Local\Android\sdk\platform-tools>adb connect ip Addresss
connected to ip Address : 5555って返ってきます。
6.SDKを、Andorido Studioと同じフォルダーにする。
7.Android Things用のブリッジファイルを作る(サンプルファイルをダウンロード)
Java2Op等で作成。なのですが、面倒なのでファイルをダウンロードしてください。
8.サンプルプログラム
unit Main;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.Controls.Presentation, FMX.StdCtrls
,Android.Things
,Androidapi.JNI.JavaTypes
,Androidapi.JNIBridge
,Androidapi.JNI.GraphicsContentViewText
,Androidapi.Helpers
,Androidapi.JNI.App
,Androidapi.JNI.Embarcadero;
type
TForm37 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private 宣言 }
FPortService : JPeripheralManagerService;
FWDGpio : JGPIO;
RVSGpio : JGPIO;
public
{ public 宣言 }
end;
var
Form37: TForm37;
implementation
{$R *.fmx}
procedure TForm37.FormCreate(Sender: TObject);
begin
FPortService := TJPeripheralManagerService.Create();
FwdGpio := FPortService.openGpio(StringToJString('BCM6'));
RvsGpio := FPortService.openGpio(StringToJString('BCM5'));
FwdGpio.setDirection( TJGpio.JavaClass.DIRECTION_OUT_INITIALLY_LOW);
RvsGpio.setDirection( TJGpio.JavaClass.DIRECTION_OUT_INITIALLY_LOW);
end;
procedure TForm37.Timer1Timer(Sender: TObject);
begin
if Timer1.Tag = 0 then
begin
Timer1.Tag := 1;
FwdGpio.setValue(FALSE);
RvsGpio.setValue(TRUE);
end
else
begin
Timer1.Tag := 0;
FwdGpio.setValue(TRUE);
RvsGpio.setValue(FALSE);
end;
end;
end.
9.AndroidManifestファイルの編集
<uses-library android:name="com.google.android.things"/>
を追加したりいろいろする
10.コンパイル実行
(機種選択はiot_rpi3を選択してください。)
実行すると
こんな感じで交互にLチカとなります。
ソースはここ、SourceFile
Nゲージを動かす。
以上
やましょうでした。