Android - altes Mobiltelfon als Kamera nutzen

Antworten
Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Android - altes Mobiltelfon als Kamera nutzen

Beitrag von af0815 »

Ich bin auf der Suche, wie man ein Mobiltelefon als Kamera einsetzen kann. BS ist Android. Vielleicht hat schon wer Erfahrung damit sammeln können ?

a ) Basis LAMW auf Win10/64 Rechner.
b ) Das ganze soll selbständig starten (wenn man Mobiltelefon startet) und mit Wifi arbeiten
c ) Ein Bild sollte mit einem Startsignal ausgelöst werden (Über Socket oder whatever)
d ) Das Bild soll auf einen FTP landen

Ich habe noch keine wirkliche Ahnung von der Programmierung mit Android. Nur fängt das ganze schon mal bei a an :-)

Ist für mich auch ein gewisser Einstieg in die Welt von Android. Man kommt als Programmierer ja fast nicht mehr darum herum.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Re: Android - altes Mobiltelfon als Kamera nutzen

Beitrag von theo »

Da hast du dir für den Anfang ja ziemlich was vorgenommen. :wink:
Ich würde vllt. mal hier starten: https://developer.android.com/training/ ... hotobasics
Kommt vllt. noch auf die Android Version deines "alten" Phones an.

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Re: Android - altes Mobiltelfon als Kamera nutzen

Beitrag von theo »

Und noch das: Vielleicht wäre ein ESP32 besser geignet?
Die Dinger gibt es mit Cam auch für 'n Appel und 'n Ei.
https://www.banggood.com/de/ESP32-CAM-W ... 94679.html

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Android - altes Mobiltelfon als Kamera nutzen

Beitrag von af0815 »

theo hat geschrieben:
So 11. Apr 2021, 13:15
Und noch das: Vielleicht wäre ein ESP32 besser geignet?
Die Dinger gibt es mit Cam auch für 'n Appel und 'n Ei.
https://www.banggood.com/de/ESP32-CAM-W ... 94679.html
Das ist irgendwie noch mehr frickelei in unbekannten Gefilden. Noch dazu wo die Kamera 2MPx nur kann. Meine 'alten' Android Phones sind so 2-4 Jahre alt und haben zumindest 10 MPx. Keine Gehäuse,...., nein wenn gefrickel, dann maximal in der Software :-)

Android Developers sind mir schon ein Begriff, nur hänge ich schon bei a ) siehe auch https://forum.lazarus.freepascal.org/in ... #msg401268

der LAMW_Manager hängt ganz blöde beim Kompilieren aus nicht ersichtlichen Grund. Dürfte bekannt sein, aber die Beiträge zur angeblichen Hilfe helfen auch nicht.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Re: Android - altes Mobiltelfon als Kamera nutzen

Beitrag von theo »

Ist halt Geschmackssache.
Ich bin mit dem ESP32 bei meinen Versuchen eigentlich sehr schnell ans Ziel gekommen und Arduino kennst du ja besser als ich.
Ich hatte im ESP32 eine WLAN Verbindung erstellt. Die WiFi-Credentials habe ich über Bluetooth mit dem Smartphone an den ESP32 geschickt.
Dann lief auf dem ESP32 ein kleiner Webserver, mit dem ich die ganze Kiste vom einem Browser aus fernsteuern konnte.
Den ganzen Code dafür findet man problemlos in den Beispielen zu den Libraries.
So braucht das Gerät keine Eingabegeräte und kann irgendwo schlummern, wo es WLAN und ein bisschen Strom gibt.
ESP32 ist jetzt auch nicht so spartanisch, dass man auf jedes Byte achten müsste.

Mir persönlich ist damit wohler als mit Android und ein Smartphone braucht sicher mehr Strom und ist eigentlich Overkill für den Job.

Aber auf die Gefahr hin, dass ich gleich gesteinigt werde: Wenn schon Android, dann mit Android Studio.
Den Schritt über Lazarus/LAMW würde ich mir nicht auch noch ans Bein binden, das ist so schon mühsam genug.
Duckundweg. :wink:

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Android - altes Mobiltelfon als Kamera nutzen

Beitrag von af0815 »

Ich hätte beim ESP32 das Problem, das ich nicht einmal wüsste wie ich da vorgehen sollte und zusätzlich haben die Kameras ganz einfach zuwenig Auflösung.

Vor allen hast du bei den Androidphones ja alles für Fotos was du willst bereits fertig. Strom und Kosten sind nicht wirklich wichtig.

Android Studio habe ich schon angesehen, nur das ist eine komplett andere Welt. Vor allen ist dort alles auf eine interaktion mit dem User zugeschnitten, die ich ja hier nicht brauchen kann. Eine zusätzliche Sprache auch noch dazu. Ist mir für ein herumprobieren mal zuviel. Vor allen ist da sehr viel der Weg das Ziel, mit LAMW.

Nur blöderweise geht der LAMW_Manager mal nicht auf einem 'wirklich neuen' PC (Laptop, HD,-Auflösung mit Touch, 36GB Ram,...) mit Win10/64.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
BoraBora
Beiträge: 42
Registriert: So 11. Apr 2021, 16:00
OS, Lazarus, FPC: FPC 3..2.2, L 2.2.0 , Linux Mint, WIN 10&11, Android,
CPU-Target: xxBit

Re: Android - altes Mobiltelfon als Kamera nutzen

Beitrag von BoraBora »

Hallo af0815,

Für Android programmiere ich hiermit: www.b4x.com
Vorteil: flache Lernkurve und schnelle Ergebnisse.
Nachteil: läuft m.W. nur unter Windows

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Android - altes Mobiltelfon als Kamera nutzen

Beitrag von af0815 »

Ich will kein 'Basic for All'. Bitte nur Hinweise zu Pascal, Lazarus und Fpc.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Android - altes Mobiltelfon als Kamera nutzen

Beitrag von wp_xyz »

Mein Hinweis schweift auch von der LAMW-Richtung ab, bleibt aber bei "Pascal": Hier (https://blogs.embarcadero.com/de/mit-de ... it-delphi/) gibt es ein Tutorial über den Zugriff auf die Android-Kamera mit Delphi, wobei das mit der kostenlosen Community-Edition funktionieren soll.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Android - altes Mobiltelfon als Kamera nutzen

Beitrag von af0815 »

wp_xyz hat geschrieben:
So 11. Apr 2021, 17:52
Mein Hinweis schweift auch von der LAMW-Richtung ab, bleibt aber bei "Pascal": Hier (https://blogs.embarcadero.com/de/mit-de ... it-delphi/) gibt es ein Tutorial über den Zugriff auf die Android-Kamera mit Delphi, wobei das mit der kostenlosen Community-Edition funktionieren soll.
Igit, Delphi. Nein sicher nicht. Ich habe jahrelang mit TP3 CP/M und MsDos und später Delphi 3-7 arbeiten dürfen. Ich will wenigstens eine Möglichkeit sehen etwas zu fixen.

Nein, es geht sicher mit Lazarus. Nur Momentan geht nicht mal LAMW. Weder mit dem Lamw_manager noch mit fpcupdeluxe.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
six1
Beiträge: 782
Registriert: Do 1. Jul 2010, 19:01

Re: Android - altes Mobiltelfon als Kamera nutzen

Beitrag von six1 »

Ich habe damit auch noch nicht viel gemacht.

Rechte prüfen/erlangen

Code: Alles auswählen

procedure TAndroidModule1.AndroidModule1JNIPrompt(Sender: TObject);
begin
  if not IsRuntimePermissionGranted('android.permission.CAMERA') then
    Self.RequestRuntimePermission('android.permission.CAMERA',1001);
  if not IsRuntimePermissionGranted('android.permission.WRITE_EXTERNAL_STORAGE') then
    Self.RequestRuntimePermission('android.permission.WRITE_EXTERNAL_STORAGE',1002);
end;  
Bild holen

Code: Alles auswählen

procedure TAndroidModule1.jButton3Click(Sender: TObject);
begin
  if IsRuntimePermissionGranted('android.permission.CAMERA') and
     IsRuntimePermissionGranted('android.permission.WRITE_EXTERNAL_STORAGE') then
  begin
      jCamera1.RequestCode := 12345;
      jCamera1.TakePhoto;
  end
  else
     ShowMessage('Sorry... Some Runtime Permission NOT Granted ...');
end; 

procedure TAndroidModule1.AndroidModule1ActivityResult(Sender: TObject;
  requestCode: integer; resultCode: TAndroidResult; intentData: jObject);
begin
  if resultCode = RESULT_OK then //ok...
   begin
     if requestCode = jCamera1.RequestCode then
     begin
       Anlagen.Add(jCamera1.FullPathToBitmapFile);
     end;
   end
end; 
Anlagen ist eine TStringlist.

Das sind nur ein paar Schnipsel. Tatsächlich wird ein Barcode im Livebild erkannt.
Dann wird der gelesene Barcode über ein Get auf einer https Adresse gecheckt.
Bei positivem Check geht eine Maske auf und man kann weitere Bilder anhängen und Text eingeben.
Das ganze kann dann als Email versendet werden an eine Helpdesk Emailadresse. Dort wird die Email in ein Ticket gewandelt.

Ist ganz anders als dein Vorhaben, weswegen ich auch nur mal ein paar Codeschnipsel veröffentlicht habe.
Falls du Interesse am vollständigen Code hast, müsste ich erst ein paar Zeilen schwärzen und dir es auf deine Email schicken.


Mein Sohn ist Anwendungsprogrammierer ( Master) bei einer großen Firma, welche mit Lokomotiven herumfahren :D
der lacht sich eh immer kaputt, wenn ich mit Lazarus und Android komme. Tatsächlich frage ich oft bei ihm nach: "...wie machst du das in deinem Code...", um an die nötigen Infos zur Android Programmierung zu kommen, wie z.B. an dieser Stelle:
if not IsRuntimePermissionGranted('android.permission.CAMERA') then
Self.RequestRuntimePermission('android.permission.CAMERA',1001);


Lazarus und Android ist für mich ok, aber da sehe ich mich schon im Dinosaurier Modus :lol:

Ich habe seit einiger Zeit eine LAZ 2.0.6 FPC 3.0.4 Installation mit lamw, welche funktioniert.
Gruß, Michael

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Re: Android - altes Mobiltelfon als Kamera nutzen

Beitrag von theo »

@af0815: Irgendwie stehe ich etwas auf dem Schlauch, was du hier eigentlich als Antwort erwartest.
Du willst ausschließlich mit Android über LAMW arbeiten, aber LAMW geht bei dir nicht.
Wäre es nicht sinnvoller, erst einmal ein "Hello World" mit LAMW hinzukriegen, bevor man in die Details geht?

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Android - altes Mobiltelfon als Kamera nutzen

Beitrag von af0815 »

six1 hat geschrieben:
Mo 12. Apr 2021, 06:36
Lazarus und Android ist für mich ok, aber da sehe ich mich schon im Dinosaurier Modus :lol:

Ich habe seit einiger Zeit eine LAZ 2.0.6 FPC 3.0.4 Installation mit lamw, welche funktioniert.
Ich eben nicht. Die installation mit dem Lamw_manager bleibt einfach stehen. Es gibt keine Fehlermeldung, nichts. Wenn man control-c drückt, so wird einfach gefragt ob man den Batch-Job abbrechen will oder nicht. Das gibt es scheinbar ein unlösbares Problem aktuell mit den Konsolen unter Windows 10/64 mit den neusten Patches. Betrifft scheinbar nicht nur den lamw_manager. Nur Lösung hat noch keiner.

https://forum.lazarus.freepascal.org/in ... #msg401268

Als alternative wollte ich mit fpcupdeluxe installieren. Nur ist die Frage mit welchen fpc/Lazarus passt der aktuelle Lamw zusammen ? Bei v1.8.2.n kann man keinen arm-linux cross bauen, da bricht er ab, weil es den illegalen Parameter -CaEABI gibt. Verwende ich trunk/trunk so gehen zwar die CrossCompiler, aber lamw lässt sich nicht compilieren, weil dort irgeneine procedure wieder einmal andere Parameter hat.

@Theo, deswegen habe ich schon hingewiesen (siehe 4ter Post), das es bereits bei a ) Probleme gibt. Nur ist die Diskussion woanders hingelaufen.


EDIT: Das Problem mit dem -CaEABI dürfte man beheben können, wenn man im Setup+ bei den CrossOptionen das wegnimmt. Jetzt hat er mal den CrossCompiler gebaut.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Android - altes Mobiltelfon als Kamera nutzen

Beitrag von af0815 »

Habe es jetzt mit FPC stable und Laz stable einmal mit fpcupdeluxe bauen können.

Der nicht funktionierende lamw_manager hat zumindest jdk, sdk und ndk heruntergeladen. Nachdem ich das auf die richtige Stelle kopiert habe und LAMW auch konfiguriert habe, läuft die Basisinstallation mal.

Ein 'Hello world' läuft mal.

Somit kann ich einmal Punkt a ) als mit hängen und würgen als erledigt ansehen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten