Aktywne Wpisy
ZanZani +44
Pracuję trochę z Chatem GPT i różnica względem poprzedniego roku jest naprawdę wyraźna i duża. Niesamowite, ile jeszcze rok temu robił głupot, tekstu wymaganego solidnej korekty, a do tego mocno skrótowego. Teraz potrafi się j------c tak rozpisać, że aż trzeba go stopować. A do tego robi świetnie jakościowo tekst, który wystarczy trochę poprawić pod własne widzimisię. To samo z pomysłami i wszelkimi zapytaniami technicznymi. Nawet na końcu podsumowanie ładne napisze. Zauważyliście duży
Davn +175
#nieruchomosci
Często przewija się argument "wykopki narzekają że są drogie kredyty, a chcą uwalić kredyt 0%, no debile"
Widzieliście w ogóle założenia tego programu? Ja z moją różową, oboje okolice lvl 30, nie mając dzieci, moglibyśmy liczyć na dopłatę 1200 do raty 5500, zakładając że jedno z nas się zwolni w pracy, bo zarabiamy za dużo żeby się łapać w program XDDDD
Kto
Często przewija się argument "wykopki narzekają że są drogie kredyty, a chcą uwalić kredyt 0%, no debile"
Widzieliście w ogóle założenia tego programu? Ja z moją różową, oboje okolice lvl 30, nie mając dzieci, moglibyśmy liczyć na dopłatę 1200 do raty 5500, zakładając że jedno z nas się zwolni w pracy, bo zarabiamy za dużo żeby się łapać w program XDDDD
Kto
TL;DR: Jak przerobić dowolny plik na tablicę wartości hex prostą do użycia
Załóżmy że piszecie sobie program na #esp8266 i potrzebujecie tam zrobić mini serwer www z prostą stronką w HTMLu.
I teraz tak - praktycznie w każdym tutorialu zobaczycie mniej więcej takie coś:
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println();
client.println("
");
client.println("");
...
bla bla bla
...
client.println("");
https://www.arduino.cc/en/Tutorial/WebServer
Dopóki jest to prosta stronka typu "Hello World" to jest jeszcze w miarę łatwo, ale jak będziecie chcieli sobie ją ładnie przyozdobić .css-ami czy dodać jakieś skrypty w javascript to ochujejecie mieszając kod HTML/css/js z C/C++ w dodatku nie mając dobrego podglądu tego co piszecie w przeglądarce internetowej (╯°□°)╯︵ ┻━┻
Albo jak mamy inny przypadek:
Robimy sobie coś co będzie wydawało dźwięk - powiedzmy słynna grzałka w ePapierosie #pdk jak nagrzeje efajkę powie:
Mamy źródłowy plik .wav z nagranym dźwiękiem i co teras?
Znając amatorów wychowanych na windowsach będą szukali w internetach jakiegoś programu typu mati1488-wavhex-converter.exe zamieszczonego na blogu jakiegoś sprytnego Matiego w roku 2007 który przekonwertuje im ten plik o ile się uruchomi.
A co gdy chcemy zmienić komendę głosową? Znów odpalamy program mati1488-wavhex-converter.exe, kopiujemy wygenerowany kod w programie do naszego kodu źródłowego
I wiele wiele innych podobnych przypadków będzie wyglądało podobnie:
Internety -> konwerter by Seba69 -> wygenerowany kod -> kopiuj i wklej
Znany programista systemów embedded Mariusz Pudzianowski tak zareagował czytając kolejne tutoriale dla Arduino:
https://www.youtube.com/watch?v=GisG7HRk-3k
Da się prościej, automatycznie i bez instalacji czegokolwiek o ile jesteście elitą i korzystacie z systemu #linux a w windows trzeba doinstalować minGW
Otóż jest taki programik o nazwie xxd i mimo że wygląda jak komentarz wykopka pod śmiesznym memesem to ma on bardzo przydatną funkcję -i która wygeneruje dla Was mireczki tablicę w C gotową do wrzucenia w kod.
I tera tak:
Przypadek 1:
I pyk wypluje takie o coś:
unsigned char index_html[] = {
0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, 0x68, 0x74,
0x6d, 0x6c, 0x3e, 0x0a, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65,
0x3e, 0x57, 0x79, 0x70, 0x6f, 0x6b, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c,
0x65, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x2f, 0x68, 0x65, 0x61,
0x64, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x62, 0x6f, 0x64, 0x79,
0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x70,
0x3e, 0x55, 0x53, 0x55, 0xc5, 0x83, 0x20, 0x4b, 0x4f, 0x4e, 0x54, 0x4f,
0x3c, 0x2f, 0x70, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x2f, 0x62,
0x6f, 0x64, 0x79, 0x3e, 0x0a, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e,
0x0a, 0x0a
};
unsigned int index_html_len = 134;
Możecie sobie ten output przekierować do pliku i jest fajnie da Was wtedy. A już najlepiej to dodać krok budowania w Makefile który wykona skrypt robiący tak:
I od tego momentu możecie sobie gdzieś w kodzie zaincludeować
Macie dostęp do tablicy unsigned char soundwav[] i możecie sobie z nią zrobić co tylko chcecie.
Trzeba zmienić dźwięk? Podmieniacie plik i kąpilujecie ponownie - tak trzeba żyć ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°)ノ⌐■-■ (⌐ ͡■ ͜ʖ ͡■)
#protip #ciekawostki #programowanie #jezykc #cplusplus #mikrokontrolery #arduino #esp8266 #esp32 #qbadev
@wytrzzeszcz: kiedyś pamiętam że Ci podsyłałem jakiś przykład z obsługą karty. Swoją drogą jeden mireczek @KeDreJ używa ESP8266 w podobny sposób. Z moją pomocą zrobił sobie ukryty punkt dostępowy ze wskazówką do szukania ukrytej gdzieś
Ja bym dał ludzki header guard z ifdefem.
W poprzedniej ciekawostce tak zrobiłem to mnie chcieli z-----ć
@noriad: Tu jest:
(to jest pisane na esp-non-os sdk już nie rozwijany przez Chińczyków)
https://github.com/Spritetm/esphttpd/tree/fatfs
Dobre, śmiechłem z 2 razy, leci plusik
Są lepsze sposoby wcielania plików do binarki. Np. używając
ld
dd if=/dev/urandom of=file.bin bs=1M count=100; xxd -b file.bin
i można poczuć się trochę jak w matrixie ( ͡° ͜ʖ ͡°)