티스토리 뷰
Intro
OS : Ubuntu 22.04LTS 64bit
HW : Arduino UNO R3 board
Sensor : DS18B20 방수 온도 센서
SW : Visual Studio Code, so-called vscode
python : 3.10
Requirements
python library
vscode ext.
-Arduino
-C/C++ Extension Pack
-python
1. vscode : Arduino-cli 환경 설정
python pip 설치
$ sudo apt update
$ sudo apt install python3-pip
$ pip3 -V
arduino board port 확인
arduino-cli 설치 및 serial port 확인
$ wget -qO arduino-cli.tar.gz https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz
$ sudo tar xf arduino-cli.tar.gz -C /usr/local/bin arduino-cli
$ arduino-cli version
$ rm -rf arduino-cli.tar.gz
$ arduino-cli board list
포트 Protocol타입 Board Name FQBN Core
/dev/ttyACM0 serial Serial Port(USB) Arduino Uno ....
# Arduino: Select Board Port 설정에서 사용
Arduino-cli 적용
ard_ds18b20 폴더 생성
vscode project 폴더 열기 : 'ctrl' + 'k' + 'o'
# 참고: ard_ds18b20.ino 아두이노 스케치 파일 생성시 폴더 이름과 동일해야함
기본설정: 사용자 설정 열기
vscode 명령어 입력창으로 아래 기술된 보라색은 모두 명령어 입력창을 열고 실행 : 'ctrl' + 'shift' + 'p'
preference: Open User Settings(JSON)
다음과 같이 입력 후 저장 > vscode 재실행하면 적용됨
settings.json
{
"workbench.colorTheme": "Defalult Dark+",
"workbench.startupEditor": "none",
"arduino.defaultBaudRate": 9600,
"arduino.path": "/usr/local/bin",
"arduino.commandPath": "arduino-cli",
"arduino.useArduinoCli": true
}
#참고: arduino-cli path 확인 방법
$ which arduino-cli
2. vscode : Arduino Board 설정
Arduino: Board Manager
: Arduino AVR Boards install
Arduino: Board Configuration
: Arduino Uno(Arduino AVR Boards) 선택
>> .vscode 폴더 생성되며 폴더 안에 arduino.json 파일 생성
.vscode/arduino.json
{
"sketch": "ard_ds1820.ino",
"output": "build",
"board": "arduino:avr:uno",
"port": "/dev/ttyACM0"
}
# "output": "build" 추가
Arduino: Library Manager
onewire
dallastemperature
Arduino: Select Serial Port
3. Arduino coding : vscode
ard_ds18b20.ino
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS_1 2
OneWire Wire_1(ONE_WIRE_BUS_1);
DallasTemperature sensor1(&Wire_1);
// arduino board
int baudrate = 9600;
void setup() {
Serial.begin(baudrate);
sensor1.begin();
}
void loop()
{
sensor1.requestTemperatures();
Serial.println(sensor1.getTempCByIndex(0));
delay(1000);
}
4. Arduino verify/upload : 온도 데이터 수집 출력 확인
Arduino: Initialize # Arduino Board가 설정된 상태이며, 다음 buid-up 시 초기화 후 사용 가능
Arduino: Verify
>> build 폴더(빌드파일들)가 생성되며 .vscode 폴더 안에 c_cpp_properties.json 파일 생성
## 참고: 더이상 진행이 되지 않는다면 다음 포스트 참조(환경은 macOS이지만 Arduino 설정 설명 상세)
https://jinozblog.tistory.com/178
Arduino: Upload
Arduino: Upload
arduino board permmision
sudo chmod a+rw /dev/ttyACM0
Arduino: Open Serial Monitor
vscode 창 아래 플러그 모양을 클릭해도 됨
>> 아래 출력에서 25.25 1초[delay(1000)]마다 serial 통신으로 데이터가 수신됨을 확인할 수 있다
5. python pyserial library를 이용한 Arduino 온도 데이터 수집 출력 확인
python pyserial 설치
$ sudo -H pip3 install --upgrade pip
$ pip3 install pyserial
python coding
testDAQ_temp_pyserial 프로젝트 폴더 생성
test.pyserial.py
import serial
serial_port = '/dev/ttyACM0'
serial_baudrate = 9600
ard = serail.Serial(serial_port,serial_baudrate)
while True:
## ard.readline
datas_raw = ard.readline()
## ard.decode() : readline을 decoding
datas = datas_raw.decode()[:len(datas_raw) - 2]
print('--- Arduino Output ---\n{}\n'.format(datas))
실행 후 터미털 출력 결과
'OS > ubuntu' 카테고리의 다른 글
(macOS)[Raspberrypi4] Ubuntu Desktop 20.04 LTS 설치 및 환경 설정 (0) | 2023.05.18 |
---|---|
(ubuntu) chrome, visual studio code 설치 : .deb, apt (0) | 2022.12.28 |
(ubuntu) 22.04LTS 설치/한글키 적용과 ssh, remote desktop, samba 및 기본설정 (0) | 2022.12.28 |
- Total
- Today
- Yesterday
- Python
- COVID-19
- server
- pyserial
- analysis
- template
- sublime text
- 자가격리
- raspberrypi
- Raspberry Pi
- DAQ
- 확진
- 코로나
- CSV
- r
- Model
- git
- 라즈베리파이
- MacOS
- vscode
- 코로나19
- DS18B20
- ERP
- github
- SSH
- arduino
- Regression
- Pandas
- Templates
- Django
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |