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

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

3天内不再提示

玩嗨OpenHarmony:基于OpenHarmony的农业喷灌的可视化控制系统

共熵服务中心 来源:未知 2022-12-15 19:40 1002次阅读
原文引自:51CTO 开源基础软件社区 #DAYU200体验官 《农业喷灌的可视化控制

83794a28-7c6b-11ed-8abf-dac502259ad0.png

1. 项目背景

“民以食为天”,粮食安全关系一个国家和民族的基本生存,联合国发布《2022年全球粮食危机报告》称全球或面临严重的粮食短缺。粮食生产离不开浇水和施肥,要想获得高产稳产,必须采用更加科学高效的节水灌溉技术,实现水肥一体化作业和管理。喷灌是利用管道将有压水送到灌溉地段,并通过喷头分散成细小水滴,均匀地喷洒到田间,对作物进行灌溉。它作为一种先进的机械化、半机械化灌水方式,可以广泛应用于大田粮食生产。

喷灌的主要优点有:

  1. 节水效果显著,水的利用率可达90%。喷灌与地面灌溉相比,1立方米水可以当2立方米水用。

  2. 作物增产幅度大,一般可达20%—40%,因增加了15%—20%的播种面积;可改善了田间小气候和农业生态环境。

  3. 大大减少了田间渠系建设及管理维护和平整土地等的工作量。

  4. 减少了农民用于灌水的费用和用工量,减少生产投入,增加农民收入。

  5. 有利于实现农业机械化、自动化,产业化、现代化。

  6. 避免由于过量灌溉造成水资源浪费和土壤次生盐碱化。

2. 项目概述本农业喷灌项目采用变频器驱动高效深井泵实现输水管道的恒压和变压控制,用Hi3861承担主控,采用DAYU200做上位机,完成系统的可视化控制。

83e2a964-7c6b-11ed-8abf-dac502259ad0.png

演示系统由水泵,三叉喷头,支架,管路,变频器,Hi3861开发板和DAYU200开发板共同组成。

最终效果如下:

8401833e-7c6b-11ed-8abf-dac502259ad0.jpg

841b1dda-7c6b-11ed-8abf-dac502259ad0.jpg

843814da-7c6b-11ed-8abf-dac502259ad0.jpg

84598a84-7c6b-11ed-8abf-dac502259ad0.png

在庭院中的演示视频如下:https://ost.51cto.com/show/14689

代码仓库:https://gitee.com/hihope_iot/dayu200_demo/tree/master/%23DAYU200%E4%BD%93%E9%AA%8C%E5%AE%98%23%E5%86%9C%E4%B8%9A%E5%96%B7%E7%81%8C%E7%9A%84%E5%8F%AF%E8%A7%86%E5%8C%96%E6%8E%A7%E5%88%B6

3. 上位机-DAYU200

首页界面,点击“开始”按钮进控制页面。

84dde0fe-7c6b-11ed-8abf-dac502259ad0.png

可视化控制页面,点击“启动”和“停止”可以开启和关闭喷灌系统。

8509d998-7c6b-11ed-8abf-dac502259ad0.png

852e76ea-7c6b-11ed-8abf-dac502259ad0.png

DAYU200与主控Hi3861通过Socket进行数据传输,采用TCP协议。

//import需要的socket模块
import socket from '@ohos.net.socket';
//创建一个TCPSocket连接,返回一个TCPSocket对象
let tcp = socket.constructTCPSocketInstance();
//订阅TCPSocket相关的事件
tcp.on('message', value => {
      console.log("on message")
      let buffer = value.message
      let dataView = new DataView(buffer)
      let str = ""
      for (let i = 0;i < dataView.byteLength; ++i) {
        str += String.fromCharCode(dataView.getUint8(i))
      }
      console.log("***on connect received:" + str)
      this.receive_data=str;
    });


    tcp.on('connect', () => {
      console.log("***on connect");
      this.llog="on.con ok";
    });


    tcp.on('close', () => {
      console.log("***on close");
      this.llog="on.close ok";
    });
//绑定本机IP地址和指定的端口,端口使用中也会由系统随机分配
let bindAddress = {
      address: '192.168.*.*',
      port: 1234,
      family: 1
    };


    tcp.bind(bindAddress, err => {
      if (err) {
        console.log('***bind fail');
        return;
      }
      console.log('***bind success');
      this.llog="bind ok";
    });
//连接到主控3861的IP地址和端口
tcp.connect({ address: {address: '192.168.*.*', port: 8888, family: 1} , timeout: 6000}, err => {
      if (err) {
        console.log('***connect fail');
        return;
      }
      console.log('***connect success');
    });
//向3861发送启动指令
this.app_msg = "ON";
    tcp.send({
      data: this.app_msg,
    }, err => {
      if (err) {
        console.log('send fail');
        return;
      }
    });


//向3861发送停止指令
this.app_msg = 'OFF';
    tcp.send({
      data: this.app_msg,
    }, err => {
      if (err) {
        console.log('send fail');
        return;
      }
    });
4.主控-Hi3861

主控-Hi3861使用socket创建TCP服务端,接收来自上位机DAYU200的控制命令,同时回复状态数据到DAYU200。

static void TCPServerTask(void)
{
  //服务端地址信息
  struct sockaddr_in server_sock;
  //客户端地址信息
  struct sockaddr_in client_sock;
  int sin_size;
  struct sockaddr_in *cli_addr;
  //连接Wifi,
  WifiConnect("******", "********");
  //创建socket
  if ((sock_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
  {
    perror("socket is error
");
    exit(1);
  }
  bzero(&server_sock, sizeof(server_sock));
  server_sock.sin_family = AF_INET;
  server_sock.sin_addr.s_addr = htonl(INADDR_ANY);
  server_sock.sin_port = htons(_PROT_);
  //调用bind函数绑定socket和地址
  if (bind(sock_fd, (struct sockaddr *)&server_sock, sizeof(struct sockaddr)) == -1)
  {
    perror("bind is error
");
    exit(1);
  }
  //调用listen函数监听(指定port监听)
  if (listen(sock_fd, TCP_BACKLOG) == -1)
  {
    perror("listen is error
");
    exit(1);
  }
  printf("start accept
");
  //调用accept函数从队列中
  while (1)
  {
    sin_size = sizeof(struct sockaddr_in);
    if ((new_fd = accept(sock_fd, (struct sockaddr *)&client_sock, (socklen_t *)&sin_size)) == -1)
    {
      perror("accept");
      continue;
    }
    cli_addr = malloc(sizeof(struct sockaddr));
    printf("accept addr
");
    if (cli_addr != NULL)
    {
      memcpy(cli_addr, &client_sock, sizeof(struct sockaddr));
    }
    //处理目标
    ssize_t ret;
    while (1)
    {
      if ((ret = recv(new_fd, recvbuf, sizeof(recvbuf), 0)) == -1)
      {
        printf("recv error 
");
      }
      if(NULL != strstr(recvbuf,"ON")) {
          printf("START ON  !
");
        IoTGpioSetOutputVal(8, 1);
          IoTGpioSetOutputVal(14, 1);
      }
          if(NULL != strstr(recvbuf,"OFF")) {
        printf("START OFF !
");
        IoTGpioSetOutputVal(8, 0);
          IoTGpioSetOutputVal(14, 0);
      }
      if ((ret = send(new_fd, buf, strlen(buf) + 1, 0)) == -1)
      {
        perror("send : ");
      }
      sleep(1);
    }
    close(new_fd);
  }
}
开发环境
  • DevEco Studio for OpenHarmony3.0.0.900

  • OH系统版本:OpenHarmony 3.2.3.3

  • 上位机开发语言:ETS

  • DevEco Device Tool V3.0 Release

  • 开发板:DAYU200,BEAIPI-HM-Nano

展望

“水利是农业的命脉”,2022年2月22日,《中共中央国务院关于做好2022年全面推进乡村振兴重点工作的意见》发布,2022年将建设高标准农田1亿亩,累计建成高效节水灌溉面积4亿亩。统筹规划、同步实施高效节水灌溉与高标准农田建设。

相信OpenHarmony及相关轻富设备会在乡村振兴的大趋势中发挥举足轻重的作用。

854bd370-7c6b-11ed-8abf-dac502259ad0.gif 本文完写在最后我们最近正带着大家玩嗨OpenHarmony。如果你有好玩的东东,欢迎投稿,让我们一起嗨起来!有点子,有想法,有Demo,立刻联系我们:合作邮箱:zzliang@atomsource.org


原文标题:玩嗨OpenHarmony:基于OpenHarmony的农业喷灌的可视化控制系统

文章出处:【微信公众号:开源技术服务中心】欢迎添加关注!文章转载请注明出处。


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

    关注

    0

    文章

    389

    浏览量

    7928
  • OpenHarmony
    +关注

    关注

    25

    文章

    3711

    浏览量

    16247

原文标题:玩嗨OpenHarmony:基于OpenHarmony的农业喷灌的可视化控制系统

文章出处:【微信号:开源技术服务中心,微信公众号:共熵服务中心】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    相关推荐

    什么是大屏数据可视化?特点有哪些?

    大屏数据可视化是指通过大屏幕展示大量数据和信息,以直观、可视化的方式帮助用户理解和分析数据。这种展示方式通常用于展示复杂的数据集、实时监控系统、企业管理仪表盘等。以下是关于 大屏数据可视化
    的头像 发表于 12-16 16:59 98次阅读

    如何找到适合的大屏数据可视化系统

    选择合适的大屏数据可视化系统是企业或组织在数字转型过程中至关重要的一步。一个优秀的大屏数据可视化系统能够实时呈现关键业务数据,提升决策效率
    的头像 发表于 12-13 15:47 98次阅读

    智慧能源可视化监管平台——助力可视化能源数据管理

    博达可视化大屏设计平台在智慧能源领域的价值体现在实时监控、数据可视化、决策支持和效率提升等方面。借助该平台,企业可以轻松搭建智慧能源类可视化大屏,更加精确和高效地管理生产和生活,实现能源的可持续发展。
    的头像 发表于 11-29 10:00 248次阅读
    智慧能源<b class='flag-5'>可视化</b>监管平台——助力<b class='flag-5'>可视化</b>能源数据管理

    基于ArkTS语言的OpenHarmony APP应用开发:HelloOpenharmony

    1、程序简介该程序是基于OpenHarmony标准系统编写的UI应用类:HelloOpenHarmony。本案例是基于API9接口开发。本案例已在OpenHarmony凌蒙派-RK35
    的头像 发表于 09-15 08:09 366次阅读
    基于ArkTS语言的<b class='flag-5'>OpenHarmony</b> APP应用开发:Hello<b class='flag-5'>Openharmony</b>

    蜂窝物联可视化大棚,让种植管理一目了然

    可视化大棚指的是利用现代信息技术,如物联网、大数据、遥感、GIS地理信息系统、互联网等,将农业生产的各个环节进行数字、智能化处理,并通过可视化
    的头像 发表于 06-18 14:39 406次阅读
    蜂窝物联<b class='flag-5'>可视化</b>大棚,让种植管理一目了然

    三维可视化系统平台介绍及优势

    三维可视化 系统平台是一种基于三维技术开发的软件系统,主要用于实现对三维空间中数据、模型、场景等内容的可视化展示和操作。这样的系统平台在各个
    的头像 发表于 06-12 16:02 608次阅读
    三维<b class='flag-5'>可视化</b><b class='flag-5'>系统</b>平台介绍及优势

    态势数据可视化技术有哪些

    的一些主要类型及特点: 智慧华盛恒辉网络安全态势指标可视化分析系统: 基于地理信息系统、网络拓扑图、攻击路径等的安全态势可视化分析系统方法。
    的头像 发表于 06-11 15:47 367次阅读

    讯维数字孪生可视化系统:构建智慧农业精准管理新模式

    讯维数字孪生可视化系统为智慧农业带来了精准管理的新模式,这一系统通过一系列创新技术,为农业管理带来了前所未有的便利和效率。以下是该
    的头像 发表于 05-07 16:47 547次阅读

    态势数据可视化技术有哪些

    智慧华盛恒辉态势数据可视化技术是一种将复杂、动态的态势数据以直观、易于理解的方式展现出来的技术手段。以下是几种主要的态势数据可视化技术: 网络安全态势指标可视化分析系统及方法,针对安全
    的头像 发表于 04-22 15:17 397次阅读

    数字孪生可视化系统农业智能管理中的应用案例

    随着科技的快速发展,数字孪生技术正逐渐成为农业智能管理的重要工具。讯维数字孪生可视化系统以其强大的数据整合、模型构建和可视化展示能力,为
    的头像 发表于 03-19 15:42 536次阅读

    Purple Pi OH开发板带你7天入门OpenHarmony

    经过上一次的学习,我们已经初步了解了PurplePiOH,并完成了OpenHarmonyOS的烧录,接下来请各位小白跟着笔者的步骤,完成配件的连接,让系统变得“可视化”,与OpenHarmon
    的头像 发表于 02-21 08:32 519次阅读
    Purple Pi OH开发板带你7天入门<b class='flag-5'>OpenHarmony</b>!

    润开鸿龙芯交通控制器设备通过OpenHarmony兼容性测评

    典型落地产品,同时为实现隧道与OpenHarmony的深度融合以及整个隧道机电系统的标准、自主带来新突破。润开鸿龙芯交通控制器设备
    的头像 发表于 02-19 12:06 685次阅读
    润开鸿龙芯交通<b class='flag-5'>控制</b>器设备通过<b class='flag-5'>OpenHarmony</b>兼容性测评

    可视化全程追溯,可视化资产管理系统

    摘要:本文将从应用价值、系统功能、资产盘点、资产出入库、资产定位以及系统实现能效等几个方面,阐述新导物联可视化资产管理系统为企业提供的优势,以提升资产管理的效率和准确度。 一、应用价值
    的头像 发表于 01-11 13:54 491次阅读
    <b class='flag-5'>可视化</b>全程追溯,<b class='flag-5'>可视化</b>资产管理<b class='flag-5'>系统</b>

    分布式可视化控制系统助力大数据中心数字升级!

    维分布式可视化控制系统,该系统以全IP网络架构为基础,利用现代网络技术、计算机技术和音频处理技术,通过网络将大数据中心系统的运营管理、安全监控、应急指挥等
    的头像 发表于 12-29 14:59 513次阅读

    分布式可视化管理系统,让多媒体会议管理更高效!

    决这些问题,讯维分布式可视化管理系统应运而生,并在多媒体会议系统中得到了广泛应用。 那么相比传统的多媒体会议控制系统,讯维分布式可视化管理
    的头像 发表于 12-29 14:57 1125次阅读
    分布式<b class='flag-5'>可视化</b>管理<b class='flag-5'>系统</b>,让多媒体会议管理更高效!