Elektroda.pl
Elektroda.pl
X
Servizza
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Internetowe radio na ESP32

ghost666 21 Sty 2019 19:31 5616 66
  • #61 21 Sty 2019 19:31
    LChucki
    Poziom 24  

    tplewa napisał:
    Jednak do rzeczy - kolega krytykuje same wyświetlacze Nextion - czy rozwiązanie tego typu czyli gotowe LCD z kontrolerem na rzecz własnego sterowania przez CPU "gołego" LCD. Bo już się pogubiłem...

    Same Nexttion. Zasadniczo używam LCD bez akceleratora przeważnie SPI. Jak potrzebuje bajerów czy większych rozdzielczości niż 320x240 modułów LCD z FT8xx. Jeśli potrzebowałbym szybkiej obsługi w rozdzielczości np 320x240 a "bajerów" z FT8xx to z pewnością nie użyłbym NEXTION tylko STM w obudowie 100pin, bo takie mają FSMC.

    Dla mnie, Nextion, to takie Arduino wśród wyświetlaczy.

    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • Servizza
  • #62 21 Sty 2019 19:38
    AIIoT
    Poziom 9  

    tmf napisał:
    Strach pomyśleć, co to za programy. Z drugiej strony - porównanie IMHO bez sensu. Mikrokontroler to przede wszystkim peryferia, jeśli dla ciebie znaczenie ma wyłącznie moc obliczeniowa to polecam jednak PC

    To moje tzw. utrudnianie sobie życia.
    Np. zamiast na sztywno łączyć się z zadaną siecią wifi jak to jest w każdym z przykładów, napisałem program który skanuje dostępne sieci w zasięgu, następnie sprawdza które z sieci ma w pamięci i na podstawie rssi wybiera najlepszą i się próbuje się z nią połączy 3 razy jak się nie uda to flaguje ją do ignorowania i skanuje ponownie dostępne sieci, pożnie jeszcze jest usuwanie flag jak już niema żadnej innej w zapisanych bo wszystkie dostały flage, oczywiście jest jeszcze skanowanie w tle jakby siec wifi znikała po połączeniu się z nią. Ty sposobem zastąpiłem kilka linijek dość sporą warstwą kodu.
    Do tego program jest pisany w arduino więc on też swoje dodaje do pamięci. Niemniej jednak działa to lepiej niż automatyczne łączenie na windowsie, czy androidzie ;p

    Co do AVR to zbytnio skupiłem się na pisaniu funkcji. Nie pamiętam już dokładnie co to było, ale wyniki wyszukiwania w sieci wskazywały na przepełnienie pamięci ram, funkcje tj np. do formatowania tekstu na lcd/uart,czy skanowaniu dostępnych urządzę i wyświetlaniu ich, trochę przerost formy, ale dobrze napisaną funkcje można skopiować i później wykorzystać w innych projektach.
    Wystarczy ze program nie zmieści się na ATmega328 i już finansowo nie opłaca się korzystać z AVR.

    Co do porównania, to chodziło mi bardziej o ilość pamięć flash czy ram.

  • Servizza
  • #63 21 Sty 2019 19:43
    LChucki
    Poziom 24  

    AIIoT napisał:
    Np. zamiast na sztywno łączyć się z zadaną siecią wifi jak to jest w każdym z przykładów, napisałem program który skanuje dostępne sieci w zasięgu, następnie sprawdza które z sieci ma w pamięci i na podstawie rssi wybiera najlepszą i się próbuje się z nią połączy 3 razy

    Standardowo, próba połączenia z nowa siecią to zapis do FLASH. W ten sposób można uwalić ESP w kilka dni, jak np będzie się budzić co 5 minut i wywołana będzie standardowa funkcja połączenia z siecią. ESP pamięta ostatnio używana sieć, i po resecie próbuje sam się z nią łączyć.

  • #64 21 Sty 2019 19:51
    tmf
    Moderator Mikrokontrolery Projektowanie

    tplewa napisał:
    Bardziej jeszcze gdzie tą grafikę trzymać - przy takich wyświetlaczach SD jest jedynym sensownym pomysłem.

    W Nextion masz na module DataFLASH do którego jest kopiowany projekt z karty SD, także ona jest potrzebna tylko podczas uaktualniania wsadu. DataFLASH na tym małym module ma chyba 4MB, co w praktyce jest wystarczające.
    LChucki napisał:
    tmf napisał:
    Na samym początku tylko protokół nie był opisany
    I taką mam wiedzę, że się nie da.


    Ale od co najmniej 2 lat się już da - link podałem.
    tplewa napisał:
    Inna sprawa czasami na wolniejszych prockach taki wyświetlacz może być jedyną sensowną opcją.

    Eee, nie wiem na jak wolnych :) Nawet dla AVR limitem transferu jest SPI i ograniczenia kontrolera LCD, 8-bitowy równoległy do kontrolera LCD to zakres AVR 20 MHz do XMEGA, równoległy 16 bitowy do LCD to zakres XMEGA 32 MHz do ARM CM0 - te procki w 100% wysycają interfejs łączący z LCD. Także sprawne GUI można spokojnie zrobić nawet na AVR bez wysiłku. Akurat nextion tu obsysa, bo jak pisałem zbyt szybki nie jest. Ale FT8xx naprawdę wymiata i jeśli ktoś chce się pobawić grafiką na wysokim poziomie i jednocześnie mieć prosty do podłączenia moduł to FT8xx polecam z całego serca. Ale to już w porównaniu do modułów Nextion inna półka - nie tylko jakościowo, ale także jeśli chodzi o wymagania. Trzeba poświęcić z 7-14 dni na zrozumienie dokumentacji tych scalaków no i jakieś bardziej niż podstawowe rozeznanie programistyczne jest potrzebne.
    LChucki napisał:
    To napisz, jak wgrać JPG z uC do Nextiona a po tym odtworzyć sample.

    Z tego co wiem Nextion nie potrafi odtwarzać JPG. O tyle dziwne, że nawet AVR robi to sprawnie.

    Dodano po 3 [minuty]:

    AIIoT napisał:
    Co do AVR to zbytnio skupiłem się na pisaniu funkcji. Nie pamiętam już dokładnie co to było, ale wyniki wyszukiwania w sieci wskazywały na przepełnienie pamięci ram, funkcje tj np. do formatowania tekstu na lcd/uart,czy skanowaniu dostępnych urządzę i wyświetlaniu ich, trochę przerost formy, ale dobrze napisaną funkcje można skopiować i później wykorzystać w innych projektach.
    Wystarczy ze program nie zmieści się na ATmega328 i już finansowo nie opłaca się korzystać z AVR.

    Ok, było napisać od razu, że Arduino. Ze względu na fatalną implementację g++ na AVR, RAM jest zżerany szybo i jest problem. Szczególnie jeśli osoba używająca Arduino nie wie o co chodzi i jak zrobić, żeby np. stringi nie lądowały w RAM. Ale to inny temat.

  • #65 21 Sty 2019 21:44
    AIIoT
    Poziom 9  

    LChucki napisał:
    Standardowo, próba połączenia z nowa siecią to zapis do FLASH. W ten sposób można uwalić ESP w kilka dni, jak np będzie się budzić co 5 minut i wywołana będzie standardowa funkcja połączenia z siecią. ESP pamięta ostatnio używana sieć, i po resecie próbuje sam się z nią łączyć.

    Z opcji uśpienia jeszcze nie korzystałem. Ale ja to działa po resecie jak i tak jest wykonywana standardowa funkcja połączenia(Arduino na sztywno napisany kod w sekcjo Setup)?

    Co do mojego kodu ESP nie łączy się z nową siecią jak nie ma potrzeby. Tylko w skrócie, jeśli wartość zwrotna funkcji "WiFi.status()" będzie inna niż "WL_CONNECTED" lub nastąpią 3 nieudane próby połączenia z jedną siecią. Jeśli siła sygnału się nie będzie zmieniać(i nie będzie problemów z połączeniem) to ESP połączy się zawsze z tą samą siecią.

    Te funkcje zacząłem pisać w 2017r. Więc w ostatecznej formie co najmniej rok, kilka urządzeń w domu działa na tym kodzie.

    Dodano po 26 [minuty]:

    tplewa napisał:
    Porównanie bez sensu... cena powiedzmy dwa razy większa, ale wydajność sporo razy większa - nie wspominając już o dodatkowych peryferiach jak sprzętowa kryptografia, BT LE itd (przy ESP8266 gdy chcemy poza WiFi mieć BT to już dochodzi cena modułu BT) . Generalnie jak to zostało powiedziane różnica w cenie patrząc na to co zyskujemy jest niewielka. Przy takim porównaniu powinno się brać właśnie współczynnik ceny do możliwości i nawet przy tej dwukrotnej różnicy w cenie to ESP8266 wypada bidnie...

    Tym tokiem myślenie równie dobrze można się odnieść do Raspberry Pi Zero przecież oficjalnie ono kosztuje $5 dolarów, czyli niewiele więcej, a mamy tu totalną przepaść jeśli chodzi o współczynnik ceny do możliwości.
    Generalnie chodzi mi o to że jak nie ma takie potrzeby to nie ma sensu inwestować w coś droższego jak np. stosować ESP32 do radia z tematu jak można za 2 razy taniej wykorzystać ESP8266.

    tplewa napisał:
    Inna sprawa nawet jak nie chcemy pakować modułu to za około 13zł brutto (sklep w PL) kupujemy scalaka ESP32-D0WDQ6 w QFN48 i bezpośrednio pakujemy na nasze PCB.

    Chciałbym żeby to było takie proste, QFN w warunki domowych i płytka 2 warstwowa (zamówione w firmie typu JLCPCB) wymaga wprawy i doświadczenia, a to wymaga czasu i cierpliwości.

  • #66 23 Sty 2019 17:10
    Jarzabek666
    Poziom 27  

    LChucki napisał:
    Dla mnie, Nextion, to takie Arduino wśród wyświetlaczy


    Dlatego ma branie, pokaż mi jaki wyświetlacz nie znając języka programowania jestem wstanie uruchomić?

    Nextion editor jest szybki w nauce i daje spore możliwości temu co nie umie. A dodając parę skryptów nawet dziecko z wyświetlacza może zrobić generator częstotliwości albo coś.

    Dlatego sam po niego sięgałem mając blade pojęcie o programowaniu potrafiłem w 4h nauczyć się robić GIU na wyświetlacz.

  • #67 23 Sty 2019 18:21
    LChucki
    Poziom 24  

    Jarzabek666 napisał:
    pokaż mi jaki wyświetlacz nie znając języka programowania jestem wstanie uruchomić?

    Bez znajomości języka Nextion też nie uruchomisz. Pewnie masz na myśli, "ze słaba znajomością języka". Jeśli tak, to taki ze sterownikiem FT8xx uruchomisz.

    Jarzabek666 napisał:
    Nextion editor jest szybki w nauce i daje spore możliwości temu co nie umie.

    Tak ja EVE edytor od FTDI, z ta różnica, ze możliwości są większe niż Nextion.