原文引自:51cto 开源基础软件社区 #dayu200体验官 《农业喷灌的可视化控制》
1. 项目背景 “民以食为天”,粮食安全关系一个国家和民族的基本生存,联合国发布《2022年全球粮食危机报告》称全球或面临严重的粮食短缺。粮食生产离不开浇水和施肥,要想获得高产稳产,必须采用更加科学高效的节水灌溉技术,实现水肥一体化作业和管理。喷灌是利用管道将有压水送到灌溉地段,并通过喷头分散成细小水滴,均匀地喷洒到田间,对作物进行灌溉。它作为一种先进的机械化、半机械化灌水方式,可以广泛应用于大田粮食生产。
喷灌的主要优点有:
节水效果显著,水的利用率可达90%。喷灌与地面灌溉相比,1立方米水可以当2立方米水用。
作物增产幅度大,一般可达20%—40%,因增加了15%—20%的播种面积;可改善了田间小气候和农业生态环境。
大大减少了田间渠系建设及管理维护和平整土地等的工作量。
减少了农民用于灌水的费用和用工量,减少生产投入,增加农民收入。
有利于实现农业机械化、自动化,产业化、现代化。
避免由于过量灌溉造成水资源浪费和土壤次生盐碱化。
2. 项目概述本农业喷灌项目采用变频器驱动高效深井泵实现输水管道的恒压和变压控制,用hi3861承担主控,采用dayu200做上位机,完成系统的可视化控制。
演示系统由水泵,三叉喷头,支架,管路,变频器,hi3861开发板和dayu200开发板共同组成。
最终效果如下:
在庭院中的演示视频如下: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 首页界面,点击“开始”按钮进控制页面。
可视化控制页面,点击“启动”和“停止”可以开启和关闭喷灌系统。
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 { 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及相关轻富设备会在乡村振兴的大趋势中发挥举足轻重的作用。
本文完写在最后我们最近正带着大家玩嗨openharmony。如果你有好玩的东东,欢迎投稿,让我们一起嗨起来!有点子,有想法,有demo,立刻联系我们:合作邮箱:zzliang@atomsource.org
原文标题:玩嗨openharmony:基于openharmony的农业喷灌的可视化控制系统
文章出处:【微信公众号:开源技术服务中心】欢迎添加关注!文章转载请注明出处。
AUTOSAR架构之内存分区与实现
笔记本内存条怎么装
蓝牙耳机100元左右买什么品牌好,百元蓝牙耳机推荐
安捷伦提供GNSS信号产生软件助力伽利略卫星系统测试
双11“爆单不爆仓”背后的秘密:说说智慧物流
玩嗨OpenHarmony:基于OpenHarmony的农业喷灌的可视化控制系统
MOSFET调整元件产生100mV压差稳压器
Velodyne重点展示高性能传感器技术
芯片业务疲软 索尼第二财季利润下降29%
反射式红外心率检测仪实现方案
中国移动在车联网方面的布局从未停止
思坦科技宣布完成pre-A轮融资
电流互感器正确绕线方法
以太网供电模式下,工业智能控制硬件具有什么优势
滤波电容的选择:大电容滤低频_小电容滤高频
爱普特APT32F1023H8S6可作主控芯片用于电动平衡车
规划建设18条产线,年产值预计超20亿元!三优光电项目封顶
通过开放标准构建块简化M2M供应链
太阳能光伏发电LED照明系统原理与设计
采用3.3V或更低直流电压供电的微控制器方案