ESP8266 WIFI na gorąco ….czyli jak nie zostać greekiem …

ESP8266 WIFI na gorąco ….czyli jak nie zostać greekiem …
Razem głosów: 40 co stanowi: 91.5% całości.

images

Od dłuższego czasu na naszym rynku goszczą te świetne układy SoC i robią iście zawrotną karierę już nie tylko w niszowych zabawach amatorów , ale za sprawą modułu WROOM-02 gdzie zastosowano układ 8266EX , który już ma wymagane certyfikaty, może tez odnieść sukces w zastosowaniach profesjonalnych ……. ale co to sprawia ?? tym właśnie zajmiemy się w tym miejscu.

 

ESP8266-150x150

Nie nie będę na łamach strony prowadził kursu programowania tych układów,  ani opisywał co z czym gdyż jest wiele opisów do dyspozycji mamy :

  • LUA
  • Arduino
  • SDK

każdy znajdzie coś dla siebie , a opisywanie oczywistych rzeczy jest bezcelowe i tylko tytułowy „greek” by nie zrozumiał.  Zatem co tu będzie ??

Sprawa zaiste bardziej ważna mianowicie szersze spojrzenie na rdzeń jaki został użyty w tych ciekawych układach,

Przechwytywanie Tak … w układach ESP8266 i 8266EX zastosowano rdzenie mikrokontrolerów Tenisilica L106 serii Diamond. Należą one do 32bitowej rodziny rdzeni opartych o Tensilica Instruction Set Architekture Xtensa (ISA) jednak w przeciwieństwie do układów z serii Xtensa , rdzenie serii Diamond charakteryzują się małą konfiguralnością i możliwością rozbudowy.  Dlatego że zostały one specjalnie zaprojektowane w jednym celu — maksymalnego ułatwienia integralności. Dzięki czemu mogą szybko i łatwo być włączone do systemów on chip (SOC).  Rdzenie Tensilica serii Diamond są idealne do migracji z systemów 8 i 16bitowych opartych o rdzenie RISC zapewniając wysoką wydajność 32Bitów za niewygórowaną cenę.

GCC Xtensa 

—-> FIUCZERSY L106 Diamond

  • mały 32bitowy rdzeń RISC o niskim zapotrzebowaniu na energię
  • Pamięć Cache-less z jednostką ochrony pamięci
  • 5 stopniowy pipeline
  • wydajność : Dhrystone 2.1: 1.22 DMIPS/MHz
  • niemodalna architektura ISA z przełączaniem instrukcji 24/16bit
  • mnożnik 32×32
  • osobna pamięć instrukcji i danych
  • Zintegrowany kontroler przerwań : 16 przerwań, 2 priorytety
  • Zintegrowany Timer
  • Interface On-Chip Debug sprzętowy
  • Wbudowana obsługa tracingu
  • Kompleksowe środowisko rozwoju oprogramowania
  • Interfejsy mostów  AHB-Lite i AXI

Ponadto procesory z rdzeniami  L106 z serii Diamond osiągają jeden z najwyższych wskaźników gęstości kodu spośród wszystkich 32 bitowych procesorów RISC, Diamond 106Micro i 108Mini  są przeznaczone do układów w obszarze niskiego poboru energii. Ze stosowania rdzeni Tensilica mamy następujące korzyści:

  • Łatwa migracja z 8- i 16-bitowych mikrokontrolerów
  • Niski całkowity koszt systemu , za sprawą małych rozmiarów, większej wydajności i dużej gęstości kodu
  • Operacje deterministyczne w czasie rzeczywistym , dzięki opcjonalnemu jednemu cyklowi wykonywania lokalnych instrukcji i danych w pamięci SRAM
  • Osiąganie wysokich częstotliwości : — max 900MHz dla procesu 45gs
  • Mnożnik 32×32 zapewnia wysoką wydajność arytmetyczną w zastosowaniach DSP
  • brak rywalizacji miedzy instrukcjami o dostęp do pamięci danych
  • szybka i elastyczna obsługa przerwań
  • używanie istniejących peryferiów bazujących na AMBA™

Schemat blokowy Diamond 106Micro prezentuje się następująco:

Przechwytywanie

Procesory oparte o rdzenie serii Diamond poza niską ceną licencyjną pozwalają programistom i projektantom uzyskać od 25 do 50% niższy rozmiar kodu w porównaniu z konwencjonalnymi rozwiązaniami RISC 32/16Bit, a co za tym idzie zmniejszenie rozmiaru kodu wpływa na rozmiar fizyczny obszaru pamięci, a ten wpływa znacząco na obniżenie strat mocy co się przekłada na koszty integrowania projektów np w układach FPGA.

Te zalety i możliwości decydują o umieszczeniu właśnie tego rdzenia w układach SoC jakimi są ESP8266 i ESP8266EX  i znajdziemy je  też we wnętrznościach tych popularnych układów FPGA:

Przechwytywanie

ale też i wielu innych rozwiązaniach.

Tensilica udostępnia też swój kompilator Tensilica’s XCC C/C++ , i mimo iż została pochłonięta przez Cadence nadal są produkowane rozwiązania jak też i sprzedawane licencje na rdzenie .

Wracając jednak do naszego przykładu jakim jest WIFI ESP8266xx dzięki zintegrowaniu w jednym układzie świetnego rdzenia i radia WIFI powstało tanie rozwiązanie SoC, które jest niewątpliwie jednym z najbardziej zintegrowanych rozwiązań na rynku,

c3720c2c33be42379315a1045424bdd5

Dzięki wysokiemu stopniowi integracji udało się też zredukować ilość elementów zewnętrznych wymaganych do pracy urządzenia. Mniej elementów = niższy koszt produkcji modułu , mniejsze rozmiary PCB i znów niższy koszt …..  Dzięki małym rozmiarom , i dużej wydajności oraz niskiemu poborowi energii możemy zastosować WIFI nawet w autonomicznym włączniku światła :)  Tak drodzy czytelnicy nawet w tak prozaicznym zastosowaniu układ ESP8266xx sprawdzi się doskonale.

Wi-Fi-Module

Powiecie — doskonale a co z bateriami ??

— to dobre pytanie , Problem nie jest duży , ale też i nie jest łatwo go rozwiązać , mianowicie trudno jest stworzyć urządzenie podłączone do sieci WIFI działające wystarczająco dużo czasu na zasilaniu bateryjnym , ale w przypadku rozwiązań komercyjnych docelowa grupa odbiorców deklaruje skłonność do wymiany baterii nie częściej niż raz na dwa-trzy miesiące . Do tej pory rozwiązania takie opierały się o urządzenia umożliwiające dostęp do sieci poprzez różne rozwiązania pośrednie podłączone na stałe do źródła zasilania. Układy ESP są rozwiązaniem tego problemu, dzięki zastosowanym zaawansowanym rozwiązaniach zarządzania energią.

Oczywiście może się Tobie czytelniku wydawać że podane wartości wymagań energetycznych zasobów to nic specjalnego , ale jeśli skupisz się dostatecznie na tym problemie szybko zauważysz i zrozumiesz perspektywy jakie oferuje ESP8266.

układy ESP8266 zużywają około 60uA w trybie uśpienia  (mowa o pracy z zegarem rzeczywistym) i ..


 

imgres

mniej niż 1.0mA  (DTIM =3), lub mniej niż 0,5mA (dTIM =10) w trybie komunikacji z punktem dostępowym WiFI.


To wszystko powoduje że możemy tworzyć małe urządzenia autonomiczne WiFi  takie jak wszelkiej maści sterowniki i układy wykonawcze , czujniki w systemach  Home Inteligence pracujące na małych bateriach.

Takich możliwości nie można ignorować .. oczywiście jako, że układ został opracowany przez chińską firmę Esspresif, początkowo utrudniony był dostęp do dokumentacji, a z racji wielu błędnych w sumie tłumaczeń informacje były niespójne i wręcz się różniły znacząco.  Samo korzystanie ze szczątkowych informacji i SDK w wydaniu Cadence również nie było łatwe.  Wiele pomogły narzędzia dostępne w SDK jak:

  • Xtensa Xplorer  zawierający TurboXIM  – Simulator SoC.

Kłopotliwa jest dostępność do narzędzi, klucz licencyjny do wersji Free wydawany na zasadzie poproś a może ci damy … (mi się udało)  SDK Download

Kolejnym kłopotem jest to że wysyp modułów był zbyt szybki , i można było coś łatwo przeoczyć podobnie jak wybór właściwego modułu był trudny. Dodatkowo mozliwe było tylko amatorskie podejście do stosowania przez brak odpowiednich regulacji prawnych i certyfikatów zgodności. Obecnie komercyjne użytkowanie jest już możliwe za sprawą modułów WROOM-02

ESP-WROOM-02-1_500

Dla którego niebawem zaprezentuję eval.  Tymczasem sama dostępność rozwiązań evaluacyjnych dla deweloperów i amatorów jest również ogromna  choćby:

  1.  Niewielka płytka dla ESP-12 Esp8266-ESP-12-wifi-module-esp8266-serial-wifi-coexistence-full-font-b-AP-b-font-font która jest dostępna z zasilaniem bateryjnym na 3xAA — działa jako zestaw czujników już 4ty miesiąc bez wymiany baterii … (teraz trzeba będzie wymienić gdyż mrozy skutecznie ubijają bateryjki)
  2. Firmowy Demo Board  firmy Esspresif  DSCN2821 umożliwia szeroko rozumiane eksperymenty z układem ESP8266EX ale i innymi modułami …

Różnorodność samych modułów ESP jest tak wielka że zawsze znajdziemy coś co się sprawi w naszym zastosowaniu i pod względem potrzeb w GPIO jak też i rozmiarowo :)

SS105058

Wszystko co konieczne i potrzebne do zabaw jak też i same moduły ESP-XX dostaniecie  w sklepie elTY.pl  warto więc nie przegapić takich możliwości w tak miniaturowym wydaniu.

I zasadniczo to by było na tyle co miałbym do przekazania w tym arcie,to spora dawka wiedzy i ktoś kto nie jest malkontentem sporo z treści wyniesie , podobnie jak z reszty artykułów o ESP8266, gdzie pokazuję z naciskiem na pokazywanie dostępnych rozwiązań i ciekawostek , zaś nie uczę ich programowania i nie mam zamiaru tego robić, gdyż stron o Arduino , LUA i C jest tysiące a ktoś kto umie programować samodzielnie  wystarczy że mu się pokaże gdzie i w czym ……

Oczywiście będę pokazywał i opisywał jeszcze wiele rzeczy , pojawią się kody dla rozwiązań opartych o moduły zawierające układy ESP8266XX oraz ESP32 które niebawem się również pojawią na rynku i mam nadzieję że je opiszę szerzej. Ale nie będzie to na zasadzie gotowca ….

Tymczasem po wskazaniu dla waszej oceny możliwości i fantastyki naukowej , która już staje się rzeczywistością dostępną dla mas zapraszam do wymyślania zastosowań układów w waszych domach :)  Gdyż wiele można zrobić a jedyne ograniczenie to wyobraźnia …..

 

SS105059

Jako ciekawostkę za to dla wszystkich tych dla których :

  • nauka języka C to porażka
  • zrozumienie Arduino pseudo C++ jest żenujące
  • LUA przyprawia o ból 4rech liter

i wszystkich innych powodów , bo leje, zupa za słona, za gorąco itd…. jest jeszcze coś co warto pokazać … mianowicie  BASIC INTERPRETER  ….  tak to powinno ucieszyć zwłaszcza bascomowców :) Osobiście się tym nie bawiłem jeszcze gdyż jestem na etapie C i pseudo C++ z arduino , oraz kopania w SDK dla Tensilica …. ale wygląda przyjemnie i wesoło :)

Strona projektu : ESP8266 Basic Interpreter

Wynika z tego że wystarczy wgrać Flash zawierający interpreter specjalnym flasherem gdzie musimy wybrać ilość dostępnej pamięci flash naszego modułu:

4473751_orig

Podłaczając się pod jakikolwiek USB<->UART  , ftdi, PL2xxx, CP2xxx czy sugerowane na stronie projektu Arduino bez procka:)

A potem …. łączymy się z ESP ….(pracuje jako AP) i wywołując stronę www ….

8248447

możemy się bawić jak za starych czasów na PC w DOSIE używają MS Basic , lub na Commodore 64 …..

I tym sposobem dacie sobie radę z tym małym i wspaniałym układem jakim jest ESP8266, okiełznacie jego naturę i WIFI będzie was słuchać , anie wy jego … i nie zostaniecie z układem w ręce i miną greeka twierdząc że was wystrychnięto na dudka :)

Powodzenia … niech WIFI będzie z Wami ….

 

 

 

Podziel się na:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay

7 myśli nt. „ESP8266 WIFI na gorąco ….czyli jak nie zostać greekiem …

  1. AVE :) niech WIFI będzie z Wami…

    Myślę że ten BASIC nie jednemu – plany skrzyżuje… :)

  2. Do esp8266 w arduino jest sporo przykładów. Czy jest gdzieś do nich opis?

    • Oczywiśćie, że jest dużo przykładów i powstaje ich coraz więcej. Co więcej zwykle są opisane dosyć szczegółowo, choć w przypadku Arduino wystarcza sam kod, gdyż zawiera on opis połączeń :)
      a działanie programu jest oczywiste.

  3. Świetny wpis dużo ciekawych rzeczy kolega prawi , zwłaszcza o zasobach energetycznych potrzebnych do życia układu. Faktycznie też masz rację o braku sensu prowadzenia kursu programowania, bo każdy rozgarnięty już po wskazówkach wie co do czego. Byłem na jednym forum gdzie szukałem informacji o ESP ale jak się okazało siedzą tam osoby które słyszały że jest a nic nie wiedzą, napisałem co wiem i jakie mam propozycje , i co i mnie zaczęli obfukiwać i obrażać. Uważam, że to żenujące….

    • Staram się. Co do forów … no cóż odkąd dzieci mają dostęp do internetu, niestety tak będzie szumny tytuł i zero wiedzy, którą by można zabłysnąć oraz co gorsza niestety ale przeważnie braki emocjonalne powodujące że ktoś co wie i może przekazać jakieś informacje jest niemile widziany …. to przykre ale typowe dla naszego narodu. Dlatego nie przejmuj się kolego takimi forami , jest wiele for i stron gdzie są ludzie bez przerośniętego ego i chętnie się też wiedzą podzielą.

  4. Masz rację niektórzy nie powinni mieć dostępu do sieci. No ale dobrze jest wiele for , stron np. Twoja i są tu rzetelne informacje. Tymczasem będziesz dalej pisał o ESP?? Jak coś też mogę coś popisać.

Możliwość komentowania jest wyłączona.