Delphi XE5 Serial Port en Android

Alguien tiene alguna idea de cómo acceder al puerto serie en android con delphi XE5? Estoy usando un Cubieboard con Android 4.1

One Solution collect form web for “Delphi XE5 Serial Port en Android”

He utilizado con éxito Winsoft ComPort para Android para realizar una comunicación USB en serie.

http://www.winsoft.sk/acomport.htm

Echa un vistazo al código.

 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.StdCtrls, FMX.Layouts, FMX.Memo, Winsoft.Android.ComPort; type TFormMain = class(TForm) Memo: TMemo; StatusBar: TStatusBar; ToolBar: TToolBar; ButtonOpenClose: TButton; ButtonSettings: TButton; LabelStatus: TLabel; AComPort: TAComPort; Timer: TTimer; procedure ButtonOpenCloseClick(Sender: TObject); procedure AComPortAfterWrite(Sender: TObject; Buffer: Pointer; Length: Integer); procedure TimerTimer(Sender: TObject); procedure AComPortAfterRead(Sender: TObject; Buffer: Pointer; Length: Integer); procedure MemoKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); procedure AComPortError(ComPort: TAComPort; E: EComError; var Action: TComAction); procedure ButtonSettingsClick(Sender: TObject); private { Private declarations } FReadCount: Integer; FWriteCount: Integer; procedure UpdateStatus; public { Public declarations } end; var FormMain: TFormMain; implementation uses Settings; {$R *.fmx} procedure TFormMain.UpdateStatus; begin LabelStatus.Text := 'Read bytes: ' + IntToStr(FReadCount) + ' Write bytes: ' + IntToStr(FWriteCount); end; procedure TFormMain.AComPortAfterRead(Sender: TObject; Buffer: Pointer; Length: Integer); begin FReadCount := FReadCount + Length; UpdateStatus; end; procedure TFormMain.AComPortAfterWrite(Sender: TObject; Buffer: Pointer; Length: Integer); begin FWriteCount := FWriteCount + Length; UpdateStatus; end; procedure TFormMain.AComPortError(ComPort: TAComPort; E: EComError; var Action: TComAction); begin ShowMessage('Error ' + IntToStr(E.ErrorCode) + ': ' + E.Message); Action := caAbort; end; procedure TFormMain.ButtonOpenCloseClick(Sender: TObject); begin AComPort.Active := not AComPort.Active; Timer.Enabled := AComPort.Active; Memo.Enabled := AComPort.Active; ButtonSettings.Enabled := not AComPort.Active; if AComPort.Active then ButtonOpenClose.Text := 'Close' else ButtonOpenClose.Text := 'Open'; end; procedure TFormMain.ButtonSettingsClick(Sender: TObject); begin FormSettings.Show; end; procedure TFormMain.MemoKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin AComPort.WriteByte(Ord(KeyChar)); end; procedure TFormMain.TimerTimer(Sender: TObject); var Text: string; begin Text := AComPort.ReadUtf8; if Text <> '' then Memo.Text := Memo.Text + Text; end; end. 

En las propiedades del componente, debe incluir las características esenciales que crean su comunicación de puerto serie.

Por ejemplo: nombre de dispositivo, databits, baudrate, paridad y bits de parada , por ejemplo.

Introduzca aquí la descripción de la imagen

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.