久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4460|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

基于arduino+ESP8266 wifi的智能魚缸源碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:823492 發(fā)表于 2020-9-26 15:35 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
此智能魚殖生態(tài)系統(tǒng)能夠?qū)崟r(shí)對(duì)養(yǎng)殖環(huán)境進(jìn)行光照強(qiáng)度監(jiān)測(cè)、PH值監(jiān)測(cè)、水濁度監(jiān)測(cè)、水溫監(jiān)測(cè)、水位監(jiān)測(cè)、入侵監(jiān)測(cè),并當(dāng)檢測(cè)到采集的參數(shù)值發(fā)送至手機(jī)APP,同時(shí)可以利用手機(jī)APP實(shí)現(xiàn)對(duì)魚殖環(huán)境改變等功能的遠(yuǎn)程操控,從而實(shí)現(xiàn)了魚養(yǎng)殖的智能化、信息化管理。
1、APP無需重復(fù)輸入賬號(hào)密碼,打開就能看到數(shù)據(jù),節(jié)省用戶時(shí)間,操作方便。
2、環(huán)境傳感器采集到的數(shù)據(jù)能夠利用無線通信技術(shù)將數(shù)據(jù)實(shí)時(shí)傳送至APP并顯示。
3、當(dāng)環(huán)境因素出現(xiàn)異常或外來人員與動(dòng)物入侵時(shí)給予預(yù)警。
4、遠(yuǎn)程控制技術(shù)能將水泵、LED燈、加熱管、喂食裝置進(jìn)行遠(yuǎn)程的控制。

程序源碼:
  1. #include <SoftwareSerial.h>
  2. #include <OneWire.h>
  3. #include <DallasTemperature.h>
  4. // 數(shù)據(jù)輸出腳接開發(fā)板數(shù)字引腳22
  5. #define ONE_WIRE_BUS 21  
  6. #include <MsTimer2.h>
  7. #include <Servo.h>
  8. Servo myservo;
  9. char c = "";   
  10. int pos =22;   
  11. int i;
  12. #define DEBUG true
  13. /*#define DebugSerial   Serial      //定義程序調(diào)試接在串口0*/
  14. #define esp8266Serail Serial3     //定義ESP8266接在串口3
  15. #define ONE_WIRE_BUS 45//溫度
  16. #define PIN_A A5 //光
  17. #define PIN_D 18  //光
  18. int incomedate = 0;  //水泵數(shù)據(jù)  
  19. #define Sensor_pin  24     //人體紅外檢測(cè)
  20. #define ledpin  11       //人體紅外檢測(cè)
  21. #define relayPin 6       //水泵繼電器連接引腳
  22. #define relayPin1 7      //水泵繼電器連接引腳
  23. #define relayPin2 23      //加熱繼電器連接引腳
  24. #define relayPin3 29      //guang繼電器連接引腳
  25. #define Guang A8          //PH
  26. #define Turbidity_Sensor A1       //水濁度傳感器模擬量接口A1
  27. float ADpin = 0;            
  28. double depth1,data;
  29. OneWire oneWire(ONE_WIRE_BUS);
  30. DallasTemperature sensors(&oneWire);
  31. char sensor_id2[] = "val";           //添加光照數(shù)據(jù)流
  32. char sensor_id3[] = "Turbidity";
  33. int Turbidity;                     //定義水濁度變量
  34. #define DebugSerial   Serial      //定義程序調(diào)試接在串口0
  35. const int INTERVAL = 3000;   // 0.5 秒 = 500ms
  36. void ff( ) {
  37.   if (esp8266Serail.available()) {
  38.     Serial.write(esp8266Serail.read());
  39.   }
  40.    if (Serial.available()) {
  41.     esp8266Serail.write(Serial.read());
  42.   }
  43.   int val;
  44.   val = analogRead(PIN_A);
  45.   sensors.requestTemperatures(); // 發(fā)送命令獲取溫度
  46.   String x="AT+CIPSEND=0,21\r\n";
  47.   sendCommand(x,0,false); // reset module
  48.   sendCommand(String(sensors.getTempCByIndex(0)),0,false); // reset module
  49.   sendCommand(String(val),0,false); // reset module  
  50.   Turbidity = 1023 - analogRead(Turbidity_Sensor); //水濁度傳感器
  51.   sendCommand(String(Turbidity),0,false); // reset module
  52.   ADpin = analogRead(Guang); //ph
  53.   sendCommand(String(ADpin / 100),0,false); // reset module
  54.   depth1 = (long)analogRead(0);
  55.   data = (depth1 / 670) * 4;
  56.   sendCommand(String(data),0,false); // reset module
  57.   int hh = digitalRead(Sensor_pin); //定義參數(shù)存儲(chǔ)人體紅外傳感器讀到的狀態(tài)
  58.   if (hh == 1) //如果檢測(cè)到有動(dòng)物運(yùn)動(dòng)(在檢測(cè)范圍內(nèi)),蜂鳴器發(fā)出警報(bào)
  59.   {
  60.     sendCommand("01",0,false); // reset module
  61.     digitalWrite(ledpin, HIGH);

  62.   }
  63.   else
  64.   {
  65.     sendCommand("00",0,false); // reset module
  66.     digitalWrite(ledpin, LOW);
  67.   }

  68. }                           
  69.                           
  70. void setup()
  71. {
  72.   Serial.begin(115200);
  73.   esp8266Serail.begin(115200); // your esp's baud rate might be different
  74.   sensors.begin();  
  75.   sendCommand("AT+CWMODE=2\r\n",2000,DEBUG); // reset module
  76. // delay(20000);
  77.   String s="AT+CWSAP=\"智能魚殖生態(tài)系統(tǒng)\",\"12345678\",11,0\r\n";
  78.   sendCommand(s,2000,DEBUG);// reset module
  79.   Serial.println("1");
  80. //delay(30000);
  81.   sendCommand("AT+RST\r\n",2000,DEBUG); // reset module
  82.   delay(3000);
  83.   sendCommand("AT+CIPMUX=1\r\n",1000,DEBUG); // configure for multiple connections
  84. //delay(20000);
  85.   sendCommand("AT+CIPSERVER=1,6000\r\n",1000,DEBUG); // turn on server on port 80
  86.   pinMode(6,OUTPUT); //水泵
  87.   pinMode(relayPin, OUTPUT);
  88.   pinMode(7,OUTPUT); //水泵
  89.   pinMode(relayPin1, OUTPUT);
  90.   pinMode(23,OUTPUT); //水泵
  91.   pinMode(relayPin2, OUTPUT);
  92.   pinMode(29,OUTPUT); //水泵
  93.   pinMode(relayPin3, OUTPUT);
  94.   pinMode(Sensor_pin, INPUT); //設(shè)置人體紅外接口為輸入狀態(tài)
  95.   pinMode(relayPin, OUTPUT); //水泵
  96.   digitalWrite(29,HIGH);
  97.   digitalWrite(6,HIGH);
  98.   digitalWrite(7,HIGH);
  99. // digitalWrite(23,LOW);
  100. myservo.attach(26);  
  101.   MsTimer2::set(INTERVAL,ff); // INTERVAL ms
  102.   MsTimer2::start( );
  103.   Serial.println("Server Ready");
  104. }
  105. void loop() {// run over and over
  106.   if (esp8266Serail.available()) {
  107.     Serial.write(esp8266Serail.read());
  108.   }
  109.    if (Serial.available()) {
  110.     esp8266Serail.write(Serial.read());
  111.   }
  112.   
  113.     incomedate = esp8266Serail.read();//獲取串口接收到的數(shù)據(jù)
  114.     if (incomedate == 'L')
  115.     {
  116.     digitalWrite(6,HIGH);
  117.     digitalWrite(7,HIGH);
  118.     Serial.println(" CLOSE!");
  119.     }
  120.     else if (incomedate == 'H')
  121.     {
  122.     digitalWrite(6,LOW);
  123.     digitalWrite(7,LOW);
  124.     Serial.println("OPEN! ");
  125.     }
  126.     else if (incomedate == 'Q')
  127.     {
  128.     digitalWrite(23,HIGH);
  129.     Serial.println("開! ");
  130.     }
  131.     else if (incomedate == 'W')
  132.     {
  133.     digitalWrite(23,LOW);
  134.     Serial.println("關(guān)! ");
  135.     }
  136.      else if (incomedate == 'a')
  137.     {
  138.       digitalWrite(29, HIGH);
  139.       Serial.println(" CLOSE!");
  140.     }
  141.     else if (incomedate == 'x')
  142.     {
  143.       digitalWrite(29, LOW);
  144.       Serial.println("OPEN! ");
  145.     }
  146.     else if(incomedate=='r')
  147.   {  
  148.      for(pos = 22; pos <= 250; pos += 1)
  149.      {                                 
  150.         myservo.write(pos);
  151.        delay(5);                                
  152.      }
  153.    
  154.      for(pos = 250; pos>=22; pos-=1)   
  155.      {                                
  156.        myservo.write(pos);              
  157.          delay(5);                     
  158.      }
  159.      for(pos = 22; pos <= 250; pos += 1)
  160.      {                                 
  161.         myservo.write(pos);
  162.        delay(5);                                
  163.      }
  164.    
  165.      for(pos = 250; pos>=22; pos-=1)   
  166.      {                                
  167.        myservo.write(pos);              
  168.          delay(5);                     
  169.      }
  170. }

  171. }
  172. String sendCommand(String command, const int timeout, boolean debug)
  173. {
  174.     String response = "";
  175.     esp8266Serail.print(command); // send the read character to the esp8266
  176.     long int time = millis();
  177.     while( (time+timeout) > millis())
  178.     {
  179.       while(esp8266Serail.available())
  180.       {
  181.         // The esp has data so display its output to the serial window
  182.         char c = esp8266Serail.read(); // read the next character.
  183.         response+=c;
  184.       }
  185.     }
  186.     if(debug)
  187.     {
  188.       Serial.print(response);
  189.     }
  190.     return response;
  191. }
復(fù)制代碼


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:721618 發(fā)表于 2021-2-21 09:48 | 只看該作者
請(qǐng)問用的是哪個(gè)開發(fā)板呢
回復(fù)

使用道具 舉報(bào)

板凳
ID:340765 發(fā)表于 2021-3-6 16:47 | 只看該作者
elmajp111 發(fā)表于 2021-2-21 09:48
請(qǐng)問用的是哪個(gè)開發(fā)板呢

arduino——搜一下就有了
回復(fù)

使用道具 舉報(bào)

地板
ID:652483 發(fā)表于 2021-3-7 21:35 | 只看該作者
用的什么語言,有沒有APP的源碼
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 在线观看的av | 国内自拍视频在线观看 | 国产精品1区 | 成人一级毛片 | 韩国欧洲一级毛片 | 日韩一区二区三区精品 | 亚洲视频免费在线播放 | 欧美中文一区 | 91精品久久久久久综合五月天 | 中文字幕动漫成人 | 国产欧美精品一区 | 欧美日韩亚洲一区 | 日韩二区三区 | 一区二区三区免费 | 爱草在线 | 国产亚洲精品精品国产亚洲综合 | 91视频中文 | 中文字幕亚洲免费 | 亚洲二区在线 | 成人午夜免费福利视频 | a亚洲精品| 欧美日韩国产一区 | 日韩成人av在线 | 国产精品久久久 | 国产在线视频一区二区董小宛性色 | 一级做a爰片性色毛片 | www97影院 | 羞羞网站在线观看 | 国产免费福利小视频 | 91一区二区 | 先锋资源亚洲 | 黄色免费网站在线看 | 久草视频观看 | 男人天堂午夜 | 男女羞羞免费视频 | 欧美一区二区三区的 | 欧美在线a| 99久久精品国产一区二区三区 | 国产一区在线免费观看视频 | 最新国产在线 | avmans最新导航地址 |