Przeszukaj forum
Pokazywanie wyników dla tagów 'ESP32-C3'.
Znaleziono 4 wyniki
-
Pamiętacie grę Watch Dogs? Aiden Pearce jednym kliknięciem w smartfonie zmieniał świat wokół siebie. Choć rzeczywistość jest nieco bardziej skomplikowana, mój projekt ma być taką "namiastką" hakerskiego gadżetu w zasięgu nadgarstka. Chciałbym Wam przedstawić CyberWatch – zegarek oparty na ESP32-C3, który buduję z myślą o nauce etycznego hackingu i testowaniu podatności sieci. Płytka posiada Wi-Fi, Bluetooth i najważniejsze 16 pinów GPIO pomagających mi w tym projekcie. Z założenia ma być to płytka "hakerska" ale chciałbym żeby służyła przede wszystkim do bezpiecznego testowania urządzeń znajdujących się u mnie w domu, w garażu lub w piwnicy. Jednakże nie był bym sobą, gdyby projekt nie robił wielkiego wow dlatego poza funkcjami diagnostycznymi pojawią się również takie trochę utrudniające życie ludziom jak DDoS czy swego rodzaju Jamming. Na chwilę obecną jest to bardzo wczesny prototyp który tak naprawdę ma za zadanie sprawdzić czy 32-bitowy RISC-V (do 160 MHz) oraz 400kB SRAM, 384kb ROM oraz 4 MB Flash. są wstanie współpracować z Wi-Fi 2.4 GHz oraz Bluetooth 5.0. Stworzyłem to również dlatego że jestem ciekawy czy takie małe ESP jest już w stanie robić coś więcej niż tylko sterować domem, robotem czy odczytywać dane z czujników, czy to że te płytki są łatwo dostępne to jest wygoda czy problem. Jestem jeszcze ograniczony co do testów bo nie wgrałem na płytkę min. aktualizacji OTA dlatego też mój projekt chwilowo działa tylko po USB C, w przyszłości zamierzam dodać baterię. Całość będzie też bardziej rozbudowana niż na tym etapie może się wydawać ponieważ płytka dostanie też GPS i całą stronę HTML poświęconą wykresami i jakimś nazwijmy to "zapisem pomiarów". Zamierzam dodać też taki kluczyk nazwijmy go "Admin Mode" żeby płytka (w sumie to zegarek) był bez użyteczny gdy wpadnie w niepowołane ręce. Zapraszam do sekcji komentarzy, może ktoś wpadnie ja jakiś pomysł co można jeszcze wrzucić na taką płytkę, i jak to można jeszcze lepiej wykorzystać. Projekt wygląda mniej więcej tak:
-
Witajcie, chciałem pochwalić się swoim kolejnym projektem do nawadniania szklarni Otóż potrzebowałem jakiegoś smart nawodnienia do szklarni ponieważ nie zawsze miałem możliwość podlewania, a dodatkowo chciałem to „upchać” do całego systemu sterowania w Home Assistant Założenia: komunikacja z HomeAssistant (najlepiej WiFi) panel foto do ładowania akumulatora 10 dysz i jak najmniejsza pompka żeby dawała radę podlać całość poniżej 150zł Poszukiwania sprzętu chwilę trwały ale ostatecznie kupiłem ESP32-c3 super mini, panel fotowoltaiczny 5V 10W z regulatorem , pompka 5V, przekaźnik oraz do tego powerbank 120W (akurat był na promocji) i ten akurat wytrzyma 5-6 dni na podlewanie. Pozostałe rzeczy jak kabelki, złączki, rurki termokurczliwe, filament miałem na stanie i tego nie wliczam. Plan by taki że pompka 5V zużywa mało prądu, ale ma dosyć dobrą wydajność jak na moje potrzeby kropelkowania lub mini zraszania. Dorobiłem jej obudowe na drukarce 3D żeby chronić przed wodą/słońcem. Do tego powerbank/akumulator żeby podtrzymać zasilanie a powerbank ładuje się z mini panelu foto 10W. Jedynie co mi pozostaje to od czasu do czasu dolewać wody, ale spokojnie 4-5 dni wystarczy bez mojej ingerencji. Całość sterowania jest z Home Assistant, ale dołożyłem dodatkowy przycisk (switch) obok panelu foto gdyby jednak coś nie zadziałało to mogę ręcznie uruchomić nawodnienie. W Home Assistant mam ustawiony cały harmonogram podlewania 5-10min rano, w południe i pod wieczór. A na telefon przychodzą powiadomienia o uruchomieniu lub zakończeniu cyklu. Poniżej gotowy kod do wrzucenia w ESPHome esphome: name: esp32c3_pompka esp32: board: esp32-c3-devkitm-1 variant: esp32c3 framework: type: arduino wifi: ap: ssid: "ESP32C3-Setup" password: "xxxxxxxxxx" api: ota: platform: esphome logger: captive_portal: switch: - platform: gpio name: "Pompka" pin: GPIO10 id: pompka_switch inverted: false restore_mode: ALWAYS_OFF binary_sensor: - platform: gpio pin: number: GPIO3 mode: INPUT_PULLUP inverted: true name: "Pompka Przycisk" on_press: then: - switch.toggle: pompka_switch Na sam koniec zaprojektowałem obudowę i wydrukowałem na drukarce 3D żeby łatwiej zaczepić pompkę i całą elektronikę o szklarnię. Docelowo jeszcze to przeprojektuję na kolejny sezon. W przyszłości planuję rynny i napełnianie 2 zbiorników automatycznie ,a także dołożenie drugiej pompki po drugiej stronie szklarni bo tam są podwyższone grządki. Całość działa już ponad miesiąc i wszystko jest w porządku.
-
Mam do wykonania logger parametrów pewnego urządzenia, wymaganie jest między innymi takie aby po włożeniu pamięci pendrive logowanie zaczynało się automatycznie. Logger buduję w oparciu o esp32s3 który ma wsparcie sprzętowe USB msc, aby zapoznać się z komponentem udostępnionym przez espressif korzystam i ich przykładu https://components.espressif.com/components/espressif/usb_host_msc https://github.com/espressif/esp-idf/tree/master/examples/peripherals/usb/host/msc Urządzenie ma być bezobsługowe, czyli użytkownik wkłada pamięć -> esp sprawdza czy istnieje folder ze specyficzną nazwą powiązaną z jego MAC adres, jeśli taki istnieje to tworzy w tym folderze plik z bieżącą datą i czasem oraz zaczyna zapisywanie danych. -> jeśli folder nie istnieje to musi go założyć i przejść powyższe kroki, ścieżkę buduję w taki sposób: uint8_t chipid[6]; esp_efuse_mac_get_default(chipid); char makedir[128]; sprintf(makedir,"/usb/LOGGER_%02X%02X%02X%02X%02X%02X",chipid[0], chipid[1], chipid[2], chipid[3], chipid[4], chipid[5]); bool directory_exists = stat(makedir, &s)==0; if (!directory_exists) { if (mkdir(makedir, 0775) != 0) { ESP_LOGE(TAG, "mkdir failed with errno: %s", strerror(errno)); } } Następnie plik z oznaczony aktualnym czasem np: 22082024_1444.csv i do niego zapisuje kolejne rekordy danych. Sprawa która mnie zastanawia to właśnie ten moment kiedy ktoś podejdzie i wyjmie pendrive z urządzenia, log będzie co sekundę, można liczyć że akurat pendrive zostanie wyjęty pomiędzy kolejnymi zapisami, ale co jeśli trafi akurat w moment dodawania wpisu do pliku? Można w programowy sposób na to zareagować lub muszę wykombinować jakiś mechanizm aby plik został poprawnie zamknięty przed wyjęciem pamięci z gniazda?
-
Witam serdecznie, pracuję nad pewnym projektem i ze względu na niedostateczne umiejętności programowania w C, postanowiłem wykorzystać ArduinoIDE z bliblioteką esp32 do zaprogramowania układu ESP32-C3, zamiast dedykowanego przez producenta frameworka ESP-IDF. Tutaj pojawia się moje pytanie, w jaki sposób przebiega kompilacja takiego projektu w ArduinoIDE ? Czy projekt, który wgrywamy po przez ArduinoIDE de facto też jest zcustomizowanym firmwarem ? czy może to jest instrukcje w c++ uruchamiane są na dedykowanym firmwarze ? Kolejna sprawa: czy gdy wgrywamy nasz program do pamięci płytki to z każdym razem wgrywany jest nowy firmware, czy tylko podmieniany jakiś segment pamięci ? Niestety nie mam specjalistycznej wiedzy w tej materii, dlatego zależy mi na wyjaśnieniu tej kwestii.
