ESP8266 HTTP-Server med IO (5 / 6 steg)
Steg 5: Ringer från Python
Såsom anges i intro, kan du också ringa servern från Python och andra språk.
För att köra exemplet Python, måste du göra "DEVICE_URL" ändra innan du kör den. Du behöver också begäran om paketet.
# ESP8266 http io server test.
#
# Mål i livet:
# Tester utsatt grundläggande ledningar funktioner: pinMode, digitalRead, digitalWrite,
# analogRead och analogWrite från ESP8266 http-servern.
#
# Skriven av - Scott Beasley 2016.
# Public domain. Gratis att använda eller ändra. Njut av :)
#
# begär information finns här: < en href = "http://docs.python-requests.org/en/latest/user/install/#install" > http://docs.python-requests.org/en/latest/user/in...>
Importförfrågningar
Importera tid
DEVICE_URL = 'http://192.168.2.8' # IP av din ESP (kopierad från seriella monitor)
def digitalWrite (pin, statligt):
r = requests.get (DEVICE_URL +'/ digitalWrite', params = pin + "," + stat,
ström = False,
headers = {'Anslutning': "nära", "keep_alive": "Falska"})
ret_json = r.json)
r.Connection.Close()
return_val = ret_json ['return_code']
återgå int(return_val)
def digitalRead (pin):
r = requests.get (DEVICE_URL +'/ digitalRead', params = pin, ström = False,
headers = {'Anslutning': "nära", "keep_alive": "Falska"})
ret_json = r.json)
return_val = ret_json ['data_value']
återgå return_val
def pinMode (pin, statligt):
r = requests.get (DEVICE_URL +'/ pinMode', params = pin + "," + stat,
ström = False,
headers = {'Anslutning': "nära", "keep_alive": "Falska"})
ret_json = r.json)
r.Connection.Close()
return_val = ret_json ['return_code']
återgå int(return_val)
def analogWrite (pin, statligt):
r = requests.get (DEVICE_URL +'/ analogWrite', params = pin + "," + stat,
ström = False,
headers = {'Anslutning': "nära", "keep_alive": "Falska"})
ret_json = r.json)
r.Connection.Close()
return_val = ret_json ['return_code']
återgå int(return_val)
def analogRead (pin):
r = requests.get (DEVICE_URL +'/ analogRead', params = pin, ström = False,
headers = {'Anslutning': "nära", "keep_alive": "Falska"})
ret_json = r.json)
return_val = ret_json ['data_value']
återgå int(return_val)
def (huvudsakliga):
pinMode ("3", "INPUT_PULLUP")
pinMode ("16", "OUTPUT") # på NODEMCU har en LED på den
medan 1:
digitalWrite ("16", "LOW")
Time.Sleep (1)
digitalWrite ("16", "Hög")
skriva ut "A0 =" + str (analogRead ("0"))
skriva ut "D3 =" + digitalRead ("3")
slutet
om __name__ == "__main__":
(huvudsakliga)