Hallo, suche nach einer Möglichkeit, per Android App/Widget/Script insg. 4 versch. Zeichen an ein HC-05 zu senden, um 2 Pins separat ein-/auszuschalten. HC-05 + Attiny sind bereit, d.h. mit einem Bluetooth Terminal funktioniert soweit alles. Allerdings möchte ich die Sache automatisieren, d.h. mit Tasker steuern. Trotz stundenlanger Suche habe ich keine entsprechende App gefunden, die das ermöglicht. Das Senden soll ohne Benutzereingabe/Benutzeroberfläche erfolgen. In Tasker habe ich u.a. 3 Möglichkeiten: - eine App starten - ein Widget starten - ein Script ausführen Habe in Android keine Programmier-/Scripterfahrung, sonst würde ich mir 4 kleine Apps selbst erstellen (also App1 sendet a, App2 sendet A, App3 sendet b, App4 sendet B oder eine App, die Kommandozeilenparameter übernehmen kann (sofern das in Android möglich ist)). Hat jemand evtl. einen App/Widget Tip oder wäre jemand gegen Entgeld bereit, so eine App für mich zu schreiben. Danke Matthias
Kann dieses "Tasker" serielle Daten schreiben? Das HC-05 als Bluetooth Serial Adapter -> mit dem Android Device koppeln und dann davon Serial senden / empfangen.
Matthias schrieb: > at jemand evtl. einen App/Widget Tip oder wäre jemand gegen Entgeld > bereit, so eine App für mich zu schreiben. Blynk ?? http://www.blynk.cc/
Draco schrieb: > Kann dieses "Tasker" serielle Daten schreiben? Nein, nur in Form eines Scripts (SL4A)
Hat sich erledigt 4 SL4A Scripts mit jeweils 5 Zeilen Code do the job
> 4 SL4A Scripts mit jeweils 5 Zeilen Code do the job
Stehen die bei Tasker in den Examples?
Nein - aber Google ist ein alter Freund [OnA.py] import android droid = android.Android() uuid='00001101-0000-1000-8000-00805F9B34FB' mac='xx:xx:xx:xx:xx:xx' droid.bluetoothConnect(uuid,mac) droid.bluetoothWrite('A') # a OffA.py # B OnB.py # b OffB.py [/OnA.py] oder [Switch.py] (Parameterübergabe von Tasker) import android droid = android.Android() command=droid.getIntent().result[u'extras'][u'%par1'] uuid='00001101-0000-1000-8000-00805F9B34FB' mac='xx:xx:xx:xx:xx:xx' droid.bluetoothConnect(uuid,mac) droid.bluetoothWrite(command) [/Switch.py]
Hi, Ich hab mir für sowas ähnliches mal eine (mini) App mit dem App Inventor gemacht. Ging ratz fatz. War auch mit HC-05. Ob man Widgets machen kann weiß ich nicht. Müsstest du mal schauen. Auch was in Richtung automatisieren möglich ist. Zeitgesteuert Werte senden ist auf Fall drin. Du kannst ja mal versuchen ob du damit zurecht kommst. Falls nicht könnte ich dir ja ein kleines Grundgerüst zusammenklicken sofern du keine einfachere Lösung findest.
:
Bearbeitet durch User
Danke für das Angebot, aber mit folgendem Python-Script funktioniert es jetzt
1 | import android |
2 | |
3 | droid = android.Android() |
4 | uuid='00001101-0000-1000-8000-00805F9B34FB' |
5 | mac='xx:xx:xx:xx:xx:xx' |
6 | |
7 | while (len(droid.bluetoothActiveConnections().result) != 0): |
8 | time.sleep(0.10) |
9 | |
10 | connID=droid.bluetoothConnect(uuid,mac).result |
11 | while (len(droid.bluetoothActiveConnections().result) == 0): |
12 | time.sleep(0.10) |
13 | |
14 | while True: |
15 | |
16 | droid.bluetoothWrite('A', connID) |
17 | if droid.bluetoothReadReady(): |
18 | res= droid.bluetoothRead(1, connID).result |
19 | if res == 'A': |
20 | task_name='BTCallbackAmp' |
21 | extras={'task_name':task_name} |
22 | taskIntent = droid.makeIntent('net.dinglisch.android.tasker.ACTION_TASK', None, None, extras).result |
23 | droid.sendBroadcastIntent(taskIntent) |
24 | droid.exit() |
25 | break |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.