Untitled THÀNH PHỐ HỒ CHÍ MINH BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT Tp Hồ Chí Minh, tháng 20 SKL 0 0 7 3 3 6 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH BỘ MÔN CNKT ĐIỆN TỬ – CÔNG[.]
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĈӖÈ17Ӕ71*+,ӊ3 +2$Ĉ,ӊ1±Ĉ,ӊ17Ӱ 7+,7.9ơ7+,&é1*0é+ẻ1++ 7+1*481/ộ1+ơ= 31 && nhietdo = 70 && doam = && gio = 17 && gio = 70 && doam 85 ) { //ON quạt ,ON suoi ,OFF phunsuong digitalWrite(rl_quat, LOW); digitalWrite(rl_suoi, LOW); digitalWrite(rl_phunsuong, HIGH); trangthai_quat = 1; trangthai_suoi = 1; trangthai_phunsuong = 0; } if (nhietdo >= 31 && nhietdo = 31 && nhietdo 85 ) { //ON quạt ,ON suoi ,OFF phunsuong digitalWrite(rl_quat, LOW); digitalWrite(rl_suoi, LOW); digitalWrite(rl_phunsuong, HIGH); trangthai_quat = 1; trangthai_suoi = 1; trangthai_phunsuong = 0; } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 67 if (nhietdo > 34 && doam < 70 ) { //ON quạt ,OFF suoi ,ON phunsuong digitalWrite(rl_quat, LOW); digitalWrite(rl_suoi, HIGH); digitalWrite(rl_phunsuong, LOW); trangthai_quat = 1; trangthai_suoi = 0; trangthai_phunsuong = 1; } if (nhietdo > 34 && doam >= 70 && doam 34 && doam > 85) { //ON quạt , OFF suoi ,OFF phunsuong digitalWrite(rl_quat, LOW); digitalWrite(rl_suoi, HIGH); digitalWrite(rl_phunsuong, HIGH); trangthai_quat = 1; trangthai_suoi = 0; trangthai_phunsuong = 0; } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68 Chương trình truyền liệu ESP8266 void SendEsp() { bien++; biensend = 1; DataSendEsp = ""; DataSendEsp = A + chedo + B + nhietdo + C + doam + D + dolux + E + trangthai_loa + F + trangthai_quat + G + trangthai_suoi + H + trangthai_phunsuong + J + trangthai_servo + K + mucservo + L; // A[chedo]B[nhiệt độ]C[độ ẩm]D[độ lux]E[trạng thái loa]F[trạng thái quạt] //G[trạng thái sưởi]H[trạng thái phun sương]J[trạng thái servo]K[mức servo]L Serial.print(bien); Serial.print(".DataSendEsp = "); Serial.println(DataSendEsp); Serial1.println(DataSendEsp); Serial1.flush(); delay(100); Serial2.println(DataSendEsp); Serial2.flush(); delay(100); biensend = 0; } Chương trình truyền nhận UART ESP8266 với blynk void Read_Uart() { while (mySerial.available()) { char inChar = (char)mySerial.read(); inputString += inChar; if (inChar == '\n') { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 69 stringComplete = true; } if (stringComplete) { bien++; Serial.print(bien); Serial.print(".Data Mega = "); Serial.println(inputString); // A[chedo]B[nhiệt độ]C[độ ẩm]D[độ lux]E[trạng thái loa]F[trạng thái quạt] //G[trạng thái sưởi]H[trạng thái phun sương]J[trạng thái servo]K[mức servo]L int TimA, TimB, TimC, TimD, TimE , TimF , TimG , TimH , TimJ , TimK , TimL = -1; TimA = inputString.indexOf("A"); TimB = inputString.indexOf("B"); TimC = inputString.indexOf("C"); TimD = inputString.indexOf("D"); TimE = inputString.indexOf("E"); TimF = inputString.indexOf("F"); TimG = inputString.indexOf("G"); TimH = inputString.indexOf("H"); TimJ = inputString.indexOf("J"); TimK = inputString.indexOf("K"); TimL = inputString.indexOf("L"); if (TimA >= && TimD >= && TimH >= && TimL >= ) { String ChuoiA, ChuoiB, ChuoiC, ChuoiD, ChuoiE , ChuoiF , ChuoiG , ChuoiH , ChuoiJ , ChuoiK = ""; ChuoiA = inputString.substring(TimA + , TimB ); ChuoiB = inputString.substring(TimB + , TimC ); ChuoiC = inputString.substring(TimC + , TimD ); ChuoiD = inputString.substring(TimD + , TimE ); ChuoiE = inputString.substring(TimE + , TimF ); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 70 ChuoiF = inputString.substring(TimF + , TimG ); ChuoiG = inputString.substring(TimG + , TimH ); ChuoiH = inputString.substring(TimH + , TimJ ); ChuoiJ = inputString.substring(TimJ + , TimK ); ChuoiK = inputString.substring(TimK + , TimL ); // A[chedo]B[nhiệt độ]C[độ ẩm]D[độ lux]E[trạng thái loa]F[trạng thái quạt] // G[trạng thái sưởi]H[trạng thái phun sương]J[trạng thái servo]K[mức servo]L chedo = ChuoiA.toInt(); // tin hieu V0 auto / man Blynk.virtualWrite(V0, ChuoiA); // tin hieu V1 Loa Blynk.virtualWrite(V1, ChuoiE); // tin hieu V2 Quat Blynk.virtualWrite(V2, ChuoiF); // tin hieu V3 Sưởi Blynk.virtualWrite(V3, ChuoiG); // tin hieu V4 Phun sương Blynk.virtualWrite(V4, ChuoiH); // tin hieu V5 Servo Blynk.virtualWrite(V5, ChuoiJ); // tin hieu V6 ánh sáng Blynk.virtualWrite(V6, ChuoiD); // tin hieu V7 nhiệt độ Blynk.virtualWrite(V7, ChuoiB); // tin hieu V8 độ ẩm Blynk.virtualWrite(V8, ChuoiC); // tin hieu servo Blynk.virtualWrite(V10, ChuoiK);// trang thai servo } inputString = ""; stringComplete = false; } } } Chương trình truyền nhận UART với web void Read_Uart() { while (mySerial.available()) { char inChar = (char)mySerial.read(); inputString += inChar; if (inChar == '\n') BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 71 { stringComplete = true; } if (stringComplete) { dem++; Serial.print(dem); Serial.print(".Data Mega = "); Serial.println(inputString); int TimA , TimB , TimC , TimD , TimE , TimF, TimG , TimH , TimJ , TimK , TimL = -1; TimA = inputString.indexOf("A"); TimB = inputString.indexOf("B"); TimC = inputString.indexOf("C"); TimD = inputString.indexOf("D"); TimE = inputString.indexOf("E"); TimF = inputString.indexOf("F"); TimG = inputString.indexOf("G"); TimH = inputString.indexOf("H"); TimJ = inputString.indexOf("J"); TimK = inputString.indexOf("K"); TimL = inputString.indexOf("L"); if (TimA >= && TimF >= && TimL >= ) { // A[chedo]B[nhiệt độ]C[độ ẩm]D[độ lux]E[trạng thái loa]F[trạng thái quạt] // G[trạng thái sưởi]H[trạng thái phun sương]J[trạng thái servo]K[mức servo]L String ChuoiA, ChuoiB, ChuoiC , ChuoiD, ChuoiE, ChuoiF, ChuoiG , ChuoiH , ChuoiJ , ChuoiK = ""; ChuoiA = inputString.substring(TimA + , TimB); ChuoiB = inputString.substring(TimB + , TimC); ChuoiC = inputString.substring(TimC + , TimD); ChuoiD = inputString.substring(TimD + , TimE); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 72 ChuoiE = inputString.substring(TimE + , TimF); ChuoiF = inputString.substring(TimF + , TimG); ChuoiG = inputString.substring(TimG + , TimH); ChuoiH = inputString.substring(TimH + , TimJ); ChuoiJ = inputString.substring(TimJ + , TimK); ChuoiK = inputString.substring(TimK + , TimL); // A[chedo]B[nhiệt độ]C[độ ẩm]D[độ lux]E[trạng thái loa]F[trạng thái quạt] // G[trạng thái sưởi]H[trạng thái phun sương]J[trạng thái servo]K[mức servo]L chedo = ChuoiA.toInt(); nhietdo = ChuoiB.toInt(); doam = ChuoiC.toInt(); dolux = ChuoiD.toInt(); trangthai_loa = ChuoiE.toInt(); trangthai_quat = ChuoiF.toInt(); trangthai_suoi = ChuoiG.toInt(); trangthai_phunsuong = ChuoiH.toInt(); trangthai_servo = ChuoiJ.toInt(); mucservo = ChuoiK.toInt(); ChuoiGhep = A + chedo + B + nhietdo + C + doam + D + dolux + E + trangthai_loa + F + trangthai_quat + G + trangthai_suoi + H + trangthai_phunsuong + J + trangthai_servo + K + mucservo + L; for (byte len = 1; len