Есть приложение под андроид которое отправляет 1 или 2 или 3 по bluetooth'у вот так
MyThred.sendData("1");
Импорт вот этого
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.UUID;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.bluetooth.*;
import android.content.Intent;
Помогите сделать тоже самое в linux на языке С или C++ или Bash или дайте почитать литературу
(Програмировать умею, руки из правильного места)(код для управления машинкой arduino + сейчас краб имеется который обходит препятствие со своим кодом тоже под arduin'кой )(этот код не мой,
http://habrahabr.ru/post/211999/)
android код кому интересно
package com.example.rob_2_3_0;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.UUID;
import com.example.rob_2_3_0.R;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.bluetooth.*;
import android.content.Intent;
public class MainActivity extends Activity {
private static final int REQUEST_ENABLE_BT = 1;
final int ArduinoData = 1;
final String LOG_TAG = "myLogs";
private BluetoothAdapter btAdapter = null;
private BluetoothSocket btSocket = null;
private static String MacAddress = "20:11:02:47:01:60"; // MAC-адрес БТ модуля
private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
private ConnectedThred MyThred = null;
public TextView mytext;
Button b0, b1, b2, b3, b4;
boolean fl=false;
Handler h;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btAdapter = BluetoothAdapter.getDefaultAdapter();
mytext = (TextView) findViewById(R.id.txtrobot);
if (btAdapter != null){
if (btAdapter.isEnabled()){
mytext.setText("Bluetooth включен. Все отлично.");
}else
{
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}
}else
{
MyError("Fatal Error", "Bluetooth ОТСУТСТВУЕТ");
}
b0 = (Button) findViewById(R.id.b0);//Стоп
b1 = (Button) findViewById(R.id.b1);//Вперед
b2 = (Button) findViewById(R.id.b2);//Назад
b3 = (Button) findViewById(R.id.b3);//Направо
b4 = (Button) findViewById(R.id.b4);//Налево
b0.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
MyThred.sendData("0");
}
});
b1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
MyThred.sendData("1");
}
});
b2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
MyThred.sendData("2");
}
});
b3.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
MyThred.sendData("3");
}
});
b4.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
MyThred.sendData("4");
}
});
arduino sketch -
//Объявляем переменные
char incomingbyte; // переменная для приема данных
//motors A (RIGHT)
int R_A_IA = 9; // A-IA
int R_A_IB = 10; // A-IB
//motors B (LEFT)
int L_B_IA = 11; // B-IA
int L_B_IB = 12; // B-IB
//Инициализация переменных
void setup() {
Serial.begin(38400);
//motors RIGHT
pinMode(R_A_IA,OUTPUT);
digitalWrite(R_A_IA, HIGH);
pinMode(R_A_IB,OUTPUT);
digitalWrite(R_A_IB, HIGH);
//motors LEFT
pinMode(L_B_IA,OUTPUT);
digitalWrite(L_B_IA, HIGH);
pinMode(L_B_IB,OUTPUT);
digitalWrite(L_B_IB, HIGH);
}
void go_forward(){
//motors LEFT
digitalWrite(L_B_IA, LOW);
digitalWrite(L_B_IB, HIGH);
//motors RIGHT
digitalWrite(R_A_IA, LOW);
digitalWrite(R_A_IB, HIGH);
}
void go_back(){
//motors LEFT
digitalWrite(L_B_IA, HIGH);
digitalWrite(L_B_IB, LOW);
//motors RIGHT
digitalWrite(R_A_IA, HIGH);
digitalWrite(R_A_IB, LOW);
}
void go_right(){
//motors LEFT
digitalWrite(L_B_IA, LOW);
digitalWrite(L_B_IB, HIGH);
//motors RIGHT
digitalWrite(R_A_IA, LOW);
digitalWrite(R_A_IB, LOW);
}
void go_left(){
//motors LEFT
digitalWrite(L_B_IA, LOW);
digitalWrite(L_B_IB, LOW);
//motors RIGHT
digitalWrite(R_A_IA, LOW);
digitalWrite(R_A_IB, HIGH);
}
void stop_robot(){
//motors LEFT
digitalWrite(L_B_IA, LOW);
digitalWrite(L_B_IB, LOW);
//motors RIGHT
digitalWrite(R_A_IA, LOW);
digitalWrite(R_A_IB, LOW);
}
//Основной цикл программы
void loop() {
if (Serial.available() > 0){
incomingbyte = Serial.read();
if (incomingbyte == '1'){
go_forward();
Serial.println("FORWARD");
}
if (incomingbyte == '2'){
go_back();
Serial.println("BACK");
}
if (incomingbyte == '3'){
go_right();
Serial.println("RIGHT");
}
if (incomingbyte == '4'){
go_left();
Serial.println("LEFT");
}
if (incomingbyte=='0'){
stop_robot();
Serial.println("STOP");
}
}
}