iotivity 라는 iot 플랫폼 사용해 보신 분이 계신지요,,,

parallels96의 이미지

학과 졸업작품으로 iotivity 라는 플랫폼을 사용하고 있습니다.

하지만 iotivity cloud 를 구축하는 과정에서 auth code 를 제대로 받지 못하는 문제가 발생하는것 같습니다...

해당 링크를 따라서 진행중이었습니다.
https://wiki.iotivity.org/iotivity_cloud_-_programming_guide

먼저 maven 을 통해 4개의 서버를 설치 후 실행하고 scons을 통해 빌드하는 방식이었습니다.

그리고 scons 를 통해 빌드된 샘플 파일을 돌려보려고 했는데, Oauth2를 통해 auth code를 받는 과정에서 오류가 발생하는것 같습니다.

이게 해당 링크에서 설명된 실행 방법입니다.

위와 같은 결과가 나오길 예상했는데

이와 같은 결과가 발생합니다... auth key를 구글에서도 받아보고, 나름대로 모든 방법을 써본 것 같은데 계속 같은 오류가 발생합니다..

혹시 이와 같은 경험이 있으시거나 해결 방법을 아시는 분이 있으신지요 ㅜ...

정말 별 것 아닌 것 같은데 이걸로 몇주째 진행을 못하고 있습니다...

File attachments: 
첨부파일 크기
Image icon false.png69.72 KB
Image icon iotivitygoogle.png194.33 KB
Image icon right.png202.86 KB
jachin의 이미지

프로그램을 만들거나 사용할 때 중요한 점은, 오류메시지를 통해 피드백을 잘 이해하는 것이라고 생각합니다.

마지막 right.png 첨부파일을 잘 보시면... (앞으로 스샷 뜨지마세요. 검색 힘들어요.)

after throwing an instance of 'OC::OCException'
  what():  result_guard(): 26: Invalid Param

라고 뜨는 것을 볼 수 있어요. '인증과정에서 뭔가 잘못된 거 같아요.' 는 영어 하는 사람도 할 수 있는 내용이고요, 프로그래머라면 함수 이름과 예외처리되는 부분을 보세요. 중요 키워드인 "iotivity OCException invalid param" 으로 구글 검색을 해보니까...

https://jira.iotivity.org/browse/IOT-732?page=com.atlassian.jira.plugin.system.issuetabpanels%3Achangehistory-tabpanel

iotivity 에서 운영하는 버그리포트 사이트가 나왔어요. 그래요. 너님 당한 오류는 다른 사람들도 당한 오류라는 거에요. 원인이 뭐냐고 쓰여있냐면 "The latest iotivity in master branch failed to support the resource type name with capital letter." 래요. 리소스 자료형 이름으로 대문자로 쓰는 것을 지원해주지 못해서 그렇대요.

해결방법이 뭐라고 쓰여있냐면요,

"The steps repeat it: modify the sample under resource/examples/simpleserver.cpp code and change the resourceTypeName in createResource() function from "core.light" to "Core.light".

라고 쓰여 있어요. simpleserver.cpp 에서 createResoure() 함수의 resourceTypeName을 core.light 에서 Core.light 로 수정해주고 해보래요.

여기가 인터넷이라고 검색도 안해보고 친구끼리 스샷떠서 까톡으로 주거니 받거니 한 걸 복붙해서 붙이면 답변이 불친절해져요. 이딴식으로 질문글 올리면 등록금 주고 대학에서 자바, C++ 배우고도 디버깅도 못하는 불효막심한 녀석이라고 내가 너님 교수님 찾아가서 너님 졸작 F 주라고 할거임.

parallels96의 이미지

답변주셔서 감사합니다.

스크린샷이 있는게 더 좋을 것 같아서 첨부해 보았는데, 되려 더 성의없어 보인다는것을 알았습니다...

해당 방법은 예전에 시도해 보았는데 제 문제랑은 다른 상황인것 같습니다ㅠ (에러 코드는 동일하지만 원인이 다른 듯 합니다)
그래서 혹시 저와 비슷한 문제를 겪은 분이 있는지 궁금하여 글을 올리게 되었습니다.

다른 말씀해주신 조언들은 잘 새겨 듣도록 하겠습니다!

ymir의 이미지

여기에서 서식하시는 분들이라고 해서 모든 걸 다 아는 것은 아닙니다.
관심이 생기면 같이 검색도 해보고, 소스도 돌려보고, 디버깅도 해보고 해서 답을 찾는 것이거든요.

그런데 코드 또는 관련 자료가 레이아웃이 깨져서 알아 보기 힘들거나, 다른 주석 또는 넘버링이 섞여 있거나..
이미지로 되어 있는 바람에.. 긁어서 검색창이나 편집기에 넣을 수도 없는 상황이 되면..
애초에 답을 찾기 위해 할 수 있는게 많지 않기 때문에, 무시해 버리는 경우가 많습니다.

그럼에도 불구하고 뭔가 답이 달렸다면..
답을 단 사람의 귀차니즘을 능가할 정도로 호기심을 불러일으겼거나..
뭔가 마음에 변덕이 생겼거나.. 아니면 굉장히 심심했거나.. 일 가능성이 높습니다.
아니면, 럭키하게도 이미 알고 있는 문제였거나...

어쨌거나 문제에 관심을 보일만한 사람의 입장에서도 한 번 생각해 보시면 좋을 것 같습니다.
많은 오픈 소스의 메일링 리스트가 아스키 텍스트로 메일을 주고 받는게.. 달리 이유가 있는게 아니거든요.

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

jachin의 이미지

ymir님께서 질문자에게 오해하지 않도록 친절하게 상황설명을 해주셔서 감사합니다.

일단 iotivity 를 제일 잘 아는 사람들은 링크에 걸려있는 iotivity.org 커뮤니티일 것입니다. 아마 거기에는 이렇게 질문을 하기가 어려웠을 거라는 걸 잘 압니다.

졸업작품이라는 단어에 야마(?)가 돌아서 그런 것일지도 모르겠습니다만, 아직 조언도 하지 않았는데 엉뚱한 조언을 새길까봐 글을 남겨둡니다.

1. 질문할 때 자신의 환경에 대해 잘 기술하십시오.
현재 보고 있는 소스코드가 어떤 버전의 iotivity 인지, 빌드를 할 때 쓰고 있는 환경이 어떤 배포판, 어떤 버전의 컴파일러, 어떤 버전의 JRE, 어떤 라이브러리들이 있는지 쓰십시오. 자신이 고친 내용이 있으면, 소스 통째로 Github 사이트에 올려두고 링크를 걸어두십시오.

2. 본인이 실행한 절차를 잘 설명하십시오.
답글 달기 전에는 이야기하지도 않았던 "저도 그거 검색해보고 바꿨는데, 그 문제가 아닌것 같아요."는 ... 반인륜적인 표현이라 쓰지 않고 지우겠습니다. 온라인에서 제한된 정보만으로 문제해결을 바란다는 것은 "내가 왜 화났는지 몰라?" 보다 더 난감합니다. 이 항목이 이해가 되지 않는다면, 사회생활 하기가 어렵습니다.

3. 문제는 스스로 만든 것
대부분 질문을 올리기 위해, 환경이나, 소스코드, 검색한 내용들을 되돌아보다보면, 스스로 답을 찾는 경우가 무척 많습니다. 오래된 버전의 리포에서 얻은 소스인데 패치가 되었다던가, 알고 봤더니 자기 환경에서 무언가 결여가 되어 있었는데 오류메시지가 나타나지 않았다던가 합니다. 자신이 컴퓨터 앞에 앉아서 직접 확인해 볼 수 있는 정보를 다른 사람도 알 수 있을거라 생각하는 건 어리석습니다. 자신의 확인할 수 있는 정보를 최대한 확인해보고 전달하십시오.

그러한 방법들을 모른다면, 자신이 배운 학교의 교수님이나 학원 강사님한테 물어봐야지 여기서 그런 문제의 답변을 얻기란 힘듭니다. 저도 빌드해봤는데 잘 되고 있으니, 제일 큰 원인이 당신이라는 걸 생각해보십시오.

참고로 버전 1.3.1 로 빌드해봤습니다.

질문하는 방법을 잘 배우고 나면, 어떤 커뮤니티든 짧은 영어로 질문을 해도 친절하게 답글이 달립니다. 유독 우리나라 학생들만 토익토플, 영어교양 수업을 듣고도 영문 커뮤니티 사이트에 제대로 된 질문조차 할 줄 모르거나, 아예 질문도 못하니 답답해서 답글 답니다.

parallels96의 이미지

써주신 내용을 읽으면 읽을수록, 제가 얼마나 생각 없이 질문글을 올렸는지 알겠네요...
써주신 모든 사항들 명심하여 같은 실수 반복하지 않도록 하겠습니다.

그리고 이러한 한심한 질문글을 올렸음에도 불구하고 이 질문이 왜 잘못되었고
어떻게 고쳐야 하는지 까지 알려주신 ymir 님과 jachin 님께 감사의 말씀 올립니다.


ymir의 이미지

그냥.. 그렇게까지 자책하실 필요는 없습니다.
질문이야 얼마든지 할 수 있고, 피드백을 주고 받으면서 그 과정에서 답을 찾는 것이니까요.

화면 캡쳐해서 적당히 잘라붙이고 하는 수고를 감안하면 생각과 정성이 부족하다고는 못할겁니다.
다만, 문제 해결에 보탬이 될 만한 방법이 아니었을 뿐이죠.

처음부터 완벽한 질문글을 올릴 수 있는 사람은 많지 않습니다.
이미 상황을 완벽하게 설명할 수 있는 사람이라면, 자신의 글에서 무언가 모순을 발견하고..
스스로 답을 찾을 수 있는 가능성이 높습니다.

어쨌거나, 문제 해결에 도움이 되고자 한다면..
주관을 배제하고, 자신의 상황을 정확하게 "묘사" 할 수 있어야 합니다.
거기에 주관을 곁들이려면 왜 그렇게 생각했는지 근거를 제시할 수 있어야 하구요.

원 질문글에는 별로 보탬이 안 되는 댓글만 달아서 미안하네요.
근데, guide 에는 root 권한이 필요한 경우에 대해서는 언급이 없던데..
클라이언트 실행할 때 sudo 로 실행한 이유가 있나요?

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.