티스토리 뷰
python/Lecture
[arduino][python] DS18B20 Digital Sensor Bluetooth 통신
jinozpersona 2023. 11. 21. 17:40Arduino UNO R4 Wifi : DS18B20 및 Bluetooth 연결도
DS18B20 연결도 참고 : https://jinozblog.tistory.com/208
HM10 연결(Arduino Code RXD/TXD 선언 시 하드웨어 연결과 반대로 define)
VCC : 5V
GND : GND
RXD : Arduino D4
TXD : Arduino D5
[Arduino IDE 사용] / [Visual Studio Code사용]
Arduino IDE or VS code 초기 셋팅 및 설정 참고
https://jinozblog.tistory.com/207
[arduino] LM35 / TMP36 Sensor 연결도 : arduino IDE or VScode 설정 및 모니터링
Arduino UNO R3 : LM35 Sensor 연결도(TMP36 동일) 및 전달함수식 LM35 Analog Output이므로 A0 ~ A5에 연결 : 필자는 A0에 연결 range : 온도 / 출력(전송)전압, -55ºC ~ 150ºC : -550mV ~ 1500mV LM35 Transfer Function Arduino AO resol
jinozblog.tistory.com
[Arduino Code]
DS18B20 Sensor, HM-10 Bluetooth 연결
#include <SoftwareSerial.h>
#include <OneWire.h>
#include <DallasTemperature.h>
// HM10 RXD D4, TXD D5
#define BT_RXD 5
#define BT_TXD 4
SoftwareSerial BTSerial(BT_RXD, BT_TXD);
#define ONE_WIRE_BUS 13
OneWire Wire(ONE_WIRE_BUS);
DallasTemperature sensor(&Wire);
char value[8];
void setup() {
Serial.begin(9600);
BTSerial.begin(9600);
Serial.println("HM10 Bluetooth Start");
}
void loop() {
sensor.requestTemperatures();
dtostrf(sensor.getTempCByIndex(0) , 5, 2, value);
Serial.println(value);
BTSerial.print(value);
delay(1000);
}
Arduino Serial Monitoring
[python Code]
MacBook Pro 13(2019년)
모델 식별자: MacBookPro15,2
macOS Sonoma
HM-10 Bluetooth 연결 안됨
HC-06 Bluetooth 연결 안됨
iphone App. LightBlue 확인 가능
MacBook Air 2014
macOS Bigsur 가능
DS18B20 Sensor, HM-10 Bluetooth 연결
import os
import platform
import serial
import serial.tools.list_ports as serial_port
import time
port_lists = serial_port.comports()
if platform.platform()[0:5] == 'macOS':
port_type_ser = '/dev/cu.usbmodem'
port_type_ble = '/dev/cu.persona_'
for port_list in port_lists:
if port_list.device[0:16] == port_type_ser:
port_ser = port_list.device
elif port_list.device[0:16] == port_type_ble:
port_ble = port_list.device
else:
port_type_ser = '/dev/ttyACM'
port_type_ble = '/dev/rfcomm'
for port_list in port_lists:
if port_list.device[0:11] == port_type_ser:
port_ser = port_list.device
elif port_list.device[0:11] == port_type_ble:
port_ble = port_list.device
if port_ser == None or port_ble == None:
os.system("sudo chmod a+rw {}".format(port_ser))
os.system("sudo chmod a+rw {}".format(port_ble))
else:
pass
baud_rate = 9600
ard_ser = serial.Serial(port_ser, baud_rate)
ard_ble = serial.Serial(port_ble, baud_rate)
while(1):
if ard_ser.readable():
print("[serial]:{}".format(ard_ser.readline().decode()))
elif ard_ble.readable():
print("[bluetooth]:{}".format(ard_ble.readline().decode()))
# time.sleep(1)
반응형
'python > Lecture' 카테고리의 다른 글
[arduino] DS18B20 Digital Sensor 연결 및 wifi 통신 to Web (0) | 2023.11.23 |
---|---|
[arduino] DS18B20 Digital Sensor 연결 및 wifi 통신 with MariaDB (0) | 2023.11.22 |
[arduino] YF-S401 Flow Sensor 연결 및 모니터링 (0) | 2023.11.21 |
[arduino] CFD-02 IR Sensor 연결 및 모니터링 (0) | 2023.11.21 |
[arduino] CM1106 NDIR CO2 Sensor I2C 연결 및 모니터링 (0) | 2023.11.21 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- CSV
- SSH
- DS18B20
- Pandas
- Model
- vscode
- analysis
- 코로나19
- ERP
- 라즈베리파이
- DAQ
- sublime text
- Regression
- arduino
- 확진
- 코로나
- 자가격리
- server
- pyserial
- template
- raspberrypi
- github
- COVID-19
- Templates
- Django
- git
- Raspberry Pi
- r
- MacOS
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함