跳到主要内容

(UART003)光照JGZD

提示

以下仅提供了必要的关键信息,如果不知道怎么使用,请参考 (UART000)二氧化硫JXM(范例) 即可,整个操作十分简单。

一、LoRa节点上报格式

{"LrAddr":1,"Dev":"Uart","Data":{"ch2o":8},"Err":null}

二、代码替换

--传感器接口初始化
function SensorInit()
--设置JX光照传感器占用TX0和RX0引脚,串口波特率为9600
LIB_Uart0Config("BAUDRATE_9600")
LIB_Uart0BlockSend({0x01, 0x06, 0x01, 0x04, 0x00, 0x01, 0x08, 0x37}) --打开传感器的主动上报模式
LIB_DelayMs(500)
recv_flag,recv_tab = LIB_Uart0Recv()
end

--读取传感器数据,获取到的json data数据形式可如下:
--{"lux":300}
function SensorGetValue()
err = "null" --err包含错误信息,如果没有错误,设置为"null"

--查询Rx是否收到数据
recv_flag,recv_tab = LIB_Uart0Recv()
if recv_flag == 1 then
--判断收到的数据是否正确性,如果正确,闪烁一下Led灯
if recv_tab[1] == 0x01 and recv_tab[2] == 0x03 and recv_tab[3] == 0x04 then
--如果获取成功,data将是一条完整的json字符串
--光照值,单位:lux
val = recv_tab[6]*256 + recv_tab[7]
data = string.format("{\"lux\":%d}", val)
end
else
--如果获取失败,data设置为"null"
data = "null"
err = "Read sensor fail"
end

--返回结果
finish = 1 --finish=1表示传感器读取完成(无论是否成功)
return finish,data,err
end

三、传感器资料及采购来源

传感器说明书位于: flexluadisk->Spec -> UART003 文件夹中。

采购来源:精讯畅通JGZD光照模块。

四、硬件连线

将 CMA 底板的 TX0/RX0/5V/GND 四个引脚和传感器连接即可。