AliOS Things+阿里云 10分钟搭建智慧农业解决方案

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
简介: AliOS Things+阿里云 10分钟搭建智慧农业解决方案 1.1 样品介绍 在工业、农业物联网布线场景中以MODBUS类型为主,样品提供MODBUS类型传感器硬件和软件快速接入方案,并将传感器数据上传到阿里云物联网平台,在云端table store数据库存储,在datav数据大屏上可视化展示。

AliOS Things+阿里云 10分钟搭建智慧农业解决方案

1.1 样品介绍

在工业、农业物联网布线场景中以MODBUS类型为主,样品提供MODBUS类型传感器硬件和软件快速接入方案,并将传感器数据上传到阿里云物联网平台,在云端table store数据库存储,在datav数据大屏上可视化展示。

样品主要特性

  • 本地支持MODBUS工业控制协议的传感器,有叶面湿度、叶面湿度、土壤含水率、土壤温度、土壤酸碱度、光照、二氧化碳含量、大气压力、PM2.5、PM10、风向、风速、降水量等。
  • AliOS Things物联网操作系统
  • 阿里云物联网平台
  • 云端table Store数据库数据存储
  • datav数据大屏实时数据和历史数据可视化展示

应用场景

  • 气象监测
  • 农业大棚监测

MODBUS传感器数据经过下面数据流

MODBUS传感器->AliOS Things(uData)->阿里云物联网平平台->OTS规则引擎->TABLESTORE->DATAV数据大屏

1.2 样品展示

数据大屏地址
https://datav.aliyun.com/share/b2eed2f4627cf281022bbb4f23c2b568


2 设备端侧搭建

2.1 环境准备

  • Developerkit开发板一套
  • ttl转485
  • MODBUS传感器
  • 485集线器(非必需)

2.2 设备连接

developerkit开发板上TTL串口RX,TX,GND(白线,灰线,黑线)分别连接转换板的RX,TX,GND。
转换板上485 A,B两个端口连接到485集线器A,B端子上(红线,橙线)

传感器的485 A,B端口(黄线和绿线)连接到485集线器上,电源和地(红线和黑线)接到电源接口上。

将developerkit、ttl转485转换板USB供电,传感器和485集线器12V电源供电,至此硬件连线完毕。

2.3 uData传感器框架

AliOS Things提供一套传感器uData框架,将MODBUS传感器抽象驱动节点,通过vfs接口open,read操作。
AliOS Things还提供MODBUS协议库,MODBUS传感器驱动调用MODBUS库接口读取传感器数据。

2.4 代码下载和修改

代码托管在github上地址: https://github.com/alibabayf/AliOS_modbus
分支weather

git clone https://github.com/alibabayf/AliOS_modbus
git checkout weather

代码编译

aos make uDataapp@developerkit

2.4.1 传感器驱动

MODBUS传感器驱动添加通过下面配置表修改
device/sensor/drv/sensor_drv_conf.h

const modbus_sensor_t modbus_sensors[] = {
{ "KunLunHaiAn", "JHFS-W1", "wind speed", dev_windspeed_path, TAG_DEV_WINDSPD,
  SENSOR_OPEN, 0X30, 0x002A, 1, 0, 50 },
{ "KunLunHaiAn", "JHFX-W1", "wind direction", dev_winddirection_path, TAG_DEV_WINDDIR,
  SENSOR_OPEN, 0X31, 0x002A, 1, 0, 50 },
{ "KunLunHaiAn", "JHYL-W1", "current precipitation", dev_rainfall_path, TAG_DEV_RAIN,
  SENSOR_OPEN, 0X32, 0x0002, 1, 0, 50 },
{ "KunLunHaiAn", "JHYL-W1", "today precipitation", dev_todayrainfall_path, TAG_DEV_TODAYRAIN,
  SENSOR_OPEN, 0X32, 0x0001, 1, 0, 50 },
};

modbus_sensor_t 中分别指厂商名,型号,名称,设备节点路径,传感器类型,驱动是否支持,从设备地址,寄存器地址,寄存器数量,是否数据反转,读数据超时时间。
大部分参数已经配置好了,需要开发者修改的是用户自己设置的传感器从设备地址和驱动是否支持。本例中以JHFS-W1、JHFX-W1、JHYL-W1这三款传感器为例,可以获取到风速、风向、总降水、当日降水量等数据。

2.4.2 uData service注册

在文件framework/uData/service/service_process.c中注册四类传感器服务

case UDATA_SERVICE_WINDSPD:
ret = udata_std_service_register(type);
break;
case UDATA_SERVICE_WINDDIR:
ret = udata_std_service_register(type);
break;
case UDATA_SERVICE_RAIN:
ret = udata_std_service_register(type);
break;
case UDATA_SERVICE_TODAYRAIN:
ret = udata_std_service_register(type);
break;

2.4.3 四元组修改

修改framework/protocol/linkkit/iotkit/sdk-encap/imports/iot_import_product.h中四元组信息,为云端创建设备后获得

#define PRODUCT_KEY "a1N9KL6USIp"
#define PRODUCT_SECRET  "Voaf7vWI0Ioki4k3GSNP5QeEr8zeJinG"
#define DEVICE_NAME "shanghaiT3"
#define DEVICE_SECRET   "Voaf7vWI0Ioki4k3GSNP5QeEr8zeJinG"

2.4.4 uDataapp-example

文件example/uDataapp/uData-example.c
订阅四类传感器数据

 ret = uData_subscribe(UDATA_SERVICE_WINDSPD);
 ret = uData_subscribe(UDATA_SERVICE_WINDDIR);
 ret = uData_subscribe(UDATA_SERVICE_RAIN);
 ret = uData_subscribe(UDATA_SERVICE_TODAYRAIN);

example中拿到传感器数据会按照下面json格式发送给云端。
{"WINDSPD":xxx,"WINDDIR":xxx,"RAIN":xxx,"TODAYRAIN":xxx}

3 云端配置

3.1 创建产品

阿里云物联网平台创建产品
https://cn.aliyun.com/product/iot?spm=5176.cniot.loT.1.40721ba6VeAQwS

在创建的产品中定义新Topic类

3.2 创建设备

生成的三元组信息需要和设备端一致。

3.3 创建规则引擎

3.4 编写规则引擎SQL语句

用于解析topic收到的json payload。

3.5 创建Table Store数据库实例

https://cn.aliyun.com/product/ots?spm=5176.cniot.cloudEssentials.78.19b81ba6dHx6op

3.6 创建Table Store数据表

设置time为主键,为字符串

3.7 编写规则转发数据目的地

> 实例、数据表、主键和 3.5和3.6中创建的实例、数据表、主键对应。

3.8 datav数据大屏添加数据

阿里云数据大屏地址
https://data.aliyun.com/visual/datav?spm=5176.7968328.dataTechnology.6.69631232y6lNwp

3.9 创建可视化大屏

左侧提供一些模板供参考

3.10 datav获取数据实例

创建一个仪表盘组件

以风向数据为例,用getRange操作方式指定“direction”从后往前查找,“limit”:1 查找最新的一个数据。将WINDDIR字段值给value

至此就可以实现风向数据实时更新。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
目录
相关文章
|
1月前
|
Linux 开发工具 C语言
Centos8下编译安装最新版ffmpeg解决方案(含Centos8换源阿里云)
Centos8下编译安装最新版ffmpeg解决方案(含Centos8换源阿里云)
143 3
|
1月前
|
弹性计算 运维 安全
2024年阿里云一键搭建部署幻兽帕鲁服务器解决方案
幻兽帕鲁火了,为了确保畅快体验游戏,构建高效、稳定的游戏服务器至关重要。幸运的是,阿里云为您提供了快速、简便的服务器搭建解决方案,即使您对技术知识了解有限,也能在短短一分钟内轻松完成《幻兽帕鲁》游戏的联机服务器搭建!
1449 4
|
4月前
|
存储 弹性计算 编解码
阿里云赵大川:弹性计算推理解决方案拯救AIGC算力危机
阿里云弹性计算高级技术专家赵大川在【人工智能基础设施】专场中带来了题为《弹性计算推理解决方案拯救AIGC算力危机》的主题演讲,围绕弹性计算推理解决方案DeepGPU实例如何支持Stable Diffusion文生图推理、Stable Diffusion推理演示示例等相关话题展开。
69896 205
|
3月前
|
存储 编解码 弹性计算
阿里云网盘与相册开发版提供了丰富的功能和全面的加速解决方案
阿里云网盘与相册开发版提供了丰富的功能和全面的加速解决方案【1月更文挑战第13天】【1月更文挑战第63篇】
27 2
|
3月前
|
人工智能 搜索推荐 数据挖掘
瓴羊X阿里云上的Salesforce联合解决方案正式发布
瓴羊X阿里云上的Salesforce联合解决方案正式发布
|
3月前
|
NoSQL 安全 MongoDB
|
3月前
|
存储 人工智能 安全
阿里云企业成长解决方案,含通用、企业上云、企业服务、教育等多场景
在数字化时代,企业的成长离不开云计算技术的支持。阿里云作为领先的云服务提供商,推出了全面的企业成长解决方案,涵盖通用场景、企业上云、新零售、企业服务、教育、游戏、医疗健康、文化传媒和工业制造等多个行业。这些解决方案旨在帮助企业轻松应对各种挑战,实现数字化转型和升级。
阿里云企业成长解决方案,含通用、企业上云、企业服务、教育等多场景
|
3月前
|
存储 弹性计算 测试技术
阿里云E实例评测:为个人开发者、学生和小微企业打造的经济高效解决方案
阿里云E实例是面向个人开发者、学生和小微企业的入门级云服务器,具备优秀的性能、价格优势和良好的用户体验。E实例采用高性能处理器,支持多种内存配比,满足各种应用需求。与其他同类产品相比,E实例的价格更具有竞争力,还提供多种优惠活动和免费试用,降低用户成本。此外,E实例的用户体验良好,官方文档和帮助中心提供完善的资料和教程,控制台界面简洁明了。总的来说,阿里云E实例是一款经济高效的云服务器解决方案,适合个人开发者、学生和小微企业使用。
|
4月前
|
弹性计算 安全 关系型数据库
阿里云上云解决方案参考,多种技术与行业解决方案助力企业上云
对于初次上云的用户来说,参考一份适合自己行业的解决方案可帮助自己快速上手,并根据方案的内容选择适合自己的云产品进行方案部署。阿里云发布各种解决方案是基于众多客户上云的成功案例萃取而成的最优化企业上云指导,涵盖前端Web和移动应用程序开发、网站搭建、网络组网、数据库、迁云等众多上云项目。本文为大家汇总了一些上云解决方案的详情入口,方便大家快速查询与自己场景相符的解决方案。
阿里云上云解决方案参考,多种技术与行业解决方案助力企业上云
|
4月前
|
新能源 大数据 调度
阿里云IDC“数据中心低碳用能与任务调度“创新成果荣获“年度低碳解决方案”荣誉
阿里云IDC“数据中心低碳用能与任务调度“创新成果荣获“年度低碳解决方案”荣誉

热门文章

最新文章