Wątek przeniesiony 2014-05-19 23:53 z Nietuzinkowe tematy przez Rev.

Jak działa pralka, i w czym się ją programuje.

0

Kilka lat temu gdy moja wiedza zakresu programowania, elektroniki była zerowa, kolega mi się chwalił, że w gazecie przeczytał o nowoczesnych pralkach co się je programuje w Javie. Takie które mają kilku calowe wyświetlacze dotykowe, teraz już pewnie takie można kupić, wtedy to była niezła nowinka. Trochę programowałem ostatnio AVR, i wiem że automatykę pralki(czas wirowania, grzanie, prędkość obrotowa, lewo/prawo) zazwyczaj programuje się w C/C++, ASM i chyba w niczym innym, więc co ta Java mogła robić w tej pralce? Chyba tylko w niej był zaprogramowany interfejs użytkownika? przyciski, jakieś paski postępu ile pozostało do końca? Czy może było w pralce zaszyte coś w rodzaju rasberry PI? Jak działąją obecne pralki co można kupić w sklepie? Podejrzewam, że buduje się dedykowane systemy wbudowane oparte o ARM Cortex i klepie w C++?

0

Jak działa pralka
Kręci ciuchem, żebyś nie musiał kręcić ręcznie.

i w czym się ją programuje
Zależy od pralki. Taka Frania miała silnik i nic poza tym.
Później przyszły „automaty”, które początkowo miały programator mechaniczno-elektryczny. Taki multiprzełącznik z silnikiem krokowym przełączającym co jakiś czas.

Wniosek: pralka nie wymaga komputera do działania. Straszna prawda.

A jeśli już ma komputer, to może być tam cokolwiek, od prostego mikrokontrolera w rodzaju AVR, po jakieś Javy czy Windowsy, zależnie od fantazji twórców.
Tylko trzeba się liczyć z kosztami. „coś w rodzaju” Raspberry Pi oczywiście by się nadawało, ale to zdecydowanie za droga zabawka.

Jeśli pralka ma kosztować te 700-900 zł, bez sensu żeby aż jedna trzecia z tego szła na pokładowy komputer.

0

JavaME lata na starych cegłach, a cegły majątku nie kosztują.

Komendy można wysyłać za pomocą protokołu binarnego opartego np o TCP/IP. Kiedyś programowałem w (normalnej, pełnej) Javie obsługę komunikacji z czytnikiem kart płatniczych i tak właśnie się komunikacja odbywała.

0
Azarien napisał(a):

Zależy od pralki. Taka Frania miała silnik i nic poza tym.
Później przyszły „automaty”, które początkowo miały programator mechaniczno-elektryczny. Taki multiprzełącznik z silnikiem krokowym przełączającym co jakiś czas.

To akurat wiem, nie raz naprawiałem, stare franie i nowsze pół-automaty.
Nawet instalując Jave jest napisane "3 Billion Devices run Java" i jest wymieniona np. drukarka. Ale jak może być zaprogramowana drukarka w Javie, skoro głównym sercem drukarki są chyba silniki krokowe, których sterowanie trzeba zaprogramować w C. Więc co w drukarce robi Java?
Krótki cytat "Wiele domowych urządzeń elektronicznych działa dzięki Java np. pralki, lodówki mikrofalówki." Mikrofalówka, też potrzebuje jakiś sterownik co steruje silnikiem który kręci talerzem, steruje mocą mikrofal, i czasem pracy, i tutaj też chyba nie uciekniemy od C/C++, ASM. Po raz kolejny jestem zainteresowany co tam może robić Java?
To mnie interesuje.

0

choć w javie można pisać nawet systemy czasu rzeczywistego i są z tym filmiki, a współczesne drukarki nie tylko drukują ale potrafią też odczytywać karty pamięci i drukować całe pliki pdf, również funkcjonując jako drukarka bezprzewodowa (zrób to w assemblerze) to w żadnej mikrofalówce javy raczej nie ma - możliwe że powstał jakiś projekt fanatyków umożliwiający że DA SIĘ, ale ogólnie to w mikrofalówkach nic takiego nie ma
ewentualnie może w jakichś droższych z możliwością sterowania przez wifi (sic!). Generalnie obsługą silników itp nadal zajmują się odpowiednie układy i pewnie assembler, ale z nich jest wyprowadzony wysokopoziomowy interfejs dla javy w stylu "włącz/wyłącz" - zupełnie jak przy programowaniu komórek z androidem - przykładowo aparat ma interfejsy typu "zmień focus na tryb makro", "włącz flasha", "zrób zdjęcie", "wykryj twarz", ale nie możesz w pełni kontrolować tych procesów, nie możesz ustawić ręcznie ogniskowej, ani nawet programowo wykryć twarzy w porównywalnym czasie w jakim zrobi to wyspecjalizowany chip

btw widziałem nawet toster z linuxem ale to nie znaczy że każdy toster ma linuksa, czy że choćby jest w tym sens

0
mat3usz napisał(a):

Mikrofalówka, też potrzebuje jakiś sterownik co kręci tym talerzem, co odpowiednio generuje mikrofale o zadanej mocy

btw - to zdanie brzmi jakbyś myślał że kręcenie talerzem generuje mikrofale ;)

0

No rzeczywiście tak to zabrzmiało, ale tak nie myślałem.

3

Jeśli to jest pralka "wszystkomająca" to pewnie jest to właśnie Java (jakaś).
http://renesasrulz.com/doctor_micro/rx_blog/b/weblog/archive/2013/10/31/embedded-java-platform-for-rx-mcus.aspx

W C/C++/Embedded C++ można pewnie oprogramować prostsze pralki, ew. takie bez przeglądarki i FB.

W ASM to pewnie tylko te najprosze, z wyświetlaczem w rodzaju http://www.ebrain.com.ph/images/digital-clock-am-pm-s.jpg

Można chyba zaryzykować stwierdzenie że to co wyświetla pralka determinuje język programowania.

Obecne TV mają Jave, JavaScript, HTML, CSS - więc pewnie to kwestia czasu jak ktoś coś takiego wstawi do pralki.

0

Mikrofalówka, też potrzebuje jakiś sterownik co kręci tym talerzem, co odpowiednio generuje mikrofale o zadanej mocy

Kręci talerzem silnik a nie „sterownik” (który może co najwyżej silnik załączać), a talerz kręci się dlatego, że mikrofale nie rozkładają się równomiernie po całej przestrzeni, bez tego miałbyś na potrawie punkty zimne i gorące.
Dlatego (przynajmniej w Samsungach) zawsze niedogrzany jest środek, który kręci się w miejscu.

No i jeszcze raz: mikrokontroler jest środkiem, nie celem istnienia kuchenki. Najprostsze kuchenki to transformator, magnetron, silnik, żarówka i mechaniczny timer.

0

Nawet instalując Jave jest napisane "3 Billion Devices run Java" i jest wymieniona np. drukarka. Ale jak może być zaprogramowana drukarka w Javie, skoro głównym sercem drukarki są chyba silniki krokowe, których sterowanie trzeba zaprogramować w C. Więc co w drukarce robi Java?

Dlaczego niby w Javie nie dałoby się zaklepać sterownika dla zewnętrznego urządzenia? Zewnętrzne w sensie nie wspawane do płyty głównej z procesorem odpalającym ten program w Javie.

Kiedyś patrzyłem na urządzenia do kopania BitCoinów i tam sterowniki są właśnie głównie w Javie/ C/ C++/ Pythonie, a więc dość duża dowolność. Moim zdaniem wygląda to właśnie tak jak opisałem w poprzednim poście - komunikacja odbywa się za pomocą prostego protokołu binarnego pchanego przez TCP/IP lub, w prostszym wariancie, przez np RS-232 lub coś podobnego. Sterowniki w Javie (nawet Javie ME) do tego są, a wymagania sprzętowe do obsługi RS-232 są minimalne.

Każdy sterowany przez komputer centralny podzespół w pralce moim zdaniem ma własny mini-procesor, a dopiero sieć tych procesorków jest zarządzana przez centralny komputer zaprogramowany w Javie.

0

co do Javy w mikrofalówce, to był kiedyś projekt (nie wiem czy wszedł do produkcji ) kuchenki , która miała zamiast okienka , wyświetlacz LCD.
żeby było zabawniej lub efektywniej może :), to po ustawieniu czasu podgrzewania komputer w mikrofalówce sam wyszukiwał losowy (chyba) film na Youtube , którego czas był zgodny z czasem podgrzewania.
Takie ustrojstwo jak najbardziej nadaje się do wykorzystania Javy moim zdaniem, pytanie o sens jego istnienia to już inna kwestia.
Panowie od w/w projektu twierdzili, że większość ludzi i tak gapi się bezmyślnie w kręcący się talerz zamiast robić coś innego, więc należy zapewnić im lepszą rozrywkę.

0

A może to jest tak, że w opisywanej w gazecie palce, był wgrany jakiś linux embedded, w C była zaprogramowana cała automatyka, była maszyna wirtualna, i właśnie w Javie był zaprogramowany interfejs użytkownika?
Ktoś pisał, że w pralce może być sieć mikrokomputerowa. Sprawdziłem, w mojej Electrolux model z przed kilku lat, siedzi jeden procesor PIC.
I jeszcze pytanie, ile w komputerze PC/laptopie siedzi procesorów? Na pewno główny CPU, procesor graficzny, jakieś małe(w samsungu AVR widziałem) w dyskach i napędach, płyta główna ile tego może być?

0

Mikrokontrolery mają tak mało pamięci, że nie władujesz do nich żadnego systemu operacyjnego. Zmieści się tylko sterownik i to tylko pod warunkiem, że będziesz oszczędzał bajty. Stąd moje gdybanie o sieci mikrokontrolerów komunikujących się z procesorem głównym za pomocą jakiegoś super prostego protokołu idącego po porcie szeregowym na przykład.

0

Większość rynku embedded to asm / c / c++.

0

ile w komputerze PC/laptopie siedzi procesorów?
Nawet w klawiaturze masz mikrokontroler. Tradycyjnie był to Intel 8051, obecnie używa się różnych.

1 użytkowników online, w tym zalogowanych: 0, gości: 1