Talán néhány olvasó emlékezni fog a cikket a további WiFi lemez RAMPS1.4 és a nyomtató Rebel II általam közzétett néhány évvel ezelőtt. Megemlítettem stupido programot írtam igazolására funkcionalitása "virtuális Wi-Fi Wire." A program még nem volt lehetséges, hogy tegye közzé, mert az ESP Core Arduino stabil volt verzió ösztönzése szélesebb puffer vett karakterek, és így átviteli jellemzőit néha elhagyjuk. Az új verzió (ami a GitHub) már most is támogatja a nagy bemeneti buffer, bár újra be, de a fejlesztők dolgoznak a teljesen telített Arduino az ESP32, így az új kernel a közeljövőben valószínűleg megvallani. Ez körülbelül egy hónap, amit én kb 20 éves, ő találkozott ismét a férfi, akit nagy tisztelettel és aki szükség véletlenül "WiFi vezeték", úgyhogy kezdett exhumálás és javítása kimenetelét és bemutatása a nagyközönség ...
A firmware, amely megvalósítja a hálózati kapcsolat a transzfer a soros portot ESP8266 volt ott elég hosszú ideig (lásd. Az ESP-Link, ami szerintem a legsikeresebb), de a variációk, hogy láttam szenved ugyanazon betegség - meg kell beállítani a paramétereket a soros kapcsolat a web felület, akkor lehetséges, hogy adatokat küldjön mindkét irányban. Egy másik kérdés az átadása állami vezérlőjelek RTS, CTS, DSR, DTR, amely, mint amennyire én tudom, hogy még nem sem az elérhető firmware-t. Szerencsére van egy módja annak, hogy megoldja a problémát. 1997 óta nem történt kiterjesztése a telnet opció hálózati átviteli interfész paraméterei és állapot információ soros port emuláció hálózaton keresztül, az úgynevezett hálózati virtuális terminál (NVT). Ez a kiterjesztés meghatározott RFC2217 (még címkézni kísérleti), és én vagyok távol az első észre. Ami fontos számunkra az, hogy előttem észrevették ezt a lehetőséget és uraim más freeware virtuális soros port driver Windows. A kíváncsiak is készített egy szép bevezetés a NVT. Szóval programozott munkaeszköz RFC2217 az Arduino és itatni kommunikációs cache-pufferek, TCP socket és a soros port. A tesztek azonban azt mutatták, a probléma - puffer (FIFO) hardveres soros porton ESP8266 kapacitása csak 128 bájt, ezért nagyobb sebességgel port elhagy karaktereket. Kezdetben foglalkozni, mint írtam, a további puffer, de ez a lehetőség később eltávolították a Core. Exhumálás, amin már ezért elsősorban a keresést a "korhely" ideje - a program, konvertálni a sablonba az ESP és a hozzá hibakeresés nyilatkozatok (néhány én még a kód maradt, és csak egy zapoznámkoval így is megtalálja ...) mérésére az időt különböző pozíciókban. Kiderült, hogy a leghosszabb tart, adatokat küld a TCP kapcsolat.
Az ábra azt mutatja, hogy az adatok küldése gyakorlatilag bármilyen kapcsolat volt kb 0,2 másodperc, ami elég volt ahhoz, hogy nagyobb sebességgel buffer overflow fogadására soros port és az adatvesztés. Szóval letölthető és telepíthető közvetlenül a Core ESP8266 GitHub, engedéllyel configuration.h nagyobb puffer, és azt akartam, hogy tesztelje már nem léteznek veszteségeket. De elfelejtettem zapoznámkovat méréseket, így letöltése és a teszt futtatása, kaptam ezt az eredményt:
Átviteli idő, az új mag, csökkent mintegy 500us, amely felgyorsítja a körülbelül három nagyságrenddel! Szóval nyugodtan választható puffer lehet ismét kikapcsol és az adatok elvesztését már ott egyébként. Tehát, ha valaki használja ezt a projektet, ezért javasoljuk, hogy használja Core> 2.3.0, amely jelenleg sajnos csak GitHub változat.
A program újra használható, gyakorlatilag az összes modult, amelyeket közzé - hála NBNS Például lehetőség van arra, hogy olvassa el a készüléket a szimbolikus nevet és nem kell keresni a DHCP-cím (VSP2 az alábbi ábrát)
A használt sablon, amit épített egy utód sablonokat itt közzétett (ami szintén közzé kell tenni, miután tuning) számos új fejlesztéssel, amit szeretnék megemlíteni. Először sikerült némileg csökkenteni a memória követelmények és terhelésének csökkentése hálózati forgalmat stopposoknak. Ez lett dolgozva konfiguráció mert rájöttem, hogy ha szüksége lesz egy olyan programot létrehozni egy termék, nem szükséges, hogy OTA, amelyeket fel lehet használni gyakorlatilag az IDE, vagy a segítségével a Python script. Most az igényeinek "termelés" firmware frissítés tettem hozzá azt a lehetőséget, hogy frissítse a firmware-t a webes felületen keresztül (lásd: <ip> / frissítés egy egyszerű webes felületen keresztül firmware frissítés). Annak érdekében, hogy számunkra a firmware az eszközt nem rögzíti sok Jouda, ott van a lehetőség, hogy megvédje a honlaphoz való hozzáférés felhasználónévvel és jelszóval. Nos, jelenleg elég erodálja a biztonsági tárgyak internete, és azoknak is, akik megpróbálják "feltörni" a kódot kell dolgozni egy kicsit több nehézséggel felhasználónevét és jelszavát eltorzítva (ejtsd "taknějakskorojako titkosított"). A kíváncsiak be van állítva obfuscator.h és meg kellett ásni a sötétebb részein az oldal, így alapítása, mert az alkalmazott technika a leggyakrabban használt vírusok.
Amik tévednek túl
Annak ellenére, hogy megpróbáltam, van néhány dolog, amit még nem működnek. A projekt valóban programozható támogatás átadása és a beállítási DTR / DSR / RTS / CTS (ez nem lehet gond, hogy ellenőrizzék I / O láb, mert minden projekt más), ez a támogatás dolgozik Folyóirat / IP átirányítója a Tactical Software (tesztelt Trial verzió), de sajnos én nem horganyzásuk átadása VSP HW-csoport annak ellenére, hogy a támogatás általuk írt dokumentációt. Üdvözlöm tehát, ha a projekt úgy néz ki, a szemét, és talán kiderül, hogy az egész idő alatt nem láttam a fától az erdőt �.