본문 바로가기

반응형

전체 글

(644)
캡스톤 : 아두이노간 비콘구현 1:n 통신 BLE통신의 브로드캐스트모드에서 하나의 ble (hm10)이 마스터슬레이브로서 여러데이터들은 무작위로 수신받는다. 그형태는 at+disi? 명령어를 한결과다 이렇듯 원하는 uuid와 마지막 rssi 값을 추출할수잇다면 거리에따른 함수구현이가능하다.. #include #define BT_RX 2 #define BT_TX 3 char str[1000]; char check_end[8]={'O','K','+','D','I','S','C','E'}; char check_start[7] = {'O','K','+','D','I','S','C'}; char uuid[78]; char c; int tmp; int value; int cnt; int p;//이전값 참조 인덱스 int end_p; int start_p; ..
캡스톤 : hm-10 비콘 활성화 AT+RENEW
캡스톤 : 비콘(BEACON) 구현 비콘의 DATA 시트이다 UUID는 16bytes 로 구현되어있다. 그리고 AT명령어로 이UUID를 변경가능하다. 마스터 슬레이브의 AT+DISI 라는 명령어를 사용하면 지금 장치주변으 모든 비콘의 값을 받을수가있다. 1111111111111111111111111111 이라는 값은 내가 다른 아두이노 비콘에 대해 임의로 설정하는 값이다. 마지막 값은 rssi 값을 확인할수있다. 이러한 값을알면 어느 장치에서 어떤정보를 어느정도 위치라는 값을 얻을수가있다. 우리가 캡스톤에서 구현해야할것은 위치정보 (얼마나 가까운지) 그리고 신호등의 적신호 청신호를 수집해야한다. 따라서 두개의 비콘에서 UUID중 4바이트는 고유 식별 번호로 지정하고 나머지 4바이트를 현재상태 식별을 하게된다면 아두이노에서 쉽게 현재 어떤 ..
캡스톤 : 아두이노 안드로이드 통신 마무리 HM10 오픈소스의 수정은 끝나엿지만 통신시 write과정이 너무 복잡하고 기존 소스를 바꾸자니 이해해야할부분이 많아 최소 몇일 더걸릴것가타고생각. 따라서 hc06묘듈을 하나 구매하여 통신에 이용 이전에 만들어놧던 소스에 잘적용되는 것을 볼수 있었다. hm10모듈로는 비콘을 구성하여 거리적인 값을 구현하여 통신하면 좋을 듯하다. #include #define BT_RX 2 #define BT_TX 3 char c; int tmp=0; SoftwareSerial HC06(BT_RX, BT_TX); // RX핀(7번)은 HC06의 TX에 연결 // TX핀(8번)은 HC06의 RX에 연결 void setup() { Serial.begin(9600); HC06.begin(9600); pinMode(8,OUTPU..
캡스톤 : 오류해결2일차(hm10 안드로이드 블루투스) 아무리 코드를 봐도 나의 코드에 문제가 없다고 판단하고 자료조사를 하던중 android Develper 페이지에서 힌트를 찾앗다. LE모델 즉 LOW Energy 블루투스의 경우 bluetoothgatta라는 형식의 메소로 저전력모듈을 처리하는것 따라서 gatta 오픈소스를 이용해 오픈개발을 시도하였다. https://github.com/googlearchive/android-BluetoothLeGatt googlearchive/android-BluetoothLeGatt Migrated:. Contribute to googlearchive/android-BluetoothLeGatt development by creating an account on GitHub. github.com 하지만 오픈소스 개발중..
캡스톤 : anroid connect(); 오류에 관하여 http://www.hardcopyworld.com/gnuboard5/bbs/board.php?bo_table=tech_comm&wr_id=10 Bluetooth Low Energy 모듈 (iBeacon) > Communication module | HardCopyWorld Bluetooth Low Energy 모듈 (iBeacon) > Communication module | HardCopyWorld www.hardcopyworld.com 현재 안드로이드 hm10 블루투스모듈과 안드로이드 oreo 8.0 api 29 G6 모듈에 코넥트 문제를 겪고잇다. connect 할당시 ret1 값 즉 time out or reutn null 값이 반환이 되는데 이이유를 못찾고 있다. 첫번째 문제점으로 UUID -..
캡스톤 : 아두이노 안드로이드 블루투스 통신 https://beomnaegol.tistory.com/entry/Bluetooth-UUID 먼저 UUID란 개념을 알아야한다 . - 블루투스의 UUID 란? 범용 고유 번호(Universally Unique IDentifiers) 라고 불리며, 128 비트의 숫자들을 조합한다. 말 그대로 범용적으로 사용할 수 있는 고유의 ID를 사용하기 위해 생성되며, 그렇기 때문에 128 비트의 HEX 조합은 unique 하여야 한다. Bluetooth 에서는 device에서 제공하는 service를 검색하여 각 service 마다 UUID 를 부여하는 등 많은 부분에서 사용된다. - UUID 의 구성 요소 UUID = (time_low) - (time_mid) - (time_high_and_version) - (c..
캡스톤 : 진동모터와 초음파센서 #include #define SIGN_RX 8 #define SIGN_TX 7 #define VIBRATION 11 #define trigPin 13 #define echoPin 12 int blue_distacne;//블루투스로 측정한거리 int echo_distance; SoftwareSerial SIGN(SIGN_RX, SIGN_TX); // 신호등과 통신할 블루투수 모듈 void setup() { Serial.begin(9600); SIGN.begin(9600); // blutooth 송신준비 pinMode(VIBRATION,OUTPUT); pinMode(trigPin,OUTPUT); pinMode(echoPin,INPUT); } //초음파센서 거리구하는 함수 가까우면 진동발생 void How_..

반응형