BulliM
Neues Mitglied
- 2
Hallo liebe Android-Hilfe-Community!
Ich bin Webprogrammierer, möchte aber jetzt eine App für die Heim-Automation schreiben. Verfügbare Apps (ESPHome / Hassio) sind mir zu sperrig und ich möchte das App-Programmieren eh erlernen, also soll es eine native und spezielle Lösung für mein Android 8 Handy werden. Da der Aufbau der Heimautomation ohnehin gerade erst beginnt, bietet sich das an. Noch habe ich keine Sensoren im Haus verbaut, sie sind aber bestellt.
Für den Anfang möchte ich mit der App gern die im lokalen Netzwerk verbauten Raspberry Pi überwachen. Also Temperaturen überwachen und ob z. B. der Webserver läuft, eine Anwendung besonders hohe Last verursacht etc. Die Daten werden von den Geräten selbst gesammelt und können z. B. über ein Webinterface ausgelesen werden. Gern würde ich bei ungewöhnlichen Werten eine Push-Benachrichtigung erhalten. Also müsste die App diese Werte regelmäßig abrufen, auswerten und dann entsprechend reagieren.
Ich verwende Android Studio, das läuft bereits auf meinem Entwicklungs-PC. Allerdings sind Java bzw. Kotlin neu für mich. Da würde ich lieber Java verwenden, weil ich ggf. später auch Apps nach HarmonyOS transskipten möchte und Java auch sonst mehr Möglichkeiten bietet. Ist das eine gute Idee oder eher nicht?
Ein paar Java-Code-Beispiele habe ich ausprobiert, bekomme damit aber nicht einmal eine Datenzeile von einem PHP-Skript in einem Textfeld der App angezeigt. Probleme bereiten mir besonders Beispiele, die zu komplex sind. Die Java-Syntax verwirrt mich, weil ich die noch nicht verstehen kann.
Folgende Probleme sind für mich zu lösen:
1. Wie rufe ich über die App z. B. alle 5 Minuten Daten von einem Webserver im lokalen Netzwerk, mit der IP 192.168.5.5 ab? Ich könnte das auch über eine Domain machen, würde aber aus Sicherheitsgründen lieber im lokalen Netzwerk bleiben.
2. Wie werte ich die vom Server übergebenen Daten aus?
3. Wie löse ich bei Erreichen bestimmter Werte einen Alarm (Push-Nachricht) aus?
Für viele von euch dürften diese Aufgaben bloß eine Fingerübung sein. Für mich aber ist das eine echte Herausforderung. Ich programmiere seit ich denken kann, aber ich weiß derzeit nicht einmal genau, wie so eine App strukturiert ist. Ich hoffe, ihr könnt mir dabei helfen zu lernen.
Kann jemand ein einfaches, aktuelles und nützliches Beispiel für den ersten Arbeitsschritt verlinken oder mir einen Tipp geben, würde ich mich sehr darüber freuen.
Ich bin Webprogrammierer, möchte aber jetzt eine App für die Heim-Automation schreiben. Verfügbare Apps (ESPHome / Hassio) sind mir zu sperrig und ich möchte das App-Programmieren eh erlernen, also soll es eine native und spezielle Lösung für mein Android 8 Handy werden. Da der Aufbau der Heimautomation ohnehin gerade erst beginnt, bietet sich das an. Noch habe ich keine Sensoren im Haus verbaut, sie sind aber bestellt.
Für den Anfang möchte ich mit der App gern die im lokalen Netzwerk verbauten Raspberry Pi überwachen. Also Temperaturen überwachen und ob z. B. der Webserver läuft, eine Anwendung besonders hohe Last verursacht etc. Die Daten werden von den Geräten selbst gesammelt und können z. B. über ein Webinterface ausgelesen werden. Gern würde ich bei ungewöhnlichen Werten eine Push-Benachrichtigung erhalten. Also müsste die App diese Werte regelmäßig abrufen, auswerten und dann entsprechend reagieren.
Ich verwende Android Studio, das läuft bereits auf meinem Entwicklungs-PC. Allerdings sind Java bzw. Kotlin neu für mich. Da würde ich lieber Java verwenden, weil ich ggf. später auch Apps nach HarmonyOS transskipten möchte und Java auch sonst mehr Möglichkeiten bietet. Ist das eine gute Idee oder eher nicht?
Ein paar Java-Code-Beispiele habe ich ausprobiert, bekomme damit aber nicht einmal eine Datenzeile von einem PHP-Skript in einem Textfeld der App angezeigt. Probleme bereiten mir besonders Beispiele, die zu komplex sind. Die Java-Syntax verwirrt mich, weil ich die noch nicht verstehen kann.
Folgende Probleme sind für mich zu lösen:
1. Wie rufe ich über die App z. B. alle 5 Minuten Daten von einem Webserver im lokalen Netzwerk, mit der IP 192.168.5.5 ab? Ich könnte das auch über eine Domain machen, würde aber aus Sicherheitsgründen lieber im lokalen Netzwerk bleiben.
2. Wie werte ich die vom Server übergebenen Daten aus?
3. Wie löse ich bei Erreichen bestimmter Werte einen Alarm (Push-Nachricht) aus?
Für viele von euch dürften diese Aufgaben bloß eine Fingerübung sein. Für mich aber ist das eine echte Herausforderung. Ich programmiere seit ich denken kann, aber ich weiß derzeit nicht einmal genau, wie so eine App strukturiert ist. Ich hoffe, ihr könnt mir dabei helfen zu lernen.
Kann jemand ein einfaches, aktuelles und nützliches Beispiel für den ersten Arbeitsschritt verlinken oder mir einen Tipp geben, würde ich mich sehr darüber freuen.