NodeMCU Config: Difference between revisions

From Network Security Wiki
Content added Content deleted
Line 109: Line 109:


=== Station Mode ===
=== Station Mode ===

First activate the station interface:
Connecting to WIFI AP:
sta_if.active(True)
sta_if.active(True)

Then connect to your WiFi network:

sta_if.connect('<your ESSID>', '<your password>')
sta_if.connect('<your ESSID>', '<your password>')


To check if the connection is established use:
To check if the connection is established:

sta_if.isconnected()
sta_if.isconnected()


Once established you can check the IP address:
Once established you can check the IP address:

sta_if.ifconfig()
sta_if.ifconfig()
('192.168.0.2', '255.255.255.0', '192.168.0.1', '8.8.8.8')


You can then disable the access-point interface if you no longer need it:
You can then disable the access-point interface if you no longer need it:
ap_if.active(False)


Disconnecting from Station:
ap_if.active(False)
sta_if = network.WLAN(network.STA_IF)
sta_if.active(False)

Here is a function you can run (or put in your boot.py file) to automatically connect to your WiFi network:

<syntaxhighlight lang="python">
def do_connect():
import network
sta_if = network.WLAN(network.STA_IF)
if not sta_if.isconnected():
print('connecting to network...')
sta_if.active(True)
sta_if.connect('<essid>', '<password>')
while not sta_if.isconnected():
pass
print('network config:', sta_if.ifconfig())
<syntaxhighlight>


== Boot Process ==
== Boot Process ==

Revision as of 17:17, 22 April 2018


Micropython

Installation

  • Flashing Micropython

Download firmware file from micropython.org

sudo pip install esptool
esptool.py --port /dev/ttyUSB0 erase_flash
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 ~/Desktop/esp8266-20171101-v1.9.3.bin
  • Check the firmware integrity:
import esp
esp.check_fw()

Connecting

  • Via Terminal:
sudo apt install picocom
picocom /dev/ttyUSB0 -b115200
  • Via REPL(web):
import webrepl_setup
  • If you disabled automatic start-up on boot, you may run configured daemon on demand using:
import webrepl
webrepl.start()
  • Upload data using Serial Port
sudo pip install adafruit-ampy
ampy --port /dev/ttyUSB0 put ~/Desktop/main.py

File System

  • Checking filesystem:
import os
os.listdir()
  • Create directories:
os.mkdir('dir')
  • Remove Files:
os.remove('data.txt')
  • Reading data:
f = open('data.txt')
f.read()
f.close()
  • Writing Data to files:
f = open('data.txt', 'w')
f.write('some data')
f.close()

Networking

  • Checking Machine Frequency & Overclocking:
import machine
machine.freq()                # get the current frequency of the CPU
machine.freq(160000000)       # set the CPU frequency to 160 MHz

AP Mode

  • Check AP Name:
import network
ap = network.WLAN(network.AP_IF)
print(ap.config('essid'))
  • Change AP name and password:
import network
ap = network.WLAN(network.AP_IF)
ap.active(True)
ap.config(essid='MyESP8266', authmode=network.AUTH_WPA_WPA2_PSK, password='mypassword')
print(ap.config('essid'))
  • Turning off AP:
ap = network.WLAN(network.AP_IF)
ap.active(False)

Station Mode

Connecting to WIFI AP:

sta_if.active(True)
sta_if.connect('<your ESSID>', '<your password>')

To check if the connection is established:

sta_if.isconnected()

Once established you can check the IP address:

sta_if.ifconfig()

You can then disable the access-point interface if you no longer need it:

ap_if.active(False)

Disconnecting from Station:

sta_if = network.WLAN(network.STA_IF)
sta_if.active(False)

Here is a function you can run (or put in your boot.py file) to automatically connect to your WiFi network:

def do_connect():
    import network
    sta_if = network.WLAN(network.STA_IF)
    if not sta_if.isconnected():
        print('connecting to network...')
        sta_if.active(True)
        sta_if.connect('<essid>', '<password>')
        while not sta_if.isconnected():
            pass
    print('network config:', sta_if.ifconfig())
<syntaxhighlight>

== Boot Process ==
#As a final step of boot procedure, ''main.py'' is executed from filesystem
#This file is a hook to start up a user application each time on boot (instead of going to REPL). 
#For small test applications, you may name them directly as ''main.py''
#But instead it’s recommended to keep your application(s) in separate files, and have just the following in main.py:

<syntaxhighlight lang="python">
import my_app
my_app.main()

Lua

        This section is under construction.



References





{{#widget:DISQUS |id=networkm |uniqid=NodeMCU Config |url=https://aman.awiki.org/wiki/NodeMCU_Config }}