0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

实操案例:基于Shineblink和机智云的4G气象站

机智云 2022-08-28 16:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ShineBlink 是一款零门槛、零开发环境、低代码的万能物联网智能硬件开发板

机智云开发者提供傻瓜式硬件上云、接App/小程序的能力

结合 ShineBlink 和 机智云 开发者即使不懂嵌入式物联网开发、云和App开发,也能很快实现一款包含硬件、云和App的物联网智能硬件。

一、本章实现功能介绍

Shinelink开发板通过采集PM2.5传感器、紫外线传感器、风速传感器、雨滴感应传感器、SHT温湿度传感器、气压传感器采集数据,数据通过ML302(4G通信模块)将数据上传至机智云,之后我们就可以在远程通过手机App或者Web网页端来访问这个气象站测量的所有传感器数据。

下图是接线实物图和App监测页面:

a0ce68c2-256a-11ed-9ade-dac502259ad0.png

a10e64ae-256a-11ed-9ade-dac502259ad0.png

a0b12e88-256a-11ed-9ade-dac502259ad0.png二、硬件端接线图

a142e738-256a-11ed-9ade-dac502259ad0.png

注意:上面的电路传感器比较多,要求给 ShineBlink 开发板提供5V的电源带载能力至少大于1A。

a0b12e88-256a-11ed-9ade-dac502259ad0.png三、材料清单

a179c19a-256a-11ed-9ade-dac502259ad0.png

a0b12e88-256a-11ed-9ade-dac502259ad0.png四、硬件端完整源代码

--定义函数:将传感器输出电压(单位:mv)转换成紫外线指数index
function GetUvIndex(v)
  if v < 50.0 then
    index = 0
  elseif v < 227.0 then
    index = 1;
  elseif v < 318.0 then
    index = 2;
  elseif v < 408.0 then
    index = 3;
  elseif v < 503.0 then
    index = 4;
  elseif v < 606.0 then
    index = 5;
  elseif v < 696.0 then
    index = 6;
  elseif v < 795.0 then
    index = 7;
  elseif v < 881.0 then
    index = 8;
  elseif v < 976.0 then
    index = 9;
  elseif v < 1079.0 then
    index = 10;
  else
    index = 11
  end
  return index
end
--使能USB print输出打印
LIB_UsbConfig("CDC")
--机智云平台为每个产品类别分配的唯一PK和PS,一定要改成您自己的PK和PS
PK = "7ebaec64beaf4e389a2957f38711fcda"
PS = "b4a4ef17dbf74463b0f1b3c525a8b8de"
--初始化4G模块
LIB_Giz4GConfig(PK,PS,1000,120,"UART0","D5","HIGH","D6","HIGH")
--配置A0-A3这四个电压采集通道同时开始工作,当每个通道采集满50个点时缓存满,每个点的采集时间间隔为10ms
LIB_ADConfig(50,10000)
--设置PM2.5传感器占用TX1和RX1引脚
LIB_ZPH04Config("UART1")
--设置sht3x传感器占用SCL0和SDA0引脚,并启动传感器以每秒出10个数据的频率工作,repeatability="HIGH"时精度最高
LIB_Sht3xConfig("IIC0","10","HIGH")
--设置BMP280气压计传感器占用SCL1和SDA1引脚,并启动传感器以每秒输出26.32组数据的频率工作
LIB_BMP280Config("IIC1")
--开始大循环
while(GC(1) == true)
do
  LIB_DelayMs(50)
  --查询是否读到温湿度数据产生
  sht3x_flag,sht3x_temp,sht3x_humi = LIB_Sht3xGetResult()
  if sht3x_flag == 1 then
    --打印读到的温湿度值,保留2位小数
    print(string.format("temp: %.2f\r\nhumi: %.2f", sht3x_temp, sht3x_humi))
    --向机智云服务器发送(温湿度)短整数型数值(舍去小数部分)
    LIB_SendToGizCloud("Rs1", math.floor(sht3x_temp))
    LIB_SendToGizCloud("Rs2", math.floor(sht3x_humi))
  end
  --查询气压传感器是否出数
  flag, temprature, pressure = LIB_BMP280GetResult()
  if flag == 1 then --如果传感器此时有数据
    --温度值保留两位小数,气压值去掉小数部分
    print(string.format("temprature: %.2f pressure: %.0f Pa", temprature, pressure))
    --向机智云服务器发送长整数型气压数值,单位:Pa
    LIB_SendToGizCloud("RL7", math.floor(pressure))
  end
  --查询是否读到传感器PM2.5值
  flag, pm25_val = LIB_ZPH04GetPM25()
  if flag == 1 then
    --打印读到的PM2.5值,保留1位小数,单位:ug/m^3
    print(string.format("PM2.5:%.1f", pm25_val))
    --向机智云服务器发送(PM2.5)浮点型小数值(范围应是-1000.0~5000.0)
    LIB_SendToGizCloud("Rf1", pm25_val)
  end
  --查询是否读到A0端口的电压采集值(风速)
  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("wind voltage=%.2fV\r\n", out_voltage))
    --向机智云服务器发送(风速)浮点型小数值(范围应是-1000.0~5000.0)
    LIB_SendToGizCloud("Rf2", out_voltage)
  end
  --查询是否读到A1端口的电压采集值(紫外线)
  A1_full_flag, A1_tab = LIB_ADCheckBufFull("A1")
  --每当A1通道的缓存满以后,计算缓存内的50个元素的平均值,并换算成电压值
  --由LIB_ADConfig(50,10000)可以算出,此处大概是50X10000us=0.5秒执行一次
  if A1_full_flag == 1 then
    SUM = 0
    for i = 1, #A1_tab do --此处#A1_tab的值是50,表示A1_tab表内的元素个数
      SUM = SUM + A1_tab[i]
    end
    AVER = SUM / #A1_tab --计算平均采样值
    --将A0通道的AD值转换成实际电压打印出来
    vol_mv = AVER*3600/4096.0
    --打印出传感器输出的电压值,保留小数点后两位,单位mV
    print(string.format("ultraviolet voltage=%.2fmV\r\n", vol_mv))
    uv_index = GetUvIndex(vol_mv)--将电压转换成紫外等级指数
    --打印紫外线等级,0~11
    print(string.format("ultraviolet level=%d\r\n", uv_index))
    --向机智云服务器发送紫外线等级,短整数型
    LIB_SendToGizCloud("Rs3", uv_index)
  end
  --查询是否读到A2端口的电压采集值(雨滴感应)
  A2_full_flag, A2_tab = LIB_ADCheckBufFull("A2")
  --每当A2通道的缓存满以后,计算缓存内的50个元素的平均值,并换算成电压值
  --由LIB_ADConfig(50,10000)可以算出,此处大概是50X10000us=0.5秒执行一次
  if A2_full_flag == 1 then
    SUM = 0
    for i = 1, #A2_tab do --此处#A2_tab的值是50,表示A2_tab表内的元素个数
      SUM = SUM + A2_tab[i]
    end
    AVER = SUM / #A2_tab --计算平均采样值
    --将A0通道的AD值转换成实际电压打印出来
    vol = AVER*3.6/4096.0
    --打印雨滴传感器输出的电压值,保留小数点后两位,单位V
    print(string.format("rain voltage=%.2fV\r\n", vol))
    --向机智云服务器发送(雨滴值)浮点型小数值(范围应是-100.00~500.00)
    LIB_SendToGizCloud("Rf3", vol)
  end
end

a0b12e88-256a-11ed-9ade-dac502259ad0.png五、机智云接入和App开发

无论使用哪种方法实现APP控制,都必须先定义数据点。

本例中我们使用了"Rf1","Rf2","Rf3","Rs1","Rs2","Rs3","RL7"这七个数据点分别作为PM2.5,风速,雨滴,温度,湿度,紫外线等级,大气压强这七个传感器值上传数据通道,记得在机智云平台修改相应的数据点的名称。

a1b8dccc-256a-11ed-9ade-dac502259ad0.png

方法一:使用机智云测试APP

先在机智云开发者中心定义好数据点

随后下载机智云测试APP

使用机智云测试APP扫描4G模块二维码

即可实现APP控制设备了。

具体过程可参考:

http://www.shineblink.com/html/gizwits/9_3_4GJoin/4GJoin.html

方法二:使用赛博坦工具零代码定制版App

在机智云开发者中心定义好数据点后,

创建一个移动应用,定义相应的页面信息

再关联相应的智能产品,

即可实现定制版App访问设备。

开发好以后的页面如下:

a10e64ae-256a-11ed-9ade-dac502259ad0.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2939

    文章

    47332

    浏览量

    408067
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    便携式气象站:移动场景下的气象“感知官”

    便携式气象站:移动场景下的气象“感知官”柏峰【BF-BQX】在野外勘探的深山里,在赛事保障的运动场上,在农业生产的田垄间,精准、实时的气象数据往往是决策的关键。传统固定式气象站受限于安
    的头像 发表于 11-14 09:13 112次阅读
    便携式<b class='flag-5'>气象站</b>:移动场景下的<b class='flag-5'>气象</b>“感知官”

    超声波气象站:精准监测的技术新选择

    超声波气象站:精准监测的技术新选择 柏峰【BF-CSQX】在气象监测技术持续升级的背景下,超声波气象站凭借无机械损耗、高灵敏度、强环境适应性等核心特性,逐渐取代传统机械气象站,成为
    的头像 发表于 10-24 10:12 453次阅读
    超声波<b class='flag-5'>气象站</b>:精准监测的技术新选择

    小型自动气象站:精细化气象监测的技术革新与应用拓展

    小型自动气象站:精细化气象监测的技术革新与应用拓展 柏峰【BF-QX】随着气象服务向“精细化、精准化、智能化”升级,传统气象观测站点密度不足、覆盖范围有限的问题日益凸显。小型自动
    的头像 发表于 10-23 10:53 251次阅读
    小型自动<b class='flag-5'>气象站</b>:精细化<b class='flag-5'>气象</b>监测的技术革新与应用拓展

    超声波自动气象站技术方案

    超声波自动气象站技术方案 柏峰【BF-CSQX】一、项目背景与需求分析 1.1 项目背景 传统机械转动式气象站存在部件磨损、易受恶劣天气影响(如风沙堵塞、雨雪结冰)、维护成本高等问题,难以满足现代化气象监测对数据精准性、连续性及
    的头像 发表于 10-16 14:18 181次阅读
    超声波自动<b class='flag-5'>气象站</b>技术方案

    景区负氧离子气象站

    气象站
    pingao141378
    发布于 :2025年10月14日 14:06:19

    北斗自动气象站: 护航无网区的 “气象信使”

    北斗自动气象站: 护航无网区的 “气象信使”柏峰【BF-BDQX】在沙漠深处的油田、高原无人区的牧区,或是地震灾后的通信中断地带,一种能摆脱网络依赖的气象设备正持续传递着关键数据 —— 它就是北斗自动
    的头像 发表于 09-08 11:35 871次阅读
    北斗自动<b class='flag-5'>气象站</b>: 护航无网区的 “<b class='flag-5'>气象</b>信使”

    防爆工业气象站:工业场景的 “气象监测中枢”

    防爆工业气象站:工业场景的 “气象监测中枢”柏峰【BF-FB】在石油化工、煤矿开采、天然气处理等高危工业场景中,一个容易被忽视却关乎安全生产的问题始终存在:如何在易燃易爆环境下
    的头像 发表于 08-26 12:00 383次阅读
    防爆工业<b class='flag-5'>气象站</b>:工业场景的 “<b class='flag-5'>气象</b>监测中枢”

    智慧农业气象站技术方案

    智慧农业气象站技术方案 柏峰【BF-QX】随着农业现代化进程的加速,传统农业正逐步向智慧农业转型。气象条件对农业生产具有至关重要的影响,精准的气象监测与预测能够帮助农户合理安排农事活动,有效降低
    的头像 发表于 08-21 09:05 543次阅读
    智慧农业<b class='flag-5'>气象站</b>技术方案

    光伏实验气象站的技术架构与应用实践

    光伏实验气象站的技术架构与应用实践 柏峰【BF-GFQX】在光伏产业快速发展与新能源科研不断深入的背景下,光伏实验气象站作为获取精准气象数据与光伏性能参数的核心设备,其技术先进性直接决定了科研成果的可靠性与工程应用的实效性。
    的头像 发表于 08-19 08:57 1915次阅读
    光伏实验<b class='flag-5'>气象站</b>的技术架构与应用实践

    给孩子一堂自然课:气象站如何让科学触手可及?

    气象站
    奕帆科技
    发布于 :2025年05月06日 14:57:01

    解密交通气象站:数据驱动的交通气象服务革新

    在当今数字化时代,数据成为了推动各行业变革的核心动力,交通气象领域也不例外。交通气象站作为交通气象服务的关键设施,正借助数据的力量实现着革新,为交通出行与顺畅提供着更强大的支持。 交通气象站
    的头像 发表于 03-27 15:36 457次阅读
    解密交通<b class='flag-5'>气象站</b>:数据驱动的交通<b class='flag-5'>气象</b>服务革新

    智慧校园:气象站引领气象知识科普

    在科技飞速发展的当下,智慧校园建设不断深入,各类创新元素融入校园生活,为师生带来全新体验。其中,气象站作为智慧校园的存在,正悄然引领着气象科普的新风尚。 校园气象站不再是传统意义上简单的气象
    的头像 发表于 02-08 15:29 528次阅读

    自动气象站的工作原理与应用

    自动气象站是现代气象观测网络的重要组成部分,它通过集成传感器、数据采集与处理系统、通讯设备等技术手段,实现了对大气环境参数的实时监测和高效数据传输。以下是对自动气象站的工作原理与应用的详细探讨
    的头像 发表于 12-18 13:56 1198次阅读

    4G模组GPIO接口实|精选教程

    今天我将把我熟悉的4G模组GPIO接口实整理成文,以Air724UG做出精选教程分享给大家。
    的头像 发表于 12-14 09:36 1903次阅读
    <b class='flag-5'>4G</b>模组GPIO接口实<b class='flag-5'>操</b>|精选教程

    绿色校园,智慧气象:走进我们的气象站

    在蔚蓝天空与葱郁绿意的交相辉映下,我们的校园不仅是一片知识的沃土,更是绿色生.态与智慧科技融合的典范。在这片充满活力的土地上,一座现代化的气象站悄然矗立,它不仅是我们探索自然奥秘的窗口,更是绿色校园
    的头像 发表于 12-10 11:58 666次阅读