通过蓝牙发送字符串数组

时间:2016-05-23 13:41:39

标签: android arrays bluetooth arduino

所以我试图将图像转换为字符串/十六进制数组(包含像素颜色值)并通过蓝牙将其发送到我的arduino控制器。我已将图像转换为十六进制数组但无法通过蓝牙发送。

以下是图像到十六进制转换块:

public void getPixelValue (View v){
    Bitmap bm = ((BitmapDrawable) imgView.getDrawable()).getBitmap();
    boolean hasDrawable = (bm != null);
    if(hasDrawable)
    {
         picw = bm.getWidth();
         pich = bm.getHeight();
        int[] pix = new int[picw * pich];
        bm.getPixels(pix, 0, picw, 0, 0, picw, pich);

        int R, G, B,Y;
        colorArray = new String[picw][pich];
        for (int i = 0; i < picw; i++)
        {
            for (int j = 0; j < pich; j++)
            {
                int pixel = bm.getPixel(i,j);
                R = Color.red(pixel);
                G = Color.green(pixel);
                B = Color.blue(pixel);
                StringBuilder builder = new StringBuilder();
                builder.append("0x");
                builder.append(Integer.toHexString(R));
                builder.append(Integer.toHexString(G));
                builder.append(Integer.toHexString(B));
                colorArray[i][j] = builder.toString();
            }
        }

    }
    else
    {
        Toast.makeText(this, "No Image loaded", Toast.LENGTH_SHORT).show();
    }
}

请指导如何通过蓝牙发送它,以便我在arduino(nano)端接收阵列。

这是我用来发送简单文本/字符的方法。我在文本框中键入字符串,我想在串行监视器(arduino端)上阅读。

public void sendText (View v) {
        try
        {
            String msg = txtBox.getText().toString();
            msg += "\n";
            mmOutputStream.write(msg.getBytes());
            Toast.makeText(this, "Data Sent", Toast.LENGTH_LONG).show();
        }
        catch (IOException ex) { }

    }

这个块工作正常,所以我知道蓝牙配对和连接都没问题。接下来,我想发送我从'getpixelvalue'函数获得的字符串/十六进制数组。

0 个答案:

没有答案