ESP8266 op basis van configureerbare wifi General-Purpose webbesturingselement (deel II)


Opmerking: Een klaar om te gaan van de Raad van bestuur kan worden gekocht hier

Op deel II ga ik over hoe te programmeren de ESP8266 dus een USB naar seriële module en een terminal is niet nodig: het zal allemaal worden gedaan via het web. Ook, zal ik uitleggen hoe te rijden een binaire teller en 4 aansturen van Relais (multi op/multi af) met GPIO0 als controle- en GPIO2 als reset. Op deze manier de ESP8266 echt verandert in een krachtig apparaat dat kan worden toegevoegd aan elk automatiseringsproject en zijn eenvoudig te programmeren op site.

U kunt meer informatie krijgen op mijn projecten op de website van Horacio Bouzas

De controle firmware

De firmware moet kunnen toestaan dat de gebruiker om te verbinden met de module en de SSID en wachtwoord van het netwerk de module zal worden aangesloten op. De stappen voor het ontwerpen van de ingebouwde programmatuur zijn als volgt:

1. Zet de module op de servermodus (AP)

2. Stel een gebruikersnaam en wachtwoord

3. het maken van een server

4. luisteren op poort 80

5. module adres is 192.168.4.1

6. het presenteren van een web-pagina asking voor SSID en wachtwoord

7. Ga naar Station modus en SSID en wachtwoord instellen

8. verbinding maken met netwerk

9. start luisteren naar gebeurtenissen komen op het IP-adres toegewezen door het netwerk en de poort 9999

Hier is de code om het te doen:

File.Open("init.lua","w")

File.WriteLine ([[print ("WIFI control")]])

--module in AP modus gezet

File.WriteLine ([[wifi.setmode (wifi. SOFTAP)]])

File.WriteLine ([[afdrukken ("ESP8266 modus is:".. WiFi.getMode())]])

File.WriteLine([[cfg={}]])

--Set de SSID van de module in AP modus en toegangswachtwoord

File.WriteLine([[cfg.SSID="ESP_STATION"]])

File.WriteLine([[cfg.pwd="the_ESP8266_WIFI_password"]])

File.WriteLine ([[als ssid en wachtwoord vervolgens]])

File.WriteLine ([[afdrukken ("ESP8266 SSID is:".. cfg.SSID... "en het wachtwoord is:".. cfg.password)]])

File.WriteLine([[end]])

--Nu moet u een draadloze router van SSID genoemd ESP_STATION wanneer u voor beschikbare WIFI netwerken scant

--Kunt verbinding maken met de module vanaf een computer van het mobiele apparaat. Dus, de SSID zoeken en verbinding maken met behulp van het geselecteerde wachtwoord

File.WriteLine([[WiFi.AP.config(cfg)]])

File.WriteLine ([[ap_mac = wifi.ap.getmac()]])

--Maak een server op poort 80 en wacht op een verbinding wanneer een verbinding in c-functie komt zal worden uitgevoerd

File.WriteLine ([[sv=net.createServer (net. TCP, 30)]])

File.WriteLine([[SV:Listen(80,function(c)]])

File.WriteLine ([[c: op ("ontvangen", function (c, pl)]])

--afdrukken de nettolading pl ontvangen van de verbinding

File.WriteLine([[print(PL)]])

File.WriteLine([[print(string.Len(PL))]])

--wacht totdat de SSID komt terug en ontleden de SSID en het wachtwoord

File.WriteLine([[print(string.match(PL,"Get"))]])

File.WriteLine([[ssid_start,ssid_end=string.Find(PL,"SSID=")]])

File.WriteLine ([[als ssid_start en vervolgens ssid_end]])

File.WriteLine ([[amper1_start, amper1_end =string.find (pl,"&", ssid_end + 1)]])

File.WriteLine ([[als amper1_start en vervolgens amper1_end]])

File.WriteLine ([[http_start, http_end =string.find (pl, "HTTP/1.1", ssid_end + 1)]])

File.WriteLine ([[als http_start en vervolgens http_end]])

File.WriteLine ([[ssid=string.sub (pl, ssid_end + 1, amper1_start-1)]])

File.WriteLine ([[password=string.sub (pl, amper1_end + 10, http_start-2)]])

File.WriteLine ([[afdrukken ("ESP8266 verbinden met SSID:".. SSID... "met wachtwoord:".. wachtwoord)]])

File.WriteLine ([[als ssid en wachtwoord vervolgens]])

File.WriteLine([[SV:Close()]])

--Sluit de server en de module ingesteld op STATION-modus

File.WriteLine ([[wifi.setmode (wifi. STATIONAP)]])

File.WriteLine ([[afdrukken ("ESP8266 modus nu is:".. WiFi.getMode())]])

--de module wso het kunt verbinden met het netwerk met behulp van de ontvangen SSID en het wachtwoord configureren

File.WriteLine([[WiFi.sta.config(SSID,password)]])

File.WriteLine ([[print ("het opzetten van ESP8266 voor station mode... Please wait.')]])

File.WriteLine([[TMR.delay(10000000)]])

File.WriteLine ([[afdrukken ("ESP8266 STATION IP is nu:".. WiFi.sta.getip())]])

File.WriteLine ([[afdrukken ("ESP8266 AP IP is nu:".. WiFi.AP.getip())]])

--nu de module is geconfigureerd en aangesloten op het netwerk dus laten we beginnen met het instellen van dingen voor de controle-logica

File.WriteLine ([[gpio.mode (8, gpio. UITVOER)]])

File.WriteLine ([[gpio.mode (9, gpio. UITVOER)]])

File.WriteLine([[TMR.delay(10)]])

File.WriteLine ([[gpio.write (8, gpio. HOGE)]])

File.WriteLine([[TMR.delay(10)]])

File.WriteLine ([[gpio.write (8, gpio. LAAG)]])

File.WriteLine ([[sv=net.createServer (net. TCP, 30)]])

File.WriteLine([[SV:Listen(9999,function(c)]])

File.WriteLine ([[c: op ("ontvangen", function (c, pl)]])

File.WriteLine ([[als tonumber(pl) ~ = nihil dan]])

File.WriteLine ([[if tonumber(pl) > = 1 en tonumber(pl) < = 16 then]])

File.WriteLine([[print(tonumber(PL))]])

File.WriteLine([[TMR.delay(10)]])

File.WriteLine ([[gpio.write (8, gpio. HOGE)]])

File.WriteLine([[TMR.delay(10)]])

File.WriteLine ([[gpio.write (8, gpio. LAAG)]])

File.WriteLine ([[voor graaf =1,tonumber(pl) do]])

File.WriteLine ([[print(count)]])

File.WriteLine([[TMR.delay(10)]])

File.WriteLine ([[gpio.write (9, gpio. LAAG)]])

File.WriteLine([[TMR.delay(10)]])

File.WriteLine ([[gpio.write (9, gpio. HOGE)]])

File.WriteLine ([[c:send("Sequence finished")]])

File.WriteLine([[end]])

File.WriteLine([[end]])

File.WriteLine([[end]])

File.WriteLine ([[afdrukken ("ESP8266 STATION IP is nu:".. new_ip)]])

File.WriteLine ([[c:send("ESP8266 STATION IP now is:".. new_ip)]])

File.WriteLine ([[c:send("Action completed")]])

File.WriteLine([[end)]])

File.WriteLine([[end)]])

File.WriteLine([[end]])

File.WriteLine([[end]])

File.WriteLine([[end]])

File.WriteLine([[end]])

--Dit is de webpagina waarin de SSID en het wachtwoord van de gebruiker wordt aangevraagd

File.WriteLine ([[c:send("")]])

File.WriteLine ([[c:send("")]])

File.WriteLine ([[c:send("")]])

File.WriteLine ([[c:send("ESP8266 Wireless control setup")]])

File.WriteLine ([[mac_mess1 = "de module MAC-adres is:".. ap_mac]])

File.WriteLine ([[mac_mess2 = "Je moet dit MAC-adres te vinden van het IP-adres van de module, let het."]])

File.WriteLine ([[c:send("".. mac_mess1... "")]])

File.WriteLine ([[c:send("".. mac_mess2... "")]])

File.WriteLine ([[c:send("Enter SSID and Password for your WIFI router")]])

File.WriteLine ([[c:send("

")]])

File.WriteLine ([[c:send("

")]])

File.WriteLine([[c:Send("SSID:")]])

File.WriteLine([[c:Send("")]])

File.WriteLine ([[c:send("
")]])

File.WriteLine([[c:Send("Password:")]])

File.WriteLine([[c:Send("")]])

File.WriteLine([[c:Send("")]])

File.WriteLine([[end)]])

File.WriteLine([[end)]])

File.Close()

Gerelateerde Artikelen

ESP8266 op basis van configureerbare wifi General-Purpose webbesturingselement (deel I)

ESP8266 op basis van configureerbare wifi General-Purpose webbesturingselement (deel I)

Opmerking: Klaar om te gaan boards kunnen worden gekocht hierVan AT commando's naar firmware gecontroleerdDe aard van de nieuwe ESP8266 wifi module is niet alleen goedkoop, ongeveer 3-4 dollar, zijn ook een vrij veelzijdig module waarmee tonnen afsta
ESP8266 op basis van configureerbare wifi General-Purpose webbesturingselement (deel III)

ESP8266 op basis van configureerbare wifi General-Purpose webbesturingselement (deel III)

Opmerking: Klaar om te gaan boards kunnen worden gekocht hierHet elektronica-gedeelteIn deel I en II zagen we hoe te programmeren en de ESP8266 GPIO gebruiken om te communiceren met de wereld te veranderen in een processor van TCP gebeurtenissen op a
Een zeer goedkope ESP8266 WiFi smart auto bestuurd door telefoon op basis van NodeMCU

Een zeer goedkope ESP8266 WiFi smart auto bestuurd door telefoon op basis van NodeMCU

DoitCar is ontworpen en ontwikkeld door artsen van Shenzhen of Intelligence & technologie (SZDOIT), die het meest kosteneffectief is. Het wordt algemeen toegepast op vele terreinen, sucha als de elektronische minnaar, studenten, Internet of Things (I
WIFI plant controlesysteem op basis van Arduino MEGA en ESP8266

WIFI plant controlesysteem op basis van Arduino MEGA en ESP8266

Vandaag gaan we om u te tonen onze eerste experiment op het Internet van dingen. Voor dit doel besloten we om het gebruik van een Arduino MEGA in plaats van een Arduino UNO. Dat komt omdat Arduino MEGA heeft meer dan één seriële poort en dit feit laa
DIY een Wireless WiFi Video transmissie Tank bestuurd door APP op basis van ESP8266 en OpenWRT

DIY een Wireless WiFi Video transmissie Tank bestuurd door APP op basis van ESP8266 en OpenWRT

Nu in de markt zijn er vele WiFi video transmissie slimme auto's op basis van Arduino. Nu, hier, wij zou willen presenteren een illustratieve demo voor de draadloze WiFi video tank op basis van de ESP8266 WiFi development kit gecontroleerd door Andro
Op afstand gecontroleerde Multifunction scorebord op basis van Arduino, ESP8266 en uPanel firmware: interface ontwikkeling

Op afstand gecontroleerde Multifunction scorebord op basis van Arduino, ESP8266 en uPanel firmware: interface ontwikkeling

De oplossing hier gebruikt om op afstand controle Arduino door middel van ofwel smartphoneof tablet in plaats van drukknoppen, displays, etc. geldt voor vele projecten waarin de microcontroller worden gecontroleerd op afstand, moet dus de toepassing
ESP8266-1 ingeschakelde RC gedraaide Wifi auto met Browser gecontroleerd richting.

ESP8266-1 ingeschakelde RC gedraaide Wifi auto met Browser gecontroleerd richting.

Dit project is opgezet om de bekwaamheid van elementaire IoT apparaten te bewijzen. Het doel was om controle van de beweging van een auto via webbrowser. Ik had een paar opties om dit te bereiken - 1) Over de web, direct controle van de motor van de
Monitor voor draadloos verkeer tank robot op basis van raspberry pi

Monitor voor draadloos verkeer tank robot op basis van raspberry pi

DIY een tank van de monitor voor draadloos verkeer is niet moeilijk op basis van de raspberry pi, weergegeven in de volgende afbeelding.Stap 1: Materialen voor de monitor van de raspberry pi gebaseerd rc tank 1.De Raad van de Raspberry pi:http://www.
Herstellen van uw WiFi-verbinding

Herstellen van uw WiFi-verbinding

dit is een eenvoudige triage aanpak aan het herstel van de wifiverbinding is verbroken. Dat betekent dat het meest waarschijnlijk, gemakkelijk om op te lossen oplossingen zal eerst worden gepresenteerd. Wat u in de foto ziet is niet wat u willen zien
Pinnen van de ESP8266 met behulp van GPIO0/GPIO2/GPIO15

Pinnen van de ESP8266 met behulp van GPIO0/GPIO2/GPIO15

Dit is een heel korte opmerking over het gebruik van GPIO0 / GPIO2 en GPIO15 pinnen op de ESP8266 module.Update: Lees ook het gebruik van de ESP8266-01 pinnenIntroductieESP8266 is een low-cost wifi ingeschakeld-chip. Het wordt geleverd in een versche
3G Draadloze Router op basis van Raspberry Pi2

3G Draadloze Router op basis van Raspberry Pi2

Dit is een 3G draadloze router op basis van Raspberry Pi 2. De raspberry pi die kan uitvoeren van de verschillende linux distributies kan doen diverse voeders en interessante hulpprogramma's worden gebruikt. Ik had deze 3g-router met behulp van de ra
IoT ESP8266 Series: 1 - verbinden met WIFI Router

IoT ESP8266 Series: 1 - verbinden met WIFI Router

Dit is deel 1 van een "Instructables" serie gewijd voor uitleg over het maken van een Internet of Things -project met behulp van ESP8266 NodeMCU die zich richt op het lezen en verzenden van gegevens naar een website en het maken van een actie me
Glas van computers op basis van Arduino Uno

Glas van computers op basis van Arduino Uno

Aan mijn meesters graduate project ("Gowing Computers, aansluiten van organen, knippen het snoer") van Konstfack College van kunstnijverheid en Design (keramiek en glas/CRAFT) heb ik gemaakt 3 glazen computers op basis van de specificaties van d
PocketLab op basis van seismograaf

PocketLab op basis van seismograaf

Wonen in California, zijn aardbevingen een onderdeel van het leven. Vroeg of laat u voelt een, en de eerste keer kunnen vrij eng! Als er een kleine aardbeving, die gelukkig de meeste zijn, is het eigenlijk moeilijk zeker te weten totdat u het nieuws