Projects/Arduino
-
IoT 발아기(11) - IIS 시작하기Projects/Arduino 2020. 2. 21. 07:57
인터넷 정보 서비스(IIS) 관리자를 통해 사이트를 추가하고 실행한다. 실행하는 목적은 ASP.NET MVC5를 이용해 만든 웹사이트로 JSN-270과 http 요청을 통해 PIN을 컨트롤하고 센서값을 받아와서 사이트 상에 차트형식으로 나타내기 위함이다. 그리고 더 나아가 카메라를 통해 실시간으로 확인 할 수 있도록 구현할 계획이다. IIS 설치 [제어판]-[프로그램]-[Windows 기능 켜기/끄기]-[인터넷정보 서비스]체크-[확인] IIS관리자를 실행하고 사이트를 추가한다. 사이트 이름과 실제 경로를 설정해준다. 찾아보기를 클릭하거나 웹 주소창에 [Localhost:(포트번호)]를 치면 사이트가 뜬다. 500.19는 아주 자주 발생하는 에러중에 하나다. 이외에도 401, 404.3, 404.7, 40..
-
IoT 발아기(10) - 어플리케이션으로 JSN-270 컨트롤하기(AppInventor)Projects/Arduino 2020. 2. 20. 08:01
지난시간에 아두이노 코드를 수정해서 이런식으로 있었던 하이퍼텍스트부분을 모두 제거했다. 매우 불친절한 인터페이스인데(주소창 입력을 통해서만 컨트롤 가능), 쉽게 컨트롤 할 수 있도록 어플리케이션을 만들었 다. http://ai2.appinventor.mit.edu/ http://ai2.appinventor.mit.edu/ ai2.appinventor.mit.edu 앱 인벤터를 사용하면 앱 개발부터 빌드까지 아주 쉽고 간단하게 할 수 있다. 정말로 쉽다. 디자이너 부분에서 컨트롤을 드래그 앤 드롭 해서 추가할 수 있다. 블록에서 각 컨트롤에 맞게 로직을 설정할 수 있다. 블록코딩이기 때문에 누구나 쉽게 만들 수 있다. 텍스트박스 *2 : 주소창, 온도센서값 출력창 스위치 *4 : 10~13번 핀 On/Of..
-
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..