반응형

개발자 1223

Decoding and Encoding JSON with Arduino Nano 33 IoT 2

Arduino로 JSON 데이터 주고받기와 OpenWeatherMap API 두 번째 포스팅 Arduino로 API 요청 프로그래밍하기 이전 포스팅과 이어서 진행합니다. 이전 포스팅을 보시려면 아래 링크를 따라가서 확인하십시요. Decoding and Encoding JSON with Arduino Nano 33 IoT 1 이제 지역 날씨 데이터를 반환하는 URL이 생겼습니다. 이 작업을 자동화하고 Arduino 또는 ESP8266 프로젝트에서 해당 데이터에 액세스 할 수 있습니다. 다음은 켈빈 및 습도로 온도를 반환하기 위해 이더넷 실드가있는 Arduino에 업로드해야하는 전체 스크립트입니다. 아래 코드는 Ethernet을 사용합니다. Nano 33 iot에서 제대로 출력하는 코드는 끝 부분에 있습니다..

개발자/Arduino 2020.10.09

ArduinoJson 데이터의 Decoding / Ecoding 예제

간단하게 아두이노 Nano 33 IoT 보드에서 확인할 수 있도록 예제를 제공합니다. Decoding / Parsing 예제 구문은 아래에 있고 IoT보드에 올리려서 테스트하느 코드도 함께 올립니다. char json[] = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}"; StaticJsonBuffer jsonBuffer; JsonObject& root = jsonBuffer.parseObject(json); const char* sensor = root["sensor"]; long time = root["time"]; double latitude = root["data"][0]; double longitude = roo..

개발자/Arduino 2020.10.08

format을 가진 출력을 위한 sprintf( ), dtostrf( )

아두이노에서 직렬 통신 또는 LCD 등에 문자열을 출력할 수 있다. 이때, format을 가진 내용을 단순히 print( )라는 함수만으로 구현하기는 귀찮은 면이 있다. 이때 사용하는 함수가 sprintf( )이다. 이 함수는 아두이노를 구성하는 AVR에서 제공하는 함수이다. int sprintf( char *buffer , const char *format[,argument]...) C-언어에서 printf( )가 문자열을 화면에 출력하는데 비해 sprintf( )는 첫번째 매개변수인 buffer에 출력한다. 즉, 출력할 내용이 문자열 buffer에 저장된다. 이 문자열 buffer[ ]를 전송하면 format이 있는 양식으로 직렬포트 또는 LCD에 출력할 수 있다. char buffer[20]; in..

개발자/Arduino 2020.10.07

SSD1306 OLED 로 LM35 온도센서 값을 디스플레이

아두이노에서 온도 습도와 같은 데이터를 ssd1306 oled에 디스플레이하기 위한 소스코드를 보려고 찾아서 코드를 올려둡니다. 아래 참고 사이트에 기록된 사이트를 번역하여 올려둔 내용임을 알립니다. 이 튜토리얼은 Arduino UNO 보드를 SSD1306 OLED 디스플레이 및 LM35 아날로그 온도 센서와 인터페이스 하는 방법을 보여줍니다. 이 프로젝트에서 SSD1306 OLED 디스플레이 (128x64 픽셀)는 섭씨, 켈빈 및 화씨로 환경 온도를 표시하는 데 사용됩니다. Arduino를 SSD1306 OLED 디스플레이와 인터페이스 하는 방법을 보려면 다음 게시물을 방문하십시오. Interfacing Arduino with SSD1306 OLED display 이 프로젝트에서 SSD1306 OLED..

개발자/Arduino 2020.10.07

달리기와 술자리도 마다하고, 여기까지 돌아가는 코드

임베디드 프로그램을 짤 때는 대부분 사소한 코드로 시간을 다 잡아먹는다. % 하나 더 붙였다고, 아랫줄과 윗줄이 바뀌었다고 방금 전까지 잘 나오던 디스플레이가 안 나오는 경우도 있고, 마이크로 컨트롤러 내부에서 일어나는 일을 알지 못하니 에러가 나면 정확한 위치를 찾기도 어렵다. 이것저것 해보지 말아야 한다. 검증된 코드만 사용하고, 순서를 정확히 지킨다. 이런 과정을 정확히 배운 때가 있었다. 아마 가장 먼저 입사한 연구소에서 펌웨어와 C언어를 배웠을 때다. 훈련하는 날이 화, 목, 토로 정해져 있다. 반드시 지켜야 하는 훈련이라 달리러 나갈 때 날도 좋은 데 왜 달려요? 혹은 인생이 좀 힘들죠? 하는 질문은 등산하는 사람에게 왜 산에 올라가느냐는 질문과 같다. 마찬가지로 달리지 않을 때도 이유 없다...

개발자/Arduino 2020.10.06

Nano 33 IoT 보드 온도 습도 센서 dht11 테스트

DHT11은 NTC 방식으로 온도센서와 프로세서를 포함하고 있고 트리거 신호에 의해 온도와 습도 값을 40bit로 보내어 줍니다. 40bit에는 습도(상위 8Bit, 하위 8bit) + 온도(상위 8Bit, 하위 8bit) + Parity Bit(8bit)로 되어 있습니다. 0001 0101 0000 0000 + 0001 0110 0000 1000 + 0011 0011 그럼 NTC 가 무엇인지 알아보겠습니다. 저항의 온도 계수에 따라 서미스터는 크게 두 종류로 구분할 수 있습니다. k(1차 저항 온도 계수) > 0인 경우, 서미스터의 저항은 온도에 따라 증가하며, 이러한 서미스터를 정특성 서미스터(PTC thermistor:Positive Temperature Coefficient thermistor)라..

개발자/Arduino 2020.10.06

Nano 33 IoT 보드 간단한 서버 만들고 AP로 동작

이 예제에서 간단한 웹 서버를 사용하면 웹을 통해 LED를 깜박일 수 있습니다. 이 예에서는 beginAP( ) 함수를 사용하여 로컬 WiFI 네트워크에 의존하지 않고 액세스 포인트를 설정합니다. 이 예제는 WiFi 모듈의 IP 주소를 Arduino 소프트웨어 (IDE) 직렬 모니터에 나타냅니다. 보드의 IP 주소를 알고 나면 웹 브라우저에서 해당 주소를 열어 Nano 33 IoT 보드의 13번 BuilrIn LED를 켜고 끌 수 있습니다. 보드의 IP 주소가 yourAddress 인 경우 : http://yourAddress/H는 LED를 켭니다. http://yourAddress/L는 LED를 끕니다. 서버로 동작하는 씨리얼 모니터 화면은 다음과 같습니다. 아래 소스코드를 보면 arduino_secr..

개발자/Arduino 2020.10.03

Nano 33 IoT 보드 WiFi 스캔 코드

Nano33 IoT 보드는 저전력 아키텍처와 결합된 WiFi 및 Bluetooth 연결을 지원하는 소형 보드로 네트워크 연결 프로젝트를위한 실용적이고 비용 효율적인 해결책이다. Wifi 와 bluetooth chip 에 대한 설명자료는 링크를 참고합니다. 반복해서 나오는 이미지는 중요한 이유겠죠. Nano 33 IoT 보드의 Pinmap 이미지를 참고하세요. 특징적인 굵은 글씨를 참고하세요. This table highlights some of the features Product variants Antenna Antenna pin ✓ Internal antenna – Short range features Bluetooth qualification v4.2 (Bluetooth low energy and ..

개발자/Arduino 2020.10.03

nano 33 IoT 보드에 0.96 ssd1306 i2c OLED 연결하기

방금전에 아두이노 우노 보드에서 0.96 ssd1306 i2c OLED를 테스트 하였다. 그대로 nano 33 IoT보드에서 테스트를 진행한다. 연결은 아래와 같다. nano 33 IoT 보드의 Pin map을 참고하여 정확히 연결한다. Nano 33 IoT 보드 Pin ssd1306 Oled 3.3V VCC GND GND A5 SCL A4 SDA 제대로 연결했다면 아래 이미지와 같이 한 쪽 방향에 다 연결된다. Oled의 핀 배치는 VCC와 GND 위치가 다를 수 있으므로 주의해서 연결한다. 정확히 다른 예제와 마찬가지로 Oled를 I2C 로 잘 연결했다면 우선 아래와 같은 i2c 스캐너 프로그램을 실행시켜 연결한 i2c 주소를 알아낸다. 다른 라이브러리가 필요 없는 아래 코드를 i2c_scanner...

개발자/Arduino 2020.09.29

ssd1306 Oled 화면 안 나올 때 점검 사항

직원들 다 퇴근하고, 이것만 간단하게 해야지 하고 했는데 4시간을 날렸다. 최종 단계에서는 Nano 33 IoT 보드에 연결해야 하는데 Oled 잘 되나 시험해 본다고 했는데 화면이 안 나온다. 결국 간단한 문제 하나 해결하니 잘 나온다. 단순한 화면 하나 보자고 내가 이런 ㅠ.ㅠ 아두이노 우노 보드의 개발환경이나 i2c연결이나 라이브러리 설치, 업로딩 등과 같은 기본적인 내용은 다른 사이트를 참고하시기 바라며 여기서는 생략한다. ^^ 보드: 아두이노 우노 Oled: ssd1306 i2c 요약 1줄: 불러온 예제를 아래 그림처럼 이렇게 불러왔을 것이다. 파일 -> Examples -> Adafruit SSD1306 -> ssd1306_128864_i2c 처럼 말이다. 잘했다. 파일을 열어서 정확히 59라..

개발자/Arduino 2020.09.29

Arduino nano 33 IoT 특별한 LSM6DS3 Library

6 자유도 IMU 센서 -LSM6DS3(SparkFun 6 Degrees of Freedom Breakout - LSM6DS3) 본 센서 모듈은 많은 어플리케이션에애플리케이션에 사용이 가능하게 디자인되었으며, 충격을 검출하건, 기울이기, 움직임, 탭, 걸음 카운트, 온도 측정 등의 애플리케이션에서 사용할 수 있는 IMU 센서(Inertial Measurement Unit은 직역하면 관성 측정장치입니다. 또한 IMU는 자이로스코프 / 가속도계 / 지자기 센서로 구성된 센서)입니다. 특징은 아래와 같습니다. 본 제품은 LSM6DS3 칩을 탑재한 가속도계 및 자이로 센서입니다. 8kb의 큰 FIFO 버퍼, 임베디드 프로세싱 인터럽트 펑션을 가지고 있습니다. 본 센서 모듈은 많은 어플리케이션에애플리케이션에 사용..

개발자/Arduino 2020.09.25

라즈베리파이 보드 버전과 라즈베리파이 OS버전 확인하기

우선 라즈베리파이 씨리즈가 많은 어떤 버전의 라즈베리파이 보드인지 확인하는 방법은 아래와 같은 명령어로 간단히 확인이 가능하다. cat /proc/device-tree/model 명령을 실행하여 확인하면 결과는 라즈베리파이 정확한 보드명과 버전을 알려준다. pi@raspberrypi:~ $ cat /proc/device-tree/model Raspberry Pi 3 Model B Rev 1.2p #### 인생의 잔혹한 비밀과 삶을 제대로 살기 위한 기술 “위대한 마인드“ 다운로드 https://kimbongzo.gumroad.com/l/greatmindset 일년 성찰 가이드 https://kimbongzo.gumroad.com/l/YearReviewGuide 아두이노 우노 R4 Minima 빠르게 시작..

고정밀 온도 습도 센서 DHT21 AM2301 Digital Temperature Humidity Sensor

Nano 33 IoT 에서 테스트 고정밀 온도 습도 센서 DHT21 AM2301 Digital Temperature Humidity Sensor DHT11보다 정밀한 DHT21 온도, 습도 측정센서입니다. 디지털핀 1개와 전원핀(VCC, GND) 2개를 연결하여 사용할 수 있습니다. 아래 특징과 사양을 적었습니다. 상세한 내용은 데이터북을 참고하세요 특징 (Features) : AM2301 (DHT21) 온습도센서 정전식 습도 센서고, 온도를 측정하기 위해서는 써미스터를 사용하며 데이타 핀으로 센싱 값을 출력 센서 데이터는 매 2초 단위로 리프레쉬(2초 기다렸다가 데이터 읽어야 함) 3핀 (전원2, 디지털통신1) 고정밀 온도센서 사양 (Specification) : 작동온도 : 3.3~5.2VDC 측정습..

개발자/Arduino 2020.09.22

Nano 33 IoT WiFiNINA 라이브러리 탐구

어떤 컴퓨터 언어든지 소프트웨어를 이루는 4가지 요소는 변수, 연산, 제어, 함수라고 누차 말했죠? 그중에서 라이브러리는 함수에 속합니다. 패키지, 모듈, 라이브러리, api 등은 모두 함수의 일종이라고 말할 수 있습니다. 예를 들면 유니크하고 특별하고 전문적인 한 가지 기능을 구현한 단일 부품처럼 말이죠. Arduino Nano 33 IoT 보드는 WiFi를 기본적으로 구현한 보드입니다. WiFi는 아무 의미 없습니다. 블루투스처럼 그냥 지은 단어라서 의미 없습니다. 이때 지원하는 WiFi 관련 함수 그룹이 "WiFiNINA 라이브러리"라는 말이죠. 스마트 팩토리 구현에 앞서 IoT 보드에서 WiFi를 통해 센서 데이터를 전송하는 기능을 구현하는 중입니다. 그래서 오늘은 Nano 33 IoT 보드의 W..

개발자/IOT-m2m 2020.09.22

nano 33 IoT 보드로 구현한 스마트 가든 예제

nano 33 IoT 보드로 구현한 스마트 가든 예제 집안에 꽃밭을 꾸미고, 화분을 놓고 심지어 스마트 농장을 설치하는 일들은 언듯 보기엔 좋은 일 같기도 하고 장점이 많아 보인다. 심리 상태나 정서상에 많은 도움이 되기도 한다. 그냥 바라보는 일도 감정을 평온하게 하니 좋은데 문제는 지저분해지는 문제다. 시들고, 벌레가 생기고, 나중에 치우거나 바꿔주는 일 등 사소하고 자질구레한 일이 많아진다. 우리가 만족하고 풍요로움을 느끼는 일들은 대부분 처음만 좋은 일들이 많다. 아래는 dht22 온도 습도 센서를 사용하여 구현한 스마트 가든 예제 회로도와 코드를 나타낸다. 프로젝트에서는 당연히 아두이노 클라우드 서비스를 이용하여 Thing 설정을 하고 진행하는 데 그 과정을 포함하지 않고 연결도면과 nano 3..

개발자/Arduino 2020.09.21
반응형