coolwolf / 10/08/2019

NodeMCU serial Communication with Nextion using LUA

  1. Never forget to set a fuse in init.lua
gpio.mode(6, gpio.INPUT)
EnableBoot=gpio.read(6)

if EnableBoot==0 then dofile("main.lua") 
else print("Device will not continue booting...")
end

Consider we have a text with id t0 on Nextion.
To test two way communication, we put a button on Nextion, which send “Hello from Nextion” over serial.
This incoming data is also printed to the debug screen.
The last component on Nextion is a gauge with id z0.

Below you can found main.lua file wihch does two way communication with Nextion. It sends the Pot value to the Nextion on input trigger. And at at every second it sends Pot value to Nextion’s gauge as integer value.

print("Normal Boot")

local MyInput=5
local Threshold=1000
local LastTrig=0
local PotValue=0

gpio.mode(MyInput,gpio.INT)

local mytimer = tmr.create()

local function SendToNextion(Object,Property,Value,IsInt)
    if IsInt then
        uart.write(0,Object.."."..Property.."="..Value..(string.char (255))..(string.char (255))..(string.char (255)))
    else 
        uart.write(0,Object.."."..Property.."=\""..Value.."\""..(string.char (255))..(string.char (255))..(string.char (255)))
    end  
end

local function InputTrigger(State, Time)
    local ms=tmr.now()/1000
    local diff=ms-LastTrig
    if diff



I hope this helps.

coolwolf / 01/05/2017

ESP8266, ESP12, ESP13 İlk Programımızı yazalım

NodeMCU Firmware atmadıysanız, öncelikle buradaki yazıyı takip ederek firmware atabilirsiniz.
İlk işimiz ESPlorer’i  buradan indirip, içindeki ESPlorer klasörünü ZIP’ten çıkaralım. Bu klasörde bulunan ESPlorer.bat dosyasına çift tıklayarak ESPlorer programını çalıştıralım.
Dikkat !!! ESPlorer’in çalışması için bilgisayarınızda JAVA yüklü olmalıdır.
İlk işimiz credentials.lua isimli bir dosya oluşturalım ve içine ESP’mizi bağlayacağımız erişim noktasının bilgilerini yazalım:

-- Credentials
SSID = "ERISIM-NOKTASI-ADI"
PASSWORD = "WIFI-PAROLASI"

Ardından init.lua isimli bir dosya oluşturalım ve içine aşağıdakileri yazalım:

-- load credentials, 'SSID' and 'PASSWORD' declared and initialize in there
dofile("credentials.lua")
function startup()
    if file.open("init.lua") == nil then
        print("init.lua deleted or renamed")
    else
        print("Running")
        file.close("init.lua")
        -- the actual application is stored in 'application.lua'
        -- dofile("application.lua")
    end
end
print("Connecting to WiFi access point...")
wifi.setmode(wifi.STATION)
wifi.sta.config(SSID, PASSWORD)
-- wifi.sta.connect() not necessary because config() uses auto-connect=true by default
tmr.create():alarm(1000, tmr.ALARM_AUTO, function(cb_timer)
    if wifi.sta.getip() == nil then
        print("Waiting for IP address...")
    else
        cb_timer:unregister()
        print("WiFi connection established, IP address: " .. wifi.sta.getip())
        print("You have 3 seconds to abort")
        print("Waiting...")
        tmr.create():alarm(3000, tmr.ALARM_SINGLE, startup)
    end
end)

Şimdi ESPlorer arcılığı ile her iki dosyayı da ESP2mize yükleyelim.
Öncelikle Com Port numarasını seçip, baud ayarını da yaptıktan sonra Connect Butonuna basıyoruz.

Aşağıdakine benzer bir çıktı alıyorsanız işlem tamamdır:

PORT OPEN 115200
Communication with MCU..Got answer! Communication with MCU established.
AutoDetect firmware...
Can't autodetect firmware, because proper answer not received (may be unknown firmware).
Please, reset module or continue.
tail 12
chksum 0xd5
ho 0 tail 12 room 4
load 0x3ffe8000, len 2212, room 12
tail 8
chksum 0x36
load 0x3ffe88a4, len 136, room 0
tail 8
chksum 0x5b
csum 0x5b

Şimdi ESPlorer penceresinin en altındaki butonları tıklayarak iletişim kurup kuramadığımıza bakalım.
Mesela Chip Info butonuna bastığınızda alttaki gibi bir çıktı almalısınız:

=node.info()
2	0	0	927018	1458400	4096	2	80000000
>

Artık iletişim kurabildiğimize göre yukarıda oluşturduğumuz iki dosyayı ESP’ye yükleyelim.
Bunun için ESPlorer’ın sol alt tarafında bulunan upload butonunu kullanacağız.

Önce creditentals, sonra da init dosyasını gönderiyoruz.
Run butonuna bastığınızda kodunuz çalışacaktır.

coolwolf / 01/05/2017

ESP Firmware nasıl oluşturulur ve nereden indirilir ?

ESP’niz için hazır firmwareler indirebileceğiniz gibi, en çok kullanılan yöntem olan kendinize özel firmware oluşturma yöntemini de kullanabilirsiniz. Bunun için NodeMCU Cloud Build Service sayfasına eposta adresinizi yazdıktan sonra alt kısımda bulunan seçenekleri ihtiyacınıza göre işaretleyip Start Your Build butonuna tıklayınız.

Buradaki seçeneklerden hepsini seçmek zorunda değilsiniz. Gördüğünüz gibi bazıları zaten kendiliğinden seçilmiş durumdadır. Bunlara ek olarak eklemek istrediğiniz modüller varsa build’inize dahil edebilirsiniz. Hangi modülün ne işe yaradığı hemen sağındaki kitap işaretine tıklayarak ulaşabileceğiniz sayfada açıklanmıştır.
Birkaç dakika içinde firmware’niz eposta adresinize gelecektir.

coolwolf / 14/10/2016

ESP12-E ve ESP12-F Bağlantı Şekli ve Firmware Atma

ESP 12 E, ESP 12 F Pin Bağlantıları:

ESP12F Önden görünüm:


Dikkat: Firmware atarken IO0 GND’ye bağlanmalıdır. Normal çalışma modunda IO0 VCC veya boşta olabilir.


Peki NodeMcu Firmware nasıl yüklenir?
Öcelikle bir USB to Serial çeviriciye ihtiyacınız var. Ben üzerinde 3.3V çıkışı olanı tercih ediyorum. Böylece ESP8266’ya firmware atarken harici bir güç kaynağına ihtiyacım olmuyor.

USB Serial çeviriciyi taktıktan sonra, aygıt yöneticisinden baud ayarlarını aşağıdaki gibi yapınız:

Şimdi Serial çevirici’nin TX ucunu ESP’nin TX ucune, RX ucunu ESP’nin RX ucuna, GND ucunu ESP’nin GND ucuna, son olarak da 3.3V ucunu ESP’nin VCC ucuna bağlayınız.
ESP’ye firmware atmak için en üstte belirtilen ek bağlantıları da yapmalısınız.
Şimdi NODEMCU FIRMWARE PROGRAMMER uygulamasını açıp aşağıdaki ayarları yapalım:
1. Confg kısmından firmware’mizi seçelim. (ESP Firmware nasıl oluşturulur ve nereden indirilir ?)

2. Advanced kısmından port ayarlarını yapalım. Varsayılan firmware atma 74880 baud:

3. Son olarak Firmware’mizi ESP’ye gönderelim:

Eğer MAC adresini görebiliyorsanız ve durum çubuğu ilerliyorsa sorun yok demektir. Durum çubuğunun en sona kadar gelmesini ve yüklemenin bitmesini beklemeniz yeterli. Yükleme bittiğinde sol altta yeşil yanacaktır.