[JAVA] Lassen Sie das Armbandgerät mit Bluetooth über die Android-App vibrieren

Entwickeln Sie Android-Apps zur Steuerung von Armbandgeräten

Steuern Sie das vibrierende Armbandgerät Furueru über die Android-App. Sie können Furueru für jeweils ein paar hundert Yen kaufen. Project Linking ist ein Projekt, das diese Terminals zu einem niedrigen Preis verkauft und eine kostenlose Steuerungsbibliothek bereitstellt. Weitere einzigartige Terminals werden vorbereitet. Ich werde.

Klicken Sie hier für den diesmal entwickelten Quellcode (GitHub)

IMG_20190515_181043.jpg

Entwicklungsumgebung

Entwicklungsumgebung: Windows10 64bit IDE: Android Studio Version 3.4 Verwendete Sprache: Java Android-Terminal: Lenovo TB-X304F Tablet Android Version 7.1.1 Bluetooth 4.0

Entwicklungsverfahren

Verbindungsgerät und Android-Gerät

Befolgen Sie die Anweisungen für das Verbindungsgerät, um die Bluetooth-Einstellungen zu konfigurieren. Installieren Sie NTT DOCOMO Linking App von Google Play auf Ihrem Android-Gerät. Starten Sie die Linking-App, suchen Sie nach Ihrem Linking-Gerät und koppeln Sie es.

Die folgenden Artikel sind hilfreich. Ich habe ein Linking-Gerät, also habe ich die Demo-App ausprobiert

Android App Entwicklung

Es wird als Bibliothek zur Steuerung von Linking-Geräten über Android-Apps bereitgestellt Linking SDK wird kostenlos zur Verfügung gestellt. Dieses Mal werden wir den Inhalt entwickeln, den Furueru vibriert, wenn Sie den Knopf der Anwendung drücken. Starten Sie Androidstudio und wählen Sie Leere Aktivität, um ein neues Projekt zu erstellen. Wählen Sie Java als Sprache und stellen Sie die API-Version auf 4.1 JellyBean (API-Level 16) ein, was 99,6% der Terminals abdecken kann. fu1.PNG Stellen Sie die Projektansicht auf der linken Seite des Bildschirms auf Projekt ein und fügen Sie sdaiflib.jar (Verknüpfen der SDK-Bibliothek) unter app / libs / der Anwendung ein. fu2.png Fügen Sie gemäß der Linking API-Spezifikation den folgenden Satz zu den Abhängigkeiten von app / build.gradle hinzu.

build.gradle


compile files('libs/sdaiflib.jar')

fu3.png Klicken Sie nach dem Hinzufügen oben rechts im Fenster auf Jetzt synchronisieren, um die Synchronisierung durchzuführen. Ich war wütend, dass Kompilieren ein altes Wort ist und nicht empfohlen wird. Der Build wird so wie er ist übergeben. Wenn Sie ihn jedoch ordnungsgemäß ausführen möchten, schreiben Sie ihn wie folgt neu.

build.gradle


implementation fileTree(dir: 'libs/sdaiflib.jar')

Wir werden eine Schaltfläche auf dem Bildschirm installieren, auf die dem SDK beigefügte Beispielquelle verweisen und sie so entwickeln, dass bestimmte Vibrationsinformationen beim Tippen an Furueru gesendet werden können. Unten finden Sie den vollständigen Text der Java-Quell- und Layout-XML.

MainActivity.java


package com.furueru.systems.tood.furueruapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.Toast;

import com.nttdocomo.android.sdaiflib.DeviceInfo;
import com.nttdocomo.android.sdaiflib.GetDeviceInformation;
import com.nttdocomo.android.sdaiflib.SendOther;

import java.util.List;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //Zeichne den Bildschirm.
        setView();
    }

    private void setView() {
        //Zeichnen Sie ein lineares Layout.
        LinearLayout linearLayout = new LinearLayout(this);
        linearLayout.setOrientation(LinearLayout.VERTICAL);
        setContentView(linearLayout);
        //Zeichne einen Knopf.
        Button sendButton = new Button(this);
        sendButton.setText("Senden");
        linearLayout.addView(sendButton, new LinearLayout.LayoutParams(100, 100));
        sendButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //Senden Sie ein Signal.
                sendMessage();
            }
        });
    }

    static final byte LINKING_IF_VIB_PATTERN_ID = 0x10;
    static final byte LINKING_IF_DURATION_ID = 0x10;

    private void sendMessage() {
        //Verknüpfen Geräteinformationen abrufen.
        GetDeviceInformation deviceInformation = new GetDeviceInformation(this);
        List<DeviceInfo> deviceInfos = deviceInformation.getInformation();
        if (deviceInfos.size() == 0) {
            Toast.makeText(this, "Kein gekoppeltes Gerät", Toast.LENGTH_SHORT).show();
        }
        for (DeviceInfo deviceInfo : deviceInfos) {
            //Stellen Sie die Übertragungsinformationen ein.
            SendOther sendOther = new SendOther(this);
            //Legen Sie die Zielgeräte-ID fest.
            sendOther.setDeviceID(deviceInfo.getModelId());
            //Stellen Sie das Vibrationsmuster ein. (Vibrationsmuster2 = 35)
            sendOther.setVibration(new byte[]{LINKING_IF_VIB_PATTERN_ID, 35});
            //Stellen Sie die Betriebszeit ein. (Vibrationszeit 5 Sekunden = 33)
            sendOther.setDuration(new byte[]{LINKING_IF_DURATION_ID, 33});
            sendOther.send();
        }
    }
}

Verwenden Sie für Vibrationsmuster und Betriebszeit die mit dem SDK gelieferte Demo-App und wählen Sie die für Ihren Zweck geeignete aus.

activity_main.xml


<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</android.support.constraint.ConstraintLayout>

Funktionsprüfung

Schalten Sie die Stromversorgung von Furueru ein. Starten Sie die Linking-App und aktivieren Sie die Nutzungseinstellungen des Geräts (in diesem Fall Furueru0098598). Aktivieren Sie in den Geräteeinstellungen die verknüpfte Anwendung (in diesem Fall FurueruApplication). app1.PNG Starten wir die entwickelte App. app2.PNG Tippen Sie auf die Schaltfläche auf dem Bildschirm, um einen Vibrationsbefehl zu senden. Furueru beginnt innerhalb von 3 Sekunden nach dem Antippen zu vibrieren.

Impressionen

Es vibriert heftiger als erwartet und der Akku hält länger. Die entwickelte App kommuniziert mit Furueru über Bluethooth über die Linking-App. Wenn sich der Abstand zwischen dem Android-Terminal (Bluetooth-Master-Einheit) und Furueru (Slave-Einheit) vergrößert, wird Bluetooth getrennt und Sie müssen die Verbindung in der Linking-App erneut herstellen. In gerader Entfernung würde es nicht schneiden, selbst wenn es ungefähr 10 m entfernt wäre, aber es würde schneiden, wenn ich die Wand einklemme. Selbst wenn Sie sich versehentlich vom Android-Gerät entfernen, kann der Benutzer dies bemerken, da beim Trennen Vibrationen auftreten. Es ist unwahrscheinlich, dass Sie es nicht bemerken, wenn die Verbindung getrennt ist, und ich bin dankbar. Es ist ein lustiges Gerät, das Sie sich verschiedene Operationen vorstellen können.

Recommended Posts

Lassen Sie das Armbandgerät mit Bluetooth über die Android-App vibrieren
Importieren Sie Gerätebilder mit der Android App
[Android] Hochladen von Bildern vom Terminal auf den Server
[MT] Geben Sie die Artikelkategorie von Android mit Daten-API an
Android App, die Bilder aus der Galerie auswählt und anzeigt
[MT] Geben Sie die Artikelkategorie von Android mit Daten-API an
[Android] Überprüfen Sie die tatsächliche Maschine, ohne Ihre Hände mit automatischem Scrollen zu bewegen
SetCookie von der Client-Seite mit OkHttp3
Finden Sie Raspberry Pi von Android mit mDNS
Gesichtserkennungs-App mit OpenCV + Android Studio
Versuchen Sie es mit der Emotion API von Android
Ich habe eine Janken App mit Android gemacht
Holen Sie sich Youtube-Videoinformationen mit Retrofit und behalten Sie sie in der Android-App.
[3.] Mahjong App Entwicklung von 0 mit zwei Anfängern
[1.] Mahjong App Entwicklung von 0 mit zwei Anfängern
[Java] Stellen Sie die Zeit im Browser mit jsoup ein
[Android] Mit zxing aus dem QR-Code-Bild lesen
Veröffentlichen Sie die mit Ruby on Rails erstellte App
[Android] Verzweifelte Geschichte mit UserId und SharedUserId der App
Die Geschichte der Optimierung der Android-App mit libGDX
[2.] Mahjong App Entwicklung von 0 mit zwei Anfängern
Holen Sie sich Ihre Versionsnummer in der Android-App
Ich habe mit der Lautstärketaste mit der Android-App ein Sperrmuster erstellt. Fragment Edition