Perangkat yang diperlukan:
1. Board ESP8266 NodeMCU V1.0
2. Micro USB Cable
3. Smartphone yang telah diaktifkan fungsi Hotspot
4. CP2102 (USB to Serial Converter) driver yang telah diinstall
6. ESPlorer IDE
Langkah-langkah:
1. Install CP2102 (USB to Serial Converter) driver jika anda belum melakukannya
2. Install Arduino IDE jika anda belum melakukannya
3. Install board manager ESP8266
4. Aktifkan Hotspot pada smartphone anda, tentukan SSID dan Password
Gambar 2. Pengaktifan Hotspot pada smartphone
5. Lakukan koding sebagai berikut:
nama file: credentials.lua
-- Credentials
SSID = "BOLT!Super4G-899A"
PASSWORD = "********"
nama file: application.lua
-- Aplication
print("Server started")
print("Use this URL to connect: ")
print("http://" .. wifi.sta.getip() .. "/")
ledPin = 0 -- GPIO 16
gpio.mode(ledPin, gpio.OUTPUT)
gpio.write(ledPin, gpio.HIGH)
value = "Off";
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
conn:on("receive", function(client,request)
print("new client")
local buf = "";
print(request)
-- Return the response
buf = buf .. "HTTP/1.1 200 OK\n"
buf = buf .. "Content-Type: text/html\n"
buf = buf .. "\n"
buf = buf .. "<!DOCTYPE HTML>\n"
buf = buf .. "<html>\n"
if(string.find(request,"LED=ON") == nil) then
gpio.write(ledPin, gpio.HIGH)
value = "Off"
else
gpio.write(ledPin, gpio.LOW)
value = "On"
end
buf = buf .. "Led pin is now:" .. value .. "\n";
buf = buf .. "<br><br>\n"
buf = buf .. "<a href=\"/LED=ON\"\"><button>Turn On </button></a>\n"
buf = buf .. "<a href=\"/LED=OFF\"\"><button>Turn Off </button></a><br />\n"
buf = buf .. "</html>\n"
print(buf)
client:send(buf)
client:close()
collectgarbage()
end)
end)
nama file: init.lua
-- Init
-- load credentials, 'SSID' and 'PASSWORD' declared and initialize in there
dofile("credentials.lua")
-- function startup akan diaktifkan secara timer alarm setelah sistem berhasil koneksi ke hotspot dengan
-- jeda waktu 3 detik, sehingga jika terdapat bugs pada application.lua, dapat diintervensi
-- dengan perintah file.remove("application.lua") pada tahapan awal boot
function startup()
if file.open("init.lua") == nil then
print("init.lua deleted or renamed")
else
print("Running")
file.close("init.lua")
-- aplikasi autoexec anda sekarang adalah 'application.lua'
if file.open("application.lua") == nil then
print("application.lua tidak ditemukan, silakan buat application.lua sebagai autoexec.")
else
file.close("application.lua")
dofile("application.lua")
end
end
end
print("Connecting to " .. SSID)
wifi.setmode(wifi.STATION)
wifi.sta.config(SSID, PASSWORD)
-- wifi.sta.connect() not necessary because config() uses auto-connect=true by default
-- timer alarm untuk per tiap detik sampai tmr.stop(1)
tmr.alarm(1, 1000, 1, function()
if wifi.sta.getip() == nil then
print(".")
else
-- berhasil koneksi dan mendapatkan IP Address
tmr.stop(1)
print("WiFi connected")
print("You have 3 seconds to abort")
print("Waiting...")
-- jalankan fungsi startup setelah 3 detik
tmr.alarm(0, 3000, 0, startup)
end
end)
6. Upload Masing-masing file
Gambar 3. Masing-masing file pada Editor
7. Lihat hasil eksekusi pada jendela serial monitor
Connecting to BOLT!Super4G-899A
> ...
WiFi connected
You have 3 seconds to abort
Waiting...
Running
Server started
Use this URL to connect:
http://192.168.43.207/
> ...
WiFi connected
You have 3 seconds to abort
Waiting...
Running
Server started
Use this URL to connect:
http://192.168.43.207/
8. Catat Nomor IP Server yang diberikan oleh hotspot
9. Aktifkan browser pada smartphone anda, dan browse ke http://192.168.43.207
Gambar 4. Hasil Browse pada Smartphone
12. Silakan coba klik Turn-on dan Turn-Off
Selamat mencoba.
Salam,
Hendra.
Tidak ada komentar:
Posting Komentar