加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

2016年廣東省電子設(shè)計(jì)大賽健康電子專題——健康養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng)(環(huán)境監(jiān)控系統(tǒng)V1.0版本)

2018/01/23
105
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
方塊圖(2)
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

2016年7月至8月下旬,筆者正逢大一暑假,和兩個(gè)大二的師兄一起參加了這個(gè)比賽。

現(xiàn)在筆者讀大三,比較有時(shí)間便分享一下這段經(jīng)歷,下面主要講整個(gè)系統(tǒng)的設(shè)計(jì)和之后完善方向。

首先是解題思路:我們查看了官網(wǎng)上有關(guān)這次比賽健康電子專題的資料,資料上提出希望參賽者結(jié)合互聯(lián)網(wǎng)+、物聯(lián)網(wǎng)技術(shù),設(shè)計(jì)一個(gè)關(guān)于健康電子的作品。于是,我們便有了這個(gè)想法,通過無線方式上傳數(shù)據(jù)至云端,監(jiān)測(cè)、上傳一些危害人體健康的數(shù)據(jù),并可以實(shí)時(shí)看到數(shù)據(jù)且通過控制減少危害,這完全切合題意。

系統(tǒng)實(shí)現(xiàn)的功能:集云端監(jiān)測(cè)、自動(dòng)化控制(閉環(huán))、遠(yuǎn)程控制(開環(huán))于一體,運(yùn)用WIFI和GPRS技術(shù),將水質(zhì)指標(biāo)數(shù)據(jù)上傳至云端(OneNet物聯(lián)網(wǎng)云服務(wù)平臺(tái)),當(dāng)水質(zhì)指標(biāo)值超過設(shè)定值時(shí),系統(tǒng)向用戶發(fā)送手機(jī)信息和控制水質(zhì)處理設(shè)備,改善水質(zhì)的質(zhì)量。

詳細(xì)介紹:該系統(tǒng)通過傳感器檢測(cè)水體中的水溫、水濁度、PH值以及外界的光照強(qiáng)度。經(jīng)過單片機(jī)(arduino)的處理,系統(tǒng)將傳感器的數(shù)值轉(zhuǎn)換為對(duì)應(yīng)的水體指標(biāo)數(shù)值,經(jīng)過按鍵選擇WIFI和GPRS傳輸模式,將數(shù)據(jù)上傳至ONENET平臺(tái)。用戶可通過電腦網(wǎng)頁(yè)或手機(jī)APP查看數(shù)據(jù)和控制水質(zhì)處理設(shè)備。當(dāng)水質(zhì)指標(biāo)超過設(shè)定值時(shí),系統(tǒng)向用戶發(fā)送手機(jī)信息和控制水質(zhì)處理設(shè)備,改善水質(zhì)的養(yǎng)殖質(zhì)量。

采用的方案:

該系統(tǒng)采用WIFI和GPRS相互結(jié)合進(jìn)行傳感器數(shù)據(jù)的傳輸,通過ONENET平臺(tái)進(jìn)行數(shù)據(jù)的上傳。

功能框圖:

硬件

單片機(jī):arduino mega2560

傳感器: DS18b20 、PH計(jì)、渾濁度傳感器、光照傳感器

模塊:ESP8266、 SIM800、繼電器

主程序框圖:

部分程序框圖:

部分源代碼

String ssid = "PUSHPULL";//需要連接的自己路由器的無線名稱
String pass = "888******";//無線密碼

#define OneNetAPIKEY "pmWLtnkDBSreKfvg7GsClUXdXa4A'' //ONENET的APIkey
#define OneNetDeviceID 79146 //設(shè)備ID號(hào)
#define OneNetSensorID0 "TEMP" //數(shù)據(jù)流名稱
#define OneNetSensorID1 "HUMI"

WIFI wifi;

void setup() {
wifi.begin(ssid,pass);//設(shè)置wifi連接
}

void loop() {
//讀取溫濕度傳感器值,經(jīng)過這個(gè)函數(shù)后,myDHT11.TEM_Buffer_Int和myDHT11.HUMI_Buffer_Int被分別填充上了溫度和濕度值
myDHT11.DHT11_Read();
//將數(shù)據(jù)上傳到ONENET對(duì)應(yīng)的設(shè)備和傳感器
wifi.postDataToOneNet(OneNetAPIKEY,OneNetDeviceID,OneNetSensorID0,myDHT11.TEM_Buffer_Int);
delay(1000);
wifi.postDataToOneNet(OneNetAPIKEY,OneNetDeviceID,OneNetSensorID1,myDHT11.HUMI_Buffer_Int);
delay(1000);
} //該代碼例程是一位arduino開發(fā)者寫的,底層函數(shù)打包在一個(gè)arduino的CPP庫(kù)中,WIFI傳輸數(shù)據(jù)全是基于這個(gè)代碼。

//以下是GPRS上傳數(shù)據(jù)的函數(shù),我們團(tuán)隊(duì)編寫的。

void postGSMdatatoOneNet(String APIKEY1,unsigned long device_id,String sensor_id,float thisData){
Serial.println("AT+CIPSTART="TCP","api.heclouds.com",80"); //修改為要發(fā)送給的IP和端口
delay(3000);
Serial.println("AT+CIPSEND"); //設(shè)置發(fā)送模式
delay(100);
time = millis(); //返回當(dāng)前CPU時(shí)間
String cmd;

//以下按照ONENET通信協(xié)議,發(fā)送字符串
cmd = "POST https://api.heclouds.com/devices/";
cmd += String(device_id);
cmd += "/datapoints HTTP/1.1rn";
cmd += "Host: ";
cmd += "api.heclouds.com";
cmd += "rn";
cmd += "api-key: ";
cmd += APIKEY1;
cmd += "rn";
cmd += "Connection: close";
cmd += "rn";
cmd += "Content-Length: ";

String thisData1=String(thisData);
int length = 53 + sensor_id.length() + thisData1.length(); //算出長(zhǎng)度
cmd += String(length);
cmd += "rnrn";
cmd += "{"datastreams":[{"id":"";
cmd += sensor_id;
cmd += "","datapoints":[{"value":";
cmd += String(thisData);
cmd += "}]}]}";
cmd += "rnrnrnrn";
Serial.print(cmd);
delay(200);
Serial.write(26);
delay(500);
Serial.println("AT+CIPCLOSE"); //傳輸關(guān)閉
delay(200);
}

傳感器方面不是我們想體現(xiàn)的主要功能,在有庫(kù)函數(shù)的情況下,arduino中傳感器程序比較簡(jiǎn)單,我們只是將數(shù)據(jù)做了一些濾波和轉(zhuǎn)換,在這里就不貼出來了。

作品圖片:

網(wǎng)頁(yè)版

手機(jī)APP

比賽作品

附:ONENET網(wǎng)址:https://open.iot.10086.cn/?utm_source=baidu&utm_campaign=%E5%93%81%E7%89%8C&utm_adgroup=onenet-%E6%A0%B8%E5%BF%83&utm_term=onenet&utm_medium=search_cpc

(可以注冊(cè)賬號(hào)和下載app,用戶免費(fèi)使用其云端)

該版本的不足:

由于當(dāng)時(shí)水平不夠,所以用了編程相對(duì)比較簡(jiǎn)單的arduino,arduino開發(fā)周期雖然短,但是局限性也比較大,如果要做深入的應(yīng)用開發(fā),還是要用其他單片機(jī),比如STM32等。

完善方向:

該系統(tǒng)可以將單片機(jī)換成STM32,芯片為F103RCT6,比完賽后筆者在ONENET官方群上申請(qǐng)了這樣的一塊板,可以做后期的應(yīng)用開發(fā)。除了使用WIFI,GPRS這些無線方式,近年來比較火的NB-iot也是一個(gè)很好的方向。此外,應(yīng)用場(chǎng)景很廣泛,各種監(jiān)測(cè)都能使用,如果個(gè)人使用,ONENET已經(jīng)足夠了;企業(yè)使用的話,可以開發(fā)企業(yè)專屬云端和配套的網(wǎng)站、APP。

附一些資料,代碼等。

  • wifi擴(kuò)展板電路圖.pdf
    描述:模塊原理圖
  • bisai123.rar
    描述:原理圖
  • 水產(chǎn)健康養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng).pdf
    描述:論文

相關(guān)推薦

電子產(chǎn)業(yè)圖譜