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

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
Lindorm AIGC体验服务,AIGC 体验服务
简介: 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

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

相关实践学习
DataV Board用户界面概览
本实验带领用户熟悉DataV Board这款可视化产品的用户界面
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
目录
相关文章
|
开发框架 IDE JavaScript
开发者新宠上线 阿里云物联网操作系统AliOS Things3.3.0发布
近日,阿里云物联网操作系统AliOS Things时隔一年,新版本AliOS Things 3.3.0正式开源发布。作为广大开发者的新宠,AliOS Things 3.3.0推出轻应用开发模式,为碎片化的物联网提供统一的操作系统解决方案。
324 14
开发者新宠上线 阿里云物联网操作系统AliOS Things3.3.0发布
|
人工智能 小程序 安全
阿里云物联网操作系统AliOS Things获国家重点研发计划立项
近日,阿里云物联网操作系统AliOS Things正式通过了国家重点研发计划重点专项2020年度立项,国家重点研发计划是我国最高级别的研发项目,意味着国家层面对AliOS Things的高度认可,该操作系统也将获得一系列的后续政策扶持。
270 14
阿里云物联网操作系统AliOS Things获国家重点研发计划立项
|
安全 小程序 物联网
阿里云物联网操作系统AliOS Things,获国内顶级开源组织颁发大奖
12月30日,由阿里云AIoT推出的物联网操作系统AliOS Things再度拿下重要荣誉,由中国开源云联盟举办的《第十届中国云计算标准和应用大会》上,AliOS Things 入选中国优秀开源项目。
阿里云物联网操作系统AliOS Things,获国内顶级开源组织颁发大奖
|
安全 小程序 物联网
阿里云物联网操作系统AliOS Things,获国内顶级开源组织颁发大奖
12月30日,由阿里云AIoT推出的物联网操作系统AliOS Things再度拿下重要荣誉,由中国开源云联盟举办的《第十届中国云计算标准和应用大会》上,AliOS Things 入选中国优秀开源项目。
167 0
阿里云物联网操作系统AliOS Things,获国内顶级开源组织颁发大奖
|
人工智能 小程序 安全
阿里云物联网操作系统AliOS Things获国家重点研发计划立项
近日,阿里云物联网操作系统AliOS Things正式通过了国家重点研发计划重点专项2020年度立项,国家重点研发计划是我国最高级别的研发项目,意味着国家层面对AliOS Things的高度认可,该操作系统也将获得一系列的后续政策扶持。
阿里云物联网操作系统AliOS Things获国家重点研发计划立项
|
开发框架 运维 监控
阿里云联合模组厂商发布内嵌AliOS Things的4G Cat 1模组
阿里云联合移远通信发布内嵌AliOS Things的4G Cat 1模组
阿里云联合模组厂商发布内嵌AliOS Things的4G Cat 1模组
|
数据可视化 IDE 物联网
阿里云物联网积累解读(一):AliOS Things
嵌入式工程师灵魂三问:环境搭建好了吗?调试完了吗?Emmm……可以换个板子吗?
阿里云物联网积累解读(一):AliOS Things
|
资源调度 物联网 芯片
AliOS Things正式开源,走近阿里云的物联网技术
一句话介绍面向汽车、IoT终端、IoT芯片和工业领域研发的物联网操作系统,并且整合了原YunOS移动端业务。AliOS Things将会开源,广大IoT终端厂商、独立开发者可以共同建造、不断忧化并加强OS功能。
6540 1