분류 전체보기
-
IoT 발아기(9) - 아두이노 코드 수정Projects/Arduino 2020. 2. 20. 07:33
아두이노 코드 수정 아두이노의 4개의 핀을 각각 컨트롤 하려고 하다보니 http return으로 처리하는 부분의 코드가 너무 길어졌다. 이렇게 문자열이 많을수록 아두이노 전역변수 동적메모리의 사용이 느는데 아두이노 우노의 메모리는 그리 크지 않다. 그러다보니 이렇게 안정성에 문제가 생길 수 있다는 메시지가 뜬다. PROGMEM 키워드를 써서 플래시 메모리로 할당함으로써 줄이는 방법도 있다. 간단하게 Serial.println("String"); ↓ Serial.println(F("String")); 이렇게 처리해주면 된다. 하지만 불필요하고 긴 코드를 먼저 간략하게 수정했다. HTTP를 리턴하는 부분을 하이퍼텍스트만 남기고 모두 잘라냈다. 그리고 핀 컨트롤 부분도 다음과 같이 switch문으로 수 정했다..
-
IoT 발아기(8) - 포트포워딩Projects/Arduino 2020. 2. 19. 16:22
현재 와이파이에 연결된 JSN-270에 로컬이 아닌 외부에서 접속을 하려면 어떻게 해야할까? AP(Access Point, 공유기)는 하나의 공인 IP를 할당받는다. 그리고 공유기에 연결된 기기들은 그 공인IP를 공유한다. 공유하는 기기들도 각각의 아이피를 할당받는데 그게 바로 로컬IP(사설IP, 가상IP)다. 주로 192.168.0.x의 형식이다. 그럼 외부 네트워크의 기기에서 접속하고자 하는 공인IP에 접속하면? 어느 기기로 접속해야 할지 알 방법이 없다 그래서 필요한 작업이 '포트포워딩'이다. 외부 포트를 아이피 뒤에 입력하면 내부 아이피로 연결시켜주는 약속이다. 192.168.0.1로 들어가면 있는 공유기 설정에서 포트포워딩 설정을 할 수 있다. IpTime 기준으로는 [관리도구]-[고급설정]-[..
-
IoT 발아기(7) - JSN270 연결Projects/Arduino 2020. 2. 17. 07:14
와이파이로 JSN270을 웹서버에 연결한다. 서버와 클라이언트 개념에 대해 짚고가자. 1. 서버와 클라이언트 (1) 서버와 클라이언트란? 서버는 일반적으로 클라이언트에게 네트워크를 통해 서비스를 제공하는 시스템을 말하는데, 여기서 클라이언트는 서비스를 사용하는 사용자 혹은 사용자의 단말기를 가리킨다. 자세히는, 서버는 웹페이지, 사이트, 또는 앱 등을 저장하는 컴퓨터이다. 클라이언트의 장비가 웹페이지에 접근하기를 원할 때, 서버로부터 클라이언트의 장치로 웹페이지의 사본이 다운로드 된다. 클라이언트는 웹 사용자의 인터넷이 연결된 장치들과 이런 장치들에서 웹에 접근할 수 있도록 하는 소프트웨어(크롬, 파이어폭스 등)이다. 서버와 클라이언트가 통신을 하는데(클라이언트가 서버에 원하는 것을 요청하면 서버가 그에..
-
IoT 발아기(4) - 상추 모종 발아, 시험 가동Projects/Arduino 2020. 1. 22. 11:16
상추 씨를 다이소에서 구매했다. 발아에 적합한 온도는 20~25C 라고 한다. 그래서 일단 발아기 내부 온도와 습도만 컨트롤 할 수 있도록 세팅해놨다. #include #include #include "DM_G_I2C.h" #include "DHT.h" //#include "MQ135.h" #include "Time.h" #include "TimeLib.h" #include "time.h" #define DHTPIN 2 // SDA 핀의 설정 #define DHTTYPE DHT22 // DHT22 (AM2302) 센서종류 설정 DHT dht(DHTPIN, DHTTYPE); LiquidCrystal_I2C lcd(0x27,20,4); #define ANALOGPIN A0 // Define Analog PI..
-
IoT 발아기(2) - 가습기, 히터Projects/Arduino 2020. 1. 11. 23:46
발아기 내부 온도와 습도 유지를 위해 세라믹 히터와 가습용 진동모터를 채용했지만 효과가 미미했다. 진동모터는 작동법도 몰라서 다이소에서 usb가습기를 샀다. 근데 터치식이라 아두이노로 컨트롤하기에 까다로웠다. 뜯어보면 pcb판이 이렇게 생겼는데 대강 원리는 스위치(터치식)를 누르면 빨간 부분과 파란부분이 연결이 된다. 그 신호가 짧으면 가습기가 켜지고 길면 가습기 본체의 led가 켜지는 식인데 아두이노로 직접 컨트롤할 궁리가 떠오르지 않았다. 그래서 더 컨트롤하기 쉽고 출력도 좋은 가습기로 바꿨다. 히터는 세라믹히터대신에 헤어 드라이어를 쓴다. 기존 세라믹히터는 발아기 내부 공간을 데우는데는 무리였다. 그리고 납땜한 부분이 녹아내려서 쓰지도 못하게 되었다.