Hej alla, i det här hemlagad Jag kommer att visa hur du kan skapa en billig, enkel men samtidigt effektiv plattformsbaserad datatolkare från Internet Arduino med Wifi-modul. Med det kan du enkelt ta reda på nästan all information från nätverket på några sekunder. Detta kan vara antalet prenumeranter på youtube, antalet inkommande meddelanden, om de publicerade en hemmagjord produkt etc.
Här är ett enkelt diagram att montera.
Innan jag börjar läsa artikeln skulle jag rekommendera att du tittar på en video som visar möjligheterna till hemlagat arbete och dess praktiska tillämpning.
Vi kommer att behöva:
-Plattformen är baserad på ESP-familjen, i mina fall, och det här är WeMos D1 R2
-LCD-display för informationsutgång, jag har en populär LCD 1602 med I2C-modul
-tråd och knapp (även om du kanske inte behöver det)
Även
-USB-kabel (för nedladdning av firmware)
-WiFI-åtkomstpunkt
- valfritt
- egen webbplats och domän (för hantering av komplexa frågor om populära webbplatser)
Innan du fortsätter till nästa steg måste du se till att miljön genom vilken du laddar ner skissen stöds av ESP-mikrokontrollerfamiljen. För att konfigurera Arduino IDE, gå till habr och följ installationsinstruktionerna. länk:
https://habr.com/ru/post/371853/
Detaljerad tillverkningsbeskrivning:
Konventionellt kan stadierna delas upp i två delar.
1 Montering av "järn" -delen
2 Ladda ner programmet och ställa in det
Montering av det första steget slutar mycket snabbt. Vi samlar det från bilden ovan och det är det.
Displaymodul
VCC - 5V
GND - GND
SCL - D15
SDA - D14
Buttun - GND till D7
Alla dessa inställningar kan ändras i skissen själv om du har en annan plattform eller version av mikrokontrollern.
Det andra steget är lite mer komplicerat, öppna Arduino IDE, välj lämpligt bräde och ange vilken port den befinner sig på. I mina fall styrelsen: WeMos D1 R1 och port 3
Alla andra inställningar kan lämnas som standard.
Skissen själv:
Observera att du måste ha ytterligare två bibliotek installerade. Dessa är ArduinoJson.h och LiquidCrystal_I2C.h !
Sedan ändrar vi de viktiga variablerna i skissinställningarna, dessa är SSID (namn på Wifi-punkten) och lösenord (lösenord för Wifi-punkten)
Därefter kan du ladda ner firmware.
Om skärmen har anslutits korrekt visas följande information på den.
Om detta inte händer, kontrollera följande inställning.
Ange en giltig I2C-adress c. I vilket fall som helst är det bättre första gången efter nedladdningen av skissen att öppna Serial-porten och se till att anslutningen har upprättats.
Om detta inte händer, dubbelkontrollera data från WiFi-punkten.
Om allt har startat och anslutits framgångsrikt ska du se följande på skärmarna:
Du kan också klicka på knappen och kontrollera om uppgifterna är uppdaterade (om du anslutit dem).
Allt, i detta skede är 95% av arbetet gjort, det återstår bara att ange i konfigurationen vilka data som måste analyseras. De är alla i konstant "A"
const String A = "http://jsonplaceholder.typicode.com/users/1,name,User 1 :; http: //jsonplaceholder.typicode.com/users/2,name,User 2:;";
Så syntaxen för att skriva är enkel. Alla källor är indelade i grupper separerade med semikolon (;).
Varje grupp består av 3 huvudparametrar, detta
- URL till vilken begäran går
- Värdet som ska hämtas.
- Ytterligare text visas.
På detta sätt
http://jsonplaceholder.typicode.com/users/1,name,User 1:
==URL = http://jsonplaceholder.typicode.com/users/1
NYCKEL = namn
text = "Användare 1:"
Om du följer länken nu
http://jsonplaceholder.typicode.com/users/1
Då kan du se följande informationDär du faktiskt kan se var "namn" -värdet kom ifrån.
Således kan du redan extrahera information från enkla webbplatser. Men den här metoden är inte lämplig för att arbeta med "seriösa" webbplatser som arbetar med SSL-certifikat, som kontrollerar förfrågningar och visar eventuella captcha om de inte gillar något, och dessutom är datautgången för komplicerad att bearbeta med krafter arduino. " Eftersom jag inte har försökt "komma runt" allt detta, men det finns saker som antingen fungerar väldigt instabilt eller inte fungerar alls. Ständiga certifikatuppdateringar hjälper inte mycket. Därför, som jag tror, är den mest rimliga lösningen att skapa din egen webbplats, "inuti", av vilken alla dessa förfrågningar kommer att köras, behandlas och visas av arduino själv i en "förenklad" form. Hur man skapar en webbplats finns det många artiklar / videor / forum etc., för närvarande är detta inte ett problem. Anta att du har en, och ladda upp följande fil till den. Kalla det vad du gillar, ja, låt oss säga "pars.php".
php
/ *
Kod för att analysera information från webbplatser och visa ytterligare
Version v0.1, om det finns några fel, skriv en kommentar under videon