Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
Nodemcu Firmware
Commits
e0380786
Commit
e0380786
authored
Jan 30, 2015
by
Vowstar
Browse files
Merge pull request #156 from MarsTechHAN/master
BH1750 Module merge
parents
5894df1d
7df610a6
Changes
5
Hide whitespace changes
Inline
Side-by-side
lua_modules/bh1750/bh1750.lua
0 → 100644
View file @
e0380786
-- ***************************************************************************
-- BH1750 module for ESP8266 with nodeMCU
-- BH1750 compatible tested 2015-1-22
--
-- Written by xiaohu
--
-- MIT license, http://opensource.org/licenses/MIT
-- ***************************************************************************
local
moduleName
=
...
local
M
=
{}
_G
[
moduleName
]
=
M
--I2C slave address of GY-30
local
GY_30_address
=
0x23
-- i2c interface ID
local
id
=
0
--LUX
local
l
--CMD
local
CMD
=
0x10
local
init
=
false
--Make it more faster
local
i2c
=
i2c
function
M
.
init
(
sda
,
scl
)
i2c
.
setup
(
id
,
sda
,
scl
,
i2c
.
SLOW
)
--print("i2c ok..")
init
=
true
end
local
function
read_data
(
ADDR
,
commands
,
length
)
i2c
.
start
(
id
)
i2c
.
address
(
id
,
ADDR
,
i2c
.
TRANSMITTER
)
i2c
.
write
(
id
,
commands
)
i2c
.
stop
(
id
)
i2c
.
start
(
id
)
i2c
.
address
(
id
,
ADDR
,
i2c
.
RECEIVER
)
tmr
.
delay
(
200000
)
c
=
i2c
.
read
(
id
,
length
)
i2c
.
stop
(
id
)
return
c
end
local
function
read_lux
()
dataT
=
read_data
(
GY_30_address
,
CMD
,
2
)
--Make it more faster
UT
=
dataT
:
byte
(
1
)
*
256
+
dataT
:
byte
(
2
)
l
=
(
UT
*
1000
/
12
)
return
(
l
)
end
function
M
.
read
()
if
(
not
init
)
then
print
(
"init() must be called before read."
)
else
read_lux
()
end
end
function
M
.
getlux
()
return
l
end
return
M
lua_modules/bh1750/bh1750_CN.md
0 → 100644
View file @
e0380786
# BH1750 模块
##引用
```
lua
bh1750
=
require
(
"bh1750"
)
```
## 释放
```
lua
bh1750
=
nil
package.loaded
[
"bh1750"
]
=
nil
```
<a
id=
"bh1750_init"
></a>
##init()
####描述
设置BH1750所在的I2C引脚
<br
/>
####语法
init(sda, scl)
####参数
sda: 1~12, IO index.
<br
/>
scl: 1~12, IO index.
<br
/>
####返回值
nil
####示例
```
lua
SDA_PIN
=
6
-- sda pin, GPIO12
SCL_PIN
=
5
-- scl pin, GPIO14
bh1750
=
require
(
"bh1750"
)
bh1750
.
init
(
SDA_PIN
,
SCL_PIN
)
-- release module
bh1750
=
nil
package.loaded
[
"bh1750"
]
=
nil
```
####参见
**-**
[](
)
<a
id=
"bh1750_read"
></a>
##read()
####描述
从bh1750中读取光线传感器数据(Lux勒克斯).
<br
/>
####语法
read()
####参数
nil.
<br
/>
####返回值
nil.
<br
/>
####示例
```
lua
SDA_PIN
=
6
-- sda pin, GPIO12
SCL_PIN
=
5
-- scl pin, GPIO14
bh1750
=
require
(
"bh1750"
)
bh1750
.
init
(
SDA_PIN
,
SCL_PIN
)
bh1750
.
read
()
-- release module
bh1750
=
nil
package.loaded
[
"bh1750"
]
=
nil
```
####参见
**-**
[](
)
<a
id=
"bh1750_getlux"
></a>
##getlux()
####描述
从BH1750中提取数据.
<br
/>
####语法
getlux()
####参数
nil.
<br
/>
####返回值
l: 整数,Lux计数
####示例
```
lua
SDA_PIN
=
6
-- sda pin, GPIO12
SCL_PIN
=
5
-- scl pin, GPIO14
bh1750
=
require
(
"bh1750"
)
bh1750
.
init
(
SDA_PIN
,
SCL_PIN
)
bh1750
.
read
()
l
=
bh1750
.
getlux
()
print
(
"lux: "
..
(
l
/
100
)
..
"."
..
(
l
%
100
)
..
" lx"
)
-- release module
bh1750
=
nil
package.loaded
[
"bh1750"
]
=
nil
```
####参见
**-**
[](
)
lua_modules/bh1750/bh1750_EN.md
0 → 100644
View file @
e0380786
# bh1750 Module
##Require
```
lua
bh1750
=
require
(
"bh1750"
)
```
## Release
```
lua
bh1750
=
nil
package.loaded
[
"bh1750"
]
=
nil
```
<a
id=
"bh1750_init"
></a>
##init()
####Description
Setting the I2C pin of bh1750.
<br
/>
####Syntax
init(sda, scl)
####Parameters
sda: 1~12, IO index.
<br
/>
scl: 1~12, IO index.
<br
/>
####Returns
nil
####Example
```
lua
SDA_PIN
=
6
-- sda pin, GPIO12
SCL_PIN
=
5
-- scl pin, GPIO14
bh1750
=
require
(
"bh1750"
)
bh1750
.
init
(
SDA_PIN
,
SCL_PIN
)
-- release module
bh1750
=
nil
package.loaded
[
"bh1750"
]
=
nil
```
####See also
**-**
[](
)
<a
id=
"bh1750_read"
></a>
##read()
####Description
Read Lux data from bh1750.
<br
/>
####Syntax
read()
####Parameters
nil.
<br
/>
####Returns
nil.
<br
/>
####Example
```
lua
SDA_PIN
=
6
-- sda pin, GPIO12
SCL_PIN
=
5
-- scl pin, GPIO14
bh1750
=
require
(
"bh1750"
)
bh1750
.
init
(
SDA_PIN
,
SCL_PIN
)
bh1750
.
read
()
-- release module
bh1750
=
nil
package.loaded
[
"bh1750"
]
=
nil
```
####See also
**-**
[](
)
<a
id=
"bh1750_getlux"
></a>
##getlux()
####Description
Get lux from bh1750.
<br
/>
####Syntax
getlux()
####Parameters
nil.
<br
/>
####Returns
l: Integer, getlux from bh1750.
####Example
```
lua
SDA_PIN
=
6
-- sda pin, GPIO12
SCL_PIN
=
5
-- scl pin, GPIO14
bh1750
=
require
(
"bh1750"
)
bh1750
.
init
(
SDA_PIN
,
SCL_PIN
)
bh1750
.
read
()
l
=
bh1750
.
getlux
()
print
(
"lux: "
..
(
l
/
100
)
..
"."
..
(
l
%
100
)
..
" lx"
)
-- release module
bh1750
=
nil
package.loaded
[
"bh1750"
]
=
nil
```
####See also
**-**
[](
)
lua_modules/bh1750/bh1750_Example1.lua
0 → 100644
View file @
e0380786
-- ***************************************************************************
-- BH1750 Example Program for ESP8266 with nodeMCU
-- BH1750 compatible tested 2015-1-30
--
-- Written by xiaohu
--
-- MIT license, http://opensource.org/licenses/MIT
-- ***************************************************************************
tmr
.
alarm
(
0
,
10000
,
1
,
function
()
SDA_PIN
=
6
-- sda pin, GPIO12
SCL_PIN
=
5
-- scl pin, GPIO14
bh1750
=
require
(
"bh1750"
)
bh1750
.
init
(
SDA_PIN
,
SCL_PIN
)
bh1750
.
read
(
OSS
)
l
=
bh1750
.
getlux
()
print
(
"lux: "
..
(
l
/
100
)
..
"."
..
(
l
%
100
)
..
" lx"
)
-- release module
bh1750
=
nil
package.loaded
[
"bh1750"
]
=
nil
end
)
lua_modules/bh1750/bh1750_Example2.lua
0 → 100644
View file @
e0380786
-- ***************************************************************************
-- BH1750 Example Program for ESP8266 with nodeMCU
-- BH1750 compatible tested 2015-1-30
--
-- Written by xiaohu
--
-- MIT license, http://opensource.org/licenses/MIT
-- ***************************************************************************
--Updata to Lelian
--Ps 需要改动的地方LW_GATEWAY(乐联的设备标示),USERKEY(乐联userkey)
--Ps You nees to rewrite the LW_GATEWAY(Lelian's Device ID),USERKEY(Lelian's userkey)
tmr
.
alarm
(
0
,
60000
,
1
,
function
()
SDA_PIN
=
6
-- sda pin, GPIO12
SCL_PIN
=
5
-- scl pin, GPIO14
BH1750
=
require
(
"BH1750"
)
BH1750
.
init
(
SDA_PIN
,
SCL_PIN
)
BH1750
.
read
(
OSS
)
l
=
BH1750
.
getlux
()
--定义数据变量格式 Define the veriables formate
PostData
=
"[{\"
Name
\
":\"
T
\
",\"
Value
\
":\"" ..(l / 100).."
.
"..(l % 100).."
\
"}]"
--创建一个TCP连接 Create a TCP Connection
socket
=
net
.
createConnection
(
net
.
TCP
,
0
)
--域名解析IP地址并赋值 DNS...it
socket
:
dns
(
"www.lewei50.com"
,
function
(
conn
,
ip
)
ServerIP
=
ip
print
(
"Connection IP:"
..
ServerIP
)
end
)
--开始连接服务器 Connect the sever
socket
:
connect
(
80
,
ServerIP
)
socket
:
on
(
"connection"
,
function
(
sck
)
end
)
--HTTP请求头定义 HTTP Head
socket
:
send
(
"POST /api/V1/gateway/UpdateSensors/LW_GATEWAY HTTP/1.1\r\n"
..
"Host: www.lewei50.com\r\n"
..
"Content-Length: "
..
string.len
(
PostData
)
..
"
\r\n
"
..
"userkey: USERKEY\r\n\r\n"
..
PostData
..
"
\r\n
"
)
--HTTP响应内容 Print the HTTP response
socket
:
on
(
"receive"
,
function
(
sck
,
response
)
print
(
response
)
end
)
end
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment