mirror of
https://gitee.com/beecue/fastbee.git
synced 2025-12-17 00:15:55 +08:00
114 lines
3.0 KiB
Lua
114 lines
3.0 KiB
Lua
--- 模块功能:物美MQTT应用
|
||
-- @author 杜兴杰
|
||
-- @module 物美MQTT应用
|
||
-- @license MIT
|
||
-- @copyright 杜兴杰
|
||
-- @email 1066950103@qq.com
|
||
-- @release 2022.8.5
|
||
|
||
module(..., package.seeall)
|
||
|
||
local VERSION = "0.1"
|
||
local m_strUserId = "1"
|
||
local m_strLongitude = "0"
|
||
local m_strLatitude = "0"
|
||
|
||
local m_nTemperature = 25
|
||
--local m_nVoltval = 4.0
|
||
|
||
|
||
local rtos_bsp = rtos.bsp()
|
||
function adc_pin() -- 根据不同开发板,设置ADC编号
|
||
if rtos_bsp == "AIR101" then -- Air101开发板ADC编号
|
||
return 0,1,255,255,adc.CH_CPU ,adc.CH_VBAT
|
||
elseif rtos_bsp == "AIR103" then -- Air103开发板ADC编号
|
||
return 0,1,2,3,adc.CH_CPU ,adc.CH_VBAT
|
||
elseif rtos_bsp == "AIR105" then -- Air105开发板ADC编号
|
||
return 0,5,6,255,255,255
|
||
elseif rtos_bsp == "ESP32C3" then -- ESP32C3开发板ADC编号
|
||
return 0,1,2,3,adc.CH_CPU , 255
|
||
elseif rtos_bsp == "ESP32C2" then -- ESP32C2开发板ADC编号
|
||
return 0,1,2,3,adc.CH_CPU , 255
|
||
elseif rtos_bsp == "ESP32S3" then -- ESP32S3开发板ADC编号
|
||
return 0,1,2,3,adc.CH_CPU , 255
|
||
elseif rtos_bsp == "EC618" then --Air780E开发板ADC编号
|
||
return 0,1,255,255,adc.CH_CPU ,adc.CH_VBAT
|
||
else
|
||
log.info("main", "define ADC pin in main.lua")
|
||
return 0, 0,0,0,0,0
|
||
end
|
||
end
|
||
local adc_pin_0,adc_pin_1,adc_pin_2,adc_pin_3,adc_pin_temp,adc_pin_vbat=adc_pin()
|
||
|
||
--模块温度返回回调函数
|
||
--@temp温度,srting类型,如果要对该值进行运算,可以使用带float的固件将该值转为number
|
||
local function getTemperatureCb(temp)
|
||
m_nTemperature = temp
|
||
end
|
||
|
||
--- ADC读取测试
|
||
-- @return 无
|
||
-- @usage read()
|
||
local function read0()
|
||
--ADC0接口用来读取电压
|
||
local ADC_ID = 0
|
||
local adcval,voltval = adc.get(adc_pin_0)
|
||
log.info("testAdc0.read",adcval,(voltval-(voltval%3))/3,voltval)
|
||
-- 输出计算得出的原始电压值
|
||
m_nVoltval = voltval/3 * 3127 / 1000
|
||
log.info("testAdc0.Vbat", m_nVoltval)
|
||
end
|
||
|
||
--2秒循环查询模块温度
|
||
--sys.timerLoopStart(misc.getTemperature,1000,getTemperatureCb)
|
||
--sys.timerLoopStart(read0,1000)
|
||
|
||
-- 开启对应的adc通道
|
||
adc.open(adc_pin_0)
|
||
|
||
|
||
|
||
function FunctionData()
|
||
local jsonStr = ""
|
||
end
|
||
|
||
function PropertyData()
|
||
local jsonData = {{
|
||
id= "temperature",
|
||
value= m_nTemperature ,
|
||
remark="温度信息"
|
||
},{
|
||
id= "voltage",
|
||
value= m_nVoltval,
|
||
remark="电压信息"
|
||
}}
|
||
local jsonStr = json.encode(jsonData)
|
||
return jsonStr
|
||
end
|
||
|
||
function InformationData()
|
||
local jsonData = {
|
||
rssi = mobile.rssi(),
|
||
firmwareVersion = VERSION,
|
||
status = 3 ,
|
||
userId = m_strUserId ,
|
||
longitude = m_strLongitude ,
|
||
latitude = m_strLatitude,
|
||
summary = {
|
||
name= "device",
|
||
chip = "air724",
|
||
author = "duxingjie",
|
||
version=0.1,
|
||
create = "2022-08-07"
|
||
}
|
||
}
|
||
local jsonStr = json.encode(jsonData)
|
||
return jsonStr
|
||
end
|
||
|
||
return {
|
||
InformationData = InformationData,
|
||
PropertyData = PropertyData,
|
||
FunctionData = FunctionData
|
||
}
|