วันอังคารที่ 16 มิถุนายน พ.ศ. 2558

Basic LUA Script (ตอนที่ 1)

การพัฒนา Application ใน NodeMCU นั้นจะต้องใช้ภาษาโปรแกรมมิ่งที่ชื่อว่า LUA ซึ่ง LUA นั้นเป็นภาษา Script ที่มีการใช้งานอยู่ทั่วไปอยู่แล้วบน Plateform PC สามารถดูรายล่ะเอียดได้ ที่นี่ ทั้งนี้ NodeMCU เองมีรากฐานมาจาก eLua Project ซึ่งรองรับ MCU หลายค่ายอยู่เหมือนกัน

NodeMCU API

ในการพัฒนา Application บน NodeMCU ด้วย Lua Script นั้นข้อนข้างง่ายเพราะ NodeMCU นั้นได้มีการสร้าง API ให้เราเรียกใช้งานได้ข้อนข้างสะดวก เช่น
  • การจัดการเกี่ยวกับ Hardware เช่น การ Restart ตัว Hardware (node module)
  • เรื่องของระบบ File (file module)
  • การจัดการเกี่ยวกับ Wifi ทั้ง AP และ Station
  • ใน NodeMCU ก็ยังมี timer ให้เราใช้งาน (timer module)
  • GPIO (gpio module)
  • PWM (pwm module)
  • Network (net module)
  • การใช้งาน MQTT (mqtt module)
  • การทำงานกับ Json Data (cjson module)
  • การใช้งาน OLED LCD i2c (u8g module)

การอ้างอิง GPIO ทางด้าน Hardware  กับ NodeMCU



ใน NodeMCU จะไม่ได้ใช้หมายเลข GPIO ของ Hardware ในใช้งานตรง ๆ แต่จะมี Table Mapping ใช้ในการอ้างอิงด้วย Index แทน เช่น Index 5 จะเท่ากับ GPIO14 ก่อนทำการทดลองให้ลองกลับไปอ่าน Setup NodeMCU ในการทำงานแบบ Interactive Mode

การใช้งาน GPIO ด้วย Lua Script

การใช้งาน GPIO ของ ESP8266 นั้นเราต้องกำหนด Direction ก่อนว่าเราต้องการใช้เป็น Input หรือ Output


gpio.mode()

Description

initialize pin to GPIO mode, set the pin in/out mode, internal pullup.

Syntax

gpio.mode(pin, mode, pullup)

Parameters

pin: 0~12, IO index
mode: gpio.OUTPUT or gpio.INPUT, or gpio.INT(interrupt mode) pullup: gpio.PULLUP or gpio.FLOAT, default: gpio.FLOAT
ตัวอย่าง Code การ Set Mode GPIO

gpio.read()

Description

read pin value.

Syntax

gpio.read(pin)

Parameters

pin: 0~12, IO index

Returns

number:0 - low, 1 - high


     -- set gpio 0 as output.
    gpio.mode(0, gpio.OUTPUT)

gpio.write()

Description

set pin value.

Syntax

gpio.write(pin)

Parameters

pin: 0~12, IO index
level: gpio.HIGH or gpio.LOW
ตัวอย่าง Code การอ่านค่าสถานะ Input และ Output
    -- read value of gpio 0.
    gpio.read(0)
ตัวอย่าง Code การเขียนค่าสถานะ Output
    -- set pin index 1 to GPIO mode, and set the pin to high.
    pin=1
    gpio.mode(pin, gpio.OUTPUT)
    gpio.write(pin, gpio.HIGH)



Donate

ไม่มีความคิดเห็น:

แสดงความคิดเห็น