Android App für HC-05 + Attiny85

Gast #4728096
Lesenswert?

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
Gast #4728874
Lesenswert?

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]
#4729073
Lesenswert?

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.
Gast #4732277
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren