You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 아두 이노 웹 서버 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://chewathai27.com/to team, along with other related topics such as: 아두 이노 웹 서버 아두이노 esp8266 웹서버, 아두이노 이더넷 클라이언트, ESP8266 아두이노
아두이노 이더넷 웹서버 만들기 -#1
- Article author: raspberrystory.tistory.com
- Reviews from users: 45558 Ratings
- Top rated: 3.6
- Lowest rated: 1
- Summary of article content: Articles about 아두이노 이더넷 웹서버 만들기 -#1 아니면 단순하게 비닐하우스의 온도,습도 같은 간단한 정보만 주는것이냐 ? 이질문의 답으로 사용자가 많지 않은 웹서버 같은 경우 아두이노도 충분하다. …
- Most searched keywords: Whether you are looking for 아두이노 이더넷 웹서버 만들기 -#1 아니면 단순하게 비닐하우스의 온도,습도 같은 간단한 정보만 주는것이냐 ? 이질문의 답으로 사용자가 많지 않은 웹서버 같은 경우 아두이노도 충분하다. 일단 기초가 없는 사람들을 위해서 개념 부터 설명하고 넘어가자. 우리는 웹서버를 만들것이다. 이 웹서버를 만들기전에 우리는 웹서버, 서버에 대한 정의 부터해야 한다. 만들고자 하는 서버가 네..
- Table of Contents:
관련글
댓글0
공지사항
최근글
인기글
최근댓글
태그
전체 방문자
아두이노 강좌 #48 이더넷 쉴드를 사용하여 Web Server 시작하기::Blacklog
- Article author: juahnpop.tistory.com
- Reviews from users: 13907 Ratings
- Top rated: 3.3
- Lowest rated: 1
- Summary of article content: Articles about 아두이노 강좌 #48 이더넷 쉴드를 사용하여 Web Server 시작하기::Blacklog Arduino Web Server. 아두이노 웹 서버를 구축 한다는 의미는 아두이노와 같은 네트워크에 접속해 있는 스마트폰 또는 PC의 웹 브라우저에서 아두 … …
- Most searched keywords: Whether you are looking for 아두이노 강좌 #48 이더넷 쉴드를 사용하여 Web Server 시작하기::Blacklog Arduino Web Server. 아두이노 웹 서버를 구축 한다는 의미는 아두이노와 같은 네트워크에 접속해 있는 스마트폰 또는 PC의 웹 브라우저에서 아두 … Arduino Ethernet Shield : Web Server 지난 포스트에서는 아두이노 이더넷 쉴드를 사용하여 DHCP와 고정 IP방식으로 LAN에 연결하는 방법에 대해 설명하였습니다. 이번 포스트에서는 이더넷 쉴드를 사용하여 웹..Hardware, Software, Productivity, DIY Project, Tip&Trics
- Table of Contents:
이더넷 쉴드를 사용하여 웹 서버를 만드는 방법에 대해 설명
티스토리툴바
아두이노 웹서버 구현 밑 컨트롤(LED on,off) : 네이버 블로그
- Article author: blog.naver.com
- Reviews from users: 25874 Ratings
- Top rated: 4.0
- Lowest rated: 1
- Summary of article content: Articles about 아두이노 웹서버 구현 밑 컨트롤(LED on,off) : 네이버 블로그 아두이노 웹서버 구현 밑 컨트롤(LED on,off) … 언제 어디든지 인터넷이 가능하면 아두이노 컨트롤과 센서값을 읽어오는것이 가능해집니다! 어썸. …
- Most searched keywords: Whether you are looking for 아두이노 웹서버 구현 밑 컨트롤(LED on,off) : 네이버 블로그 아두이노 웹서버 구현 밑 컨트롤(LED on,off) … 언제 어디든지 인터넷이 가능하면 아두이노 컨트롤과 센서값을 읽어오는것이 가능해집니다! 어썸.
- Table of Contents:
악성코드가 포함되어 있는 파일입니다
작성자 이외의 방문자에게는 이용이 제한되었습니다
아두이노(Arduino) 홈 IoT(사물인터넷)을 위한 서버(Sever) 구성 1: Apache 아파치 설치방법 :: IT-G-House
- Article author: it-g-house.tistory.com
- Reviews from users: 9884 Ratings
- Top rated: 3.4
- Lowest rated: 1
- Summary of article content: Articles about 아두이노(Arduino) 홈 IoT(사물인터넷)을 위한 서버(Sever) 구성 1: Apache 아파치 설치방법 :: IT-G-House 가장 많이 알려진 웹서버 프로그램은 Apache(아파치)입니다. 내컴퓨터에 웹서버를 구축하는 방법으로 Apache, MySQL, PHP 앞글자를 따서 A.M.P라고 많이 … …
- Most searched keywords: Whether you are looking for 아두이노(Arduino) 홈 IoT(사물인터넷)을 위한 서버(Sever) 구성 1: Apache 아파치 설치방법 :: IT-G-House 가장 많이 알려진 웹서버 프로그램은 Apache(아파치)입니다. 내컴퓨터에 웹서버를 구축하는 방법으로 Apache, MySQL, PHP 앞글자를 따서 A.M.P라고 많이 … 그동안 아두이노와 센서의 기본적인 동작법 및 프로그램 코딩은 어느 정도 익숙해졌을 겁니다. 이제 본격적인 프로젝트를 진행하기 전에 인터넷을 통해 데이터 및 신호를 주고받을 수 있어야 아두이노를 원하는 로..아두이노(Arduino) 비전공 입문자를 위한 아두이노 프로젝트
- Table of Contents:
아두이노(Arduino) 홈 IoT(사물인터넷)을 위한 서버(Sever) 구성 1 Apache 아파치 설치방법
티스토리툴바
아두이노 – ESP01 웹서버를 이용하여 웹페이지에서 디지털핀 원격제어, WiFiEsp.h :: postpop
- Article author: postpop.tistory.com
- Reviews from users: 28320 Ratings
- Top rated: 4.6
- Lowest rated: 1
- Summary of article content: Articles about 아두이노 – ESP01 웹서버를 이용하여 웹페이지에서 디지털핀 원격제어, WiFiEsp.h :: postpop 아두이노 – ESP01 웹서버를 이용하여 웹페이지에서 디지털핀 원격제어, WiFiEsp.h. NextPop 2019. 11. 19. 11:21. 아두이노에 ESP01 와이파이 모듈을 연결시키고 ESP01 … …
- Most searched keywords: Whether you are looking for 아두이노 – ESP01 웹서버를 이용하여 웹페이지에서 디지털핀 원격제어, WiFiEsp.h :: postpop 아두이노 – ESP01 웹서버를 이용하여 웹페이지에서 디지털핀 원격제어, WiFiEsp.h. NextPop 2019. 11. 19. 11:21. 아두이노에 ESP01 와이파이 모듈을 연결시키고 ESP01 … 아두이노에 ESP01 와이파이 모듈을 연결시키고 ESP01의 webserver에 접속하여 아두이노의 디지털 핀을 원격 제어하도록 해보자. 스마트폰에서 ESP01의 webserver에 접속하는 방법에는 스마트폰이 연결된 공유기..홍성호
- Table of Contents:
아두이노 – ESP01 웹서버를 이용하여 웹페이지에서 디지털핀 원격제어 WiFiEsph
티스토리툴바
web_arduino
- Article author: kwanulee.github.io
- Reviews from users: 45342 Ratings
- Top rated: 4.2
- Lowest rated: 1
- Summary of article content: Articles about web_arduino HTTP는 HTML 문서 뿐만아니라, 이미지, 동영상, 오디오, 텍스트 문서들도 전송할 수 있도록 설계되어 있다. 작동 방식. 클라이언트(웹 브라우저)에서 서버(웹 서버)에 있는 … …
- Most searched keywords: Whether you are looking for web_arduino HTTP는 HTML 문서 뿐만아니라, 이미지, 동영상, 오디오, 텍스트 문서들도 전송할 수 있도록 설계되어 있다. 작동 방식. 클라이언트(웹 브라우저)에서 서버(웹 서버)에 있는 …
- Table of Contents:
학습목표
1 웹과 HTTP 프로토콜
2 아두이노와 웹
3 연습과제
[IoT 네트워크 서비스 강좌] #4-3 ESP32를 웹 서버로 만들기 | Hard Copy World
- Article author: www.hardcopyworld.com
- Reviews from users: 2472 Ratings
- Top rated: 3.6
- Lowest rated: 1
- Summary of article content: Articles about [IoT 네트워크 서비스 강좌] #4-3 ESP32를 웹 서버로 만들기 | Hard Copy World [사물 인터넷 네트워크와 서비스 구축 강좌] #4-3 센서장치를 웹 서버로 만들기 … 두 라이브러리 설치가 완료되면 아두이노 개발환경을 열어 아래의 … …
- Most searched keywords: Whether you are looking for [IoT 네트워크 서비스 강좌] #4-3 ESP32를 웹 서버로 만들기 | Hard Copy World [사물 인터넷 네트워크와 서비스 구축 강좌] #4-3 센서장치를 웹 서버로 만들기 … 두 라이브러리 설치가 완료되면 아두이노 개발환경을 열어 아래의 … 강좌 전체보기 사물 인터넷 네트워크와 서비스 구축 강좌 목차 . HTTP request 를 통해 웹 서버에 접속하는 것만으로도 센서장치의 가치는 엄청나게 높아집니다. 그런데 여기 또 하나 고려해볼만한 기능이 있습니다. 바로 WiFi 모듈을 작은 웹 서버처럼 동작시키는 것입니다. 외부에서 WiFi 모듈로 HTTP request 를 보내면, WiFi 모듈이 이 요청을 처리하고 응답을 보내는 방식입니다. 이런 마이크로 웹 서버를 […]
- Table of Contents:
Basic Web-Server example
WebServer + File system(SPIFFS)
활용
[ESP8266.006] 간단한 웹 서버 만들기
- Article author: wooduino.tistory.com
- Reviews from users: 30685 Ratings
- Top rated: 3.5
- Lowest rated: 1
- Summary of article content: Articles about [ESP8266.006] 간단한 웹 서버 만들기 아두이노(Arduino)/사물인터넷(ESP8266). [ESP8266.006] 간단한 웹 서버 만들기 … [1] “http://ip주소” 로 접속할 수 있는 간단한 웹 서버. …
- Most searched keywords: Whether you are looking for [ESP8266.006] 간단한 웹 서버 만들기 아두이노(Arduino)/사물인터넷(ESP8266). [ESP8266.006] 간단한 웹 서버 만들기 … [1] “http://ip주소” 로 접속할 수 있는 간단한 웹 서버. 긱펀의 코딩, IT, 임베디드 블로그 입니다.
- Table of Contents:
아두이노 웹서버 예제 분석
- Article author: wemakers.tistory.com
- Reviews from users: 30377 Ratings
- Top rated: 3.6
- Lowest rated: 1
- Summary of article content: Articles about 아두이노 웹서버 예제 분석 아두이노 웹서버 분석 예제입니다. 1. 개요. 아두이노와 이더넷실드를 연결해서 A0 부터 A5 까지의 값을 읽어서 클라이언트의 웹브라우저에서 보여 … …
- Most searched keywords: Whether you are looking for 아두이노 웹서버 예제 분석 아두이노 웹서버 분석 예제입니다. 1. 개요. 아두이노와 이더넷실드를 연결해서 A0 부터 A5 까지의 값을 읽어서 클라이언트의 웹브라우저에서 보여 … 아두이노 웹서버 분석 예제입니다. 1. 개요 아두이노와 이더넷실드를 연결해서 A0 부터 A5 까지의 값을 읽어서 클라이언트의 웹브라우저에서 보여줍니다. 바꿀 부분은 mac 과 ip 주소입니다. /* Web Server A s..
- Table of Contents:
태그
‘개인 연구실바람의 연구실’ Related Articles
공지사항
최근 포스트
태그
검색
전체 방문자
See more articles in the same category here: 316+ tips for you.
아두이노 이더넷 웹서버 만들기 -#1
반응형
일단 기초가 없는 사람들을 위해서 개념 부터 설명하고 넘어가자.
우리는 웹서버를 만들것이다.
이 웹서버를 만들기전에 우리는 웹서버, 서버에 대한 정의 부터해야 한다.
만들고자 하는 서버가 네이버 서버 처럼 사용자 접속이 많은것이냐 ?
아니면 단순하게 비닐하우스의 온도,습도 같은 간단한 정보만 주는것이냐 ?
이질문의 답으로 사용자가 많지 않은 웹서버 같은 경우 아두이노도 충분하다.
다시말해서 본인이 만들고자하는 서버의 종류, 서비스의 용도에 따라
아두이노가 가능하고 안되고 판단 할 수 있다.
아두이노로 서버가 가능하나요 ?
아두이노로 웹서버가 되나요 ?
어찌보면 개념도 기초도 없는 어리석은 질문이다.
물론 본인이 개념이 없다고 자책은 필요 없다. 지금부터 기초부터 공부하면 된다.
웹서버의 기본인 HTML부터 공부하자.
아래 테그는 한문장 출력하는 기초중의 기초다.
그러면 웹서버의 역활은 뭘가 ?
아주 간단하다. 클라이언트, 유저가 요청을 하면 요청한답을 주면 끝이다.
쉽게 말해서 html 문장을 전송하면 끝이다.
왜 끝일까 ? 나머지는 클라이언트, 유저의 웹브라우저가 다하기 때문이다.
단순하게 보면 웹서버의 역활은 지극히 단순하다.
이 기본개념에서 응용으로 넘어 간다면 아파치 서버나 기타 웹서버까지 가겠지만.
아두이노 차원에서는 이것으로 충분하다.
그리고
문장을 전송한다는것은 바이트단위로 TCP/IP 통신을 한다는것이다.
아두이노 측면에서 본다면 그냥 Serial print 한번 출력하는것으로 끝이다.
혹시 궁금해 하실것 같아서 언급하지만,
라즈베리의 아파치 서버의경우 최대 접속자 1000명, 거의 한계는 700명, 원할한 접속은 500명이다.
그렇다면 지금 PC방에 달려가서 본인이 만든 아두이노 서버에 DDOS공격을 해 보는것도,
재미 있을것 같다. 과연 몇명이나 버틸지…
< ! DOCTYPE html > < html > < body > < h1 > My First Heading < / h1 > < / body > < / html >
아두이노 강좌 #48 이더넷 쉴드를 사용하여 Web Server 시작하기
Arduino Ethernet Shield : Web Server
지난 포스트에서는 아두이노 이더넷 쉴드를 사용하여 DHCP와 고정 IP방식으로 LAN에 연결하는 방법에 대해 설명하였습니다. 이번 포스트에서는 이더넷 쉴드를 사용하여 웹 서버를 만드는 방법에 대해 설명 합니다.
개요 : 이해를 위한 설명
Web Server? Client?
네이버와 같은 웹 사이트가 동작하기 위해서는 네이버 사이트를 제공하는 회사와 네이버 사이트를 사용하는 사람들이 필요합니다. 이때 서비스를 제공하는 곳을 서버(Server) 서비스를 이용하는 사람을 클라이언트(Client)라고 말합니다. 네이버에 접속하기 위해 클라이언트 PC의 크롬과 같은 웹 브라우저에서 www.naver.com 같은 도메인 주소를 입력하면, 브라우저는 네이버 서버에 데이터를 요청하고, 웹 페이지에 보여줄 데이터를 수신하여 클라이언트의 웹 브라우저에 네이버 웹 페이지를 보여 줍니다.
Web Server 와 Web Client
Arduino Web Server
아두이노 웹 서버를 구축 한다는 의미는 아두이노와 같은 네트워크에 접속해 있는 스마트폰 또는 PC의 웹 브라우저에서 아두이노 IP에 접속하여 아두이노에서 제공하는 웹 페이지를 사용 할 수 있도록 하는 것입니다.
Arduino Web Server 네트워크 구성
HTTP
웹 서버와 웹 클라이언트의 통신은 서버 PC와 클라이언트의 웹 브라우저와 통신을 말합니다. 이때 사용되는 통신 방식이 HTTP 입니다. 웹 서버 PC는 하나이지만, 웹 브라우저의 종류는 다양하기 떄문에 HTTP란 통신 규격으로 통신(데이터 송신,수신)을 하게 됩니다.
아두이노에서 웹 서버를 구축하게 되면 아두이노와 클라이언트의 웹 브라우저와 HTTP통신 방식으로 데이터를 주고 받습니다.
HTML, CSS, Javascript
HTML, CSS, Javascript는 웹 페이지를 구성하는 언어입니다. 웹 브라우저에서 보여지는 모든 화면은 이 3가지의 언어를 사용하여 만들어집니다.
즉, 클라이언트의 브라우저에서 웹 서버에 접속하면 HTTP 통신 방식으로 웹 페이지 데이터(HTML, CSS, Javascript 등)를 수신하여 브라우저에서 웹 페이지 화면을 표시 합니다.
아두이노 웹 서버
하드웨어
아두이노로 이더넷을 연결하기 위해 Arduino Uno 보드와 Arduino Ethernet Shield2 보드를 사용하였습니다. 이번 설명에서는 SD-Card는 사용하지 않고, Arduino Uno의 메모리만을 사용하여 구현 합니다.
Arduino Ethernet Shield2 연결
웹 페이지 준비
아래 그림은 아두이노 웹 서버에서 보여줄 웹 페이지의 코드와 브라우저에서 해당 코드를 실행 한 화면입니다. HTML 코드를 본문에 삽입 할 수 없어 첨부 파일로 Index.html 을 참고로 첨부하였습니다.
index.html
(좌) HTML 코드 (우) 브라우저 아두이노 코드 아래 코드는 192.168.0.50 IP 주소를 가지는 아두이노 웹 서버 예시입니다. 아두이노와 같은 네트워크에 연결된 장치의 웹 브라우저에서 192.168.0.50 으로 접속하면 위의 HTML 코드를 전송합니다. 아래의 코드는 하단의 링크를 참조하여 수정하였습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 # include < SPI.h > # include < Ethernet.h > byte mac[] = { 0x90 , 0xA2 , 0xDA , 0x10 , 0x53 , 0x07 }; // MAC Address IPAddress ip( 192 , 168 , 0 , 50 ); // IP Address EthernetServer server( 80 ); // Port 80 is default for HTTP void setup () { // You can use Ethernet.init(pin) to configure the CS pin //Ethernet.init(10); // Most Arduino shields //Ethernet.init(5); // MKR ETH shield //Ethernet.init(0); // Teensy 2.0 //Ethernet.init(20); // Teensy++ 2.0 //Ethernet.init(15); // ESP8266 with Adafruit Featherwing Ethernet //Ethernet.init(33); // ESP32 with Adafruit Featherwing Ethernet Ethernet. begin (mac, ip); // initialize Ethernet device server. begin (); // Start to listen for clients Serial . begin ( 115200 ); } void loop () { EthernetClient client = server. available (); // try to get client if (client) { // got client? boolean currentLineIsBlank = true ; while (client.connected()) { if (client. available ()) { // client data available to read char c = client. read (); // read 1 byte (character) from client Serial . print (c); // last line of client request is blank and ends with
// respond to client only after last line received if (c = = ‘
‘ & & currentLineIsBlank) { // send a standard http response header client. println ( “HTTP/1.1 200 OK” ); client. println ( “Content-Type: text/html” ); client. println ( “Connection: close” ); client. println (); // send web page client. println ( “” ); client. println ( “” ); client. println ( “
” ); client. println ( “” ); client. println ( “” ); client. println ( “Arduino Web Page ” ); client. println ( “” ); client. println ( “” ); client. println ( “Arduino Web Page
” ); client. println ( “
Hello World! This is arduino Web page!
” ); client. println ( “” ); client. println ( “” ); break ; } if (c = = ‘
‘ ) { currentLineIsBlank = true ; } else if (c ! = ‘\r’ ) { currentLineIsBlank = false ; } } } delay ( 1 ); client. stop (); // close the connection } } Colored by Color Scripter cs
코드 설명
선언부
MAC 주소 입력, IP 주소 입력, EthernetServer 클래스 인스턴스 생성 및 초기화
4줄 : MAC 주소를 입력 합니다. 일반적으로 보유하고 있는 이더넷 쉴드 하단에 스티커가 부착되어 있습니다.
5줄 : 네트워크 IP범위에 맞는 적절한 IP주소를 입력 합니다.
6줄 : 포트 번호를 80으로 초기화 – 일반 적으로 웹 서버는 80번 포트 번호 사용
void setup()
이더넷 초기화, 이더넷 서버 시작, 시리얼 포트 시작
10~16줄 : Arduino Ethernet Shield 가 아닌 경우 적절한 Ethernet.init(pin) 코드 삽입 필요
17줄 ; 이더넷 초기화 – 고정 IP사용
18줄 : 웹 서버 시작 – 클라이언트 호출 기다림 시작
19줄 : 시리얼 포트 시작 – 수신된 HTTP 메세지 출력 용도로 사용
void loop()
클라이언트가 접속하면 웹페이지 HTML 데이터를 송신
24줄 : 클라이언트가 접속하면 이더넷 클라이언트 클래스 객체를 생성
클라이언트와의 통신은 서버가 직접 하지 않고, 클라이언트와 통신하기 위해 생성된 클라이언트 객체와 통신을 합니다.
26줄~65줄 : 클라이언트가 접속하면 실행되는 if문
27줄 : 클라이언트의 HTTP 요청이 완료되었는지 확인 하기 위한 boolean 변수 생성 (하단 설명 참조)
28줄 : 클라이언트가 연결 된 상태일 때 실행되는 반복문
29줄 : 클라이언트로부터 수신된 메세지가 있는 경우 실행되는 if문
30줄~31줄 : 클라이언트로부터 수신된 메세지가 저장된 수신 버퍼에서 데이터를 하나씩 읽어서 시리얼 포트로 출력
34줄 : 클라이언트로부터 HTTP 요청이 완료되면 실행되는 if문
36~39줄 : HTTP HEAD 응답
41~52줄 : HTTP BODY 응답 – 웹 페이지 HTML 코드
55~56줄 : HTTP 수신 버퍼에서 읽은 문자가
(New Line)인 경우 currentLineIsBack 을 True로 설정
58~59줄 : HTTP 수신 버퍼에서 읽은 문자가
(New Line) 또는 \r(Carriage Return) 아닌 경우 currentLineIsBack을 False로 설정
HTTP Request 메세지
위의 코드를 실행 후 클라이언트의 웹 브라우저에서 192.168.0.50 으로 접속하면 브라우저에서 아두이노로 HTTP 규격에 따라 아래와 같은 HTTP 호출 메세지가 전달됩니다. 아래 그림과 같이 클라이언트의 HTTP 요청 메세지는 마지막에 한 줄을 띄우도록 약속되어있습니다.
위 코드의 34번 줄 코드는 HTTP 수신 버퍼에서 읽은 문자가
이고 currentLineIsBlank가 True인 경우 Client Reuqest 메세지가 완료되었다고 판단하고 실행되는 if문입니다.
HTTP Request 메세지
실행 결과
아래 그림은 같은 네트워크에 있는 PC의 웹 브라우저에서 아두이노 IP인 192.168.0.50으로 접속 후 보여지는 웹 페이지와 아두이노의 시리얼 메세지 출력 화면입니다.
Arduino Web Server 실행 결과
아두이노(Arduino) 홈 IoT(사물인터넷)을 위한 서버(Sever) 구성 1: Apache 아파치 설치방법
그동안 아두이노와 센서의 기본적인 동작법 및 프로그램 코딩은 어느 정도 익숙해졌을 겁니다. 이제 본격적인 프로젝트를 진행하기 전에 인터넷을 통해 데이터 및 신호를 주고받을 수 있어야 아두이노를 원하는 로직(Logic)에 맞게 동작시킬 수 있습니다. 우선 각 종 센서가 측정하는 데이터나 신호를 서버(Sever)로 송신하는 방법을 알아본 뒤 데이터를 분석하고, 적절한 명령신호를 다시 아두이노나 외부기기에 전달하는 방법을 알아보겠습니다.
아두이노와 컴퓨터를 직접 연결하는 방법
앞서 USB 케이블을 통한 시리얼 통신(Serial communication)으로 PC에 바로 데이터를 전송하고 저장하는 방법을 알아보았습니다.
DHT11 온습도 센서(Temperature and Humidity sensor)로 측정된 온도와 습도 데이터를 PC로 시리얼 통신을 통해 송신하고, 컴퓨터에서 데이터를 받는데 ‘CoolTerm’이나 ‘PLX-DAQ’ 프로그램을 사용하였습니다. 받은 데이터를 *. txt 파일로 저장하거나 엑셀로 연동하여 실시간 그래프를 그리거나 데이터 분석을 할 수 있었습니다.
아두이노(Arduino) 시리얼 통신(Serial communication)으로 PC에 데이터를 저장하는 구성
인터넷을 이용한 데이터 송수신 방법
인터넷을 사용하여 웹을 통해 데이터를 송수신하려면 웹서버(Web sever)가 필요합니다. 파이썬(Phython)이나 C언어같은 프로그램 언어로 직접 서버를 만들 수 있으나 프로그램 언어가 능숙하지 않고 서버의 개념이 숙지되지 않은 경우 서버를 구성하는 일은 어렵습니다. 그렇다고 돈을 들여 프로그래머를 고용해서 서버를 만들정도로 고퀄이 필요한 것도 아니죠… 그래서 이렇게 직접 서버를 구성하기 힘든 개인이나 업체들을 위해 많은 기업들이 오픈소스 웹서버 프로그램을 제공하고 있습니다. 정말 고마운 일이죠~ 뮤뮤
아두이노(Arduino)로 인터넷(Internet)을 이용한 데이터를 송수신하기 위한 서버(Sever)구성
가장 많이 알려진 웹서버 프로그램은 Apache(아파치)입니다. 내컴퓨터에 웹서버를 구축하는 방법으로 Apache, MySQL, PHP 앞글자를 따서 A.M.P라고 많이 들어보셨을 겁니다. 여기서 Apache로 웹서버를 만들고 데이터를 수신할 수 있습니다. 그럼 받은 데이터를 어딘가 쌓아놓고 필요할 때 출력하거나 가공할 수 있어야 하는데.. 그 역할을 하는 게 데이터베이스 서버(DataBase server), DB서버라고 합니다. 역시나 많이 알려진 데이터베이스 프로그램이 MySQL입니다. DB는 크게 RDB, NoSQL 두 종류로 나뉘는데, RDB는 다시 RDBMS (Relational Database Management System: 관계형 데이터베이스)와 ORDBMS (Object-Relational Database Management System: 객체지향 데이터베이스)로 구분됩니다. RDB가 아닌 데이터 베이스가 NoSQL인데 RDB와는 달리 데이터 간 관계를 정의하지 않고 대용량의 데이터를 다루는데 유용해서 최근 빅데이터를 다루는데 적합하다고 합니다. (요즘 핫한 MongoDB가 NoSQL입니다.) 데이터베이스에 관해서는 추후 자세히 공부해 보도록 하겠습니다. 그리고 프로그램 언어 PHP (Professional HyperText Preprocessor)는 서버에서 해석되는 HTML에 내장되어 동작하는 스크립트 언어로 PHP 소프트웨어를 통해 코딩을 할 수 있습니다.
그럼 각각 프로그램을 설치하는 방법을 알아보겠습니다.
Apache(아파치) 설치방법
Apache는 홈페이지에서 다운로드할 수 있는데 메인 홈페이지가 아닌 https://www.apachelounge.com/download/에서 다운로드할 수 있습니다. 아래 공식 홈페이지에 들어가면 다운로드 받을 수 있는 파일들이 있긴 하지만 저는 쉽게 사용할 수 없는 파일 형태라서 apachelounge.com에서 다운로드하는 걸 추천드립니다.
Apache(아파치) 공식 홈페이지 메인 화면 Apache(아파치) 다운로드 페이지
Apache 2.4.41 Win 64 버전으로 다운로드하여서 C드라이버에 압축을 풀고 Apache24\conf 폴더 안에 ‘httpd.conf’ 파일을 메모장으로 열어줍니다. Apache를 정상적으로 운영하기 위해 ‘httpd.conf’ 파일을 SeverRoot, SeverName 등을 수정하는 과정이 필요합니다. (꼭 메모장이 아니더라도 수정할 수 있으면 됩니다.)
Apache(아파치) SeverRoot 설치폴더 확인
메모장에서 조금 아래 ServerRoot 부분에서 파일 압축을 푼 폴더가 “c:/Apache24″와 같은지를 확인합니다. 만약 다른 곳에 압축을 푸셨으면 폴더 경로를 수정해주시면 됩니다. 저도 아래와 같이 수정하였습니다. 여기서 주의할 점은 하위 폴더 표시를 ‘/’로 사용해야 합니다.
꽤나 더 아랫부분에 SeverName에 관한 내용이 있습니다. 여기서 ‘#SeverName www.example.com:80’을 ‘#’은 지우고 ‘ServerName loacalhost:80’로 수정합니다. (또는 ‘ServerName 127.0.0.1:80’이라고 바꿔줘도 됩니다.)
Apache(아파치) ServerName 변경
그리고 명령 프롬프트를 열어서 Apache24 폴더로 찾아가서 bin폴더에서 ‘httpd.exe -k install’이라고 명령어를 치면 Apache가 설치됩니다.
일단 설치가 진행되고 나면 윈도우 ‘서비스’ 창에서 아래와 같이 Apache2.4가 설치된 것을 확인할 수 있습니다. 아직은 실행상태는 아닌데 다시 명령 프롬프트에서 ‘httpd.exe -k start’라고 입력해주시면 아래와 같이 ‘실행 중’이라고 표시되고 Apache가 실행된 상태입니다. (윈도우 검색창에서 ‘서비스’라고 입력하면 서비스 창을 실행할 수 있습니다.)
Apache를 멈추고 싶으면 ‘httpd.exe -k stop’을 입력하면 됩니다. 저는 명령 프롬프트가 아무래도 익숙하지 않아서 또 다른 방법을 사용하고 있습니다. ‘bin’폴더 안에 ‘ApacheMonitor’를 실행하면 윈도우 실행창에 ApacheMonitor 아이콘이 생깁니다.
ApacheMonitor ApacheMonitor 실행 ApacheMonitor 실행
여기서 간단하게 Apache를 실행하고 정지할 수 있습니다. 아.. 진작에 이렇게 할걸…;; 죄송합니다… 그럼 Apache가 정상적으로 작동하는지 확인하기 위해 Apache를 Start 하고 웹브라우저에서 http://loacalhost라고 주소를 입력하면 아래와 같이 “It works!”라고 메시지가 나오면 정상적으로 작동하고 있는 겁니다. 와우~!! 혹시 앞에서 ServerName을 127.0.0.1:80라고 수정했으면 http://127.0.0.1라고 입력하면 됩니다.
Apache 정상 작동시 (http://localhost) Apache 정상 작동시 (http://127.0.0.1)
여기까지 아두이노(Arduino)의 데이터를 웹서버를 통해 송수신하기 위한 서버(Server)의 구성과 함께 A.M.P (Apache, MySQL, PHP) 중 Apache를 실행하는 방법을 알아보았습니다. 이어서 MySQL 설치방법은 다음 포스팅으로 이어가겠습니다. 아래 링크 따라가시면 되요~ ^^
개념 정리가 조금 미흡할 수 있지만 나름 쉽게 이해하려고 한 부분을 전달하려고 노력하였습니다. 고수분들은 혹시 수정사항이나 좀 이상한 부분 있으면 언제든지 첨언 부탁드리며, 좋은 의견 댓글로 부탁드립니다.
So you have finished reading the 아두 이노 웹 서버 topic article, if you find this article useful, please share it. Thank you very much. See more: 아두이노 esp8266 웹서버, 아두이노 이더넷 클라이언트, ESP8266 아두이노