บทความ Project Home Control

ตอนที่ 2 Arduino Home Control Application ( แนะนำ App ครับ )

 

ตอนที่ 2 Arduino Home Control Application ( แนะนำ App ครับ ) โดย Tumrobot

Application Arduino Home Control เวอร์ชั่น Demo สามารถดาวน์โหลดได้จาก Google Play Store ครับ

หลังจากดาวน์โหลด Application มาติดตั้งที่โทรศัพท์มือถือของเราแล้วก็จะเห็น Icon Arduino Home Control Demo ตามนี้

 

เมื่อเริ่มเปิดใช้งาน Application

หน้าแรกจะเป็นหน้า Home สำหรับกรอก IP และ Port ของ Arduino Board ปลายทางที่เราใส่ไว้ใน Hardware ของเรา เช่นเราระบุ IP: 192.168.0.95 Port 10001 เราก็กรอก IP และ Port ตามนี้

ด้านล่างช่อง IP และ Port นั้นจะเป็นส่วนข้อความ Report Sensor DHT11 ซึ่งจะแสดงอุณหภูมิ และความชื้น

 

เราสามารถกดปุ่ม Save IP และ Port เอาไว้เพื่อที่ครั้งต่อไปจะได้ไม่ต้องกรอกข้อมูล IP และ Port อีก

หลังจากนั้นก็สามารถกดปุ่ม Start เพื่อที่จะเริ่มต้นสั่งงานควบคุม Output ของ Arduino Board ได้ต่อไป

การสื่อสารเพื่อเรียกอ่านข้อมูล ความชื้นและอุณหภูมิจาก Arduino Board นั้นเป็นการสื่อสารข้อมูลแบบ UDP โดยตัว App จะเรียก Update ข้อมูลจาก Board ทุกๆ 3 วินาที

UDP คืออะไร

        User Datagram Protocol (UDP) เป็นวิธีการสื่อสารหรือโปรโตคอลที่จำกัดจำนวนการบริการ เมื่อข่าวสารมีการแลกเปลี่ยน ระหว่างคอมพิวเตอร์ในเครือข่ายที่ใช้ Internet Protocol (IP) โดย UDP เป็นตัวเลือกหนึ่งของ Transmission Control Protocol (TCP) และใช้ร่วมกับ IP บางครั้งเรียกว่า UDP/IP ซึ่ง UDP เหมือนกับ TCP ในการใช้ IP ในการดึงหน่วยข้อมูล (เรียกว่า datagram) จากคอมพิวเตอร์หนึ่งไปยังอีกเครื่องหนึ่ง แต่ต่างจาก TCP โดย UDP ไม่ให้การบริการสำหรับการแบ่งข่าวสารเป็นแพ็คเกต (datagram) และประกอบขึ้นใหม่เมื่อถึงปลายหนึ่ง UDP ไม่ให้ชุดของแพ็คเกตที่ข้อมูลมาถึง หมายความว่า โปรแกรมประยุกต์ที่ใช้ UDP ต้องมีความสามารถในการสร้างมั่นใจว่าข่าวสารที่มาถึงอยู่ในลำดับที่ถูกต้อง การประยุกต์เครือข่ายที่ต้องการประหยัดเวลาในการประมวลผล เพราะมีหน่วยข้อมูลในการแลกเปลี่ยน (ดังนั้น จึงมีข่าวสารน้อยมากในการประกอบขึ้นใหม่) จะชอบ UDP มากกว่า TCP ซึ่ง Trivial File Transfer Protocol (TFTP) ใช้ UDP แทนที่ TCP

UDP ให้ 2 บริการที่ไม่มีโดยเลเยอร์ของ IP คือ Port number เพื่อช่วยแยกแยะการขอของผู้ใช้ และความสามารถ checksum เพื่อตรวจสอบการมาถึงข้อมูล ในแบบจำลองการสื่อสาร Open System Interconnection (OSI) UDP เหมือนกัน TCP คือ อยู่ที่เลเยอร์ 4 Transport Layer

ข้อดีคือทำงานได้ เร็วครับเร็วกว่า TCP เพราะไม่จำเป็นต้องทำการ Check Sum ข้อมูลครับ และไม่มีการสร้าง Connection ทำให้ข้อมูลที่วิ่งบนเครือข่ายน้อยลงมากเลยครับ

ข้อเสียคือ UDP ใช้สั่งงานผ่าน Ethernet ได้อย่างเดียวครับ สั่งผ่าน Internet แล้ว Package จะ Loss ได้ง่ายเลยครับ

ข้อมูลจาก : widebase.net

หน้าที่ 2 จะเป็นส่วนควบคุม Output โดยออกแบบให้ใช้ควบคุม Relay 4 ช่อง เรียงตามลำดับ Output สถานะสวิตซ์ เริ่มต้นจะเป็นสถานะ OFF และถ้าหากว่าเรากดปุ่ม SW ตัว Application ก็จะส่งคำสั่งออกไปที่ Arduino Board และจะรอผลจาก Arduino Board ซึ่งถ้าหากตอบกลับมาว่า SW On ก็จะเปลี่ยนสี SW บน App ให้เป็นสีเขียวพร้อมคำว่า On

ส่วนของ Dimmer นั้นก็จะส่ง เปอร์เซนต์ ความสว่างของหลอดไฟ ออกไปให้ Arduino Board จากนั้น Arduino Board ก็จะเปลี่ยนข้อมูลให้เป็นสัญญาณ PWM out ออกไปสู่ วงจร Dimmer อีกทีนึงครับ

 
วิดีโอสาธิตการใช้งาน Arduino Home Control

Source Code สำหรับ App Arduino Home Control สามารถดาวน์โหลดได้ ที่นี่

 

อ่านต่อ ตอนที่ 3