“民以食為天”,糧食安全關系一個國家和民族的基本生存,聯合國發布《2022年全球糧食危機報告》稱全球或面臨嚴重的糧食短缺。糧食生產離不開澆水和施肥,要想獲得高產穩產,必須采用更加科學高效的節水灌溉技術,實現水肥一體化作業和管理。噴灌是利用管道將有壓水送到灌溉地段,并通過噴頭分散成細小水滴,均勻地噴灑到田間,對作物進行灌溉。它作為一種先進的機械化、半機械化灌水方式,可以廣泛應用于大田糧食生產。
噴灌的主要優點有:
-
節水效果顯著,水的利用率可達90%。噴灌與地面灌溉相比,1立方米水可以當2立方米水用。
-
作物增產幅度大,一般可達20%—40%,因增加了15%—20%的播種面積;可改善了田間小氣候和農業生態環境。
-
大大減少了田間渠系建設及管理維護和平整土地等的工作量。
-
減少了農民用于灌水的費用和用工量,減少生產投入,增加農民收入。
-
有利于實現農業機械化、自動化,產業化、現代化。
-
避免由于過量灌溉造成水資源浪費和土壤次生鹽堿化。
演示系統由水泵,三叉噴頭,支架,管路,變頻器,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 < 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及相關輕富設備會在鄉村振興的大趨勢中發揮舉足輕重的作用。

-
開源技術
+關注
關注
0文章
389瀏覽量
8121 -
OpenHarmony
+關注
關注
27文章
3835瀏覽量
18179
原文標題:玩嗨OpenHarmony:基于OpenHarmony的農業噴灌的可視化控制系統
文章出處:【微信號:開源技術服務中心,微信公眾號:共熵服務中心】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
工業設備可視化管理系統是什么

VirtualLab Fusion應用:3D系統可視化
可視化組態物聯網平臺是什么
可視化組態數據管理平臺是什么
VirtualLab Fusion中的可視化設置
VirtualLab Fusion應用:光波導k域布局可視化(“神奇的圓環”)
光學系統的3D可視化
什么是大屏數據可視化?特點有哪些?
如何找到適合的大屏數據可視化系統
智慧能源可視化監管平臺——助力可視化能源數據管理

基于ArkTS語言的OpenHarmony APP應用開發:HelloOpenharmony

評論