Доброе время суток.
Столкнулся с задачей.
Необходимо сделать программу для передачи данных между Android устройством и микроконтроллером PIC 16F628A при помощи Wі-Fі.
Начал учить JAVA и столкнулся с такой проблемой.
Создать передачу данных между устройствами получилось при помощи Socket'а, а запрограммировать кнопки как то туговато выходит, хотел попросить у вас помощи.
Суть работы кнопок в том, что бы при нажатии на оную отправляется заранее выбранное значение, например "1", а PIC в свою очередь получив значение "1" включал светодиод.
К теме прикрепил проект, вдруг кому-то еще пригодится.
Socket передача данных. Button
Socket передача данных. Button
- Вложения
-
- WIFIAndroidPIC.part2.rar
- (884.88 КБ) 172 скачивания
-
- WIFIAndroidPIC.part1.rar
- (2 МБ) 160 скачиваний
-
- Сообщения: 54
- Зарегистрирован: 23 сен 2013, 10:51
Re: Socket передача данных. Button
Спасибо за сайт, но мне нужен конкретно проект с использованием Wi-Fi соедниенияNight_Scream писал(а):может просто http://remotexy.com/ru/
-
- Сообщения: 54
- Зарегистрирован: 23 сен 2013, 10:51
Re: Socket передача данных. Button
Могу предложить готовое но с модбас.
HMI Modbus например.
Код скачивать ваш чет не охото.... сюдаб выложили части где конкретно не получается.
HMI Modbus например.
Код скачивать ваш чет не охото.... сюдаб выложили части где конкретно не получается.
Re: Socket передача данных. Button
public class Client extends Activity {
public Button b1;
private Socket socket;
private static final int SERVERPORT = 8080;
private static final String SERVER_IP = "194.8.147.113";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new ClientThread()).start();
}
public void onClick(View view) {
try {
EditText et = (EditText) findViewById(R.id.EditText01);
String str = et.getText().toString();
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),
true);
out.println(str);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
вот тут нужно указать значение, например "1" и что бы оно отправилось на микроконтроллер
}
});
}
class ClientThread implements Runnable {
@Override
public void run() {
try {
InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
socket = new Socket(serverAddr, SERVERPORT);
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
public Button b1;
private Socket socket;
private static final int SERVERPORT = 8080;
private static final String SERVER_IP = "194.8.147.113";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new ClientThread()).start();
}
public void onClick(View view) {
try {
EditText et = (EditText) findViewById(R.id.EditText01);
String str = et.getText().toString();
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),
true);
out.println(str);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
вот тут нужно указать значение, например "1" и что бы оно отправилось на микроконтроллер
}
});
}
class ClientThread implements Runnable {
@Override
public void run() {
try {
InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
socket = new Socket(serverAddr, SERVERPORT);
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}