Показано с 1 по 10 из 37

Тема: Arduino+Bluetooth

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11
    Местный
    Регистрация
    20.07.2009
    Сообщений
    158
    Вес репутации
    228

    По умолчанию Re: Arduino+Bluetooth

    Цитата Сообщение от metaforos Посмотреть сообщение
    Ты использовал Amerino Plug-in или API? Я хочу понять смысл. Т.е. как я понимаю, при нажатии на определенные кнопки в твоей программе, она передает их значения в Amarino, которая в свою очередь передает их ардуине?-

    Вот все, что было использовано для приема и передачи. Если это хоть о чем-нить говорит - тогда разберетесь, нет - тогда сначала читать книжки по Жава и Андроид и доки к Amarino (там все работает как часы).
    Плагины - всего лишь обертка над API. Нафига лишняя прослойка?

    Amarino должен быть отдельным проектом в эклипсе и подключен к Вашему проекту, чтобы импорт нормально прошел.

    import at.abraxas.amarino.Amarino;
    import at.abraxas.amarino.AmarinoIntent;

    private ArduinoReceiver arduinoReceiver = new ArduinoReceiver();

    final static String BT_ADDRESS = "00:19:5D:EE:3E:9A";


    registerReceiver(arduinoReceiver, new IntentFilter(AmarinoIntent.ACTION_RECEIVED));

    Amarino.connect(this, BT_ADDRESS);

    Amarino.disconnect(this, BT_ADDRESS);
    unregisterReceiver(arduinoReceiver);


    public class ArduinoReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
    String data = null;

    final int dataType = intent.getIntExtra(AmarinoIntent.EXTRA_DATA_TYPE, -1);

    if (dataType == AmarinoIntent.STRING_EXTRA){
    data = intent.getStringExtra(AmarinoIntent.EXTRA_DATA);

    if (data != null){
    mIsArduinoDataReceived = true;
    if (data.contains("IR:")) {
    data = data.replaceAll("[^0-9]", "");
    int irCommand = Integer.parseInt(data);
    Log.d( LOG, "IR Command:" + irCommand);
    switch (irCommand) {
    case IR_VOLUME_DOWN:
    changeAudioVolume(false);
    break;
    case IR_VOLUME_UP:
    changeAudioVolume(true);
    break;
    case IR_PRESET_DOWN:
    changeRadioPreset(false);
    updateRadioUI();
    break;
    case IR_PRESET_UP:
    changeRadioPreset(true);
    updateRadioUI();
    break;
    case IR_PREV_TRACK:
    prevPlayerTrack();
    break;
    case IR_NEXT_TRACK:
    nextPlayerTrack();
    break;
    case IR_MUTE:
    AudioControlActivity.updateAudioMute();
    break;
    case IR_MODE:
    updateAppMode();
    break;
    }
    }
    else {
    switch (mLastArduinoCommand) {
    case 'A':
    ClimateControlActivity.updateInternalTemperature(d ata);
    break;
    case 'E':
    ClimateControlActivity.updateExternalTemperature(d ata);
    break;
    case 'Y':
    case 'Z':
    HeaterEditActivity.updateHeaterTemperature(data);
    break;
    }
    }
    }
    }
    }
    }

    static void sendCommandToArduino(final char command, final String data) {
    Amarino.sendDataToArduino(Globals.getAppContext(), LauncherService.BT_ADDRESS, command, data);
    }

    Amarino.sendDataToArduino(this, LauncherService.BT_ADDRESS, 'S', data);
    Последний раз редактировалось s.m.; 01.06.2012 в 21:43.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •