#include#include #define SERVER_PORT 4000 //ค่า port ที่ต้องการเชื่อมต่อ IPAddress server_ip = {192,168,43,1}; //ค่า ip ของ Server (อย่าลืมแก้เป็น IP ของตัวเอง) const char* ssid = "chicky"; //ค่าของ SSID (อย่าลืมแก้เป็น ชื่อ SSID ของตัวเอง) const char* password = "chicky#69"; //ค่าของ SSID (อย่าลืมแก้เป็น password ของตัวเอง) WiFiServer server(SERVER_PORT); //สร้าง object server และกำหนด port ที่ต้องการเชื่อมต่อกับ server WiFiClient client; //สร้าง object client Ticker second; int ben = 0 , i = 0, j = 136, n = 136, fast; int number = 0, half_min = 0; uint8_t mix_ben = 0, c =0; const int latchPin = 15;//Pin connected to ST_CP of 74HC595 const int clockPin = 14;//Pin connected to SH_CP of 74HC595 const int dataPin = 13; //Pin connected to DS of 74HC595 int slot[144] ={0x08, 0x39, 0x5E, 0x7E, 0x7E, 0x3E, 0x1D, 0x38, /*" ",0*/ 0x08, 0x38, 0x5E, 0x7F, 0x7F, 0x3E, 0x0C, 0x0E, /*"ไก่",1*/ 0x00, 0x44, 0xCD, 0xFF, 0xFF, 0xCD, 0x44, 0x00, /*"1",2*/ 0x00, 0x89, 0x9B, 0xFB, 0xFB, 0x9B, 0x89, 0x00, /*"2",3*/ 0x00, 0x26, 0x6F, 0xE7, 0xE7, 0x6F, 0x26, 0x00, /*"3",4*/ 0x00, 0x48, 0xDC, 0xCF, 0xCF, 0xDC, 0x48, 0x00, /*"4",5*/ 0x00, 0x90, 0xB8, 0xBE, 0xBE, 0xB8, 0x90, 0x00, /*"5",6*/ 0x00, 0x40, 0xE0, 0xF8, 0xF8, 0xE0, 0x40, 0x00, /*"6",7*/ 0x00, 0x00, 0x80, 0xE0, 0xE0, 0x80, 0x00, 0x00, /*"จรวดขึ้น",8*/ 0x00, 0x00, 0x00, 0x6C, 0x92, 0x92, 0x6C, 0x00, /*"8",9*/ 0x00, 0x00, 0x00, 0x4C, 0x92, 0x92, 0x7C, 0x00, /*"9",10*/ 0x00, 0x00, 0x00, 0xFC, 0x22, 0x22, 0xFC, 0x00, /*"A",11*/ 0x00, 0x00, 0x00, 0xFE, 0x92, 0x92, 0x6C, 0x00, /*"B",12*/ 0x00, 0x00, 0x00, 0x7C, 0x82, 0x82, 0x44, 0x00, /*"C",13*/ 0x00, 0x00, 0x00, 0xFE, 0x82, 0x82, 0x7C, 0x00, /*"D",14*/ 0x00, 0x00, 0x00, 0xFE, 0x92, 0x92, 0x82, 0x00, /*"E",15*/ 0x00, 0x00, 0xFE, 0x12, 0x12, 0x02, 0x00, 0x00, /*"F",16*/ /*"add slot",17*/}; void setup() { Serial.begin(115200); //เปิดใช้ Serial WiFi.begin(ssid, password); //เชื่อมต่อกับ AP while (WiFi.status() != WL_CONNECTED) //รอการเชื่อมต่อ { delay(500); Serial.print("."); } // IPAddress local_ip = {192,168,1,144}; //ตั้งค่าล็อค IP นั่นตลอด // IPAddress gateway={192,168,1,1}; //ตั้งค่า IP Gateway // IPAddress subnet={255,255,255,0}; //ตั้งค่า Subnet // WiFi.config(local_ip,gateway,subnet); //setค่าไปยังโมดูล pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); //แสดงหมายเลข IP check_server(); // รอการเชื่องต่อ server ESP.wdtDisable(); //ปิด watch dog Timer } void check_server(){ Serial.println("Connect TCP Server"); while (!client.connect(server_ip,SERVER_PORT)) //เชื่อมต่อกับ Server { Serial.print("."); delay(100); } Serial.println("Success"); } void delay_min(int numbor){ // 600/ min if(numbor == 600){ half_min++; number = 0; Serial.println(half_min); } } void add_slot(int x){ // เพิ่มข้อมูลลงใน array เ slot[j] = x; j++; } void dot_matrix() { for (int t = 0; t = 1) &&(i < 8)){ c = mix_ben << 1; // mix_ben ซิบ bit ไปทางขวา เช่น ได้ 1 ซิบได้ 10 } else if(i == 8){ int b = 0; b = c | ben; add_slot(b); // ถ้า ครบ 8 Bit ให้เพิ่มใน Array i = 0; // reset เพื่อ รอรับครั้งต่อไป uint8_t mix_ben = 0, c =0; } if(j==144){ while( !client.available() && client.connected()){ // ถ้าไม่มีการ ส่งค่ามาให้ Client และ เชื่องต่อ server อยู่ n = 136; fast = 500; dot_matrix(); // ถ้า เพิ่มค่าใน array จนครบ 64 bit ให้แสดงรูปที่เข้ามา number++; Serial.println(number); delay_min(number); // จับเวลา 2 min if(half_min == 2){ half_min = 0; break; } } j = 136; } else{ // แสดงรูปเพิ่มฐานหลังหมด เวลา while( !client.available() && client.connected()){ for(int term = 0; term <=8; term+=8){ fast = 1000; n = term; dot_matrix(); } } } } while( !client.available() && client.connected()){ // แสดงรูปพื้นฐาน เมื่อ เชื่อมต่อ server และลอรับค่า for(int term = 0; term <=8; term+=8){ fast = 1000; n = term; dot_matrix(); } } if(!client.connected()){ check_server(); } client.println("Hello2"); //ส่งค่าที่ได้รับกลับไปยัง Server delay(1000); }
วันจันทร์ที่ 8 พฤษภาคม พ.ศ. 2560
จิกซอในจินตนาการ ตอนที่ 3 code รับส่งข้อมูล ระหว่าง APP และ Dot Matrix
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น