Jak to jest rozwiązane w #arduino framework, że przed użyciem SIFFS nie trzeba tworzyć partycji spiffs za pomcą jakiś osobnych narzędzi ? Domyślam się że ardu robi jakąś statyczną analize kodu i jesli jest nagłówek od SPIFFS to automatycznie tworzy partycje ale to tylko moje domysły. Badał to ktoś? W espidf trzeba robić to ręcznie. Robie biblioteke pod espidf, która używa SPIFFS i jest to spora wada bo nie będzie działała na zasadzie plug and play. Jakieś pomysły jak to obejść ?
Rozebrałem dzisiaj jednorazówkę z żabki żeby zobaczyć jak to działa. Wynik widzicie na zdjęciu. Grzałką jest zwykły drut owinięty dookoła waty. Całość zasilana jest akumulatorem 3,7v o pojemności 1.81Wh z oznaczeniem PX 001-03. Akumulator ten można ładować co daje możliwość przerobienia tego papierosa na wielorazowego. Mój przestał działać jak napięcie spadło z 3.7 do 3v. Jednak to co w tym wszystkim najbardziej ciekawego to układ sterujący zasilaniem. Ma on oznaczenie CSC912D (w obudowie SOT23-5) i znajduje się po drugiej stronie tej małej płyteczki #pcb , którą oznaczyłem strzałką. Szukałem tego w Internecie i znalazłem tylko dwie wzmianki na ruskim i niemieckim forum( linki niżej). Wie ktoś co to za układ? Z tego co ruscy piszą to jest to układ na specjalne zamówienie, którego nie da się kupić ale jego odpowiednikiem jest LTC4054. (Ruscy piszą że to mikrofon który zbiera szum powietrza i załącza ogrzewanie). Ma on również funkcje komunikacji poprzez diode co jest często spotykane w elektronicznych papierosach. Mam jeszcze kilka modeli. Dajcie pioruna jak chcecie sekcje, żeby zobaczyć co tam siedzi.
Klient do mnie napisał że program się przestał kompilować. Okazało się że to przez ostatnią aktualizacje Blynka do wersji 1.3. Dodali czeka kompilacji który sprawdza czy zahardkodowano BLYNK_TEMPLATE_ID , BLYNK_TEMPLATE_NAME i od teraz nie mozna ustalać tych wartości podczas runtime ( nie żeby wcześniej było można ale przynajmniej tego nie sprawdzali i wszystko działało). Jak macie ten sam problem na zakomentujcie linijki ze zdjęcia w BlunkApi.h.
Btw nienawidzę tej liby. Jest koszmarnie zaprojektowana. Przypomina mi projekt grupowy robiony na odwal się.
Dużo rzeczy w embedded jest na odpierdol, byle szybciej, bez myślenia o przyszłości i najlepiej z użyciem przestarzałych technologii. Strasznie mnie to irytuje i jeśli kolejna moja praca to będzie rzeźba to się zacznę przebranżawiać
Gdzie we #wroclaw kupie takie koszyczki hydroponiczne? BTW tam fajną farmę hydroponiczną (pełny automat) wykonany na #esp32 i chce przeprowadzić testy na prawdziwych roślinach . Wiecie czy jest jakaś społeczność w Broclawiu która się tym zajmuje i do której mógłbym dołączyć żeby dzielić się doświadczeniami?
Trochę mnie tu nie było bo musiałem ogarniać swoje żyćko #frens . Ale już mam więcej czasu i biore się za gówno projekty, których mam dużo rozgrzebanych. Poprawiłem dzisiaj ładowanie obrazów na stronie #flutter . Trochę przyspieszyła ale dalej ładuje się o wiele za długo. Wleciała też opcja tworzenia raw stringów dla #cpp. W konsoli widać błędy. Nie ukrywam że web developer ze mnie jak z koziej d⁎⁎y fujarka ale postaram się je ogarnąć i zopymalizować stronkę, żeby ładowała się poniżej 2s. Uwagi i pomysły na ficzery odnośnie tej stronki mile widziane. Następne moje wpisy pewnie będą dotyczyły wifiManagera do #esp32 i naprawy mojego gnojownika #audi bo mam tam pare pierdół do zrobienia.
@senpai nie rozumiem. Django to pyhonowy framework do bakendu( chociaż ma coś takiego jak django admin co jest interfejsem do tego). Ta strona nie ma w ogóle backendu.
Generator kodu do blynk - instalujesz apke w telefonie, wybierasz płytkę i blynk przysyła Ci na maila gotowy kod, wrzucasz przez arduino ide masz za grosze automatykę gotową.
Nienawidze tego gówna. Używam tego tylko dlatego że klient tak chciał. Liba od blynka nie jest przystosowana do tego żeby używać jej w programach składających się z kilku plików bo jej plik nagłówkowy zawiera zmienne globalne i trzeba robić cyrki z przerabianiem jej.
@cec załatwiłem to tak że zmieniłem plik nagłówkowy biblioteki tak żeby ustawiał te obiekty jako extern, a następnie inicjalizuje je w mainie. Ale każda aktualizacja/ponowne zaciągnięcie sprawia że trzeba tą czynność powtarzać
Ja tylko chciałem się pochwalić że opanowałem #oprogramowanie #esp32
w c++
nie oznacza to że znam język na pamięć ale że siadam i pisze świadomie korzystając z dokumentacji bibliotek bez zacinania się i rozkładania rąk jak do tej pory.
Do tej pory się uczyłem pythona i tyle sie nauczyłem że go nienawidzę jak pis tuska
python był dla mnie jak patologiczna rodzina, ostatnim projektem który mnie zdeterminował do walki przeciwko pythonowi i braku postępów jest ten -
przycisk do zamontowania w rumplu jachtu, służący jako kontrolka do sterowania przez wifi automatyką pracy diesla - odpalanie, gaszenie, wyświetlanie ostrzeżeń. Wczoraj przesiadłem się całkowicie na C i projekty robie od nowa
zacząłem się uczyć w grudniu bo mi brakowało ostatniego skilla żeby mieć komplet wiedzy pozwalającej zbudować autonomiczny statek samodzielnie (wcześniej miałem doświadczenie w budowaniu dronów i podnoszę poprzeczkę, krok po kroku modernizując jacht morski) #zeglarstwo
@SUQ-MADIQ wreszcie się za normalny język wziąłeś 😁 najgorsze w C i cpp jest nie tyle język co czytanie dokumentacji i errat do nich do sprzętu na który kodzisz.
@SUQ-MADIQ Fajny projekt, własne sterowniki mega cieszą gdy już się wszystko złoży do kupy i działa. Fajne jest też to, że nową funkcjonalność można mieć dokładając jakiś czujnik albo element wykonawczy i kawałek kodu a nie gotowy moduł za walizkę pieniędzy.
Co Cię tak zniechęciło do pythona? Pytam, bo ja podobne rzeczy piszę właśnie w, miedzy innymi, pythonie i jak dla mnie to całkiem spoko język do takich rozwiązań.
Zrobiłem sobie toola we #flutter do generowania wieloliniowych stringów w jezyku C, który ich nie wspiera. Podstawowa funkcjonalność działa ale jest jeszcze jest jeszcze dużo do zrobienia. Niestety nie mam czasu się tym teraz zajmować bo mam pilniejsze rzeczy do roboty
TODO
funkcjonalność one line string
optymalizacja strony - strasznie długo się ładuje
naprawa braku ikonki #gitlab w górnym rogu, w wersjach release, flutter nie radzi sobie z obrazkami SVG
dodanie obsługi innych upośledzonych języków, które nie maja obsługi wieloliniowych stringów
Jak macie pomysł co jeszcze dodać/zmienić to dajce znać. Ja stosuje tego toola do hardcodowania html,css,js i zapytań sql dla programów na #esp32 .
Odnośnie mojej obietnicy wysłania przykładu z ustawianiem corsa na esp to pamiętam Ale na razie musi poczekać aż ogarnę inne palące się rzeczy które nade mną wiszą
Robiem co mogę aby ułatwiać ludziom wejście do świata espidf ale czasami ręce mi opadają. Niektóre rzeczy, takie jak zmiana IP, serwery DNS można zrobić za pomocą jednej linijki w #arduino IDE, za to w esp-idf wymaga to wielkiego zachodu. W dodatku na Internecie brak jest przykładów, a dokumentacja jest niewystarczająco czytelna. Podzielę się z wami jak obsłużyć CORS - czyli to z czym będziecie musieli się zmagać, jak zaczniecie używać swojego #esp32 jako serwera http, czyli jakby się wydawało bardzo pospolity use-case. Aż dziwne że nie ma do tego przykładów.
Czym jest CORS?
CORS (Cross-Origin Resource Sharing) to mechanizm, który umożliwia bezpieczne udostępnianie zasobów między stronami internetowymi pochodzącymi z różnych domen.
Należy pamiętać że 192.168.0.1/ oraz 192.168.0.1/endpoint to dwie różne domeny i po próbie wysłania czegoś z klienta(przeglądarki) na endpoint serwera(esp-ka) napotkacie się na błąd CORS.
W nomenklaturze frameworku Arduino problem ten można rozwiązać po prostu wywołując na instancji serwera metodę server.enableCORS(true), przed jego uruchomieniem(co wygooglujecie w minutę). Zauważycie wtedy że lecą jakieś dziwne requesty HTTP_OPTIONS, serwer odpowie jakimiś dziwnymi nagłówkami ale to zignorujecie bo wszystko będzie działać. I dobrze.
W esp-idf musicie te wszystkie rzeczy obsłużyć sami. Przed próbą wysłania HTTP_POST na serwer, przeglądarka wyśle na Wasz endpoint 192.168.0.1/endpoint zapytanie HTTP_OPTIONS na które musicie odpowiedzieć. Wystarczy umieścić w odpowiedzi 3 headery. Przykładowy handler obsługujący corsa.
Dopiero po tej odpowiedzi przyjdzie właściwe zapytanie typu POST z danymi, które chcecie obsłużyć. Jak pod wpisem będzie 5 piorunów do napisze minimalistyczną apke(przykład) która będzie hostowała jakąś stronkę zbierającą dane i wysyłającą je do esp-ka
@Gitler Nie zgodziłbym się że server http na esp to pospolity use-case. Pospolitym use-casem jest to że esp jest klientem i przesyła dane na serwer, albo że esp jest serwerem i komunikuje się z klientem za pomocą socketów TCP/UDP. Serwer http to jakiś overkill na zasadzie prześlemy obrazek z kamerki, ale i tak nie podłączy się pod to więcej niż jedna osoba w tym samym momencie.
Prace nad wifiManagerem/stroną konfiguracyjną do #hydroponika trwają. Szłoby szybciej jakby libki od espressif nie były tak zbugowane. Nigdy nie deployowałem stronki napisanej we #flutter na #esp32 i jestem ciekawy ile pamięci będzie to zajmować. W kontekście apek mobilnych flutter wypada pod tym względem beznadziejnie także mam nadzieję, że tutaj będzie chociaż trochę lepiej.
Beka, że nie ma żadnego info o esp touch. Na stronie głównej jest tylko takie coś:
@Gitler Ja sobie tam potrzebne rzeczy napisałem przy użyciu lambd i śmiga. Pamiętam, że gdy pisałem kiedyś swoją apkę na ESP32 to moduł do serwera (nie pamiętam jak się nazywał) co jakiś czas zawieszał mi ESP. Na EspHome jeszcze mi się to nie zdarzyło.
Czasami popadam w haule zakupowe i kupuje jak po⁎⁎⁎⁎ny. Kupiłem sobie nowe płyteczki #esp32 . Konkretnie esp32d esp32-s3-n8 i esp32-s3-n16. S3 jeszcze nie mam w swojej kolekcji także je sobie zostawię. Natomiast tych 32d mam od cholery dlatego egzemplarze zaznaczone szczałką zostaną umieszczone w skrytkach #geocaching na terenie #wroclaw .
Są tu jakieś osoby nieprogramujące/nietechniczne, które chciały by zobaczyć tutorial, krok po kroku jak zbudować sobie stacje pogodową/czytnik kart sd lub inne urządzenie ?