arduino nano 33 IoT 12

Arduino Nano 33 IoT에 EEPROM 없는 기능을 FlashMemory로 대체하기

안녕하세요.  이전 글에서 Arduino Nano 33 IoT를 이용한 Beacon을 만들어 보았습니다.   Arduino Nano iot 33를 이용한 센서 데이터 전송 Beacon 만들어 보기안녕하세요.  Arduino Nano iot 33을 가지고 Beacon과 유사한 하게 작동하는 것을 테스트해 보았습니다.그런데, 타업체 BLE 스캐너(BLE to WiFi(MQTT)) 제품이 있는데, UUID를 자체를 센서데이터로 보내는 것remnant24c1.tistory.com   단순하게 아날로그 센서값을 보낼 때는 큰 문제가 없습니다. 그런데 가스센서 (EXSEN 제품)의 정확도를 높이기 위해 Auto Calibration(보정) 위한 데이터를 저장하고 불러오는 EEPROM 소스코드는 작동하지 작동하지 않..

Embedded/Arduino 2024.10.18

아두이노 나노(Arduino Nano) 33 IoT Web Server에서 데이터 JSON으로 출력하기

안녕하세요.   아두이노 나노 33 IoT로 웹서버를 만들어 보았다면, 아두이노 IoT에서 취득한 센서 정보를 어떻게 가져갈까 고민을 하게 될 겁니다. 그래서 웹 데이터를 Json형태로 바꿔 출력해 주고 다른 응용프로그램에서 웹주소로 접속해서 Json으로 가져오면 되겠다 생각하였습니다.  아두이노 IoT에서 가스 센싱 한 값을 Json으로 인코딩하고 웹서버로 출력해 주고 파이썬에서 JSON 데이터로 읽어오는 테스트를 하였습니다.   이전 "아두이노 나노(Arduino Nano) 33 IoT 고정 아이피 설정 방법"에서 SimpleWebServerWIFI 예제에 JSON 코드를 추가하는 형태로 하였습니다. 1. JSON사전 준비   이미 JSON 사용해보았다면 이 과정은 넘어가도 좋습니다. "툴->라이브러..

Embedded/Arduino 2024.07.03

아두이노 나노(Arduino Nano) 33 IoT 고정 아이피(Static IP) 설정 방법

안녕하세요.   단순하게 SimpleWebServerWiFi 샘플 소스를 실행시키면 내부 공유기의 DHCP에서 할당해 주는 내부 네트워크 아이피(IP) 주소를 할당받게 됩니다. 그래서 시리얼 모니터로 할당된 주소를 확인한 후 아두이노 웹서버로 접속을 해야 합니다.   이렇게 하면 IP 주소를 매번 확인해야 하는 불편한 점이 있습니다.  아니면 DDNS를 사용해서 도메인(DNS)으로 접속할 수도 있습니다.   그렇게 하는 것보다 비용도 절감하고 내부 고정 아이피로 사용한다면 위의 불편한 점은 개선할 수 있을 것으로 생각되어 고정으로 하면 좋겠다 생각하게 되어 찾아보게 되었습니다.  1.  고정아이피 할당 예제 1) 예제 소스 불러오기    할당하는 방법에 대해서 간단한 샘플 예제로 하는 방법을 확인해 보도..

Embedded/Arduino 2024.06.28

아두이노 나노(Arduino Nano 33 IoT) BLE를 이용한 자이로 센서(Gyroscope) 값 가져오기 – 3

안녕하세요.   이전 내용에서 간단하게 LED를 제어해 보았습니다. 이번에는 나노 33 IoT 장착되어 있는 자이로 센서를 X, Y, Z 축 값을 가져와 BLE로 전달하는 것을 해보도록 하겠습니다.   1. BLE 구조   BLE 서비스를 만들고 Characteristic을 선언하는데, 조금이나 이해를 하면 좋지 않을까 해서 찾아보았습니다.  애플리케이션 단에서 데이터 교환은 ATT(Attribute protocol) 기반으로 이루어지고 각각의 데이터는 GATT(Generic Attribute Profile) 데이터 구조를 따라 정의됩니다.  ATT는 서버와 클라이언트 사이의 데이터 교환에 대한 규칙을 정의하는 것입니다.    GATT는 Service와 Characteristic으로 구성됩니다. “Ser..

Embedded/Arduino 2024.06.22

아두이노 나노(Arduino Nano 33 IoT) BLE를 이용한 LED 제어 – 2

안녕하세요.  이전 내용에서는 BLE 접속에 대해 알아보았습니다. 이번에는 어떻게 LED를 제어하는지 데이터를 주고받는지를 확인해 보도록 하겠습니다.  1. 아두이노 프로그램  - BLE 라이브러리를 추가하고 BLERead와 BLEWrite 문자열 주고받을 수 있는 서비스를 초기화합니다. #include BLEService ledService("3de2545d-9de6-47ce-84a9-68c5ead85c67");BLEByteCharacteristic switchCharacteristic("3de2545d-9de6-47ce-84a9-68c5ead85c67", BLERead | BLEWrite);const int ledPin = LED_BUILTIN;    - Setup() 함수에서 시리얼 통신 모니터링하..

Embedded/Arduino 2024.06.19

아두이노 나노(Arduino Nano 33 IoT) BLE 사용하기 – 1 (연결하기)

안녕하세요.   아두이노 나노 33 IoT 모듈에는 WiFi 기능이 있고 BLE(Bluetooth) 기능도 있습니다. 이전 내용은 WiFi를 다루어 보았고 이번에는 BLE 관련된 내용으로 해보려고 합니다.  진행은 간단하게 Nano 33 IoT에서 BLE를 사용해 보고 여러 개 데이터를 전달하는 것을 해보려고 합니다. 그리고 추가로 공개된 안드로이드 앱 소스를 수정해서 값까지 받아 보는 것을 해보려고 합니다.  1. BLE(Bluetooth Low Energy) 란 1) 정의   블루투스 저전력 프로토콜(Bluetooth Low Energy)또는 줄여서 BLE은 블루투스 4.0(Bluetooth Smart) 스펙이 2010년 6월 30일에 채택된 이후로 배포되는 저전력 블루투스이다.   이로서 기존의 블..

Embedded/Arduino 2024.06.18

아두이노 나노(Arduino Nano) 33 IoT를 이용한 GY-GPSV3-7M GPS 수신 모듈 테스트(SZH-NT07)

안녕하세요.   이번에는 아두이노 나노 33 IoT에 GPS를 연결해 보도록 하겠습니다. 조금 저가형이지만 간단하게 테스트할 수 있는 모듈입니다. 그러나 결론적으로 보면, GPS 수신은 되지만, 외부에서 사용할 경우 추가적인 안테나가 필요해 보였습니다. GPS 가짜 제품을 알아내는 법, 구글맵에서 검색하는 방법 등 이런저런 내용으로 구성해 보았습니다.  1. GPS(Global Positioning System) 란   GPS(Global Positioning System 글로벌 포지셔닝 시스템[*]) 또는 범지구 위치 결정 시스템은 현재 GLONASS와 함께 완전하게 운용되고 있는 범지구 위성항법시스템 중 하나이다. 미국 국방부에서 개발되었으며 공식 명칭은 NAVSTAR GPS(NAVSTAR는 약자가 ..

Embedded/Arduino 2024.06.05

아두이노 나노(Arduino Nano) 33 IoT로 NTP 서버에서 이용 현재시간 받아오기

안녕하세요.  이전 내용에서는 (아두이노 나노 33 IoT로로 작은 웹서버 만들기) 작은 웹 서버를 만들어서 정보를 보여주었습니다.  이번에는 다른 서버에 있는 현재 시간 정보를 가져오는 것을 테스트해 보겠습니다. NTP(Network Time Protocol) 서버에 접근해서 현재시간을 가져오도록 하겠습니다. 이렇게 하면 RTC(Real Time Clock) 회로를 꾸밀 필요가 없다는 것이 장점이 됩니다. 단, 네트워크가 연결되어야 합니다. 이것을 이용해서 특정 시간에 알람이나 특정 동작을 가능하게 할 수 있습니다. (이전 웹 서버 만드는 과정을 참고하시면 WiFiNINA 라이브러리 설치하는 방법과 SSID 설정하는 내용이 있습니다.)  1. NTP(Network Time Protocol) 이란? 1)..

Embedded/Arduino 2024.06.01

아두이노 나노(Arduino Nano) 33 IoT로 작은 웹서버 만들기

안녕하세요.   이전 글에서 많은 센서들을 테스트해 보았습니다. 이제 실생활에 적용할 수 있는 것을 들을 찾아보려고 합니다. 그러기 위해서 우선 IoT 장비가 PC나 스마트폰과 통신되는 것이 가장 우선순위가 되어야 한다고 생각했습니다.  그래서 가지고 있는 아두이노 33 IoT 모듈에 웹서버를 올려놓으면 필요할 때마다 볼 수 있고 DDNS 혹은 포트 포워딩 등 해두면 외부에서도 볼 수 있겠다 생각하였습니다. (블루투스가 되지만 다른 장치를 사용할 때만 페어링 하고 해야 해서 웹서버로 결정하였습니다.)   1차는 웹서버를 테스트하고 2차, 3차에 온도 습도 등 센서 장착해서 수치 확인하고 이후에 케이스에 소형 솔라셀을 붙여서 외부 전력 공급 없이 작동하도록 하는 것으로 실제로 베란다에 두고 작동시켜보려고 ..

Embedded/Arduino 2024.05.31

Arduino Nano IoT 33 Bootloader blocked 된 경우 MKR ZERO로 살리기(실패)

안녕하세요. 이전 "Arduino Nano IoT 33 Bootloader blocked 된 경우 J-LINK로 살리기"에서 성공을 해서 MKR ZERO로도 가능할 거라 생각하고 참고 삼아해 봐야지 했는데, 결론은 이상한 에러를 발생시키고는 업로드가 되지 않았습니다. Arduino Nano 33 IoT Bootloader blocked 된 경우 J-LINK EDU로 벽돌된 것 살리기 (성공후기) 안녕하세요. 지난번에도 아두이노 나노 IoT 33 보드 살리는 법을 공유드렸습니다. 그런데 그때는 직접 하지 않고 자료만 가지고 가능하다는 것만 알려드렸습니다. 그래서 이번에는 직접 blocked 된 remnant24c1.tistory.com 그렇지만 이렇게 공유하는 이유는 작업하는 방법과 이후에 문의글에 답변이..

Embedded/Arduino 2024.04.13

Arduino Nano 33 IoT Bootloader blocked 된 경우 J-LINK EDU로 벽돌된 것 살리기 (성공후기)

안녕하세요. 지난번에도 아두이노 나노 IoT 33 보드 살리는 법을 공유드렸습니다. 그런데 그때는 직접 하지 않고 자료만 가지고 가능하다는 것만 알려드렸습니다. 그래서 이번에는 직접 blocked 된 보드를 살려보도록 하겠습니다. 외국 분들이 잘 알려주셔서 따라 할 수 있었지만, 칩 선택하고 하는 부분은 스킵되고 현재 버전과 맞지 않는 부분이 있어 조금 수정하였습니다. 1. 원인과 증상 아두이노 나노 호환 버전과 제품과 같이 사용하다 보니 순간 착각하고 호환 보드로 선택해서 다운로드했는데 순간 먹통이 되어 버렸습니다. 아두이노 IDE에서 다운로드되지 않고 녹색 전원 LED 만 들어온 상태였습니다. 리셋(Reset) 버튼을 짧게 더블 클릭하거나 오랫동안 누르고 있으면 복구 모드로 들어간다고 하는데 일단 안..

Embedded/Arduino 2024.04.01

아두이노 나노를 이용한 5V 수중 펌프 모터 제어(SZH-GNP155)

안녕하세요. 자동으로 식물에 물을 주는 프로젝트를 진행하기 위해서 수중펌프를 구매했습니다. 그리고 나중에 무선으로 모터를 조정할 수 있게 하기 위해서 아두이노 나노 모듈에서 BT/WiFi가 장착된 Arduino Nano 33 IoT 모듈로 바꿔 테스트했습니다. 그렇다고 해서 크게 테스트 소스코드가 바뀌진 않았습니다. 1. 펌프(Pump) 란 1) 펌프 설명 펌프란 전동기나 내연기관 등의 원동기로부터 기계적 에너지를 받아서, 액체에 운동 및 압력 에너지를 주어 액체의 위치를 바꾸어 주는 기계입니다. 원심펌프는 임펠러(Impeller)를 회전시켜 액체에 회전력을 주어 발생하는 원심력을 활용한 펌프입니다. 흡입관을 통해 임펠러 중심부에 들어온 액체는 날개(Vane) 사이를 통과하면서 회전력을 받아 압력이 증가..

Embedded/Arduino 2024.03.20