본문 바로가기

아두이노123

아두이노 이더넷 클라이언트의 시작-#3 우리나라 공공데이터를 제공해 주는곳에 문의 했는데, 본인이 발급받은 서비스키가 작동하지 않는다. 2주 정도 기다려 봤는데, 여전히 되지 않는다. 슬프게도 다음에 작동하면 하기로 하고 openweathermap에서 발급받은 키를 이용해서 데이터를 받아 보자. 형식이나 설명은 사이트에 상세히 있지만 일단 알아야 할것은 아래 한줄이다. api.openweathermap.org/data/2.5/forecast?id=1835235&APPID=1107a6df5ce46cce4179b4a6646xxxxx 여기서 주의 할 것은 두가지다. id=1835235의 번호는 지역번호다. 1835235는 대전 지역번호다. 다른곳을 하고 싶으면 직접 검색하면 나올것이다. 그다음은 발급받은 APPID=1107a6df5ce46cce41.. 2020. 6. 3.
아두이노 이더넷 클라이언트의 시작-#2 앞으로 우리가 해야 할것은 별도의 서버를 만들지 않을것 이다. 기존의 공개 데이터를 제공하는 서버를 활용 할 것이다. 나중에는 우리가 직접 만들어도 보겠지만, 일단은 아두이노 프로그램만 만들고 공공데이터를 활용하는것만 먼저해 보자. 날씨 정보, 버스 정보 이런것을 얻어 오는것을 할 것이다. 일단 회원을 가입하고 계정을 발급 받자. 대충 클릭해 보거나 두개 사이트를 검색해 보면 상세한 설명이 있으니 있단 가입하고 검색해보자. 그리고 가입하고 바로 활용가능하지 않는곳도 있으니 미리해 두자. 본인이 추천하는곳은 아래 두개 이다. 물론 더 있겠지만, 일단 두개 정도에서 연습해 보자. https://www.data.go.kr/index.do https://openweathermap.org/ 2020. 5. 24.
아두이노 이더넷 클라이언트의 시작-#1 무엇을 해볼까? 뭘 공부 할까 고민 하다가... 이전해 했던것 한번 더 정리하고 다시해 보기로 했다. 이전에는 아두이노 이더넷 서버라면 이번은 아두이노 클라이언트다. 저번에는 서버는 서비스를 제공하는 입장이고 클라이언트는 서비스를 제공받는 입장이다. 이것은 개념적인 이야기지, 서버가 서비스를 제공하면서 다른 서버로 부터 수시로 서비스를 요청을 할 수가 있다. 즉 서버가 클라이언트고 서버 라는것이다. 딱기 그 구분과 경계를 정의하기 어려운 입장이 있다. 그러나 초보 입장에서는 그 경계를 명확히 하는게 프로그램 개발이 편리하다. 기본은 그렇게 배우고 응용하기 바란다. 응용 먼저하고 기본을 배우지 않는다면 나중에 혼란만 올 뿐이다. 그리고 이번 부터 하는것은 개념이나 소스는 그데로 ESP8266이나 무선에 적.. 2020. 5. 23.
아두이노 이더넷 웹서버 만들기 -#18 최근 2,3주 동안 이더넷 쉴드로 아이피를 할당 받고, 여러가지 웹서비스, 웹서버를 만들어 봤다. 원리는 간단하고 공부해야 할 것은 HTML, 자바스크립트 문법이다. 그래도 간단한 버턴, 입력창 정도는 쉽게 만들수 있으니 만들어 보기 바란다. 사실 서버가 중요한개 아니고 본인이 무슨 서버의 서비스를 할지가 중요하다. 데이더베이스 서버, 웹서버, FTP서버 등등.. 항상 중요한것은 문법 하나 하나가 중요한게 아니다. 개념을 이해하고 넘어 가야 한다. 여유가 된다면 이것도 공부하시기 바란다. 우노의 2k 바이트는 너무한것 같다. const char message [27][200] PROGMEM = { {"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">.. 2020. 5. 20.
아두이노 이더넷 웹서버 만들기 -#17 이제 최종소스를 만들면 된다. 그런데 슬프게도 큰 문제점이 있다. ESP8266을 할떄 하고는 다르게 아두이노 우노의 2k의 메모리가 부족하다. 문장을 만들기에는 부족하다. 이전 소스 그데로 아두이노 메가로 변경하면 문제 없다. 그러나 지금 보드 바꾸고 할라고 하니 귀찮다. 그래서 이것저것 줄일것 모두 줄여도 부족하다. 이제 생각나는 방법은 하나 뿐 PROGMEM 이다. 예) const char message [27][200] PROGMEM 이것에 대해서는 다음에 공부하기로 하고 일단 넘어가자. 그리고 전체적인 소스코드도 약간 변경 있으니 차근 차근 공부 하자. /*Web Server*/ #include #include #include #include // Enter a MAC address and IP.. 2020. 5. 20.
아두이노 이더넷 웹서버 만들기 -#16 최종완성된 함수 형태이다. 특별히 어려운것은 없지만, 아무래도 아래문장만 조심해서 만들면 된다. 그냥 C/C++같으면 %f로 만들면 되지만 아두이노는 지원 하지 않는다. 그래서 String을 사용해야 한다. p+=sprintf(p,\" center: new google.maps.LatLng(%s, %s),\n"", String(y,1).c_str(), String(x,1).c_str()); Colored by Color Scripter x,y에 본인이 넣고 싶은 GPS좌표만 넣으면 된다. 아두이노에서 GPS를 연결해도 좋지만 일단 연습이나 아무거나 넣자. 36.4251083, 127.389638은 본인이 자주가는 커피전문점 좌표이다. 구글에 검색하면 주소를 좌표로 바꾸어 주는 서비스도 있다. void w.. 2020. 5. 19.
아두이노 이더넷 웹서버 만들기 -#15 이제 해야 할것은 3가지 정도로 압축 된다. 1. 뒤로 sprintf 문장 삽입 2. 특수문자 처리 3. 함수 만들기 특별히 어려울것은 없으니 아무래도 특수문자 하나 하나 잘못 들어가면 문장이 형성되지 않는다. 일단 1,2번을 먼저해 보자. 사실 순서는 크게 상관 없다. 2번을 먼저하는게 좋을수도 있다. 약간의 잡담을 더하면 처음에 만든 HTML코드를 만드는게 대부분의 일이다. 그리고 울트라에디터나 메모장으로 문장을 완성하는것이다. 여러번 만드는것이 귀찮다면 그냥 html파일을 C코드롤 바꾸는 프로그램을 만드는것도 괜찮아 보인다. 타노스가 이야기 한것 처럼 지식의 저주에 빠지지 말기 바란다. 기차표롤 예매 한다던지 특정 사이트의 물건을 모두 산다던지 대부분 이런식으로 문장을 만들어 바로 전송해 버린다. .. 2020. 5. 19.
아두이노 이더넷 웹서버 만들기 -#14 구글맵을 보여주는 HTML이다. 구글에서 구글맵 HTML이라고 입력해도 아주 흔하게 나오는 HTML 코드이다. 구글맵도 유료화 하고 있어서 그런지 버전마다 약간씩 다르다. 그래도 아직 무료로 되는 부분이 많으니 그냥 연습삼아 하자. 그런데 한가지 고민스러운게 있다. 아두이노 ESP8266으로 시작 했다면 구글맵 연동이 그냥 한번해 보기 좋은 주제다. 그런데 시작을 이더넷으로 했다. 이더넷 특성상 뭐 이동을하지 못한다. 그래도 ESP8266동 동일 하니 한번 맛이나 보고 가자. function initalize() { var mapOptions = { zoom: 15, center: new google.maps.LatLng(36.4251083, 127.389638), disableDefaultUI: tru.. 2020. 5. 19.
아두이노 공부하다가 포기 하는 사람을 위한 글.... 중간에 공부하다가 포기 하는 사람을 위한글.... 보통 대부분 유튜브나 인터넷에 검색해서 공부하라고 한다. 그러나 나는 아니다. 인터넷이나 유튜브를 보지 말라고 한다. 인터넷이나 유튜브, 각종 검색으로 공부 할 수 있는 수준이면 그 사람은 상당한 기본기가 있는 사람이다. 이글은 그런 기본기도 없는 초짜들에 관한 이야기다. 눈높이는 안드로메다에가 있다. 그런데 실력은 형편없다. 질문 조차 할 수 없는 수준이다. 그러면 어떻게 할까 ? 나는 책을 보라고 권한다. 차라리 돈을 주고 과외를 받으라고 한다. 그것이 현실적인 답이다. 나도 개인적으로 블로거를 운영하고 있다. 사실 남들 보라고 만든것은 아니고 나의 기억력의 한계 때문에 정리 차원에서 만들었다. 그러나 처음 공부하는 사람들이 보러 온다. 사실 그러면 .. 2020. 5. 12.