Skocz do zawartości

Kuba_k

Użytkownicy
  • Zawartość

    34
  • Rejestracja

  • Ostatnio

Wszystko napisane przez Kuba_k

  1. Masz jakies opoznienie zeby PIR byl ignorowany do ilustam sekund? Bo imo to moze byc spowodowane za duza iloscia operacji na zdjeciu (opcje przetwazania ktore wrzuciles), zmieniana czestotliwoscia xclk i/lub za czestym wyzwalaniem migawki (esp nie daje rady obrobic i porzuca konwersje). To tak a propos dolu obrazu
  2. Jeśli korzystasz z biblioteki espressif to z tego co pamietam najpierw kod robił zrzut na pełnej rozdzielczości, a dopiero później zmienijszał do zapisu do odpowiedniej. Dodatkowo sprawdz jaka jakosc masz zapisu do jpg bo to też może wpływać. Jeszcze przypomniałem sobie, że podobny efekt miałem gdy za często skrypt wyzwalał migawkę, chyba minimum to była 1s żeby działało.
  3. Ja tak mialem w przypadku ustawienia zbyt wysokiej rozdzielczosci obrazu. Bierze sie to z powodu sposobu rejestracji obrazu na matrycy i buforu zapisu. Jak obinzysz szczegolowosc lub rozdzielczosc to problem powinien zniknac. Ja w swojej fotopułapce na "zwierzynę blokową" utknąłem na zapisie plikow na serwerze ftp. Niestety czas jaki byl potrzebny na zapis i przeslanie pliku byl zbyt duzy zebym potrafil sobie z tym poradzic. W koncu wykorzystalem ja jako webcamere i przy pomocy raspberry zapisuje obrazy po wyzwoleniu z czujnika ruchu. Ale ja mam dostep do pradu
  4. Nie. Jesteś osobą fizyczną prowadzącą pozarolniczą działalność gospodarczą. Jesteś podmiotem profesjonalnym, a nie osobą fizyczną. Tu masz prosty przykłas definicji legalnej i potocznej, a różnica jest taka jak przy prądzie stałym i zmiennym Prawa nie można pojmować "na chłopski rozum", niestety.
  5. @Treker czy ja gdzieś napisałem o działalności gospodarczej?
  6. Mozesz wystawic deklaracje zgodnosci jako producent, porwierdzajaca zgodnosc z CE. ALE musisz być podmiotem profesjonalnym, czyli będąc osobą fizyczną nie możesz tego zrobić. Ba! Nawet jakbyś chciał certyfikować taki produkt to niemógłbyś tego zrobić, ponieważ jako osoba fizyczna nie masz możliwości produkcji. Nie możesz też wprowadzić produktu na rynek. Kropka. Dlatego napisałem, że artykuł ma błędne założenia jako punkt wyjściowy. Brakuje tutaj definicji legalnych pojęć, które w języku potocznym znaczą co innego. Temat jest dosyć prosty dla przeciętnego czlowieka. Dopoki bie wytwarzasz podzespołów sam, a jedynie korzystasz z gotowców, nie masz się o co martwić. Jedynie problem mogą stwarzać zasilacze podłączone pod 230v robione samodzielnie ale zwykle korzysta się z gotowych rozwiązań.
  7. @Treker artykuł jest właśnie na siłę skomplikowany, a nie uproszczony. Żadna z norm nie dotyczy hobbystów. O "wprowadzaniu na rynek" również już napisałem w tym temacie, następuje tu całkowite pomylenie pojęć. Nie piszę tego, żeby kogoś obrazić, ani tym bardziej zarzucić niekompetencje. Pisze ponieważ błędy są rażące, a Forbota jednak uznawałem za specajlistyczny blog, który nie powiela niesprawdzonych informacji.
  8. @Treker na to odpowiadałem: Co do artykułu to we wnioskach jest określone, że jeśli nie ma certyfikatów, to nie możesz sprzedawać. Wszystkie wymienione normy wymagają certyfikacji aby korzystać z ich oznaczenia. Dlatego nie ma możliwości korzystania z norm, bez przeprowadzenia odpowiednich badań. W artykule został poruszony problem czy mogę zrobić budzik z wifi i odpowiedź: "nie". Argumentem potwierdzającym tezę były przywołane normy, którym poświęcona była większość artykułu. Prowadzi to do konkluzji, że większość artykułu była o normach, a jeśli mowa o normach to właściwie o certyfikacji. Co do zasady przedmiot nie spełnia normy do momenti przebadania go przez jednostkę crrtyfikująca. W związku z powyższym nie mogę sie zgodzić z zarzutem dotyczącym pojedyńczego wspomnienia o certyfikacji. Niestety tak jak wspomniałem artykuł wyrządza więcej zła, niż miałby przynieść korzyści. Dyrektywy i normy interpretowane są literalnie, bez zastosowania wykładni systemowej i celowościowej. Powoduje to rozprzestrzenianie błednych informacji, co szczególnie jest szkodliwe rozpatrując kto jest odbiorcą tego artykułu - hobbyści.
  9. @AS221 Nie są ci potrzebne żadne zezwolenia o ile urządzenie nie dotyczy gałęzi przemysłu objętego licencjonowaniem. Czyli zegarek możesz zrobić i zadeklarować jako producent, że jest zgodny z normami, natomiast np na jednorękiego bandytę musisz mieć koncesję. Ogólnie założenie, że produkty muszą posiadać certyfikaty przywołane w artykule jest błędne. Większość elektroniki na polskim rynku sprzedawana jest na deklaracji zgodności, wystawionej przez dystrubutora na Polskę.
  10. Nie, nie, nie i jeszcze raz nie. Artykuł jest z założenia błędny. Nie można zestawiać podmiotu profesjonalnego z rzemieślnikiem czy też osobą fizyczną! Wprowadzenie do obrotu też jest jasno zdefiniowane w prawie UE, co jest tu komplenie pominięte. Przywołane normy nie dotyczą jakiś 99% elektroników amatorów. Korzystamy z gotowych układów spełniających określone normy (lub ich sprzedwcy deklarują, że spełniają), dlatego przez stworzenie z nich układu on również te normy spełnia. Artykuł powoduje więcej problemów, niż miałby przynieść korzyści. A odpowiadając na pytanie podane w tytule: możesz sprzedać budzik z wifi koledze, dać go babci, a nawet wysłać prezydentowi (tego akurat nie polecam). Autora poproszę o podstawę prawną swoich konkluzji. Natomiast proszę o podanie konkretnych artykułów, zgodnie ze sztuką.
  11. U mnie na 3 egzemplarzach pomimo poprawnego połączenia i tak nie działało. Z tego co doczytałem na forach, ten typ tak ma i czasem jest ok, czasem nie
  12. Jak wgrasz sobie biblioreteki esp8266 pod IDE lub VSCode to działasz jak z normalnym arduino. Do czujnikow temp polecam wgranie ESPeasy (latwiej sie juz nie da). Niestety esp-01 nie jest najlepsza wersja, bo bardzo duzy problem jest z deep sleep.
  13. Od tygodnia próbuję przerobić projekt DIY sieci z kamerą ESP-32 i PIR-em, niestety całkowicie utknąłem. Chciałbym aby zdjęcie z tej kamery nie było zapisywane na karcie SD, tylko na moim serwerze ftp wewnątrz sieci domowej. Cel jest oczywisty, kamera będzie wisiała na korytarzu, więc jeśli ktoś będzie chciał się nią zaopiekować to lepiej żebym wiedział kim on był. Czy możecie mi pomoc? Jak nawet nie napisać co tam trzeba zmienić to chociaż nakierować. Znalazłem gotowe biblioteki do przesłania na ftp, natomiast nie wiem jak zrobić żeby każdy plik miał unikalną nazwę (wiem, że to podstawy ale nie udało mi się znaleźć odpowiedzi). Będę bardzo wdzięczny za pomoc ponieważ projekt robię z konieczności, a nie dla zabawy. Wynajem mieszkań sprowadza różnych ludzi, a moi obecni sąsiedzi zaczęli właśnie demolować klatkę. Obawiam się, że moje drzwi też nie umkną ich uwadze. Projekt: https://randomnerdtutorials.com/esp32-cam-pir-motion-detector-photo-capture/ Kod: /********* Rui Santos Complete project details at https://RandomNerdTutorials.com/esp32-cam-pir-motion-detector-photo-capture/ IMPORTANT!!! - Select Board "AI Thinker ESP32-CAM" - GPIO 0 must be connected to GND to upload a sketch - After connecting GPIO 0 to GND, press the ESP32-CAM on-board RESET button to put your board in flashing mode Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. *********/ #include "esp_camera.h" #include "Arduino.h" #include "FS.h" // SD Card ESP32 #include "SD_MMC.h" // SD Card ESP32 #include "soc/soc.h" // Disable brownour problems #include "soc/rtc_cntl_reg.h" // Disable brownour problems #include "driver/rtc_io.h" #include <EEPROM.h> // read and write from flash memory // define the number of bytes you want to access #define EEPROM_SIZE 1 RTC_DATA_ATTR int bootCount = 0; // Pin definition for CAMERA_MODEL_AI_THINKER #define PWDN_GPIO_NUM 32 #define RESET_GPIO_NUM -1 #define XCLK_GPIO_NUM 0 #define SIOD_GPIO_NUM 26 #define SIOC_GPIO_NUM 27 #define Y9_GPIO_NUM 35 #define Y8_GPIO_NUM 34 #define Y7_GPIO_NUM 39 #define Y6_GPIO_NUM 36 #define Y5_GPIO_NUM 21 #define Y4_GPIO_NUM 19 #define Y3_GPIO_NUM 18 #define Y2_GPIO_NUM 5 #define VSYNC_GPIO_NUM 25 #define HREF_GPIO_NUM 23 #define PCLK_GPIO_NUM 22 int pictureNumber = 0; #define uS_TO_S_FACTOR 1000000 void setup() { WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable brownout detector Serial.begin(115200); Serial.setDebugOutput(true); camera_config_t config; config.ledc_channel = LEDC_CHANNEL_0; config.ledc_timer = LEDC_TIMER_0; config.pin_d0 = Y2_GPIO_NUM; config.pin_d1 = Y3_GPIO_NUM; config.pin_d2 = Y4_GPIO_NUM; config.pin_d3 = Y5_GPIO_NUM; config.pin_d4 = Y6_GPIO_NUM; config.pin_d5 = Y7_GPIO_NUM; config.pin_d6 = Y8_GPIO_NUM; config.pin_d7 = Y9_GPIO_NUM; config.pin_xclk = XCLK_GPIO_NUM; config.pin_pclk = PCLK_GPIO_NUM; config.pin_vsync = VSYNC_GPIO_NUM; config.pin_href = HREF_GPIO_NUM; config.pin_sscb_sda = SIOD_GPIO_NUM; config.pin_sscb_scl = SIOC_GPIO_NUM; config.pin_pwdn = PWDN_GPIO_NUM; config.pin_reset = RESET_GPIO_NUM; config.xclk_freq_hz = 20000000; config.pixel_format = PIXFORMAT_JPEG; pinMode(4, INPUT); digitalWrite(4, LOW); rtc_gpio_hold_dis(GPIO_NUM_4); if(psramFound()){ config.frame_size = FRAMESIZE_UXGA; // FRAMESIZE_ + QVGA|CIF|VGA|SVGA|XGA|SXGA|UXGA config.jpeg_quality = 10; config.fb_count = 2; } else { config.frame_size = FRAMESIZE_SVGA; config.jpeg_quality = 12; config.fb_count = 1; } // Init Camera esp_err_t err = esp_camera_init(&config); if (err != ESP_OK) { Serial.printf("Camera init failed with error 0x%x", err); return; } Serial.println("Starting SD Card"); delay(500); if(!SD_MMC.begin()){ Serial.println("SD Card Mount Failed"); //return; } uint8_t cardType = SD_MMC.cardType(); if(cardType == CARD_NONE){ Serial.println("No SD Card attached"); return; } camera_fb_t * fb = NULL; // Take Picture with Camera fb = esp_camera_fb_get(); if(!fb) { Serial.println("Camera capture failed"); return; } // initialize EEPROM with predefined size EEPROM.begin(EEPROM_SIZE); pictureNumber = EEPROM.read(0) + 1; // Path where new picture will be saved in SD Card String path = "/picture" + String(pictureNumber) +".jpg"; fs::FS &fs = SD_MMC; Serial.printf("Picture file name: %s\n", path.c_str()); File file = fs.open(path.c_str(), FILE_WRITE); if(!file){ Serial.println("Failed to open file in writing mode"); } else { file.write(fb->buf, fb->len); // payload (image), payload length Serial.printf("Saved file to path: %s\n", path.c_str()); EEPROM.write(0, pictureNumber); EEPROM.commit(); } file.close(); esp_camera_fb_return(fb); delay(1000); // Turns off the ESP32-CAM white on-board LED (flash) connected to GPIO 4 pinMode(4, OUTPUT); digitalWrite(4, LOW); rtc_gpio_hold_en(GPIO_NUM_4); esp_sleep_enable_ext0_wakeup(GPIO_NUM_13, 0); Serial.println("Going to sleep now"); delay(1000); esp_deep_sleep_start(); Serial.println("This will never be printed"); } void loop() { }
  14. Thingspeak w wersji darmowej ma ograniczenie odbierania danych na 15000 ms, dlatego masz masz takie opóźnienia. Zauważyłem, że dają też chwilowego bana jeśli puścisz za często pakiety danych.
  15. Jednak napisanie prośby o pomoc zawsze pomaga Temat do usunięcia, jednak te błędy nie mają żadnego wpływu na pracę skrytpu, problemem był zły adres I2C. Oświeciło mnie dopiero po tym jak napisałem tę prośbę.
  16. Cześć, Mam spory problem z gotowym projektem, który chciałem odtworzyć. Dokładnie jest to urządzenie do malowania światłem LED Light painter. Projekt opiera się na rozwiązaniu Adafruit z Neopixel-ami, natomiast ma dodatkowo wyświetlacz lcd i guziki do sterowania plikami. No i tutaj zaczyna się komplikacja dla mnie. Jeśli chodzi o połączenia to wszystko zrobiłem dobrze, przetestowałem na innych prostych programach i teoretycznie powinno wszystko działać (led podpięty i działa, wyświetlacz lcd też, karta sd nie bo nawet nie wiem jak to przetestować). Zaznaczam, że jestem straszną pierdołą w tych sprawach, a projekt jest bardziej fotograficzny niż elektroniczny dlatego nieoceniona będzie Wasza pomoc. Po wgraniu szkicu z Arduino IDE nie dzieje się nic, zapala się tylko podświetlenie w lcd i to wszystko. Natomiast podczas kompilacji wyświetlają mi się błędy: C:\Users\ThinkPad\Desktop\student\led\ArduinoUNO\Light-painter-master\Light-painter-master\Light_painter\Light_painter.ino:510:7: warning: extra tokens at end of #else directive #else if CONSISTENT ^ C:\Users\ThinkPad\Desktop\student\led\ArduinoUNO\Light-painter-master\Light-painter-master\Light_painter\Light_painter.ino: In function 'void getFileName(char*, uint8_t, uint8_t)': C:\Users\ThinkPad\Desktop\student\led\ArduinoUNO\Light-painter-master\Light-painter-master\Light_painter\Light_painter.ino:610:64: warning: default argument given for parameter 3 of 'void getFileName(char*, uint8_t, uint8_t)' [-fpermissive] void getFileName(char* fileName, uint8_t index, uint8_t ext = 0) { ^ C:\Users\ThinkPad\Desktop\student\led\ArduinoUNO\Light-painter-master\Light-painter-master\Light_painter\Light_painter.ino:110:6: note: previous specification in 'void getFileName(char*, uint8_t, uint8_t)' here void getFileName(char* fileName, uint8_t index, uint8_t ext = 0); ^ Szkic używa 22240 bajtów (68%) pamięci programu. Maksimum to 32256 bajtów. Zmienne globalne używają 1420 bajtów (69%) pamięci dynamicznej, pozostawiając 628 bajtów dla zmiennych lokalnych. Maksimum to 2048 bajtów. Ja tego niestety nie rozumiem i nie mam czasu zrozumieć, gdyż deadline mnie goni bardzo. Zadałem już pytanie do autora na githubie ale mam nadzieję, że ktoś z Was może wiedzieć o co chodzi. Będę bardzo wdzięczny.
  17. PMSx003 - dostępne dwa modele z 5 i 7ką zamiast x. Imo to nie ta sama klasa sprzętu, dlatego też cena wyższa. Jednakże jeśli chce się otrzymywać miarodajne wyniki, trzeba wydać trochę więcej.
  18. Nie. Po pierwsze dokładność wynosząca 5 µg/m3 to około 10% naszej normy, czyli dosyć sporo. Oczywiście wykorzystując przetwornik 16 bitowy czułość by wzrosła ale równie dobrze można wtedy kupić droższy czujnik cyfrowy. Dodatkowo czytałem, że jest problem z powtarzalnością wyników i każdy z tych czujników podaje inne wyniki. Akurat temu się nie dziwię biorąc pod uwagę jego konstrukcję. Niestety w takim przypadku musisz dokonać kalibracji z miarodajnym źródłem, a to nie jest jest już takie proste.
  19. Wszystko można, tylko po co. Nie wiem tylko jak skalibrujesz go żeby dawał rzeczywiste wyniki przy tym małym nakładzie.
  20. @crbjsfso mam już zrobiony na bazie PMS5003, imo trochę dokładniejszy Edit/ przeczytałem dokumentacje. Ten sharp też działa na analogu więc rzeczywiście jako detektor dymu niż jakieś dokładniejsze pomiary.
  21. Z ciekawości sprawdziłem cenę tego GP2Y1010AU0F. Mogłem od razu go brać. Dzięki za pomysł
  22. Czujniki MQ to tak z mojego doświadczenia bardziej nadają się jako sygnalizatory występowania gazu (lub gazów bo niektóre reagują na kilka) niż jako mierniki stężenia. Tym bardziej MQ135 jest bardzo zawodny w przypadku określania jakości powietrza, gdyż jego odczyty są bardzo zależne od temperatury, wilgotności i zapylenia, co nie do końca przenosi się to na sama jakość powietrza. Próbowałem na tym zrobić sobie automatyczny sygnalizator tego czy sąsiedzi z dołu palą papierosy (niestety cały dym zaciąga do mojego mieszkania) i nie dało się tego odpowiednio skalibrować. Znalazłem gdzieś w necie pracę naukową gdzie napisali równanie kalibrujące wskazania w zależności od warunków atmosferycznych ale zawierał się chyba w 3 liniach na kartce A4
  23. Tak. Tylko oczopląsu bym dostał jakby coś takiego stało mi na szafce
  24. Masz może pomysł na wyświetlanie na tym zegarze oprócz godziny, temperatury i wilgotności w pokoju? Myślałem żeby zrobić coś identycznego i nie miałem pojęcia od której strony się do tego zabrać.
  25. telegraf > influxdb (gui chronograf) > grafana Korzystam do ściagania danych ze stacji pomiarowych gioś i wyświetlania u siebie na magicznym lustrze. Nie wiem czy czyta z csv ale pewnie tak.
×
×
  • Utwórz nowe...