Решил перенести управление бульдозером Fishertechnik с компьютера на мобильный телефон Nokia 5130 по Bluetooth.
http://sourceforge.net/p/robotxcontrol/code/HEAD/tree/trunk/robotxcontrol/src/
- по ссылке любезно предоставленной Григорием находится его проект - именно то что мне и нужно.
К сожалению, мне не удалось запустить jar файл на телефоне Nokia 5130 (series 40 5 edition FeaturePack1). Почему то даже эмулятор Nokia в Eclipse выдает ошибку при запуске этого проекта."Invalid Application. Delete?"
Я нашел еще один проект по управлению Arduino по Bluetooth на сайте Nokia, но как работает Arduino понять не смог.
http://www.developer.nokia.com/Community/Wiki/Series_40_communicating_with_Arduino_using_Bluetooth
Подскажите, пожалуйста как Arduino "понимает" какой следует зажечь светодиод?
Проверял в эмуляторе- запускается. устанавливал на телефон - запускается. кстати, запускается и на sonyericsson elm. код для Arduino
- Code: [Выделить всё] [Expand/Collapse]
- #include <SoftwareSerial.h>
const int TX_BT = 10;
const int RX_BT = 11;
SoftwareSerial btSerial(TX_BT, RX_BT);
//Frequency to send periodic messages to Phone, in milliseconds.
//Core code.
const unsigned long periodicMessageFrequency = 5000;
unsigned long time = 0;
//Process the incoming command from Phone.
//It should be changed according to what you want to do.
void processCommand(char* command) {
}
//Send a message back to the Phone.
//Is can't be changed.
void sendMessage(char* message) {
int messageLen = strlen(message);
if(messageLen < 256) {
btSerial.write(messageLen);
btSerial.print(message);
}
}
//Send a set of periodic messages to the Phone.
//It should be changed according to what you want to do.
//This message could be a sensor data, like a thermometer data.
void sendPeriodicMessages() {
}
//Setup Arduino function
void setup() {
Serial.begin(9600);
Serial.println("USB Connected");
btSerial.begin(9600);
}
//Loop Arduino function
//It can't be changed
void loop() {
if(btSerial.available()) {
int commandSize = (int)btSerial.read();
char command[commandSize];
int commandPos = 0;
while(commandPos < commandSize) {
if(btSerial.available()) {
command[commandPos] = (char)btSerial.read();
commandPos++;
}
}
command[commandPos] = 0;
processCommand(command);
}
unsigned long currentTime = millis();
if((currentTime - time) > periodicMessageFrequency) {
sendPeriodicMessages();
time = currentTime;
}
} - GeSHi © Codebox Plus
J2ME коды не копирую. вот ссылка сайта Nokia на архив.
http://www.developer.nokia.com/Community/Wiki/images/7/77/BluetoothClientS40.zip?20130426223619