@chirimen/aht10 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +45 -49
- package/package.json +6 -10
- package/aht10.js +0 -46
- package/rollup.config.mjs +0 -8
package/index.js
CHANGED
|
@@ -1,54 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
3
|
-
typeof define === 'function' && define.amd ? define(factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.AHT10 = factory());
|
|
5
|
-
})(this, (function () { 'use strict';
|
|
1
|
+
// @ts-check
|
|
6
2
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
// Programmed by Satoru Takagi
|
|
3
|
+
// AHT10 driver for CHIRIMEN raspberry pi3
|
|
4
|
+
// Temperature and Humidity I2C Sensor
|
|
5
|
+
// based on https://github.com/adafruit/Adafruit_CircuitPython_AHTx0/blob/main/adafruit_ahtx0.py
|
|
6
|
+
// Programmed by Satoru Takagi
|
|
12
7
|
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
/** @param {number} ms Delay for a number of milliseconds. */
|
|
9
|
+
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
15
10
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
11
|
+
class AHT10 {
|
|
12
|
+
/**
|
|
13
|
+
* @constructor
|
|
14
|
+
* @param {import('node-web-i2c').I2CPort} i2cPort I2C port instance
|
|
15
|
+
* @param {number?} slaveAddress I2C slave address
|
|
16
|
+
*/
|
|
17
|
+
constructor(i2cPort, slaveAddress) {
|
|
18
|
+
if (!slaveAddress) {
|
|
19
|
+
slaveAddress = 0x38;
|
|
20
|
+
}
|
|
21
|
+
this.i2cPort = i2cPort;
|
|
22
|
+
this.i2cSlave = null;
|
|
23
|
+
this.slaveAddress = slaveAddress;
|
|
24
|
+
}
|
|
25
|
+
async init() {
|
|
26
|
+
this.i2cSlave = await this.i2cPort.open(this.slaveAddress);
|
|
27
|
+
await this.i2cSlave.writeBytes([0xba]); // softreset
|
|
28
|
+
await sleep(30); // wait for measurement?
|
|
29
|
+
await this.i2cSlave.writeBytes([0xe1, 0x08, 0x00]); // calibrate
|
|
30
|
+
while (!((await this.i2cSlave.readByte()) & 0x08)) {}
|
|
31
|
+
}
|
|
32
|
+
async readData() {
|
|
33
|
+
await this.i2cSlave.writeBytes([0xac, 0x33, 0x00]); // read
|
|
34
|
+
while ((await this.i2cSlave.readByte()) & 0x80) {
|
|
35
|
+
await sleep(10);
|
|
36
|
+
}
|
|
37
|
+
var mdata = await this.i2cSlave.readBytes(6); // prev data..
|
|
38
|
+
var cTemp = ((mdata[3] & 0xf) << 16) | (mdata[4] << 8) | mdata[5];
|
|
39
|
+
cTemp = (cTemp * 200.0) / 0x100000 - 50;
|
|
40
|
+
var humidity = (mdata[1] << 12) | (mdata[2] << 4) | (mdata[3] >> 4);
|
|
41
|
+
humidity = (humidity * 100) / 0x100000;
|
|
24
42
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
while ( !(await this.i2cSlave.readByte() & 0x08) ){
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
readData: async function(){
|
|
35
|
-
await this.i2cSlave.writeBytes([ 0xAC, 0x33, 0x00]); // read
|
|
36
|
-
while ( await this.i2cSlave.readByte() & 0x80 ){
|
|
37
|
-
await sleep(10);
|
|
38
|
-
}
|
|
39
|
-
var mdata = await this.i2cSlave.readBytes(6); // prev data..
|
|
40
|
-
var cTemp = ((mdata[3] & 0xF) << 16) | (mdata[4] << 8) | mdata[5];
|
|
41
|
-
cTemp = ((cTemp * 200.0) / 0x100000) - 50;
|
|
42
|
-
var humidity = (mdata[1] << 12) | (mdata[2] << 4) | (mdata[3] >> 4);
|
|
43
|
-
humidity = (humidity * 100) / 0x100000;
|
|
44
|
-
|
|
45
|
-
return {
|
|
46
|
-
humidity: humidity,
|
|
47
|
-
temperature: cTemp
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
};
|
|
43
|
+
return {
|
|
44
|
+
humidity: humidity,
|
|
45
|
+
temperature: cTemp,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
51
49
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}));
|
|
50
|
+
export default AHT10;
|
package/package.json
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chirimen/aht10",
|
|
3
|
-
"version": "1.0.0",
|
|
4
3
|
"description": "Driver for AHT10 with WebI2C",
|
|
5
|
-
"
|
|
6
|
-
"module": "aht10.js",
|
|
4
|
+
"version": "2.0.0",
|
|
7
5
|
"license": "MIT",
|
|
8
6
|
"repository": {
|
|
9
7
|
"type": "git",
|
|
@@ -13,12 +11,10 @@
|
|
|
13
11
|
"publishConfig": {
|
|
14
12
|
"access": "public"
|
|
15
13
|
},
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
"type": "module",
|
|
15
|
+
"exports": "./index.js",
|
|
16
|
+
"peerDependencies": {
|
|
17
|
+
"node-web-i2c": "^1.1.51"
|
|
19
18
|
},
|
|
20
|
-
"
|
|
21
|
-
"rollup": "^3.0.0"
|
|
22
|
-
},
|
|
23
|
-
"gitHead": "c91361388edf5c6aeaef30fbbe686c45b6ea5545"
|
|
19
|
+
"gitHead": "0e5bcde729a304d14cad59735c9cd2737f8a78ce"
|
|
24
20
|
}
|
package/aht10.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
// AHT10 driver for CHIRIMEN raspberry pi3
|
|
3
|
-
// Temperature and Humidity I2C Sensor
|
|
4
|
-
// based on https://github.com/adafruit/Adafruit_CircuitPython_AHTx0/blob/main/adafruit_ahtx0.py
|
|
5
|
-
// Programmed by Satoru Takagi
|
|
6
|
-
|
|
7
|
-
/** @param {number} ms Delay for a number of milliseconds. */
|
|
8
|
-
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
|
|
9
|
-
|
|
10
|
-
var AHT10 = function(i2cPort,slaveAddress){
|
|
11
|
-
if (!slaveAddress){
|
|
12
|
-
slaveAddress = 0x38;
|
|
13
|
-
}
|
|
14
|
-
this.i2cPort = i2cPort;
|
|
15
|
-
this.i2cSlave = null;
|
|
16
|
-
this.slaveAddress = slaveAddress;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
AHT10.prototype = {
|
|
20
|
-
init: async function(){
|
|
21
|
-
this.i2cSlave = await this.i2cPort.open(this.slaveAddress);
|
|
22
|
-
await this.i2cSlave.writeBytes([ 0xBA]); // softreset
|
|
23
|
-
await sleep(30); // wait for measurement?
|
|
24
|
-
await this.i2cSlave.writeBytes([ 0xE1, 0x08, 0x00]); // calibrate
|
|
25
|
-
while ( !(await this.i2cSlave.readByte() & 0x08) ){
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
readData: async function(){
|
|
29
|
-
await this.i2cSlave.writeBytes([ 0xAC, 0x33, 0x00]); // read
|
|
30
|
-
while ( await this.i2cSlave.readByte() & 0x80 ){
|
|
31
|
-
await sleep(10);
|
|
32
|
-
}
|
|
33
|
-
var mdata = await this.i2cSlave.readBytes(6); // prev data..
|
|
34
|
-
var cTemp = ((mdata[3] & 0xF) << 16) | (mdata[4] << 8) | mdata[5];
|
|
35
|
-
cTemp = ((cTemp * 200.0) / 0x100000) - 50;
|
|
36
|
-
var humidity = (mdata[1] << 12) | (mdata[2] << 4) | (mdata[3] >> 4);
|
|
37
|
-
humidity = (humidity * 100) / 0x100000;
|
|
38
|
-
|
|
39
|
-
return {
|
|
40
|
-
humidity: humidity,
|
|
41
|
-
temperature: cTemp
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export default AHT10;
|