Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android studio 用android发送数据,用arduino接收数据_Android Studio_Sockets_Arduino_Bluetooth - Fatal编程技术网

Android studio 用android发送数据,用arduino接收数据

Android studio 用android发送数据,用arduino接收数据,android-studio,sockets,arduino,bluetooth,Android Studio,Sockets,Arduino,Bluetooth,我已经在Arduino和我的Android移动应用程序之间编程了一个客户端服务器。我用的是buetooth HC-06。目前,有一个非常基本的代码,用于打开/关闭led,调节其电压,并接收蓄电池充电 这是我的Android代码,当我发送信息时,例如打开led,我只需按下按钮: btnOn.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, Mo

我已经在Arduino和我的Android移动应用程序之间编程了一个客户端服务器。我用的是buetooth HC-06。目前,有一个非常基本的代码,用于打开/关闭led,调节其电压,并接收蓄电池充电

这是我的Android代码,当我发送信息时,例如打开led,我只需按下按钮:

btnOn.setOnTouchListener(new View.OnTouchListener() {      
@Override
        public boolean onTouch(View v, MotionEvent event)
        {
            switch (event.getAction())
            {
                case MotionEvent.ACTION_DOWN:
                    Log.d("MyTag", "Down");
                    mmHandler.postDelayed(actionOn, 10);
                    return true;
                case MotionEvent.ACTION_UP:
                    Log.d("MyTag", "Up");
                    mmHandler.removeCallbacksAndMessages(null);
                    turnOffLed();      //method to turn off
                    return true;
                default:
                    return false;
            }

        }
    });
以下是我的方法:

    private void turnOnLed()
{
    btt_write.write("TO::".toString().getBytes());
    msg("Led ON");
}

public void write(byte[] bytes){
    try{
        Log.i("[THREAD-CT]", "Writting bytes");
        mmOutStream.write(bytes);
        mmOutStream.flush();

    }catch(IOException e){}
}
这是我接收信息的Arduino代码:

#include <SoftwareSerial.h>
#include <TimerOne.h>
SoftwareSerial hc06(2,3);

char command;
String string;
boolean ledon = false;

int BatteryPin = A0;    // select the input pin for the potentiometer
int sensorValue = 0;  // variable to store the value coming from the sensor
float BatteryCar = 0;
int PercentageBatt = 0;
int intensidad = 0;

#define led 11
void setup()
{
  Serial.begin(9600);
  hc06.begin(9600);
  pinMode(led, OUTPUT);
  Timer1.initialize(10000); // set a timer of length 10000 microseconds (or 0.01 sec - or 1Hz => the led will blink 5 times, 5 cycles of on-and-off, per second)
  Timer1.attachInterrupt( SendVoltage );
}
void loop()
{

  sensorValue = analogRead(BatteryPin);
  BatteryCar = sensorValue * (5.0 / 1023.0);
  if (hc06.available() > 0)
  {
    string = "";
  }
  while(hc06.available() > 0)
  {
    command = ((byte)hc06.read());
    if(command == ':')
    {
      break;
    }
    else
    {
      string += command;
    }
    delay(20);   
  }
  Serial.println(string);
  if(string == "TO")
  {
    analogWrite(led, intensidad);
    delay(10);
  }

  if(string =="TF")
  {
    analogWrite(led, 0);
    delay(10);
  }
  
  if ((string.toInt()>=0)&&(string.toInt()<=255))
  {
    
    intensidad = string.toInt();
    
    //Serial.println(intensidad);
    analogWrite(led, intensidad);
    delay(10);
  }
}
void SendVoltage ()
{

  PercentageBatt = (BatteryCar * 100)/4;
  hc06.println(PercentageBatt);
}
问题是,有时我会收到好消息,但另一个消息会变得一团糟。 . 你知道我能做什么吗

提前感谢,, 林肯