Gömülü Sistem NodeMCU ile End User Setup Kullanımı (Wifi Bağlantısı) By Umut Kazanç Posted on 26 Kasım 2017 8 min read 1 1 7,577 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr Merhaba Arkadaşlar; Bu yazımda ise NodeMCU da her seferinde program başına bağlanacağımız wifi ağının bilgilerini girmek yerine, end user setup özelliği ile bu işlemi wifi dan yapıp nasıl bağlanılır onu anlatacağım. Önceki yazımı inceleyerek modül kütüphane seçim kısmında end user setup ı seçerek tekrar bin dosyası hazırlatıp nodemcu ya yükleyebilirsiniz. Yükleme işlemi tamamlandıktan sonra nodemcu yu pc ya bağlayıp init ve yapacağımız test webserver dosyalarımızı hazırlayalım. init.lua dosyasına end user setup özelliğini ekleyip bağlantı yapılmış ise yayınlayacağımız server dosyasını çalıştıracağız. Bu esnada modülün üstündeki led i bağlantı kuruncaya kadar pwm ile hızlı yakıp söndürdüm, bağlantı kurduğunda ise frekansı 1 hz yaptım ki bağlantı kurulduğunu led den de anlayabilelim. init.lua --init.lua Umut K.-- print('Open file: init.lua\n') –system voltage if adc.force_init_mode(adc.INIT_VDD33) then node.restart() return — don’t bother continuing, the restart is scheduled end print(“System voltage (mV):”, adc.readvdd33(0)) –nodemcu ya gore (esp8266-12) local led = 4 –modüldeki led — GPIO ayarla: gpio.mode(led, gpio.OUTPUT) –pwm ayarla: (esp8266-12 ye gore led ters) pwm.setup(led, 5, 900) pwm.start(led) print(‘Baglanti Kontrol Ediliyor…’) enduser_setup.start( function() –print(“Connected IP:\t” .. wifi.sta.getip()) print(“Starting server…”) pwm.setup(led, 1, 900) pwm.start(led) dofile(“webserver.lua”) end, function(err, str) print(“enduser_setup: Err #” .. err .. “: ” .. str) end ); wifi.eventmon.register(wifi.eventmon.STA_GOT_IP, function(T) print(“\nStation IP:\t”..T.IP..”\nSubnet mask:\t”..T.netmask..”\nGateway IP:\t”..T.gateway) print(‘Baglanti yapiliyor…’) end) Daha sonra bağlantı kurulduğunda test için basit bir web server sayfası açtırıyorum. webserver.lua --webserver.lua Umut K.-- print('Open file: webserver.lua') --ds ayarla print('Server OK...') -- Start a simple http server srv=net.createServer(net.TCP) srv:listen(8080,function(conn) conn:on("receive",function(conn,payload) local httpbuf = "" print(payload) –html kod oluştur httpbuf = httpbuf .. “<html><head><meta http-equiv=’refresh’ content=’3’/><title>nodeMCU web server</title>” httpbuf = httpbuf .. “<p align=’center’><font size=’6′ color=’blue’><b>nodeMCU web server</b></font></p>” httpbuf = httpbuf .. “<p align=’center’><font size=’3′><b>System Voltage : ” .. adc.readvdd33(0) .. ” mV</b></font>” httpbuf = httpbuf .. “<p align=’center’><font size=’3′>RSSI : ” .. wifi.sta.getrssi() .. “</font>” httpbuf = httpbuf .. “<p align=’center’><font size=’3′>Umut KAZANÇ</font>” httpbuf = httpbuf .. “</body></html>” –tcp gonder conn:send(httpbuf) end) conn:on(“sent”,function(conn) conn:close() end) end) --sürekli baglantiyi kontrol edilecek koptu ise reset atilacak tmr.alarm(0, 5000, 1, function () if wifi.sta.status()==3 then print('Baglanti koptu...') node.restart() end end) Artık programı nodemcu ya yükleyip çalıştırdığımızda init dosyası açılacak ve end user setup ı başlatacaktır. Program burada wifi ap olarak açıp bağlantı kurup ayar yapmanızı bekleyecektir. Bu kısımları end user setup otomatik yapmaktadır. Şimdi herhangibi bir wifi cihazdan bağlanıp ayarlarımızı yapalım. Ben cep telefonundan bağlantı kurdum. Wifi taradığınızda şöyle bir ağ gelmektedir. SetupGadget_….. şeklinde bir ağ görünecektir. bu ağa şifresiz girip bağlantı kurulduğunda ise tarayıcınızdan 192.168.4.1 adresine girip bağlanacağımız wifi bilgilerini gireceğiz. Bizden wifi name ve password isteyecektir. Wifi name i ister tarayarak seçip isterseniz manüel yazabilirsiniz. Bilgileri girip Save a bastığımızda bağlantı gerçekleşecektir. Success mesajını aldığınızda yazdığınız wifi ağına bağlanmış demektir ve IP adresini de yazacaktır. Bu esnada bağlandığınız şifresiz ağ otomatik kapanacaktır. Artık ayarlarımızı yaptık, init dosyasında ayarlar yapıldığında webserver.lua dosyası gelecektir. Yapacağınız projelerinizde bu init dosyasını kullanarak her seferinde wifi bilgilerini girmektense son kullanıcıya bırakmak daha iyidir. Bir sornaki nodemcu uygulamasında (DS18B20 okuma) görüşmek üzere… Kolay Gelsin…