“民以食為天”,糧食安全關(guān)系一個(gè)國(guó)家和民族的基本生存,聯(lián)合國(guó)發(fā)布《2022年全球糧食危機(jī)報(bào)告》稱(chēng)全球或面臨嚴(yán)重的糧食短缺。糧食生產(chǎn)離不開(kāi)澆水和施肥,要想獲得高產(chǎn)穩(wěn)產(chǎn),必須采用更加科學(xué)高效的節(jié)水灌溉技術(shù),實(shí)現(xiàn)水肥一體化作業(yè)和管理。噴灌是利用管道將有壓水送到灌溉地段,并通過(guò)噴頭分散成細(xì)小水滴,均勻地噴灑到田間,對(duì)作物進(jìn)行灌溉。它作為一種先進(jìn)的機(jī)械化、半機(jī)械化灌水方式,可以廣泛應(yīng)用于大田糧食生產(chǎn)。
噴灌的主要優(yōu)點(diǎn)有:
-
節(jié)水效果顯著,水的利用率可達(dá)90%。噴灌與地面灌溉相比,1立方米水可以當(dāng)2立方米水用。
-
作物增產(chǎn)幅度大,一般可達(dá)20%—40%,因增加了15%—20%的播種面積;可改善了田間小氣候和農(nóng)業(yè)生態(tài)環(huán)境。
-
大大減少了田間渠系建設(shè)及管理維護(hù)和平整土地等的工作量。
-
減少了農(nóng)民用于灌水的費(fèi)用和用工量,減少生產(chǎn)投入,增加農(nóng)民收入。
-
有利于實(shí)現(xiàn)農(nóng)業(yè)機(jī)械化、自動(dòng)化,產(chǎn)業(yè)化、現(xiàn)代化。
-
避免由于過(guò)量灌溉造成水資源浪費(fèi)和土壤次生鹽堿化。
演示系統(tǒng)由水泵,三叉噴頭,支架,管路,變頻器,Hi3861開(kāi)發(fā)板和DAYU200開(kāi)發(fā)板共同組成。
最終效果如下:
在庭院中的演示視頻如下:https://ost.51cto.com/show/14689
代碼倉(cāng)庫(kù):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. 上位機(jī)-DAYU200首頁(yè)界面,點(diǎn)擊“開(kāi)始”按鈕進(jìn)控制頁(yè)面。
可視化控制頁(yè)面,點(diǎn)擊“啟動(dòng)”和“停止”可以開(kāi)啟和關(guān)閉噴灌系統(tǒng)。
DAYU200與主控Hi3861通過(guò)Socket進(jìn)行數(shù)據(jù)傳輸,采用TCP協(xié)議。
//import需要的socket模塊
import socket from '@ohos.net.socket';
//創(chuàng)建一個(gè)TCPSocket連接,返回一個(gè)TCPSocket對(duì)象
let tcp = socket.constructTCPSocketInstance();
//訂閱TCPSocket相關(guān)的事件
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";
});
//綁定本機(jī)IP地址和指定的端口,端口使用中也會(huì)由系統(tǒng)隨機(jī)分配
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發(fā)送啟動(dòng)指令
this.app_msg = "ON";
tcp.send({
data: this.app_msg,
}, err => {
if (err) {
console.log('send fail');
return;
}
});
//向3861發(fā)送停止指令
this.app_msg = 'OFF';
tcp.send({
data: this.app_msg,
}, err => {
if (err) {
console.log('send fail');
return;
}
});
4.主控-Hi3861主控-Hi3861使用socket創(chuàng)建TCP服務(wù)端,接收來(lái)自上位機(jī)DAYU200的控制命令,同時(shí)回復(fù)狀態(tài)數(shù)據(jù)到DAYU200。
static void TCPServerTask(void)
{
//服務(wù)端地址信息
struct sockaddr_in server_sock;
//客戶(hù)端地址信息
struct sockaddr_in client_sock;
int sin_size;
struct sockaddr_in *cli_addr;
//連接Wifi,
WifiConnect("******", "********");
//創(chuàng)建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_);
//調(diào)用bind函數(shù)綁定socket和地址
if (bind(sock_fd, (struct sockaddr *)&server_sock, sizeof(struct sockaddr)) == -1)
{
perror("bind is error
");
exit(1);
}
//調(diào)用listen函數(shù)監(jiān)聽(tīng)(指定port監(jiān)聽(tīng))
if (listen(sock_fd, TCP_BACKLOG) == -1)
{
perror("listen is error
");
exit(1);
}
printf("start accept
");
//調(diào)用accept函數(shù)從隊(duì)列中
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));
}
//處理目標(biāo)
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);
}
}
開(kāi)發(fā)環(huán)境-
DevEco Studio for OpenHarmony3.0.0.900
-
OH系統(tǒng)版本:OpenHarmony 3.2.3.3
-
上位機(jī)開(kāi)發(fā)語(yǔ)言:ETS
-
DevEco Device Tool V3.0 Release
-
開(kāi)發(fā)板:DAYU200,BEAIPI-HM-Nano
“水利是農(nóng)業(yè)的命脈”,2022年2月22日,《中共中央國(guó)務(wù)院關(guān)于做好2022年全面推進(jìn)鄉(xiāng)村振興重點(diǎn)工作的意見(jiàn)》發(fā)布,2022年將建設(shè)高標(biāo)準(zhǔn)農(nóng)田1億畝,累計(jì)建成高效節(jié)水灌溉面積4億畝。統(tǒng)籌規(guī)劃、同步實(shí)施高效節(jié)水灌溉與高標(biāo)準(zhǔn)農(nóng)田建設(shè)。
相信OpenHarmony及相關(guān)輕富設(shè)備會(huì)在鄉(xiāng)村振興的大趨勢(shì)中發(fā)揮舉足輕重的作用。
![854bd370-7c6b-11ed-8abf-dac502259ad0.gif](http://m.xsypw.cn/images/chaijie_default.png)
原文標(biāo)題:玩嗨OpenHarmony:基于OpenHarmony的農(nóng)業(yè)噴灌的可視化控制系統(tǒng)
文章出處:【微信公眾號(hào):開(kāi)源技術(shù)服務(wù)中心】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
開(kāi)源技術(shù)
+關(guān)注
關(guān)注
0文章
389瀏覽量
7992 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3747瀏覽量
16588
原文標(biāo)題:玩嗨OpenHarmony:基于OpenHarmony的農(nóng)業(yè)噴灌的可視化控制系統(tǒng)
文章出處:【微信號(hào):開(kāi)源技術(shù)服務(wù)中心,微信公眾號(hào):共熵服務(wù)中心】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
光學(xué)系統(tǒng)的3D可視化
什么是大屏數(shù)據(jù)可視化?特點(diǎn)有哪些?
如何找到適合的大屏數(shù)據(jù)可視化系統(tǒng)
智慧能源可視化監(jiān)管平臺(tái)——助力可視化能源數(shù)據(jù)管理
![智慧能源<b class='flag-5'>可視化</b>監(jiān)管平臺(tái)——助力<b class='flag-5'>可視化</b>能源數(shù)據(jù)管理](https://file1.elecfans.com/web3/M00/00/4D/wKgZPGdIGmWAd19uAACECcpQqKU333.png)
基于ArkTS語(yǔ)言的OpenHarmony APP應(yīng)用開(kāi)發(fā):HelloOpenharmony
![基于ArkTS語(yǔ)言的<b class='flag-5'>OpenHarmony</b> APP應(yīng)用開(kāi)發(fā):Hello<b class='flag-5'>Openharmony</b>](https://file.elecfans.com/web2/M00/26/21/pYYBAGG5jjSALfrEAAAwAa9Oig8799.png)
基于BIM技術(shù)的可視化管理系統(tǒng)
蜂窩物聯(lián)可視化大棚,讓種植管理一目了然
![蜂窩物聯(lián)<b class='flag-5'>可視化</b>大棚,讓種植管理一目了然](https://file1.elecfans.com//web2/M00/F0/BB/wKgaomZxK5WAeGKTAAF1g7u2bWA49.jpeg)
三維可視化系統(tǒng)平臺(tái)介紹及優(yōu)勢(shì)
![三維<b class='flag-5'>可視化</b><b class='flag-5'>系統(tǒng)</b>平臺(tái)介紹及優(yōu)勢(shì)](https://file1.elecfans.com//web2/M00/EC/F6/wKgZomZpVhaAUFpLADM0WycnhGE306.png)
態(tài)勢(shì)數(shù)據(jù)可視化技術(shù)有哪些
訊維數(shù)字孿生可視化系統(tǒng):構(gòu)建智慧農(nóng)業(yè)精準(zhǔn)管理新模式
態(tài)勢(shì)數(shù)據(jù)可視化技術(shù)有哪些
態(tài)勢(shì)可視化系統(tǒng)軟件
數(shù)字孿生可視化系統(tǒng)在農(nóng)業(yè)智能化管理中的應(yīng)用案例
Purple Pi OH開(kāi)發(fā)板帶你7天入門(mén)OpenHarmony!
![Purple Pi OH開(kāi)發(fā)板帶你7天入門(mén)<b class='flag-5'>OpenHarmony</b>!](https://file1.elecfans.com/web2/M00/8F/50/wKgZomTMciWAD54NAABOGP2pQZY452.png)
潤(rùn)開(kāi)鴻龍芯交通控制器設(shè)備通過(guò)OpenHarmony兼容性測(cè)評(píng)
![潤(rùn)開(kāi)鴻龍芯交通<b class='flag-5'>控制</b>器設(shè)備通過(guò)<b class='flag-5'>OpenHarmony</b>兼容性測(cè)評(píng)](https://file.elecfans.com/web1/M00/C6/9F/pIYBAF9Z2ZCASlfdAABEe46tq4Y396.png)
評(píng)論