mikrocontroller.net

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


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Draco schrieb:
> Kann dieses "Tasker" serielle Daten schreiben?

Nein, nur in Form eines Scripts (SL4A)

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat sich erledigt
4 SL4A Scripts mit jeweils 5 Zeilen Code do the job

Autor: --- (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 4 SL4A Scripts mit jeweils 5 Zeilen Code do the job

Stehen die bei Tasker in den Examples?

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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]

Autor: Johannes S. (8n1)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für das Angebot, aber mit folgendem Python-Script funktioniert es 
jetzt

import android

droid = android.Android()
uuid='00001101-0000-1000-8000-00805F9B34FB'
mac='xx:xx:xx:xx:xx:xx'

while (len(droid.bluetoothActiveConnections().result) != 0):
  time.sleep(0.10)

connID=droid.bluetoothConnect(uuid,mac).result
while (len(droid.bluetoothActiveConnections().result) == 0):
  time.sleep(0.10)
  
while True:

  droid.bluetoothWrite('A', connID)
  if droid.bluetoothReadReady():
    res= droid.bluetoothRead(1, connID).result
    if res == 'A':
      task_name='BTCallbackAmp'
      extras={'task_name':task_name}
      taskIntent = droid.makeIntent('net.dinglisch.android.tasker.ACTION_TASK', None, None, extras).result
      droid.sendBroadcastIntent(taskIntent)
      droid.exit()
      break

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.