Project/Arduino 7

LoRa 프로젝트 완성(LoRa, WiFi, 센서 등 모든 코드 정리)

드디어 한 학기짜리 LoRa 프로젝트를 완성했다. 프로젝트 주제는 최종 완성과 시연 영상은 글 제일 마지막에 ! 일단 이번 프로젝트에서 LoRa 통신을 이용했고, 하드웨어는 ESP32 TTGO LoRa 모듈이다. 네이버에서 하나당 약 3만5천원? 정도 주고 구매했다. SK나 다른 회사에서 제공하는 LoRa 통신망을 이용하지 않고, 모듈 3개로 송수신했다. 코드는 이 전에 포스팅 했던 게시글에 있다. LoRa 모듈 송수신 코드 CO2와 이산화탄소 측정 코드 와이파이로 웹서버에 데이터 보내는 코드 최종 완성된 전체 코드 및 깃헙 주소는 아래에 있다. 코드만 옮기면 안되고, 필요한 라이브러리들을 모두 다운받아서 추가해야 한다. https://github.com..

Project/Arduino 2020.07.09

LoRa 통신을 이용한 창문 자동 개폐 시스템과 문자 서비스

프로젝트 초기의 목표는 1,2,3층의 열람실에 각각 센서를 달고 단순히 앱/대시보드로 보여주는 것이었다. 그러나, 단순히 보여주는 것보다는 사람이 신경쓰지 않더라도 기기가 스스로 하도록 하는 것이 IoT의 본질이라고 생각하였고, 다른 여러 상황과 겹쳐서 목표가 바뀌었다. " 제목과 같이 실내 공기 질을 센서로 지속적으로 측정을 하고 기준치 이상으로 올라간다면 창문에 달린 모터가 작동되어 창문이 열리고, 센서값이 낮아지면 다시 닫히는 시스템이다. 그리고, 열람실 관리자 책상에 설치된 [LoRa - LED] 기기에서 기준치가 넘으면 빨강색 LED가 켜지고, 정상 범주에서는 초록색 LED가 켜진다. 관리자는 대시보드에 들어가지 않아도 책상에 있는 LED를 보고 현재 열람실의 상황을 알 수 있다. " 가 우리 ..

Project/Arduino 2020.06.23

LoRa 통신 Sender - Receive 주고 받기

CO2와 미세먼지 측정값에 일단은 '상수'를 배정하여서 로라 통신을 테스트하는 코드이다. 작동 전에 라이브러리를 모두 다운 받아 추가해야 한다. 로라 라이브러리 : https://github.com/sandeepmistry/arduino-LoRa OLED (로라액정) 라이브러리 : https://github.com/adafruit/Adafruit_SSD1306, https://github.com/adafruit/Adafruit-GFX-Library adafruit/Adafruit-GFX-Library Adafruit GFX graphics core library, this is the 'core' class that all our other graphics libraries derive from - ad..

Project/Arduino 2020.06.21

ESP32로 CO2와 미세먼지 측정하기(MH-Z14A)

이산화탄소와 미세먼지를 동시에 측정하는 코드이다. 이 전 게시글에 비해 미세먼지를 측정하는 코드 약 10줄? 정도만 추가되어서, 바뀐 부분만 보면 될 듯하다. 일반 아날로그값을 읽는 것과는 다르게 Setup() 부분에서 미세먼지 센서를 pinMode(pinnumber, INPUT)으로 읽는다. #include #include #include //#include const char* ssid = "A"; const char* password = "A!"; const char* serverName = "http://00.000.00.000:0000/"; int value_co2; int value_dust; int sensor_number = 1; int analog = 34; IPAddress hostIp..

Project/Arduino 2020.06.18

ESP32로 CO2 센서(MH-Z14A) 측정하기

MH-Z14A 센서로 CO2를 측정하니 전압값이 너무 안맞아서 한참 고생했다. ESP32와 MH-Z14A 예제도 별로 없음 ㅠㅠ 아래 코드는 5V에 연결된 전압을 변환해서 적정 값으로 바꾸어주는 코드이다. #include #include #include //#include const char* ssid = "A"; const char* password = "A"; const char* serverName = "http://00.000.00.000:0000/"; int value; int sensor_number = 1; int analog = 34; IPAddress hostIp(00, 000, 00, 000); int SERVER_PORT = 5000; WiFiClient client; void set..

Project/Arduino 2020.06.18

Esp32로 웹서버 통신(http POST, Json 형식)

영단어 퀴즈 앱테크 어플 (하루 5분 100원 적립 가능!) 아이폰> ‎캐시보카 - 돈버는 영단어 앱테크 ‎단어를 맞추면 1캐시가 적립돼요. 적립된 캐시는 네이버 포인트로 전환할 수 있어요. apps.apple.com esp32의 예제가 많이 없어서 찾기 힘들었다. 본 코드는 esp32에 있는 값을 POST 방식을 통해 Json 형태로 웹서버에 보내는 방법이다. http POST를 이용해서 데이터를 보내는 부분만 있다. 우리 팀은 웹서버에서 데이터를 수신할 필요는 없어서 수신 코드는 넣지 않았다. 그리고 본 게시글 하단에 참조된 사이트에 GET 방식도 있으니 참조하면 좋을 것 같다. 우리 팀은 AWS에서 프리티어로 웹서버를 개설하고 DB를 구축해놓았다. ESP32 예제가 일단 많이 없을 뿐더러 Http ..

Project/Arduino 2020.05.28

LoRa 통신 전체적인 시스템 아키텍처 및 참고 사이트

4학년 1학기인 이번학기에 졸업 프로젝트 수업인 '융합캡스톤디자인' 을 수강하고 있다. 기업과 협업해서 한 학기동안 프로그램을 만드는 수업이다. 우리 팀은 교내 도서관의 Co2를 측정해서 LoRa통신을 이용해 웹서버로 보내고, 대시보드에서 나타내는 주제로 진행하게 되었다. 초기에 그린 시스템 구조는 이렇다. 각 열람실에서 co2를 측정해서 esp32의 LoRa 통신 모듈로 게이트웨이까지 데이터를 보낸다. 게이트웨이에서는 축적된 데이터를 웹서버에 보내고 대시보드에 나타낸다. LoRa 통신이 나온지 얼마 안되어서 예제가 많이 없다. 특히 Esp32와 LoRa 통신은 예제가 정말 없다. 아래는 우리팀이 참고했던 Esp32와 LoRa통신 관련 사이트 목록이다. m.blog.naver.co..

Project/Arduino 2020.05.28