Mam nadzieję że zbytnio nie łamię reguł ale to do oceny admina.
Ostatnio zainteresowałem się modułami z ESP32. Pierwsze zabawy były z gatunku 'proste i na zlecenie' ale teraz postanowiłem wykorzystać go w pełni. Wpadłem na pomysł zrobienia bazy do przyrządów pomiarowych. Bazy bo myślę o konstrukcji która zawiera podstawowe klocki stałe i określone klocki 'wymienne' zmieniające funkcję.
Założenia:
• Małe (takze fizycznie) urządzenia które dawały by się zestawiać wedle potrzeb jak klocki (nawet wymyśliłem formę wspierającej to obudowy do druku 3D).
• Przewidziane są moduły w formie 1H1W, 2H2W, 1H2W itd. Wymiarowo jeden moduł minimalny to H=50mm W=100mm L=200mm (ale długość może być mniejsza / wieksza bez problemu dla mechanicznej funkcjonalnosci zestawu).
• Wszystkie miały by możliwość łączenia i rozłączania w jeden blok wedle potrzeby. Zapewniają to występy boczne i dolne (robiące też za nóżki).
• Obudowy miały by oddzielnie czesc przednia, body i tylnia. Body było by 'uniwersalne' z miejscem na montaż 2 płytek drukowanych. Tył w zasadzie byłby standardowy z jednym otworem na mikro USB i miejscem na drugi otwór na zasilanie 20V. Przód byłby bardziej zmnienny - pod funkcjonalność urzadzenia - złącza różnego typu...
• Mocowanie przodu/tyłu w body na pasowanie i zatrzaski (ale w taki sposób aby się to nie wypinało przy operowaniu złączami. (już opanowane...)
• Chłodzenie pasywne - otwory w bocznej górnej i dolnej części obudowy - tak zrobione że współgrają z sąsiednimi modułami.
• Obudowy pojawiły by się na Thingiversie do pobrania (ale z licencja 'noncommercial' i napisami ). Jeszcze nie zostały zamknięte więc jeśli są uwagi to zapraszam...
• Każde z urządzeń było by w pełni samodzielne ale mogły by działać w spójnym logicznym zestawie.
• Kazde z urządzen (oprócz początkowych / najtańszych) posiada mały wyświetlacz OLED (sterowanie I2C) i 3 czujniki dotykowe pojemnosciowe (podklejone pod płytę przednia). Dodatkowo LEDy wedle potrzeby.
• USB daje prostą komunikacje 'terminalową" - w tym komunikaty na czas uruchamiania. ale docelowo nie będzie chyba używane do komunikacji)
• Komunikacja podstawowa to HTTP (docelowo też HTTPS).
• Zasilanie urzadzen (oprocz tych potrzebujacych wiekszej mocy) to USB Micro albo USB B - powod to duza ilosc poniewierajacych sie wszedzie zasilaczy od telefonow - starsze to 400mA nowsze do 3A. Kable są też łatwo dostępne. Co do urzadzeń większych wymyśliłem sobie że wystarczy dodatkowy zewnętrzny zasilacz 20V / 3A - akurat jak od laptopa Lenovo
Narobiło mi się ich kilka 'zapasowych' i żal wyrzucic. Zasilacze i te od USB i te komputerowe maja wszystkie niezbędne certyfikaty jakby co a jest polski 'producent' zamienników - okolo 20zl za zasilacz:)
• Możliwe było by zasilanie 'powerbankiem' (ale tylko mniej żarłocznych modułów - na pewno nie zasilaczy > 5V)
• Urządzenia komunikują się nominalnie przez WiFi.
•• Pierwszy raz włączone udostępniały by własny AP (2.4G, 1 kanał, mała moc, hasło indywidualne na obudowie) do konfiguracji.
•• Wbudowany serwer WWW umożliwiałby konfiguracje urządzenia.
•• Po konfiguracji mogły by działać albo jako 'bida AP' (wybrany kanał i pasmo ale z niewielka ilością klientów - max 5) albo jako stacja z AP klienta. Ta część jest domknięta chociaż będą może jeszcze zmiany jak coś ktoś zażąda dodatkowego
•• Skonfigurowanie WiFi lub nie nie zmienia nic w minimalnej 'ręcznej' funkcjonalności urządzenia. Tyle że nie będzie ustawiania z sieci itd - no i extra funkcji - bo po co komu powiadamianie o zmianie stanu jak nie ma kogo powiadomić przez siec.
• Teoretycznie jest możliwa też komunikacja BT ale nie dodawałem (trudniej budować interface od strony komputera no i mniejsza przepustowość). Odpadają też wtedy moduły S2 a te są tańsze...
• Urządzenia udostępniają interfejs do konfiguracji, odczytu danych i do sterowania urządzeniem. Podstawowy byłby dostęp po http: (Z dostępem po https mam problem - kwestia ładowania certyfikatów które będą wygasać przecież...). Wstępne rozwiązanie jest ale... i tak nie ma jeszcze linii urządzeń.
• Urządzenia rozgłaszają się w sieci poprzez mDNS a więc nie trzeba pamiętać magicznych numerków (które zmienić się mogą po restarcie) ale mamy obok numerków nazwy nastawialne przez użytkownika. Ułatwia to też życie z certyfikatami.
• Dostępna będzie możliwość programowania urządzeń przez sieć (także z aplikacji).
• Postawą komunikacji z 'siecia' były by formularze HTML i JSONy ale tak sobie myślę ze dla zgodności z 'przeszłością' powinien być implementowany docelowo 'język' z komunikatów znanych z poprzednich epok - prawdopodobnie przez opcjonalnie dostępny port Telnet.
Pierwszym byłby niewątpliwie prosty moduł 8*Digital IO plus pomiar napiec na tych liniach (ale z założenia bez jakiejś specjalnej precyzji - efektywne 8-10 bit). Miałby on możliwość generacji PWM (samodzielnie - w tym powolnego przyrostu i opadania).
Drugim będzie zasilacz programowalny 0-20V w 2 odmianach (impulsowy 0-20V /3A i 0-15V / 3A impulsowo-liniowy).
Później będą mierniki (napięcia, 20/40mA, termopary itd), generator arbitralny (, regulator PWM, 'stacja pogodowa' z wieloma (>2) czujnikami wyniesionymi, analizator logiczny, oscyloskop no i 'sterownik' który mógłby umożliwić autonomię pracy zestawu. Oczywiście "kiedyś". Przecież sam z dnia na dzień tego nie zrobię - szczególnie że to raczej 'hobby' a nie praca (czyli coś co daje na chleb z masłem na dzisiaj).
Po co o tym wszystkim piszę? Poszukuje potrzeb innych ludzi. Zrobienie urządzenia dla siebie jest niewątpliwie fajne ale mało 'efektywne'. Myślę o tym aby zaproponować to docelowo na rynku - ale z pozostawieniem kodu jako otwartego. Potrzebuję krytyki (konstruktywnej) i propozycji jak coś zrobić lepiej
Dodatkowo potrzebuje weryfikacji założeń. Oczywiście, część rzeczy już istnieje 'w kodzie' ale jak to z programem - zawsze można to zmienić... Powiedzmy - jaka komunikacja z aplikacjami w PC albo rodzaj języka dostępnego dla użytkownika w sterowniku.
Czy ktoś jest zainteresowany współpracą?
Ostatnio zainteresowałem się modułami z ESP32. Pierwsze zabawy były z gatunku 'proste i na zlecenie' ale teraz postanowiłem wykorzystać go w pełni. Wpadłem na pomysł zrobienia bazy do przyrządów pomiarowych. Bazy bo myślę o konstrukcji która zawiera podstawowe klocki stałe i określone klocki 'wymienne' zmieniające funkcję.
Założenia:
• Małe (takze fizycznie) urządzenia które dawały by się zestawiać wedle potrzeb jak klocki (nawet wymyśliłem formę wspierającej to obudowy do druku 3D).
• Przewidziane są moduły w formie 1H1W, 2H2W, 1H2W itd. Wymiarowo jeden moduł minimalny to H=50mm W=100mm L=200mm (ale długość może być mniejsza / wieksza bez problemu dla mechanicznej funkcjonalnosci zestawu).
• Wszystkie miały by możliwość łączenia i rozłączania w jeden blok wedle potrzeby. Zapewniają to występy boczne i dolne (robiące też za nóżki).
• Obudowy miały by oddzielnie czesc przednia, body i tylnia. Body było by 'uniwersalne' z miejscem na montaż 2 płytek drukowanych. Tył w zasadzie byłby standardowy z jednym otworem na mikro USB i miejscem na drugi otwór na zasilanie 20V. Przód byłby bardziej zmnienny - pod funkcjonalność urzadzenia - złącza różnego typu...
• Mocowanie przodu/tyłu w body na pasowanie i zatrzaski (ale w taki sposób aby się to nie wypinało przy operowaniu złączami. (już opanowane...)
• Chłodzenie pasywne - otwory w bocznej górnej i dolnej części obudowy - tak zrobione że współgrają z sąsiednimi modułami.
• Obudowy pojawiły by się na Thingiversie do pobrania (ale z licencja 'noncommercial' i napisami ). Jeszcze nie zostały zamknięte więc jeśli są uwagi to zapraszam...
• Każde z urządzeń było by w pełni samodzielne ale mogły by działać w spójnym logicznym zestawie.
• Kazde z urządzen (oprócz początkowych / najtańszych) posiada mały wyświetlacz OLED (sterowanie I2C) i 3 czujniki dotykowe pojemnosciowe (podklejone pod płytę przednia). Dodatkowo LEDy wedle potrzeby.
• USB daje prostą komunikacje 'terminalową" - w tym komunikaty na czas uruchamiania. ale docelowo nie będzie chyba używane do komunikacji)
• Komunikacja podstawowa to HTTP (docelowo też HTTPS).
• Zasilanie urzadzen (oprocz tych potrzebujacych wiekszej mocy) to USB Micro albo USB B - powod to duza ilosc poniewierajacych sie wszedzie zasilaczy od telefonow - starsze to 400mA nowsze do 3A. Kable są też łatwo dostępne. Co do urzadzeń większych wymyśliłem sobie że wystarczy dodatkowy zewnętrzny zasilacz 20V / 3A - akurat jak od laptopa Lenovo

• Możliwe było by zasilanie 'powerbankiem' (ale tylko mniej żarłocznych modułów - na pewno nie zasilaczy > 5V)
• Urządzenia komunikują się nominalnie przez WiFi.
•• Pierwszy raz włączone udostępniały by własny AP (2.4G, 1 kanał, mała moc, hasło indywidualne na obudowie) do konfiguracji.
•• Wbudowany serwer WWW umożliwiałby konfiguracje urządzenia.
•• Po konfiguracji mogły by działać albo jako 'bida AP' (wybrany kanał i pasmo ale z niewielka ilością klientów - max 5) albo jako stacja z AP klienta. Ta część jest domknięta chociaż będą może jeszcze zmiany jak coś ktoś zażąda dodatkowego

•• Skonfigurowanie WiFi lub nie nie zmienia nic w minimalnej 'ręcznej' funkcjonalności urządzenia. Tyle że nie będzie ustawiania z sieci itd - no i extra funkcji - bo po co komu powiadamianie o zmianie stanu jak nie ma kogo powiadomić przez siec.
• Teoretycznie jest możliwa też komunikacja BT ale nie dodawałem (trudniej budować interface od strony komputera no i mniejsza przepustowość). Odpadają też wtedy moduły S2 a te są tańsze...
• Urządzenia udostępniają interfejs do konfiguracji, odczytu danych i do sterowania urządzeniem. Podstawowy byłby dostęp po http: (Z dostępem po https mam problem - kwestia ładowania certyfikatów które będą wygasać przecież...). Wstępne rozwiązanie jest ale... i tak nie ma jeszcze linii urządzeń.
• Urządzenia rozgłaszają się w sieci poprzez mDNS a więc nie trzeba pamiętać magicznych numerków (które zmienić się mogą po restarcie) ale mamy obok numerków nazwy nastawialne przez użytkownika. Ułatwia to też życie z certyfikatami.
• Dostępna będzie możliwość programowania urządzeń przez sieć (także z aplikacji).
• Postawą komunikacji z 'siecia' były by formularze HTML i JSONy ale tak sobie myślę ze dla zgodności z 'przeszłością' powinien być implementowany docelowo 'język' z komunikatów znanych z poprzednich epok - prawdopodobnie przez opcjonalnie dostępny port Telnet.
Pierwszym byłby niewątpliwie prosty moduł 8*Digital IO plus pomiar napiec na tych liniach (ale z założenia bez jakiejś specjalnej precyzji - efektywne 8-10 bit). Miałby on możliwość generacji PWM (samodzielnie - w tym powolnego przyrostu i opadania).
Drugim będzie zasilacz programowalny 0-20V w 2 odmianach (impulsowy 0-20V /3A i 0-15V / 3A impulsowo-liniowy).
Później będą mierniki (napięcia, 20/40mA, termopary itd), generator arbitralny (, regulator PWM, 'stacja pogodowa' z wieloma (>2) czujnikami wyniesionymi, analizator logiczny, oscyloskop no i 'sterownik' który mógłby umożliwić autonomię pracy zestawu. Oczywiście "kiedyś". Przecież sam z dnia na dzień tego nie zrobię - szczególnie że to raczej 'hobby' a nie praca (czyli coś co daje na chleb z masłem na dzisiaj).
Po co o tym wszystkim piszę? Poszukuje potrzeb innych ludzi. Zrobienie urządzenia dla siebie jest niewątpliwie fajne ale mało 'efektywne'. Myślę o tym aby zaproponować to docelowo na rynku - ale z pozostawieniem kodu jako otwartego. Potrzebuję krytyki (konstruktywnej) i propozycji jak coś zrobić lepiej
Dodatkowo potrzebuje weryfikacji założeń. Oczywiście, część rzeczy już istnieje 'w kodzie' ale jak to z programem - zawsze można to zmienić... Powiedzmy - jaka komunikacja z aplikacjami w PC albo rodzaj języka dostępnego dla użytkownika w sterowniku.
Czy ktoś jest zainteresowany współpracą?

Cool! Ranking DIY