본문 바로가기

반응형

프로젝트

(24)
역경매APP : 아이디어 회의 및 토론 주제 : 서비스차원에서의 역경매 서비스를 지원 ex) 자동차 수리가 필요한 A는 app을 통해 현재 상태와 위치를 올리면 주변의 서비스센터 사장님이 보고 가격의 경쟁을 통하여 거래를 하는 구조 ex2) 회식을 준비중이 동아리회장A app을 통하여 회식장소를 사장님들의 경쟁을 통하여 저렴한 가격에 경쟁할 수 있다. ​ 기존의 서비스는 소비자가 직접 서비스 센터나 가게에 대한 정보를 직접 찾아가야 한다면 역경매app은 사장님들간의 경쟁을 통해 ​ 소비자에게 더욱 효과적인 가격을 지시받을 수 있음. ​ 기존 비슷한 서비스 : 당근 마켓, 중고나라,중고카 딜러 어플 ​ 차이점 : 중고나라와 당근마켓은 중고물품대상이고 중고카는 역경매 시스템은 도입햇지만 중고차 한정이다. ​ 차별화 : 서비스역경매에 대한 app은..
캡스톤 : 후기 시각장애인을 위한 스마트 지팡이를 기준으로 프로젝트를 시작하였다. BLE를 이용한 비콘 통신등 다양한 기술을 프로젝트에 녹임으로서 많은것을 배울 수 있었다. 앞으로도 IoT 제품을 만들어 보면 좋은 경험이 될것같다. 아래짤은 교내 경진대회 후기
캡스톤 : 아두이노Thread를 활용한 신호등 구현 앞서 배운 Thread 라이브러리를 활용해서 신호등을 구현하였다. 초록색불을 우선순위 1로 빨간불은 우선순위 2로 하게되면 문제없이 원하는 동작을 수행한다. delay를 이용할때는 코드밀림 현상이 발생하였는데 Thread를 사용하니 원하는 동작이 이루어지는것을 확인할수가 있다. https://www.youtube.com/watch?v=uyOR1Xy11Bc /* * Example to demonstrate thread definition, semaphores, and thread sleep. */ #include #include SoftwareSerial bluetooth(2,3); const int Relaypin_red = 4; const int Relaypin_green = 5; //세마포어 핸들을 ..
캡스톤 : 송수신문제점고찰 BLE 를 구현해서 각각의 정보를 받는것은 괜찮았다. 하지만 아두이노의 특성상 setup의 하나의 스레드 즉 단일 스레드로서의 한계를 느꼇다 ​ 명령어를 실행하고 그 값을 다 받을때까지 기다린다음 필요하 함수를 실행하는것은 시간이 오래걸린다는 것. ​ 동영상을 보면 알겠지만. 왼쪽에서 초록불 빨간불로 바꾸고나서 한참뒤 그값이 변경된것을 한참뒤에 적용하는 소스. ​ 이러한 문제점을 고치기위해 thread가 필요하였는데 아두이노에서 라이브러리로 스레드는 아니지만 스레드처럼 라이브러리를 구현하여 사용할수 있게 하였다. ​ 물론 delay같은 함수를 쓰면 단일스레드이므로 동작자체가 다멈춘다 하지만 라이브러리에서 제공하는 sleep을 쓰면 실제 아두이노에서 스레드를 제공하는것처럼 느낄수 있다. https://ww..
캡스톤 : 아두이노간 비콘구현 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..

반응형