주간 진행 보고서 (5월 4주차)

2019.05.21 (화)


기존에 구상한 데이터베이스 테이블 내용 중 일부를 앱 내에 1차적으로 구현했다.

메인 화면부터 데이터베이스와 연동하여 각각의 변수를 불러오고 저장하도록 했다.

데이터베이스에 구상한 테이블은 Setting과 Data인데, Data에 들어갈 값들은 데이터 관리 화면에서 필요한 값들이기 때문에 메인 화면에서 따로 불러오는 작업을 하지는 않았다.

계속해서 데이터베이스 연동 작업을 진행해야 하지만 I2C 통신 프로토콜 PPT를 추가 수정해야 할 필요성이 생겨 잠시 중단하였다.

이번 주 목요일 정도까지는 I2C 통신프로토콜 PPT를 수정하고 그 이후에 앱 데이터베이스 구축을 계속해서 진행할 예정이다.

앱 데이터베이스를 구축하는 부분에 있어서는 안드로이드의 SQLiteDatabase를 사용했다.

Setting 테이블에는 아이피 주소, 포트 번호, 작동 방식, 데이터 자동 저장 여부 및 주기가 들어가도록 설정하였고 오늘은 메인 화면과 환경설정 다이얼로그 작동 방식 연동에만 신경을 썼다.

환경설정 다이얼로그 부분과 데이터베이스를 연동하는 부분에서 기존에 설정된 값들을 전체 수정해야 할 필요가 있었는데 막상 전체 내용을 다 수정하고 보니 작동 모드를 결정하는 버튼을 클릭할 때 데이터베이스와의 연동이 제대로 동작하지 않아 I2C 통신 프로토콜 PPT 수정이 끝나는 대로 바로 다시 확인해서 수정할 수 있도록 해야겠다.



2019.05.22 (수)


계획표에 예정되어 있던 대로 오늘은 I2C 통신프로토콜 PPT를 재수정했다.

기존에 조사한 내용에 오류가 있어서 그 부분에 대한 내용을 다시 한 번 찾아보고 수정하였다.

장치 부분은 제대로 시작하지도 않았는데 수정해야 할 사항들이 계속해서 늘어나다 보니 앱을 만드는 시간도 점점 미뤄지고 있다.

나중에 되면 I2C 통신프로토콜에 대한 지식은 확실해질 것 같기는 하지만 해야 할 일이 자꾸 밀리는 것 같아 내일까지 확실히 수정을 하도록 해야겠다.

오늘 수정한 내용은 PPT의 대부분 분량에 관한 내용이었다.

가장 먼저, I2C 통신에서 사용하는 풀업저항에 대해 조사한 정보에 오개념이 들어있었고 멀티 마스터 지원 기능에 대한 정보에는 불필요한 내용들이 들어있었다.

그 부분들을 1차적으로 먼저 수정하였고 통신프로토콜에 관한 기본 정의, 통신 방식에 대한 일부 내용, 통신 순서 SDA, SCL 값들을 포괄적인 관점에서 수정하였다.

내일은 해당 내용들을 더 자세한 부분으로 나누어 추가적으로 고칠 계획이고, 다시 한 번 검사를 받은 이후에 장치 조사 혹은 앱 데이터베이스 연동 작업 등을 진행할 예정이다.



2019.05.23 (목)


I2C 통신프로토콜 PPT 추가 수정을 마무리하고 아두이노 통신 소프트웨어 부분에 대한 보조를 했다.

I2C 통신프로토콜 PPT에서는 구성 및 특징, 통신방식 중 통신 종료 부분 그리고 통신 순서의 확인 비트 전송 부분에 대한 내용을 조금 더 보충했다.

이번에 수정한 내용도 애매한 부분이 있기는 했지만 기존에 작성한 내용보다는 조금 더 자세하게 다루었기 때문에 장치 부분을 조사해야 하는 경우 혹은 특별한 경우가 아니라면 추가 수정은 필요하지 않을 것 같다.

원래 라즈베리파이를 이용하여 실험을 진행해야하지만 아무래도 모든 제품을 아직 구입하지 못하는 부분 때문에 한계점이 있어 아두이노로 대체하여 실험하고 있다.

라즈베리파이를 이용하여 옴니 카를 작동시키게 될 경우 파이썬과 WebioPi를 적절하게 사용해서 아두이노에서 움직이는대로 구현할 계획이다.

기존에 하이퍼터미널을 이용해서 서로 다른 PC 간에 시리얼 통신을 이용해 채팅을 주고받는 실습을 진행했었는데 오늘은 아두이노가 연결된 PC가 아닌 다른 PC에서 특정 값을 전송했을 경우 아두이노가 연결된 PC에서 옴니 카를 움직이게 하는 제어 실험을 진행했다.

초반에는 Serial 관련 함수에 대한 지식이 부족해서 인터넷을 통해 참고해서 했는데 나중에 보니 대부분의 내용이 필요없는 부분이어서 다 제외하고 우리 팀의 방식대로 생각해서 문제를 해결할 수 있었다.

내일부터는 다시 앱 관련 내용들을 연구할 예정이다.



2019.05.24 (금)


오늘은 앱 환경설정 값과 메인 화면에서의 연동을 중점적으로 했다.

어제까지 문제였던 작동 방식 모드 연동 부분은 오늘 다른 방식을 이용하여 해결하였고 현재는 환경설정에서 서로 다른 작동 방식 버튼을 누를 때마다 그 모드로 변경되며 데이터베이스 안에도 해당 값이 잘 들어간다.

환경설정 연동 이후 아이피 정보 변경 다이얼로그에 들어가는 텍스트와 EditText 간의 간격이 애매하게 되어있어서 그 부분을 변경하였고 기존에 만들어 놓은 커스텀 EditText 스타일에도 조금 변화를 주었다.

앱 데이터베이스 환경설정 값 연동 부분에서는 2가지 문제가 있었다.

첫 번째는 테이블이 존재하지 않는 초기 상태에서 값을 제대로 설정해주지 않았다는 점이었는데 이렇게 하다 보니 테이블이 생성된 이후에는 정상적으로 작동하지만 맨 처음에는 작동 모드를 선택하는 라디오 버튼이 하나도 클릭이 되어있지 않은 경우가 생겼다.

두 번째는 메인 화면에서 초기화 작업을 할 때 데이터베이스로부터 데이터 값을 불러오도록 설정해두었는데 이 값이 변수에 제대로 들어가지 않아 조건문에 걸리지도 않았고 클릭을 해도 아무런 반응이 없었다.

지금은 데이터베이스에 있는 값들을 불러올 때마다 변수에 일일히 대입하여 확인하도록 하였고 조건문에 따라 제대로 작동한다.

작동 시작 버튼을 눌렀을 때도 설정 값에 따라 버튼 모드, 조이스틱 모드, 자이로스코프 센서 이용 모드로 각각 이동되는 것을 확인할 수 있었는데 조이스틱 모드와 자이로스코프 센서 이용 방식은 아직 제대로 구현하지 않았기 때문에 차후에 다시 구성할 예정이다.

추가로, 기존에 만든 커스텀 EditText 스타일에서 힌트 글자 크기가 너무 커서 그 부분만 줄이고 마무리하였다.

Author

Alec J

Posted on

2019-05-29

Updated on

2021-02-09

Licensed under