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

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    ว

                            

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ช่วงนี้ Work From Home ก็จะลำบากนิดนึงแหละเนอะ #ทาสเเมว
โดย thatsawan จ 30 มี.ค. 2020 2:29 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
10
จ 30 มี.ค. 2020 2:29 pm โดย thatsawan
อยากทราบวิธีสร้างเว็บหน้าเดียวแบบกรอกข้อมูลเสร็จแล้วประมวลผล
โดย phongkhukhan ส 28 มี.ค. 2020 1:00 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
2
144
ส 28 มี.ค. 2020 1:09 am โดย mindphp
แสดงสินค้าที่อยากได้ใน Wishlist ด้วย Module Wishlist
โดย prmindphp ศ 27 มี.ค. 2020 5:26 pm บอร์ด MindPHP News & Feedback
0
42
ศ 27 มี.ค. 2020 5:26 pm โดย prmindphp
B - package member หน้า Migrate ข้อมูลบัตรประชนซ้ำได้ ต้องทำไม่ได้เเละเก็บ logs ด้วย
โดย thatsawan ศ 27 มี.ค. 2020 4:25 pm บอร์ด ThaiVI (Main)
0
1
ศ 27 มี.ค. 2020 4:25 pm โดย thatsawan
ต้องการสร้าง subtype
โดย blackbullx16 ศ 27 มี.ค. 2020 4:15 pm บอร์ด SQL - Database
0
125
ศ 27 มี.ค. 2020 4:15 pm โดย blackbullx16
อยากทราบวิธีการใช้งาน อีเวน cron ว่ามีการใช้งานอย่างไครับ
โดย Ittichai_chupol ศ 27 มี.ค. 2020 11:10 am บอร์ด Programming - PHP
1
63
ส 28 มี.ค. 2020 11:42 am โดย mindphp
อยากทราบวิธีการแก้ไขการแปลงปีวันที่ใน phpbb ผิด เมื่อกรอกวันที่ 29/02
โดย Ittichai_chupol ศ 27 มี.ค. 2020 10:42 am บอร์ด Programming - PHP
3
49
จ 30 มี.ค. 2020 7:01 pm โดย mindphp
อยากทราบวิธีการจะสร้างการทำงานสำหรับการแจ้งเตือนของ Extension ในอีเวน cron
โดย Ittichai_chupol พฤ 26 มี.ค. 2020 10:34 am บอร์ด PHP Knowledge
2
161
พฤ 26 มี.ค. 2020 2:34 pm โดย LEG
แสดงสินค้าขายดีในร้านค้าออนไลน์ด้วย Module Bestseller
โดย prmindphp พ 25 มี.ค. 2020 5:42 pm บอร์ด MindPHP News & Feedback
0
60
พ 25 มี.ค. 2020 5:42 pm โดย prmindphp
อยากทราบวิธีการที่จะสามารถปิดการแสดงของ modules ใน ucp โดยไม่ต้องเข้าไปจัดการในระบบ
โดย Ittichai_chupol พ 25 มี.ค. 2020 1:04 pm บอร์ด Programming - PHP
1
47
พ 25 มี.ค. 2020 1:05 pm โดย Ittichai_chupol
วิธีการสมัครเข้าใช้งาน Skype สำหรับใช้งาน VDO video conference ในมือถือ
โดย numtan5839 พ 25 มี.ค. 2020 11:26 am บอร์ด Microsoft Office Knowledge & line & Etc
1
170
พฤ 26 มี.ค. 2020 2:34 pm โดย LEG
อยากท่องเที่ยวใหว้พระอุดรกับรถเช่าอุดร แนะนำ
โดย udon999 อ 24 มี.ค. 2020 10:49 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
56
อ 24 มี.ค. 2020 10:49 pm โดย udon999
อยากเที่ยวอุดร ลองเช่ารถอุดร ท่องเที่ยวใหว้พระเชิญทางนี้
โดย udon999 อ 24 มี.ค. 2020 9:57 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
37
อ 24 มี.ค. 2020 9:57 pm โดย udon999
แสดงหมวดหมู่สินค้าให้กับร้านค้าออนไลน์ด้วย Module Category
โดย prmindphp อ 24 มี.ค. 2020 5:57 pm บอร์ด MindPHP News & Feedback
0
39
อ 24 มี.ค. 2020 5:57 pm โดย prmindphp
3 การขนส่งสินค้าที่แปลกที่สุดในโลก
โดย ngongsus อ 24 มี.ค. 2020 12:58 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
56
อ 24 มี.ค. 2020 12:58 pm โดย ngongsus
ตะกร้าสินค้าที่บอกรายละเอียดได้มากกว่าแค่ราคาสินค้า Module MooZiiCart - Cart Ext
โดย prmindphp จ 23 มี.ค. 2020 6:21 pm บอร์ด MindPHP News & Feedback
0
81
จ 23 มี.ค. 2020 6:21 pm โดย prmindphp
3 ข้อเท็จจริงอันน่าสนใจเกี่ยวกับไวรัสโคโรนา 2019 (COVID-19)
โดย nemo413 จ 23 มี.ค. 2020 6:05 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
71
จ 23 มี.ค. 2020 6:05 pm โดย nemo413
อยาทราบวิธีการสร้างลิ้งค์ ไปยัง จากส่วนการแจ้งเตือน ไป ยัง Extension ที่อยู่ในส่วนของ ucp
โดย Ittichai_chupol จ 23 มี.ค. 2020 4:28 pm บอร์ด Programming - PHP
1
237
จ 23 มี.ค. 2020 5:01 pm โดย mindphp
วางแผนค่าลดหย่อนภาษีอย่างไรให้ได้ประโยชน์ระยะยาว
โดย medalezga จ 23 มี.ค. 2020 12:09 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
52
จ 23 มี.ค. 2020 2:19 pm โดย kreemza123
ประกันสังคมปรับลดอัตราส่งเงิน นาน 6 เดือน เพื่อบรรเทาผลกระทบการแพร่ระบาดโรคไวรัส COVID-19
โดย thatsawan อ 22 มี.ค. 2020 1:48 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
243
จ 30 มี.ค. 2020 2:24 pm โดย thatsawan