該項(xiàng)目是一個(gè)模擬自然光循環(huán)的攝像頭。
我想不需要24/7 24/7 的一個(gè)導(dǎo)演到劇情的發(fā)展形式,從一個(gè)母線到導(dǎo)演的形式,從一個(gè)母線到它的出發(fā)點(diǎn)都在變化。它們的溫度特性也能保持各種自然棲息地的風(fēng)化和熱源季節(jié)的變化,并通過(guò)日曬和與它們的自然棲息地復(fù)制相匹配,以適應(yīng)它們的狀態(tài),同時(shí)希望設(shè)置。這些設(shè)置。
它如何
保存啟動(dòng)它的日期和時(shí)間(數(shù)據(jù)顯示時(shí)間) RTC 未顯示。不同的設(shè)置(如增加控制以進(jìn)行改變)。
DHT 22 從讀取環(huán)境溫度和自動(dòng)。
兩個(gè)溫度傳感器讀取每塊巖石以確保它們不會(huì)過(guò)熱。
使用接收到的數(shù)據(jù),可以控制在項(xiàng)目盒中的兩個(gè)中繼屏蔽。
這些繼電器控制夜燈、日光、取暖燈、加熱巖石1和2、霧化器和風(fēng)化。
將連接到滾動(dòng)條,將連接到連接到網(wǎng)關(guān)的另一端,將連接到連接點(diǎn)的另一端,將連接到節(jié)點(diǎn)的5個(gè)輸入端,將連接到接地電阻(3個(gè)),不電阻連接到連接節(jié)點(diǎn)(3)220重要的是,只要你有一個(gè),我已經(jīng)測(cè)試了一些,它們都有效),
我有一個(gè)模型,因此不會(huì)對(duì)后續(xù)進(jìn)行過(guò)多的介紹,在設(shè)置的時(shí)候并不那么重要。
這些是我為顯示屏幕而制作的屏幕。(我的蛇名是Harold和Kumar。)主只與蛇的數(shù)據(jù)有關(guān),如拉丁名和本國(guó)。日期顯示當(dāng)前溫度和設(shè)定溫度,以及一個(gè)相同的顯示顯示屏幕時(shí)間相反(顯示日期設(shè)置)的切換按鈕。 由屏幕顯示每日顯示的每日顯示時(shí)間設(shè)置。如果發(fā)生變化,它就會(huì)有一個(gè)相關(guān)的天數(shù)變量,在午夜產(chǎn)生一個(gè)。
我添加了一個(gè)用于遠(yuǎn)程監(jiān)控的攝像頭
就是有一個(gè)網(wǎng)絡(luò)服務(wù)器,讓我讀取當(dāng)前的一個(gè)例子。
硬件硬件
軟件
#include
#include
#include
#include
#include
#include
#include
#包括
#include
#include
#include
#include
#include
#include
#include "DHT.h"
#include
#include
#include "TFTv2.h"
int page;
int firsttimeon = 1;
//時(shí)間
可變量 int daynow;
國(guó)際月份;
int yearnow;
分鐘現(xiàn)在;
時(shí)間現(xiàn)在;
int 頁(yè)面;
int npage;
詮釋 dnchan;
浮動(dòng)常數(shù) LONGITUDE = -1.41503959;
浮動(dòng)常量緯度 = 8.528874379;
//溫度和濕度
變量浮動(dòng)濕敏;
浮動(dòng)加濕器;
潮濕的日子;
#define DHTPIN 22 // 溫度/濕度傳感器?
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
浮動(dòng) hkhr1temp;
浮動(dòng) hkhr2temp;
浮動(dòng) hkdaytemp;
浮動(dòng) hknighttemp;
浮動(dòng) ambitempcur;
浮動(dòng) ambitempdisp;
浮動(dòng) hkdaytempdisp;
浮動(dòng) hknighttempdisp;
浮動(dòng)濕氣;
浮動(dòng)濕度;
#define hr1 23
#define hr2 24
OneWire oneWire_hr1(hr1);
OneWire oneWire_hr2(hr2);
達(dá)拉斯溫度傳感器_hr1(&oneWire_hr1);
達(dá)拉斯溫度傳感器_hr2(&oneWire_hr2);
浮動(dòng) hr1tempcur;
浮動(dòng) hr1tempdisp;
浮動(dòng) hr2tempcur;
浮動(dòng) hr2tempdisp;
int ambitempday;
int ambitempnight;
浮動(dòng)室溫;
float roomtempdisp;
//光周期
變量 int srhour;
int sr分鐘;
int sr秒;
int srhourset;
int srminuteset;
int srhoursetdisp;
int srminutesetdisp;
int srsecondset;
整數(shù) srday;
int sshour;
int ss分鐘;
int ss秒;
int sshourset;
int ssminuteset;
int sssecondset;
int ssminutesetdisp;
int sshoursetdisp;
int ssday = 0;
夜間;
byte todaysr[] = {0, 0, 0, 0, 0, 0};
字節(jié)今天[] = {0, 0, 0, 0, 0, 0};
字節(jié) dlstime[] = {0, 0, 小時(shí)(), 日(), 月(), 年()};
好久不見(jiàn);
很長(zhǎng)一段時(shí)間;
很長(zhǎng)一段時(shí)間;
//引腳變量
//環(huán)境熱/濕度是引腳 22
//熱巖石 1 溫度是引腳 23
//熱巖石 2 溫度是引腳 24
//ds3231rtc SCL 在模擬引腳 A5
// ds3231rtc SDA 在模擬引腳 A4
const詮釋 dnlamp = 25;
常量 int 霧化器 = 26;
常量 int hrock1 = 27;
常量 int hrock2 = 28;
常量 int 風(fēng)扇 = 29;
常量 int 霧水 = 31;
常量 int hlamp = 30;
常量 int rset = 41;
// 傳感器質(zhì)量
驗(yàn)證 int ambithsen;
int hr1sen;
int hr2sen;
詮釋福格森;
//開(kāi)機(jī)
驗(yàn)證 int dlpwr;
詮釋 hlpwr;
詮釋 hr1pwr;
詮釋 hr2pwr;
int霧pwr;
int fanpwr;
intfoggerpwr;
觸摸屏 ts = 觸摸屏(XP、YP、XM、YM);//init TouchScreen 端口引腳
// 文件變量
String myData;
字符串 myDoc;
歸檔我的文件;
/*Cat5 電線
? Red Taped ---- 繼電器盒
? 實(shí)心棕色 = 5v
? 白色棕色 = 接地
? 實(shí)心綠色 = 始終開(kāi)啟繼電器的引腳 7 -- Heat Rock 2 電源 -- Arduino 引腳 = 28
? 白色綠色 = 始終開(kāi)啟繼電器的引腳 6 -- Heat Rock 1 電源 -- Arduino 引腳 = 27
? 穩(wěn)定藍(lán)色 = 始終開(kāi)啟繼電器的引腳 5 -- 熱燈電源 -- Arduino 引腳 = 30
? 白色藍(lán)色 = 始終開(kāi)啟繼電器的引腳 4 -- 日夜燈電源 -- Arduino 引腳 = 25
? 純橙色 = 節(jié)電繼電器的引腳 5 -- Fogger 電源 -- Arduino 引腳 = 26
? 白色橙色 = 節(jié)電繼電器的引腳 4 -- 未使用
? //
? 白色膠帶 -- -- 繼電器盒
? 綠色常亮 = 省電繼電器的引腳 7 -- 風(fēng)扇繼電器 -- Arduino 引腳 = 29
? 白色綠色 = 未使用
? 藍(lán)色常亮 = J1 打開(kāi)風(fēng)扇繼電器
? 白色藍(lán)色 = J1 普通風(fēng)扇繼電器
? 棕色常亮 = 未使用
? 白色棕色 = 未使用
? 常亮橙色 = 5v
? 白色橙色 = 接地
? //
? 黃色膠帶 ---- 傳感器
? 純棕色 = 風(fēng)扇電源
? 白色棕色 = 風(fēng)扇接地
? 純綠色 = 環(huán)境溫度/濕度傳感器 -- Arduino 引腳 = 22
? 白色綠色 = 熱巖 1 傳感器 -- Arduino 引腳 = 23
? 純藍(lán)色 = Heat Rock 2 傳感器 -- Arduino 引腳 = 24
? 白色藍(lán)色 = 未使用
? 純橙色 = 5v
? 白色橙色 = 接地
? //
? 紅黃色膠帶 ---- 觸摸屏
? 純棕色 = 右上角 ICSP
? 白色棕色 = 模擬 3
? 純綠色 =模擬 2
? 白色 綠色 = 模擬 1
? 穩(wěn)定藍(lán)色 = 模擬 0
? 白色藍(lán)色 = 重置
? 橙色穩(wěn)定 = 5v
? 白色橙色 = 接地
? //
? 紅色白色膠帶 ---- 觸摸屏
? 穩(wěn)定棕色 = 數(shù)字 7
? 白色棕色 = 數(shù)字 6
? 穩(wěn)定綠色 = 數(shù)字 5
? 白色綠色 = 左下 ICSP
? 穩(wěn)定藍(lán)色 = 左上 ICSP
? 白色藍(lán)色 = 底部中間 ICSP
? 穩(wěn)定橙色= 頂部 MiddleICSP
? 白色橙色 = 底部右側(cè) ICSP
*/
// 在下面輸入您的控制器的 MAC 地址和 IP 地址。
// IP 地址將取決于您的本地網(wǎng)絡(luò):
byte mac[] = {
? 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IP地址 ip(192, 168, 1, 109);
// 初始化以太網(wǎng)服務(wù)器庫(kù)
// 帶有您要使用的 IP 地址和端口
//(端口 80 是 HTTP 的默認(rèn)端口):
EthernetServer server(6113);
#define W5200_CS 10
#define SDCARD_CS 4
//Camera definitions
#define VC0706_PROTOCOL_SIGN 0x56
#define VC0706_Serial2_NUMBER 0x00
#define VC0706_COMMAND_RESET 0x26
#define VC0706_COMMAND_GEN_VERSION 0x11
#define VC0706_COMMAND_TV_OUT_CTRL 0x44
#define VC0706_COMMAND_OSD_ADD_CHAR 0x45
#define VC0706_COMMAND_DOWNSIZE_SIZE 0x53
#define VC0706_COMMAND_READ_FBUF 0x32
#define FBUF_CURRENT_FRAME 0
#define FBUF_NEXT_FRAME 0
#define VC0706_COMMAND_FBUF_CTRL 0x36
#define VC0706_COMMAND_COMM_MOTION_CTRL 0x37
#define VC0706_COMMAND_COMM_MOTION_DETECTED 0x39
#define VC0706_COMMAND_POWER_SAVE_CTRL 0x3E
#define VC0706_COMMAND_COLOR_CTRL 0x3C
#define VC0706_COMMAND_MOTION_CTRL 0x42
#define VC0706_COMMAND_WRITE_DATA 0x31
#define VC0706_COMMAND_GET_FBUF_LEN 0x34
#define READ_DATA_BLOCK_NO 56
unsigned char tx_counter;
無(wú)符號(hào)字符 tx_vcbuffer[20];
bool tx_ready;
布爾 rx_ready;
無(wú)符號(hào)字符 rx_counter;
無(wú)符號(hào)字符 VC0706_rx_buffer[80];
uint32_t 幀長(zhǎng)度 = 0;
uint32_t vc_frame_address = 0;
uint32_t last_data_length = 0;
// 一個(gè)整數(shù)變量來(lái)計(jì)算照片
// 如果你有困難連接,增加
// 但它會(huì)不經(jīng)常刷新
int waitForPhoto = 4;
整數(shù)等待計(jì)數(shù);
//////////////////
void setup() {
? // 重置 w5100
? pinMode(10, OUTPUT);
? 數(shù)字寫(xiě)入(10,高);
? // 打開(kāi)到相機(jī)的 Serial2 連接
? Serial2.begin(115200);
? // 設(shè)置相機(jī)的jpeg壓縮
? //數(shù)字越小文件越小,但質(zhì)量越低
? VC0706_compression_ratio(15);
? 延遲(100);
? pinMode(SDCARD_CS,輸出);
? Sd2卡卡;
? card.init(SPI_FULL_SPEED, SDCARD_CS);
? if (!SD.begin(SDCARD_CS)) {
? ? rsetFunc();
? }
? // 啟動(dòng)以太網(wǎng)連接和服務(wù)器:
? Ethernet.begin(mac, ip);
? server.begin();
? // 把你的設(shè)置代碼放在這里,運(yùn)行一次:
? TFT_BL_ON;
? TFT.TFTinit();
? setSyncProvider(RTC.get);
? 頁(yè) = 1;
? 月現(xiàn)在 = 月();
? 年份 = 年份();
? 分鐘=分鐘();
? 小時(shí)現(xiàn)在 = 小時(shí)();
? npage = 1;
? 濕敏 = 50.00;
? dht.begin();
? sensor_hr1.begin();
? sensor_hr2.begin();
? 時(shí)間領(lǐng)主塔迪斯;
? tardis.TimeZone(0);
? tardis.Position(緯度,經(jīng)度);
? // 引腳
? pinMode(dnlamp,輸出);
? pinMode(霧化器,輸出);
? pinMode(hlamp,輸出);
? pinMode(hrock1,輸出);
? pinMode(hrock2,輸出);
? pinMode(風(fēng)扇,輸出);
? pinMode(霧水,輸入);
? myDoc = "daynow.txt";
? 讀取();
? daynow = myData.toInt();
? myDoc = "hd.txt";
? 讀?。ǎ?;
? 濕天 = myData.toInt();
? myDoc = "hs.txt";
? 讀?。ǎ?br />
? humidminset = myData.toFloat();
? myDoc = "atd.txt";
? 讀?。ǎ?;
? ambitempday = myData.toInt();
? myDoc = "atdset.txt";
? 讀?。ǎ?;
? hkdaytempdisp = myData.toFloat();
? myDoc = "atn.txt";
? 讀?。ǎ?;
? ambitempnight = myData.toInt();
? myDoc = "atnset.txt";
? 讀?。ǎ?;
? hknighttempdisp = myData.toFloat();
? myDoc = "ssetday.txt";
? 讀取();
? ssday = myData.toInt();
? myDoc = "sriseday.txt";
? 讀?。ǎ?;
? srday = myData.toInt();
? myDoc = "ssetmin.txt";
? 讀取();
? ssminutesetdisp = myData.toInt();
? myDoc = "srisemin.txt";
? 讀取();
? srminutesetdisp = myData.toInt();
? myDoc = "sriseh.txt";
? 讀?。ǎ?br />
? srhoursetdisp = myData.toInt();
? myDoc = "ssethour.txt";
? 讀?。ǎ?;
? sshoursetdisp = myData。toInt();
}
///////////////////
void loop() {
? // 把你的主代碼放在這里,重復(fù)運(yùn)行:
? TimeLord tardis;
? tardis.DstRules(3, 2, 11, 1, 60);
? if (firsttimeon == 1) {
? ? tardis.TimeZone(-5 * 60);
? ? tardis.Position(緯度,經(jīng)度);
? ? dlstime[5] = (年() - 2000);
? ? dlstime[4] = 月();
? ? dlstime[3] = day();
? ? dlstime[2] = 小時(shí)();
? ? dlstime[1] = 分鐘();
? ? tardis.DST(dlstime);
? ? 第一次 = 0;
? }
? // 照片時(shí)間
? 倒計(jì)時(shí) waitCount = waitCount - 1;
? if (waitCount < 2) {
? ? capture_photo("live.jpg");
? ? waitCount = waitForPhoto;
? }
? // 創(chuàng)建客戶端連接
? EthernetClient client = server.available();
? 如果(客戶){
? ? int pos = 0;
? ? 字符客戶端請(qǐng)求[100];
? ? while (client.connected()) {
? ? ? if (client.available()) {
? ? ? ? // 讀取客戶端請(qǐng)求的內(nèi)容
? ? ? ? char c = client.read();
? ? ? ? if (c != '\n' && c != '\r') {
? ? ? ? ? clientReq[pos] = c;
? ? ? ? ? 正++;
? ? ? ? ? 如果 (pos >= 100) pos = 99;?// 不要讓緩沖區(qū)溢出...
? ? ? ? ? 繼續(xù);
? ? ? ? }
? ? ? ? // 發(fā)送 jpeg 文件或發(fā)送 html 來(lái)顯示文件
? ? ? ? // 如果 'GET /' 請(qǐng)求后有字符
? ? ? ? // 發(fā)送 jpeg 文件
? ? ? ? if (clientReq[5] != ' ' ) {
? ? ? ? ? // ###### 在這里找出客戶請(qǐng)求的文件!??!
? ? ? ? ? 文件 myFile = SD.open("live.jpg");
? ? ? ? ? // 嘗試打開(kāi)文件
? ? ? ? ? // 如果成功,發(fā)送 header 和 jpeg 數(shù)據(jù)
? ? ? ? ? if (myFile) {
? ? ? ? ? ? client.println("HTTP/1.1 200 OK");
? ? ? ? ? ? client.println("內(nèi)容類型:圖片/jpg");
? ? ? ? ? ? 客戶端.println();
? ? ? ? ? ? 字節(jié)clientBuf[64];
? ? ? ? ? ? int 客戶端計(jì)數(shù) = 0;
? ? ? ? ? ? while (myFile.available())
? ? ? ? ? ? {
? ? ? ? ? ? ? clientBuf[clientCount] = myFile.read();
? ? ? ? ? ? ? 客戶端計(jì)數(shù)++;
? ? ? ? ? ? ? if (clientCount > 63) {
? ? ? ? ? ? ? ? client.write(clientBuf, 64);
? ? ? ? ? ? ? ? 客戶端計(jì)數(shù) = 0;
? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? if (clientCount > 0) {
? ? ? ? ? ? ? client.write(clientBuf, clientCount);
? ? ? ? ? ? }
? ? ? ? ? ? myFile.close();
? ? ? ? ? }
? ? ? ? } else {
? ? ? ? ? // 'GET /' 后面沒(méi)有字符
? ? ? ? ? // 發(fā)送 HTML 站點(diǎn)
? ? ? ? ? client.println("HTTP/1.1 200 OK");
? ? ? ? ? client.println("Content-Type: text/html");
? ? ? ? ? client.println("連接:關(guān)閉");
? ? ? ? ? client.println("刷新:2");
? ? ? ? ? 客戶端.println();
? ? ? ? ? 客戶端.println("
? ? ? ? ? client.println("");
? ? ? ? ? client.print("Harold & Kumar's Enclosure");
? ? ? ? ? client.println("
");
? ? ? ? ? client.print(dayStr(weekday(now())));
? ? ? ? ? client.print(", ");
? ? ? ? ? client.print(monthStr(dlstime[4]));
? ? ? ? ? 客戶端.print("");
? ? ? ? ? client.print(dlstime[3]);
? ? ? ? ? client.print(", ");
? ? ? ? ? client.print(year());
? ? ? ? ? client.print("在");
? ? ? ? ? if (dlstime[2] < 10) {
? ? ? ? ? ? client.print("0");
? ? ? ? ? }
? ? ? ? ? client.print(dlstime[2]);
? ? ? ? ? client.print(":");
? ? ? ? ? }
? ? ? ? ? client.print(minute());
? ? ? ? ? client.print(":");
? ? ? ? ? if (second() < 10) {
? ? ? ? ? ? client.print("0");
? ? ? ? ? }
? ? ? ? ? client.print(second());
? ? ? ? ? client.println("
");
? ? ? ? ? client.println("
");
? ? ? ? ? client.print("室溫 = ");
? ? ? ? ? client.print(roomtemp);
? ? ? ? ? 客戶端.print("");
? ? ? ? ? client.print(char(176));
? ? ? ? ? client.print("F");
? ? ? ? ? client.println("
");
? ? ? ? ? client.println("
");
? ? ? ? ? 客戶端.print("
? ? ? ? ? 客戶端.print("");
? ? ? ? ? client.print(char(176));
? ? ? ? ? client.print("F");
? ? ? ? ? client.println("
");
? ? ? ? ? client.print(" Range = ");
? ? ? ? ? if (night == 0) {
? ? ? ? ? ? client.print(hkdaytempdisp - .5);
? ? ? ? ? } else {
? ? ? ? ? ? client.print(hknighttempdisp - .5);
? ? ? ? ? }
? ? ? ? ? client.print(" ");
? ? ? ? ? client.print(char(176));
? ? ? ? ? client.print("F-");
? ? ? ? ? if (night == 0) {
? ? ? ? ? ? client.print(hkdaytempdisp + .5);
? ? ? ? ? } else {
? ? ? ? ? ? client.print(hknighttempdisp + .5);
? ? ? ? ? client.print(char(176));
? ? ? ? ? client.print("F");
? ? ? ? ? if (night == 0 && ambitempday > 0) {
? ? ? ? ? ? client.print("For ");
? ? ? ? ? ? client.print(ambitempday);
? ? ? ? ? ? client.print("天");
? ? ? ? ? }
? ? ? ? ? if (night == 1 && ambitempnight > 0) {
? ? ? ? ? ? client.print(" For ");
? ? ? ? ? ? client.print(ambitempnight);
? ? ? ? ? ? client.print("天");
? ? ? ? ? }
? ? ? ? ? client.println("
");
? ? ? ? ? client.println("
");
? ? ? ? ? client.print("日曬溫度 = ");
? ? ? ? ? client.print(hr1tempdisp);
? ? ? ? ? client.print(char(176));
? ? ? ? ? client.print("F");
? ? ? ? ? client.println("
");
? ? ? ? ? client.print(" Range = ");
? ? ? ? ? client.print(88);
? ? ? ? ? 客戶端.print("");
? ? ? ? ? client.print(char(176));
? ? ? ? ? client.print("F-");
? ? ? ? ? client.print(96);
? ? ? ? ? 客戶端.print("");
? ? ? ? ? client.print(char(176));
? ? ? ? ? client.print("F");
? ? ? ? ? client.println("
");
? ? ? ? ? client.println("
");
? ? ? ? ? client.print("借用溫度 = ");
? ? ? ? ? client.print(hr2tempdisp);
? ? ? ? ? 客戶端.print("");
? ? ? ? ? client.print(char(176));
? ? ? ? ? client.print("F");
? ? ? ? ? client.println("
");
? ? ? ? ? client.print(" Range = ");
? ? ? ? ? if (night == 0) {
? ? ? ? ? ? client.print(hkdaytempdisp - .5);
? ? ? ? ? } else {
? ? ? ? ? ? client.print(hknighttempdisp - .5);
? ? ? ? ? }
? ? ? ? ? client.print(" ");
? ? ? ? ? client.print(char(176));
? ? ? ? ? client.print("F-");
? ? ? ? ? if (night == 0) {
? ? ? ? ? ? client.print(hkdaytempdisp + .5);
? ? ? ? ? } else {
? ? ? ? ? ? client.print(hknighttempdisp + .5);
? ? ? ? ? }
? ? ? ? ? client.print(" ");
? ? ? ? ? client.print(char(176));
? ? ? ? ? if (night == 0 && ambitempday > 0) {
? ? ? ? ? ? client.print(" For ");
? ? ? ? ? ? client.print(ambitempday);
? ? ? ? ? ? client.print("天");
? ? ? ? ? }
? ? ? ? ? if (night == 1 && ambitempnight > 0) {
? ? ? ? ? ? client.print(" For ");
? ? ? ? ? ? client.print(ambitempnight);
? ? ? ? ? ? client.print("天");
? ? ? ? ? }
? ? ? ? ? client.println("
");
? ? ? ? ? client.println("
");
? ? ? ? ? client.print("濕度 = ");
? ? ? ? ? client.print(濕氣);
? ? ? ? ? client.print("%");
? ? ? ? ? client.println("
? ? ? ? ? client.print(濕敏集);
? ? ? ? ? client.print("% - ");
? ? ? ? ? 客戶端.print(濕敏集+ 10);
? ? ? ? ? 客戶端.print("%");
? ? ? ? ? if ( 濕天 > 0) {
? ? ? ? ? ? client.print("For ");
? ? ? ? ? ? client.print(潮濕的日子);
? ? ? ? ? ? client.print("天");
? ? ? ? ? }
? ? ? ? ? client.println("
");
? ? ? ? ? client.println("
");
? ? ? ? ? client.print("水位 = ");
? ? ? ? ? if (digitalRead(foggerwater) == HIGH) {
? ? ? ? ? ? client.print("Good");
? ? ? ? ? } else {
? ? ? ? ? ? client.print("現(xiàn)在填寫(xiě)!");
? ? ? ? ? client.print("時(shí)間 = ");
? ? ? ? ? if (night == 0) {
? ? ? ? ? ? client.print("Day");
? ? ? ? ? } else {
? ? ? ? ? ? client.print("夜晚");
? ? ? ? ? }
? ? ? ? ? client.println("
");
? ? ? ? ? client.print("日出時(shí)間 = ");
? ? ? ? ? if (srhoursetdisp < 10) {
? ? ? ? ? ? client.print("0");
? ? ? ? ? }
? ? ? ? ? client.print(srhoursetdisp);
? ? ? ? ? client.print(":");
? ? ? ? ? if (srminutesetdisp < 10) {
? ? ? ? ? ? client.print("0");
? ? ? ? ? }
? ? ? ? ? client.print(srminutesetdisp);
? ? ? ? ? 如果 (srday >
? ? ? ? ? ? client.print(srday);
? ? ? ? ? ? client.print("天");
? ? ? ? ? }
? ? ? ? ? client.println("
");
? ? ? ? ? client.print("日落時(shí)間 = ");
? ? ? ? ? if (sshoursetdisp < 10) {
? ? ? ? ? ? client.print("0");
? ? ? ? ? }
? ? ? ? ? client.print(sshoursetdisp);
? ? ? ? ? client.print(":");
? ? ? ? ? if (ssminutesetdisp < 10) {
? ? ? ? ? ? client.print("0");
? ? ? ? ? }
? ? ? ? ? client.print(ssminutesetdisp);
? ? ? ? ? if (ssday > 0) {
? ? ? ? ? ? client.print(" For ");
? ? ? ? ? ? client.print(ssday);
? ? ? ? ? ? client.print("天");
? ? ? ? ? client.println("
");
? ? ? ? ? client.println("
");
? ? ? ? ? client.print("熱燈 = ");
? ? ? ? ? if (hlpwr == 1) {
? ? ? ? ? ? client.print("ON");
? ? ? ? ? } else {
? ? ? ? ? ? client.print("OFF");
? ? ? ? ? }
? ? ? ? ? client.println("
");
? ? ? ? ? client.print("粉絲 = ");
? ? ? ? ? if (fanpwr == 1) {
? ? ? ? ? ? client.print("ON");
? ? ? ? ? } else {
? ? ? ? ? ? client.print("OFF");
? ? ? ? ? }
? ? ? ? ? client.println("
");
? ? ? ? ? client.print("姥巖 = ");
? ? ? ? ? if (hr1pwr == 1) {
? ? ? ? ? ? client.print("ON");
? ? ? ? ? } 別的 {
? ? ? ? ? ? client.print("OFF");
? ? ? ? ? }
? ? ? ? ? client.println("
");
? ? ? ? ? client.print("借石 = ");
? ? ? ? ? if (hr2pwr == 1) {
? ? ? ? ? ? client.print("ON");
? ? ? ? ? } else {
? ? ? ? ? ? client.print("OFF");
? ? ? ? ? }
? ? ? ? ? client.println("
");
? ? ? ? ? client.print("霧化器 = ");
? ? ? ? ? if (foggerpwr == 1) {
? ? ? ? ? ? client.print("ON");
? ? ? ? ? } else {
? ? ? ? ? ? client.print("OFF");
? ? ? ? ? }
? ? ? ? ? client.println("
");
? ? ? ? ? 客戶端.println("<
? ? ? ? ? client.println("Harold & Kumar 現(xiàn)場(chǎng)直播
? ? ? ? ? client.println("
評(píng)論
查看更多