[JAVA] Faire vibrer le bracelet avec Bluetooth à partir de l'application Android

Développer des applications Android pour contrôler les appareils de bracelets

Contrôlez le bracelet vibrant, Furueru depuis l'application Android. Vous pouvez acheter Furueru pour quelques centaines de yens chacun. Project Linking est un projet qui vend ces terminaux à bas prix et fournit gratuitement une bibliothèque de contrôle, et d'autres terminaux uniques sont préparés. Je vais.

Cliquez ici pour le code source développé cette fois (GitHub)

IMG_20190515_181043.jpg

Environnement de développement

Environnement de développement: Windows10 64 bits IDE: version 3.4 du studio Android Langue utilisée: Java Terminal Android: tablette Lenovo TB-X304F version Android 7.1.1 Bluetooth 4.0

Procédure de développement

Lier l'appareil et l'appareil Android

Suivez les instructions de l'appareil de liaison pour configurer les paramètres Bluetooth. Installez NTT DOCOMO Linking App depuis Google Play sur votre appareil Android. Lancez l'application Linking, recherchez votre appareil Linking et associez-le.

Les articles suivants seront utiles. J'ai un appareil de liaison, alors j'ai essayé l'application de démonstration

Développement d'applications Android

Il est fourni comme une bibliothèque pour contrôler les appareils de liaison à partir d'applications Android Linking SDK est fourni gratuitement. Cette fois, nous développerons le contenu que Furueru fait vibrer lorsque vous appuyez sur le bouton de l'application. Lancez Androidstudio et sélectionnez Activité vide pour créer un nouveau projet. Sélectionnez Java comme langage et définissez la version de l'API sur 4.1 JellyBean (niveau d'API 16), qui peut couvrir 99,6% des terminaux. fu1.PNG Définissez la vue du projet sur le côté gauche de l'écran sur Projet et collez sdaiflib.jar (bibliothèque SDK de liaison) sous app / libs / de l'application. fu2.png Selon la spécification de l'API de liaison, ajoutez la phrase suivante aux dépendances de app / build.gradle.

build.gradle


compile files('libs/sdaiflib.jar')

fu3.png Une fois ajouté, cliquez sur Synchroniser maintenant en haut à droite de la fenêtre pour synchroniser. J'étais en colère que compiler est un vieux mot et n'est pas recommandé. La construction passera telle quelle, mais si vous voulez le faire correctement, réécrivez-la comme suit.

build.gradle


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

Nous allons installer un bouton sur l'écran, nous référer à la source d'échantillon attachée au SDK et le développer pour que des informations de vibration spécifiques puissent être envoyées à Furueru lorsque vous appuyez dessus. Vous trouverez ci-dessous le texte intégral de la source java et du format 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);
        //Dessinez l'écran.
        setView();
    }

    private void setView() {
        //Dessinez une disposition linéaire.
        LinearLayout linearLayout = new LinearLayout(this);
        linearLayout.setOrientation(LinearLayout.VERTICAL);
        setContentView(linearLayout);
        //Dessinez un bouton.
        Button sendButton = new Button(this);
        sendButton.setText("Envoyer");
        linearLayout.addView(sendButton, new LinearLayout.LayoutParams(100, 100));
        sendButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //Envoyez un signal.
                sendMessage();
            }
        });
    }

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

    private void sendMessage() {
        //Liaison Obtenez des informations sur l'appareil.
        GetDeviceInformation deviceInformation = new GetDeviceInformation(this);
        List<DeviceInfo> deviceInfos = deviceInformation.getInformation();
        if (deviceInfos.size() == 0) {
            Toast.makeText(this, "Aucun appareil couplé", Toast.LENGTH_SHORT).show();
        }
        for (DeviceInfo deviceInfo : deviceInfos) {
            //Définissez les informations de transmission.
            SendOther sendOther = new SendOther(this);
            //Définissez l'ID de l'appareil de destination.
            sendOther.setDeviceID(deviceInfo.getModelId());
            //Définissez le modèle de vibration. (Vibration PATTERN2 = 35)
            sendOther.setVibration(new byte[]{LINKING_IF_VIB_PATTERN_ID, 35});
            //Réglez la durée de fonctionnement. (Temps de vibration 5 secondes = 33)
            sendOther.setDuration(new byte[]{LINKING_IF_DURATION_ID, 33});
            sendOther.send();
        }
    }
}

Pour le modèle de vibration et la durée de fonctionnement, essayez d'utiliser l'application de démonstration fournie avec le SDK et sélectionnez celle qui convient à votre objectif.

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>

Contrôle de fonctionnement

Mettez le Furueru sous tension. Démarrez l'application Linking et activez les paramètres d'utilisation de l'appareil (Furueru0098598 dans ce cas). Dans les paramètres de l'appareil, activez l'application liée (FurueruApplication dans ce cas). app1.PNG Commençons par l'application développée. app2.PNG Appuyez sur le bouton à l'écran pour envoyer une commande de vibration. Furueru commence à vibrer dans les 3 secondes suivant le tapotement.

Impressions

Il vibre plus violemment que prévu et la batterie dure plus longtemps. L'application développée communique avec Furueru via Bluethooth via l'application Linking. Par conséquent, si la distance entre le terminal Android (unité maître Bluetooth) et Furueru (unité esclave) augmente, Bluetooth sera déconnecté et vous devrez vous reconnecter à l'application Linking. À distance rectiligne, il ne sera pas coupé même s'il est à environ 10 m, mais il sera coupé si vous prenez en sandwich le mur. Cependant, même si vous vous éloignez par inadvertance de l'appareil Android, l'utilisateur pourra le remarquer car des vibrations se produiront lors de la déconnexion. Il semble peu probable que vous ne le remarquiez pas tant qu'il est déconnecté, et je vous en suis reconnaissant. C'est un appareil amusant sur lequel vous pouvez imaginer différentes opérations.

Recommended Posts

Faire vibrer le bracelet avec Bluetooth à partir de l'application Android
Importer des images d'appareils avec l'application Android
[Android] Téléchargement d'images du terminal vers le serveur
[MT] Spécifiez la catégorie d'article d'Android avec l'API de données
Application Android qui sélectionne et affiche des images de la galerie
[MT] Spécifiez la catégorie d'article d'Android avec l'API de données
[Android] Vérifiez la machine réelle sans bouger les mains grâce au défilement automatique
SetCookie du côté client avec OkHttp3
Trouvez Raspberry Pi d'Android avec mDNS
Application de reconnaissance faciale avec OpenCV + Android Studio
Essayez d'utiliser l'API Emotion d'Android
J'ai créé une application Janken avec Android
Obtenez des informations vidéo YouTube avec Retrofit et conservez-les dans l'application Android.
[3ème] Développement d'applications Mahjong à partir de 0 avec deux débutants
[1er] Développement de l'application Mahjong à partir de 0 avec deux débutants
[Java] Réglez l'heure depuis le navigateur avec jsoup
[Android] Lire à partir de l'image du code QR avec zxing
Publiez l'application avec ruby on rails
[Android] Histoire désespérée avec UserId et SharedUserId de l'application
L'histoire du réglage de l'application Android avec libGDX
[2ème] Développement de l'application Mahjong à partir de 0 avec deux débutants
Obtenez votre numéro de version dans l'application Android
J'ai créé un schéma de verrouillage à l'aide de la touche de volume avec l'application Android. Édition fragmentée