聚豐項目 > 自動無土栽培控制器
隨著社會的發展土地變得越來越稀缺,能吃上一點綠色食品將成為一種奢侈。 社會在不斷的進步,工業生產在走精細化、數字化道路。未來農業發展應該也離不開這條道路。本控制系統就是提供一種無土栽培過程中能實時測量環境溫濕度、水溫、光照強度等參數并開啟各種執行元件對蔬菜生長過程的精準監測與控制,并通過互聯網云端大數據讓種植變得簡單。
黃_e9c
黃_e9c
團隊成員
黃明峰 工程師
一種無土栽培控制系統包括: 栽培機構與控制系統兩部分組成,其中栽培機構部分只是為了說明控制系統的工作流程。
一、栽培機構部分:
機構連接部分:
二、控制系統控制部分:
采用意法半導體提供的NUCLEO-F401RE開發板。
2.2 ? 無線通信模塊
采用慶科提供的EMW3080無線模塊, EMW3080是單3.3V供電的、集成Wi-Fi和Cortex-M4F MCU的嵌入式Wi-Fi模塊,最高支持133M主頻和256K RAM
2.3 ?溫度水位傳感器
溫度水位傳感采用常用的太陽能溫度水位傳感器.NTC R25為10K 歐,水位傳感器空為60K歐。
2.4 ?光線強度傳感器
5528光敏電阻光敏電阻。
2.5 ?溫度濕度傳感器
采用DHT11溫濕度傳感器。
1.傳感器采用DHT11
2.濕度測量范圍:20%-95%(0 度-50 度范圍)濕度測量誤差:+-5%
3.溫度測量范圍:0 度-50 度溫度測量誤差:+-2 度
4.工作電壓3.3V-5V
5.輸出形式:數字輸出
2.6 ?溫水位傳感器
水溫傳感器 R25=10K
水位傳感器 30K+10K+10K+10K=60K
2.7 ?控制輸出端
4路5V繼電器模塊X2
1. 繼電器輸出觸點最大250V 10A
2. 輸入IN1 IN2 IN3 IN4信號線低電平有效VCC
5. 連接器板
6.連接總成
說明
一、首先在慶科云端建立產品、屬性點。
二、軟件采用Mbed在線開發平臺進行開發。
2.2 //讀取傳感器數據
void ReadInputData(void)
{
wait(1.0); // 1 second
Air_sensor.DHT11_Read_Data(&dht11_temp_data, &dht11_hum_data); //數據要與FOG3上對應
InputData[0]=NTC_sensor.getTemperature(); //讀取水溫
InputData[1]=LightRes_sensor.getLightRes(); //讀取光強度
InputData[2]=WaterLevel_sensor.getWaterLevel(); //讀取水位
InputData[3]=(float)dht11_temp_data; //讀取環境溫度
InputData[4]=(float)dht11_hum_data; //讀取濕度
}
2.3 //FramePackage類對數據進行組包并檢驗
void FramePackage::FrameData(float *FD,bool *bsd,unsigned char *SendData)
{
unsigned char DataHex[48];
SendData[0]=0xAA;
SendData[1]=0xBB;
/**/
DataHex[0]=0x0A;
DataHex[1]=0x00;
DataHex[2]=0x2D;
for(int i=0; i<5; i++) {
LongToHex(FD[i],FloatHext);
DataHex[3+i*6]=i+1;
DataHex[4+i*6]=0x03;
DataHex[5+i*6]=FloatHext[0];
DataHex[6+i*6]=FloatHext[1];
DataHex[7+i*6]=FloatHext[2];
DataHex[8+i*6]=FloatHext[3];
}
for(int i=0; i<5; i++) {
DataHex[33+i*3]=i+6;
DataHex[34+i*3]=0x00;
DataHex[35+i*3]=bsd[i];
}
for (int i=0; i<48; i++) {
SendData[2+i]=DataHex[i];
}
unsigned char RC=dp_hex_frame_checksum(DataHex,sizeof(DataHex));
SendData[50]=RC;
}
//浮點數轉成無符號字符
void FramePackage::LongToHex(float FloatData,u8 *m)
{
long L= *( long *)&FloatData;
m[0]=L>>24;
m[1]=(L&0xFFFFFF)>>16;
m[2]=(L&0xFFFF)>>8;
m[3]=(L&0xFF);
}
//RCR校驗
unsigned char FramePackage::dp_hex_frame_checksum( unsigned char * buf, unsigned short length )
{
unsigned short checksum = 0;
unsigned char * buf_ptr = buf;
while ( length > 0 ) {
checksum += *buf_ptr;
buf_ptr++;
length--;
}
checksum = (checksum >> 8) + (checksum & 0x00FF);
if ( (checksum & 0xFF00) != 0 ) {
checksum = (checksum >> 8) + (checksum & 0x00FF);
}
return (unsigned char) (~checksum);
}
2.4//將組包好的數據通過串口發送給 3080無線模塊。在由3080無線模塊將HEX數據轉化成Json字串發送給云端。云端在將數據發送的手機APP。手機端就能看到實時采集的數據了并控制設備。
void SendDataFog3()
{
FramePackage FP; //定義組包
wait(5);
pc.printf("AT+FOGSEND=1,51\r"); //準備發送數據包1=HEX,0=透傳模式 數據大小51
wait(5);
ReadInputData(); //讀取傳感器數據
FP.FrameData(InputData,OutDataSW,SendHexData); //組包數據幀
for(int i=0; i<51 ; i++) { //將組包好的數據從串口發送出去
pc.printf("%c",SendHexData[i]); //以符形式
}
wait(5);
}
無線模塊與云端進行綁定
設備向云端發送數據
手機APP接到MCU數據
手機APP向設備發Json指令
設備接收到手機APP指令
肇慶天人電腦: 成本是多少嗎
回復
肇慶天人電腦: 能教下我嗎 380258819
回復