远程水位监测基于水位传感器测量水位的深浅 , 并将水位传感器输出的电压值通过4G模组上传至机智云 , 这样就可以使用手机App或者网页Web端来远程查看当前的水位的深浅 。
视频教程及实物展示 视频演示教程:
文章图片
文章图片
硬件端接线图
文章图片
材料清单
文章图片
硬件端完整源码 --使能USB print输出打印
LIB_UsbConfig("CDC")
--配置A0-A3这四个电压采集通道同时开始工作 , 当每个通道采集满50个点时缓存满 , 每个点的采集时间间隔为10ms
LIB_ADConfig(50,10000)
--机智云平台为每个产品类别分配的唯一PK和PS , 一定要改成您自己的PK和PS
PK = "0c3b702db81443bb939b23e8069646e6"
PS = "1ba8b92983554982862a3da1b1298424"
--初始化4G模块
LIB_Giz4GConfig(PK,PS,1000,120,"UART0","D5","HIGH","D6","HIGH")
--开始大循环
while(GC(1) == true)
do
A0_full_flag, A0_tab = LIB_ADCheckBufFull("A0")
--每当A0通道的缓存满以后 , 计算缓存内的50个元素的平均值 , 并换算成电压值
--由LIB_ADConfig(50,10000)可以算出 , 此处大概是50X10000us=0.5秒执行一次
if A0_full_flag == 1 then
SUM = 0
for i = 1, #A0_tab do --此处#A0_tab的值是50 , 表示A0_tab表内的元素个数
SUM = SUM + A0_tab[i]
end
AVER = SUM / #A0_tab --计算平均采样值
--将A0通道的AD值转换成实际电压打印出来
out_voltage = AVER*3.6/4096.0
--打印出传感器输出的电压值 , 保留小数点后两位 , 单位V
print(string.format("voltage=%.2fV\r\n", out_voltage))
--向机智云服务器发送(水位)浮点型小数值(范围应是-100.00~500.00)
--由于LIB_Giz4GConfig函数种设置的1000ms上传一次水位传感器的电压值
--所以这里即使调用LIB_SendToGizCloud函数发送也不会即时更新
LIB_SendToGizCloud("Rf3", out_voltage)
end
end
上面代码中出现的"LIB_"开头的库函数的详细介绍可以在shineblink.com网站上的API文档中查询 。
机智云接入和App开发(三个选择) ?选择一:机智云+通用版APP访问设备(难度最低)
通过《4G设备接入机智云教程》我们可以很快掌握机智云的接入流程 , 并使用现成的通用版机智云App即可很快的实现手机App远程访问我们的开发板 。
本例中我们使用了"Rf3"这个两位小数浮点型数据点作为水位传感器电压值的上传数据通道 , 记得在机智云平台修改相应的数据点的名称 。
文章图片
? 选择二:机智云+零代码定制版App访问设备(难度较低)
在选择二之前 , 必须完成上面选择一的工作 , 然后参考《赛博坦零代码App开发(4G版)》教程实现定制版App访问设备 。
开发好以后的页面如下:
文章图片
? 选择三:定制化开发APP或微信小程序(难度较高)
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
