天天看點

#DAYU200體驗官#農業噴灌的可視化控制

背景

“民以食為天”,糧食安全關系一個國家和民族的基本生存,聯合國釋出《2022年全球糧食危機報告》稱全球或面臨嚴重的糧食短缺。糧食生産離不開澆水和施肥,要想獲得高産穩産,必須采用更加科學高效的節水灌溉技術,實作水肥一體化作業和管理。噴灌是利用管道将有壓水送到灌溉地段,并通過噴頭分散成細小水滴,均勻地噴灑到田間,對作物進行灌溉。它作為一種先進的機械化、半機械化灌水方式,可以廣泛應用于大田糧食生産。

噴灌的主要優點有:

⑴節水效果顯著,水的使用率可達90%。噴灌與地面灌溉相比,1立方米水可以當2立方米水用。

⑵作物增産幅度大,一般可達20%—40%,因增加了15%—20%的播種面積;可改善了田間小氣候和農業生态環境。

⑶大大減少了田間渠系建設及管理維護和平整土地等的工作量。

⑷減少了農民用于灌水的費用和用工量,減少生産投入,增加農民收入。

⑸有利于實作農業機械化、自動化,産業化、現代化。

⑹避免由于過量灌溉造成水資源浪費和土壤次生鹽堿化。

概況

農業噴灌項目采用變頻器驅動高效深井泵實作輸水管道的恒壓和變壓控制,用Hi3861承擔主要,采用DAYU200做上位機,完成系統的可視化控制。

#DAYU200體驗官#農業噴灌的可視化控制

開發環境

DevEco Studio for OpenHarmony3.0.0.900

OH系統版本:OpenHarmony 3.2.3.3

上位機開發語言: ETS

DevEco Device Tool V3.0 Release

開發闆:DAYU200,BEAIPI-HM-Nano

主要-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\r\n");
		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\r\n");
		exit(1);
	}
	//調用listen函數監聽(指定port監聽)
	if (listen(sock_fd, TCP_BACKLOG) == -1)
	{
		perror("listen is error\r\n");
		exit(1);
	}
	printf("start accept\n");
	//調用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\r\n");
		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 \r\n");
			}
			if(NULL != strstr(recvbuf,"ON")) {
			    printf("START ON  !\r\n");
				IoTGpioSetOutputVal(8, 1);
			    IoTGpioSetOutputVal(14, 1);
			}
	        if(NULL != strstr(recvbuf,"OFF")) {
				printf("START OFF !\r\n");
				IoTGpioSetOutputVal(8, 0);
			    IoTGpioSetOutputVal(14, 0);
			}
			if ((ret = send(new_fd, buf, strlen(buf) + 1, 0)) == -1)
			{
				perror("send : ");
			}
			sleep(1);
		}
		close(new_fd);
	}
}
           

上位機-DAYU200

  1. DAYU200與主要Hi3861采用TCP通信,參考文檔Socket連接配接
  2. 首頁界面,點選“開始”按鈕進控制頁面
    #DAYU200體驗官#農業噴灌的可視化控制
    3.可視化控制頁面,點選“噴灌”和“停噴”可以開啟和關閉噴灌系統。
    #DAYU200體驗官#農業噴灌的可視化控制
    #DAYU200體驗官#農業噴灌的可視化控制

示範系統組成

1.示範系統由水泵,三叉噴頭,支架,管路,變頻器,Hi3861開發闆和DAYU200開發闆共同組成。

#DAYU200體驗官#農業噴灌的可視化控制
#DAYU200體驗官#農業噴灌的可視化控制

2.示範視訊,視訊中上位機是HDMI驅動的顯示器和DAYU200開發闆的觸摸屏同時顯示。(https://ost.51cto.com/show/14436)

3.代碼倉庫

展望

88年前,毛澤東同志提出“水利是農業的命脈”;2022年2月22日,《中共中央國務院關于做好2022年全面推進鄉村振興重點工作的意見》釋出,2022年将建設高标準農田1億畝,累計建成高效節水灌溉面積4億畝。統籌規劃、同步實施高效節水灌溉與高标準農田建設。

相信OpenHarmony及相關輕富裝置會在鄉村振興的大趨勢中發揮舉足輕重的作用。

繼續閱讀