전체 글 171

MUX(Multiplex) 사용방법

아두이노(Arduino)로 프로젝트를 진행하면서 다수의 저전력 센서나 모듈을 사용하다 보면 입력(input) 또는 출력(output) 단자(Pin)가 생각보다 부족하다는 것을 느낄 때가 많습니다. 아두이노 또는 컨트롤러(controller)를 여러 개 사용해서 해결할 수도 있지만 상황에 따라 비효율적일 수 있고 같은 센서를 여러 개 사용할 경우 딱 Pin 수만 더 많았으면... 하는 생각을 하게 됩니다. 이런 경우 사용하는 모듈이 멀티플렉서(Multiplexer, MUX)입니다. '멀티플렉서(Multiplexer) 또는 MUX는 여러 아날로그 또는 디지털 입력 신호 중 하나를 선택하여 선택된 입력을 하나의 라인에 전달하는 장치이다.'라고 위키백과에 정의되어 있는데 이런 기능을 이용하여 controller..

Arduino 2021.08.20

eModbus

https://emodbus.github.io/ Home 이것은 Modbus RTU 및 TCP 프로토콜 모두에 대해 Modbus 클라이언트(이전에는 마스터로 알려짐), 서버(이전에는 슬레이브) 및 브리지/게이트웨이 기능을 제공하는 라이브러리입니다. Modbus 통신은 별도의 작업으로 수행되므로 Modbus 요청 및 응답은 Non-blocking 입니다 응답을 비동기적으로 준비하거나 수신하기 위해 콜백이 제공됩니다. 요청이 응답이 도착하기를 기다리는 곳에서도 사용할 수 있는 동기 인터페이스가 있습니다. 주요 특징들: Arduino 프레임워크에서 사용됨 비차단/비동기 API - non blocking / asynchronous API 대체 동기 API 서버, 클라이언트 및 브리지 모드 TCP(이더넷, WiF..

MODBUS Protocol

프로토콜 설명 MODBUS© 프로토콜은 지능형 장치 간의 마스터-슬레이브 통신을 설정하는 데 널리 사용되는 메시징 구조입니다. 마스터에서 슬레이브로 전송되는 MODBUS 메시지에는 ① 슬레이브의 주소, ② 명령'(예: '레지스터 읽기' 또는 '레지스터 쓰기'), ③ 데이터 ④ 체크섬(LRC 또는 CRC)이 포함됩니다. Modbus 프로토콜은 메시징 구조일 뿐이므로 기본 물리 계층과 독립적입니다. 전통적으로 RS232, RS422 또는 RS485를 사용하여 구현됩니다. The Request 요청 요청 리퀘스트안에 있는 기능 코드(Function Code)는 주소가 지정된 슬레이브 장치에 수행할 작업의 종류를 알려줍니다. 데이터 바이트에는 슬레이브가 기능을 수행하는 데 필요한 추가 정보가 포함됩니다. 예를 ..

MODBUS 2021.08.17

ESP32 Serial 통신 라이브러리

1. 설명 ESP32와 ESP8266은 아두이노처럼 쓸 수 있지만 와이파이와 블루투스(ESP8266에는 없음)가 포함되어있어서 IOT를 구현할 때 편하고, 속도가 훨씬 빨라서 고성능이 필요할 때는 사용하기 좋다. ESP32와 ESP8266은 ESPRESSIF라는 회사에서 만들어 졌는데 ESP8266이 더 구형 버전이고 ESP32가 ESP8266의 단점을 보완해서 만들어진 것이다. 이 사진처럼 개발 보드에 ESP32 칩이 들어있는 것이다. ESP32 보드도 종류가 많은데 크게 그냥 위 사진처럼 생긴 일반 개발 보드, 카메라가 달린 개발보드, 배터리홀더가 달린 개발보드, 화면이 달린 개발 보드 등이 있다. 참고로 일반 개발 보드를 살 때 핀 수가 더 많고 5v 핀이 있는 것이 있고 아닌 것도 있다. 핀 수가..

ESP32 2021.08.17

How To Do Daily Tasks with Arduino

이 튜토리얼에서는 Arduino로 일상적인 작업을 수행하는 방법을 보여줍니다. 우리는 매일 특정 시간에 LED를 켜고 끌 것입니다. 그런 다음 제공된 예제를 쉽게 수정하여 다른 작업을 수행할 수 있습니다. 프로젝트 개요 이 프로젝트는 DS1307 실시간 클록 모듈 을 사용하여 시간 을 추적합니다. RTC 모듈에 대한 소개 는 Arduino가 포함된 실시간 클록 모듈 가이드(DS1307 및 DS3231)를 참조 하십시오. 제공된 예제는 매일 오후 7시에 LED를 켭니다. 매일 오전 9시에 꺼집니다. 코드를 쉽게 수정하여 고유한 이벤트와 발생 시간을 트리거할 수 있습니다. 필요한 부품 Arduino UNO DS1307 RTC 모듈 1x LED 1x 220옴 저항 브레드보드 점퍼 와이어 개략도 아래 회로도와 ..

카테고리 없음 2021.08.16

Why You Shouldn’t Always Use the Arduino Delay Function

Arduino 보드를 처음 사용 했을 때 아마도 다음과 같이 했을 것입니다. Arduino에 LED를 연결했습니다. 1초마다 LED를 켜고 끄는 기본 깜박임 스케치를 업로드했습니다. 이것은 Arduino의 "Hello World" 프로그램이라고 하며 몇 줄의 코드로 실제 응용 프로그램이 있는 무언가를 만들 수 있음을 보여줍니다. 앞의 예에서 delay() 함수를 사용하여 LED가 켜지고 꺼지는 간격을 정의합니다. delay() 는 편리하고 기본적인 예제에서는 작동하지만 실제로 사용해서는 안 됩니다. 이유를 알아보려면 계속 읽으십시오. 어떻게 delay() 함수는 작용하나 Arduino delay() 함수가 작동하는 방식은 매우 간단합니다. 단일 정수를 인수로 허용합니다. 이 숫자는 프로그램이 다음 코드 ..

카테고리 없음 2021.08.16

ESP32 Data Logging Temperature to MicroSD Card

이 프로젝트는 ESP32를 사용하여 microSD 카드에 타임스탬프가 있는 데이터를 기록하는 방법을 보여줍니다. 예를 들어 DS18B20 센서의 온도 판독값을 10분마다 기록합니다. ESP32는 각 판독 사이에 최대 절전 모드가 되며 NTP(네트워크 시간 프로토콜)를 사용하여 날짜와 시간을 요청합니다. 프로젝트 개요 시작하기 전에 프로젝트의 주요 기능을 강조해 보겠습니다. ESP32는 DS18B20 온도 센서를 사용하여 온도를 읽습니다. 온도를 얻은 후 NTP(Network Time Protocol) 서버에 날짜와 시간을 요청합니다. 따라서 ESP32는 Wi-Fi 연결이 필요합니다. 데이터(온도 및 타임스탬프)는 microSD 카드에 기록됩니다. microSD 카드에 데이터를 기록하기 위해 microSD..

ESP32 2021.08.16

ESP32 NTP Client-Server: Get Date and Time (Arduino IDE)

Arduino IDE와 함께 ESP32를 사용하여 NTP 서버에서 날짜와 시간을 요청하는 방법을 알아봅니다. 날짜와 시간을 가져오는 것은 데이터 로깅 프로젝트에서 판독값을 타임스탬프하는 데 유용합니다. NTP 서버에서 시간을 얻으려면 ESP32 가 인터넷에 연결되어 있어야 하며 추가 하드웨어(예: RTC 시계)가 필요하지 않습니다. 이 튜토리얼을 진행하기 전에 Arduino IDE에 ESP32 애드온이 설치되어 있어야 합니다. 권장 사항: ESP8266 NodeMCU NTP 클라이언트-서버로 날짜 및 시간 가져오기 NTP(네트워크 시간 프로토콜) NTP는 Network Time Protocol의 약자로 컴퓨터 시스템 간의 시계 동기화를 위한 네트워킹 프로토콜입니다. 즉, 네트워크에서 컴퓨터 시계 시간을 ..

ESP32 2021.08.16

DIY Cloud Weather Station with ESP32/ESP8266 (MySQL Database and PHP)

클라우드 기상 관측소 대시보드를 구축하여 전 세계 어디에서나 ESP32 또는 ESP8266 센서 판독값을 시각화합니다. 게이지와 테이블에 표시된 센서 데이터를 볼 수 있습니다. ESP32 또는 ESP8266은 데이터를 MySQL 데이터베이스에 삽입하기 위해 PHP 스크립트에 HTTP POST 요청을 보냅니다. 이전에는 센서 판독값을 데이터베이스에 저장하고 자신의 서버를 사용하여 어디에서나 액세스할 수 있는 테이블 이나 차트 에 표시했습니다 . 이제 몇 단계 더 나아가 웹 페이지에 정보를 추가하기로 결정했습니다. 최신 온도 및 습도 판독값과 정의할 수 있는 판독값의 양에서 최소, 최대 및 평균 판독값에 대한 일부 통계를 표시하기 위해 두 개의 게이지를 추가했습니다. 또한 테이블에 모든 최신 판독값을 시각화..

ESP32 2021.08.16

ESP32 HTTP GET and HTTP POST with Arduino IDE (JSON, URL Encoded, Text)

이 가이드에서는 Arduino IDE가 있는 ESP32 보드로 HTTP GET 및 HTTP POST 요청을 만드는 방법을 배웁니다. 값을 얻는 방법, JSON 개체 게시, URL 인코딩 요청 등에 대한 예제를 다룹니다. 권장 사항: ESP8266 NodeMCU HTTP GET 및 HTTP POST(Arduino IDE 포함)(JSON, URL 인코딩, 텍스트) HTTP 요청 방법: GET 대 POST HTTP(Hypertext Transfer Protocol)는 클라이언트와 서버 간의 요청-응답 프로토콜로 작동합니다. 다음은 예입니다. ESP32(클라이언트)는 Node-RED(서버)를 실행하는 Raspberry Pi에 HTTP 요청을 제출합니다. 서버는 ESP32(클라이언트)에 응답을 반환합니다. 마지막..

ESP32 2021.08.16