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

摘要: 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_modbusgit checkout weather代码编译
aos make udataapp@developerkit2.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   voaf7vwi0ioki4k3gsnp5qeer8zejing2.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
至此就可以实现风向数据实时更新。
原文链接
本文为云栖社区原创内容,未经允许不得转载。

GPS重要性能指标分析
射频低噪声放大器的应用领域
行情 | 8月4日早间数字货币行情播报
防范化解灾害风险,科技筑牢安全城墙
5G为何要全球统一标准?
AliOS Things+阿里云 10分钟搭建智慧农业解决方案
3000价位的手机推荐:小米6,一加5,荣耀9,荣耀v9,iphone6总有一款你的菜
传苹果电视iPanel年内发布
非电器用石墨进口税率由15%降至10% 将有效降低LED外延片及芯片成本
TIS800K导热矽胶布产品介绍
IR推第二代智能功率模块系列 缩小和简化家电电机驱动器设计
TMS320VC33的最小应用系统电路原理图
智慧路灯杆对车联网发展的关键作用在哪里?
大咖云集探讨自动驾驶落地 第二届全球自动驾驶论坛开幕日速递
比亚迪版小米充电器曝光,面向红米手机
电子产业将经历震痛?
ICM7211在微电机无接触测速系统中的应用
采用可编程逻辑器件实现PL4通用接口的设计
华为鸿蒙手机端即将大面积商用,鸿蒙系统8月正式开源
全球范围内加密货币的使用情况分析