ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

ESP8266 คืออะไร

                 ESP8266 (อีเอสพี8266) เป็นโมดูล WiFi (ไวไฟ) ชนิดหนึ่งที่สามารถทำหน้าที่สามารถใช้งานในโหมด AccessPoint (แอคเสสพอยท์) และโหมด station (สเตชั่น) ได้  เมื่อนำมารวมกับเจ้าตัว Node MCU (โหนด เอมซียู) จึงกลายเป็น Node MCU ESP8266 (โหนด เอมซียู อีเอสพี8266)  ซึ่งทำให้เป็นโมดูล ไวไฟ ที่สามารถโปรแกรมลงไปได้จึงทำให้สะดวกในการเป็น microcontroler (ไมโครคอนโทรลเลอร์) และ ไวไฟโมดูล  ซึ่งจากคุณสมบัตินี้จึงทำให้เหมาะแก่การทำงานในด้าน IOT (ไอโอที)  นอกจากนี้เจ้าตัว Node MCU ESP8266 ยังสามารถใช้โปรแกรมในการเขียนได้หลายภาษา เช่น ภาษา ไพธอน จาวาสคริปท์  C (ซี)   ยิ่งทำให้สะดวกในการใช้บอร์ดขึ้นไปอีก แถมข้อมูลโมดูลเสริมยังมีมากมายอีกด้วยเรียกได้ว่า ครบเครื่องกันเลยทีเดี่ยว

                   

ESP8266 (อีเอสพี8266) กับการรับข้อมูลเวลา                       

                          การใช้ ESP8266(อีเอสพี8266) นั้นไม่มีโมดูลสำหรับดูเวลาได้ แต่เราสามารถใช้ความสารถของโมดูลไวไฟเพื่อดึงเวลามาจาก server(เซอเว่อ) ที่ให้บริการได้แบบฟรีๆ โดยชื่อ server นี้ชื่อ ntp server โดยอย่างแรกนั้นเราต้องมี ตัวกระจายไวไฟ อยู่ใกล้ๆเราก่อนเช่น ไวไฟบ้าน ไวไฟมือถือ ที่เรามีรหัสผ่าน โดยที่ไม่ได้ใข้การล๊อกอินหน้าเวบในการใช้งาน เเพียงเท่านี้เราก็พร้อมที่จะทำให้ Node MCU  ESP8266(โหนด เอมซียู อีเอสพี8266) แสดงเวลาจริงในประเทศไทย ไ๊ด้แล้ว                                                                                                       

วิธีการทำ 1. ให้ใส่โค้ดหล่านี้ลงไปในโปรแกรมที่เป็น serial monitor(ซีเรียลมอนอเตอร์) ของเราเพื่อคอนเนคไวไฟ                                                                               

# -*- coding: utf-8 -*-
import network
import time
sta_if = network.WLAN(network.STA_IF) #object from network
sta_if.active(True)#open station mode
sta_if.connect("ssid","password") #connect wifi ssidคือชื่อไวไฟ password คือรหัสผ่านไวไฟ
sta_if.ifconfig() # ip,netmask,gateway,DNS
time.sleep(5)
sta_if.isconnected()#check connecting

 2. ต่อมาให้เราใส่โค้ดนี้เพื่อเชื่อมต่อกับ ntp-server                                                                                                                                    

try:
    import usocket as socket
except:
    import socket
try:
    import ustruct as struct
except:
    import struct

# (date(2000, 1, 1) - date(1900, 1, 1)).days * 24*60*60
NTP_DELTA = 3155673600

host = "th.pool.ntp.org"

def time():
    NTP_QUERY = bytearray(48)
    NTP_QUERY[0] = 0x1b
    addr = socket.getaddrinfo(host, 123)[0][-1]
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.settimeout(1)
    res = s.sendto(NTP_QUERY, addr)
    msg = s.recv(48)
    s.close()
    val = struct.unpack("!I", msg[40:44])[0]
    return val - NTP_DELTA

# There's currently no timezone support in MicroPython, so
# utime.localtime() will return UTC time (as if it was .gmtime())
def settime():
    t = time()
    import machine
    import utime
    tm = utime.localtime(t)
    tm = tm[0:3] + (0,) + tm[3:6] + (0,)
    machine.RTC().datetime(tm)
    print(utime.localtime())
    ThTime =  utime.localtime()
    if (18<=ThTime[3]<=23):
      ThTime[3] = ThTime[3]-24
      
    print("เวลาในไทย = ",ThTime[3]+7,".",ThTime[4],".",ThTime[5],"น.")

3.กด run ใน ซีเรียลมอนิเตอร์จะได้ดังนี้ก็จะปรากฏ ip,netmask,gateway,DNS และข้อความ True                                                                       

 4.ถ้าหากเราจะเรียกดูเวลา เราก็สามารถ ใช้คำสั่ง settime() ดูเวลาได้เลย

 

                                                จากที่โค้ดที่ได้นำเสนอมานั้นสามารถนำไปประยุกต์ใช้ได้อีกหลายๆด้าน ขอเพียงแค่เราอ่านโค้ดแล้วเราเข้าใจเราก็สามารนำไปใช้ได้แบบง่ายๆแล้วนะครับและที่สำคัญอินเตอร์เนตต้องไม่มีปัญหาในการใช้งานซึ่งถ้าอินเตอร์เน็ตมีปัญหาก็อาจะจะเกิดerror(เออเร่อ)ขึ้นในโปรแกรมอีกด้วย ดังนั้นทุกท่านควรจะเขียนโค้ดขึ้นมาป้องความเสี่ยงตรงนี้อีกด้วย

References    ว

                            

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วิธีการนำชื่อข้อมูลในชื่อในฐานข้อมูล ในไฟล์ XML ของ module joomla
โดย jamepiyawat ส 18 ม.ค. 2020 6:44 pm บอร์ด Joomla Developing Knowledge
0
17
ส 18 ม.ค. 2020 6:44 pm โดย jamepiyawat
วิธีการจัดทำการระบบแจ้้งเตือนใน phpbb
โดย Ittichai_chupol ส 18 ม.ค. 2020 5:42 pm บอร์ด PHP Knowledge
0
11
ส 18 ม.ค. 2020 5:42 pm โดย Ittichai_chupol
Pillow library ปรับขนาดรูปเป็นเปอร์เซ็นเพื่อนำไปใช้งานได้สะดวก
โดย benzas00123 ส 18 ม.ค. 2020 5:25 pm บอร์ด Python Knowledge
0
6
ส 18 ม.ค. 2020 5:25 pm โดย benzas00123
Pillow library Optimize รูปภาพเพื่อให้มีขนาดของข้อมูลที่เล็กลง
โดย benzas00123 ส 18 ม.ค. 2020 2:53 pm บอร์ด Python Knowledge
0
14
ส 18 ม.ค. 2020 2:53 pm โดย benzas00123
ตัวช่วยในการคำนวณแคลอรี่สำหรับผู้ที่รักการออกกำลังกาย
โดย prmindphp ส 18 ม.ค. 2020 11:50 am บอร์ด MindPHP News & Feedback
0
27
ส 18 ม.ค. 2020 11:50 am โดย prmindphp
เราจะเก็บรูปข้อมูลของรูปลง database เราจะใช้ data type อะไรครับ
โดย benzas00123 ส 18 ม.ค. 2020 11:31 am บอร์ด SQL - Database
2
26
ส 18 ม.ค. 2020 1:17 pm โดย benzas00123
อยากทราบวิธีการแก้ไขปัญหาการ อัพโหลดไฟล์ excel แล้วไม่รองรับภาษาไทย
โดย Ittichai_chupol ศ 17 ม.ค. 2020 5:58 pm บอร์ด Programming - PHP
6
39
ส 18 ม.ค. 2020 6:25 pm โดย Ittichai_chupol
ต้องการนับจำนวนอักษรเเละตัดอักษรที่เกิน มีปัญหากับภาษาไทย
โดย thatsawan ศ 17 ม.ค. 2020 5:18 pm บอร์ด Programming - C/C++ & java & Python
0
11
ศ 17 ม.ค. 2020 5:18 pm โดย thatsawan
สอบถามครับ ลูปค่าออกมาแล้วต้องการให้มันเก็บค่าในตัวแปร ต้องทำยังไงครับ
โดย chatee supasand ศ 17 ม.ค. 2020 3:51 pm บอร์ด Programming - C/C++ & java & Python
3
34
ศ 17 ม.ค. 2020 5:19 pm โดย thatsawan
อยากทราบวิธีก่ารเปิด exe ใน ubutu เวอชั่น 14
โดย Ittichai_chupol ศ 17 ม.ค. 2020 2:33 pm บอร์ด Programming - PHP
2
33
ศ 17 ม.ค. 2020 4:14 pm โดย Ittichai_chupol
วิธีการสร้างระบบชำระเงินด้วย omise โดยใช้ php
โดย Ittichai_chupol พฤ 16 ม.ค. 2020 6:53 pm บอร์ด PHP Knowledge
0
39
พฤ 16 ม.ค. 2020 6:53 pm โดย Ittichai_chupol
Pillow library กับการ เปลี่ยนนามสกุล img ทีเดียวหลายๆ file
โดย benzas00123 พฤ 16 ม.ค. 2020 5:45 pm บอร์ด Python Knowledge
0
23
พฤ 16 ม.ค. 2020 5:45 pm โดย benzas00123
Pillow library ในการจัดการและประมวลผลรูปภาพ
โดย benzas00123 พฤ 16 ม.ค. 2020 5:04 pm บอร์ด Python Knowledge
0
35
พฤ 16 ม.ค. 2020 5:04 pm โดย benzas00123
ความแตกต่างระหว่าง visibility: hidden; กับ display: none;
โดย Ittichai_chupol พ 15 ม.ค. 2020 6:44 pm บอร์ด CSS Knowledge
0
69
พ 15 ม.ค. 2020 6:44 pm โดย Ittichai_chupol
ตัวอย่าง การ Query ข้อมูลทีเป็นที่ได้ผลการค้นหา
โดย mindphp พ 15 ม.ค. 2020 6:40 pm บอร์ด Programming - C/C++ & java & Python
0
33
พ 15 ม.ค. 2020 6:40 pm โดย mindphp
สอบถามครับ ทำไมสร้างตารางฐานข้อมูลแล้ว มันไม่ใน ใน pg
โดย chatee supasand พ 15 ม.ค. 2020 5:55 pm บอร์ด Programming - C/C++ & java & Python
4
38
พ 15 ม.ค. 2020 6:07 pm โดย thatsawan
ขอสอบถาม error ของ flask ครับ
โดย benzas00123 พ 15 ม.ค. 2020 10:44 am บอร์ด Programming - C/C++ & java & Python
4
41
พ 15 ม.ค. 2020 10:53 am โดย benzas00123
B - เปิดใบแจ้งหนี้ INVOICE(None Vat) ไม่ได้
โดย mindphp อ 14 ม.ค. 2020 7:35 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
2
อ 14 ม.ค. 2020 7:35 pm โดย mindphp
สอบถาม code ของ Flask หน่อยครับว่ามันเอาไว้ใช้ทำอะไร
โดย benzas00123 อ 14 ม.ค. 2020 4:50 pm บอร์ด Programming - C/C++ & java & Python
3
48
พ 15 ม.ค. 2020 5:54 am โดย mindphp
วิธีการเพิ่มส่วนการแสดงในหน้าสมัครสมาชิกของ เว็บบอร์ด phpbb
โดย Ittichai_chupol อ 14 ม.ค. 2020 3:19 pm บอร์ด PHP Knowledge
0
53
อ 14 ม.ค. 2020 3:19 pm โดย Ittichai_chupol