MongooseOS + mjs로 I2C 온도 센서 읽기
9802 단어 MongooseOSmjsI2C
SHT31이라는 센서를 사용하여 기온과 습도를 취합니다.
Mongoose OS + mjs git 관리 개발 환경 구축 - Qiita 로 만든 환경을 사용합니다.
fs/init.js
load("api_config.js");
load("api_mqtt.js");
load("api_net.js");
load("api_sys.js");
load("api_timer.js");
load("api_i2c.js");
let address = 0x44;
let bus = I2C.get_default();
let get_temps = function() {
let d = "\x2C\x06";
I2C.write(bus, address, d, d.length, true);
Sys.usleep(1000);
let data = I2C.read(bus, address, 6, true);
print(data);
let temp = data.at(0) * 256 + data.at(1);
let cTemp = -45 + 175 * temp / 65535.0;
let fTemp = -49 + 315 * temp / 65535.0;
let humidity = 100 * (data.at(3) * 256 + data.at(4)) / 65535.0;
return [temp, cTemp, fTemp, humidity];
};
Timer.set(
1000 * 5,
true /* repeat */,
function() {
let res = get_temps();
print("t:");
print(res[1]);
print("h:");
print(res[3]);
// MQTT.pub('home/livingroom/brightness', JSON.stringify(lux), 0);
},
null
);
SHT31 데이터 시트는 이것입니다. htp // 아키즈키덴시. 이 m/도 w응아 d/ds/센시리온/센시리온_후미아 ty_전자 rs_SHT3x_ぢS_ pdf
집어넣은 곳
공식 라이브러리 api_i2c.js 문서
코드 : htps : // 기주 b. 이 m / 몽고 오세오 s-bs / 2c / bb / ms r / mjs_fs / appi_i 2c. js
I2C.write(bus, address, "\x2C\x06", 2, true);
Sys.usleep(1000);
let data = I2C.read(bus, address, 6, true);
파이썬과 비교
bus.write_i2c_block_data(address, 0x2C, [0x06])
time.sleep(0.5)
data = bus.read_i2c_block_data(address, 0x00, 6)
address는 0x44입니다.
buf는 데이터 시트에 있음을 지정합니다.
6byte 읽을 수 있습니다.
참고
ControlEverythingCommunity/SHT31: Humidity and Temperature Sensor
Python, Arduino의 구현 샘플 등 ↑
Reference
이 문제에 관하여(MongooseOS + mjs로 I2C 온도 센서 읽기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/elzup/items/37bc0bcd01c3663e2be5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(MongooseOS + mjs로 I2C 온도 센서 읽기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/elzup/items/37bc0bcd01c3663e2be5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)