Forum: Mikrocontroller und Digitale Elektronik Android App für HC-05 + Attiny85


von Matthias (Gast)


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

von Draco (Gast)


Lesenswert?

Kann dieses "Tasker" serielle Daten schreiben? Das HC-05 als Bluetooth 
Serial Adapter -> mit dem Android Device koppeln und dann davon Serial 
senden / empfangen.

von Jörg (Gast)


Lesenswert?

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/

von Matthias (Gast)


Lesenswert?

Draco schrieb:
> Kann dieses "Tasker" serielle Daten schreiben?

Nein, nur in Form eines Scripts (SL4A)

von Matthias (Gast)


Lesenswert?

Hat sich erledigt
4 SL4A Scripts mit jeweils 5 Zeilen Code do the job

von --- (Gast)


Lesenswert?

> 4 SL4A Scripts mit jeweils 5 Zeilen Code do the job

Stehen die bei Tasker in den Examples?

von Matthias (Gast)


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]

von Johannes S. (8n1)


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.

: Bearbeitet durch User
von Matthias (Gast)


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

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
Noch kein Account? Hier anmelden.