내 Arduino Blend Micro (http://redbearlab.com/blendmicro/)에 연결된 온도 센서에서 데이터를 읽고이 값을 블루투스 신호로 통해 Android 스마트 폰으로 보냅니다. 두 작업은 분리 된 스케치에있을 때 성공적으로 실행할 수 있습니다. 그러나 하나의 스케치에 함께 붙여 넣으면 (라이브러리를 함께 넣을 때도) 몇 가지 오류가 나타납니다. 주어진 오류는 내 라이브러리에 여러 개의 정의가 있음을 알려줍니다.Arduino BLE 다중 정의
여기에 정의라이브러리 \ BLEPeripheral \ 유틸리티 \ aci_queue.cpp.o : 기능 에서`aci_queue_init (aci_queue_t *) '
C : \ 사용자 \ XXX \ 문서 \ 아두 이노 \ 라이브러리 \ BLEPeripheral \ 유틸리티/aci_queue.cpp : 33 : aci_queue_init`의 여러 정의 (aci_queue_t *) '
라이브러리 \ BLE_SDK_for_Arduino \ aci_queue.cpp.o : C : \ 사용자 \ XXX \ 문서 \ 아두 이노 \ \ BLE_SDK_for_Arduino \ SRC/aci_queue 라이브러리. cpp : 31 : 여기에서 처음 정의 됨
라이브러리 \ BLEPeripheral \ 유틸리티 \ aci_queue.cpp.o : 기능 에서`aci_queue_init (aci_queue_t는 *) '
C : \ 사용자 \ XXX \ 문서 \ 아두 이노 \ 라이브러리 \ BLEPeripheral 유틸리티/aci_queue.cpp \ : 33 : aci_queue_dequeue`의 여러 정의 (aci_queue_t의 *, hal_aci_data_t *) '
라이브러리 \ BLE_SDK_for_Arduino \ aci_queue.cpp.o :. aci_queue.cpp :(text._Z17aci_queue_dequeueP11aci_queue_tP14hal_aci_data_t + 0x0으로) : 먼저
문제는 라이브러리 BLEPeripheral 및 BLE_SDK_for_Arduino. 그러나 인터넷에서의 연구는 그들이 호환되어야한다고 말해줍니다. 정말 블루투스 내 센서와 함께 작동하도록 두 라이브러리를 필요로
//"RBL_nRF8001.h/spi.h/boards.h" is needed in every new project enter code here
#include <boards.h>
#include <string.h>
#include <Adafruit_BME280.h>
#include <RBL_nRF8001.h>
#include <RBL_services.h>
#include <SPI.h>
#include <EddystoneBeacon.h>
Adafruit_BME280 bme;
#define EDDYSTONE_BEACON_REQ 6
#define EDDYSTONE_BEACON_RDY 7
#define EDDYSTONE_BEACON_RST 4
EddystoneBeacon eddystoneBeacon = EddystoneBeacon(EDDYSTONE_BEACON_REQ, EDDYSTONE_BEACON_RDY, EDDYSTONE_BEACON_RST);
void setup() {
Serial.begin(9600);
delay(500);
bme.begin();
eddystoneBeacon.setLocalName("RoomSupervisor");
}
void loop() {
Serial.write("Start");
while(1){
Serial.write("Try to send... ");
eddystoneBeacon.begin(-18, "WHAT THE HELL DOESN'T WORK!?");
eddystoneBeacon.loop();
Serial.write(" succesful! \n");
delay(3000);
}
}
:
여기 내 코드입니다. 하지만 여러 정의가있을 때 어떻게하면됩니까? 오류 제거를 위해 이미 한 라이브러리의 일부를 삭제하려고 시도했지만 내 스케치가 제대로 작동하지 않습니다.