Lampka włączana przez stronę www

0

Cześć.

Mam do zrobienia projekt, w którym włączam lampkę/diodę podłączoną do komputera za pomocą strony internetowej. Niestety moja wiedza i umiejętności są zbyt małe. Nie wiem jak się za to zabrać. Czy możecie mi jakoś pomóc?

Strona internetowa z dwoma przyciskami: "WŁĄCZ" i "WYŁĄCZ". Do komputera podłączone jest jakieś urządzenie za pomocą USB. Może to być jakaś makieta jak i zwykły telefon z androidem lub innym systemem operacyjnym. Po wciśnięciu przycisku "WŁĄCZ" lampka/diodka winna się zapalić. Jak się za to zabrać?

1

No więc.. musisz ogarnąc parę rzeczy

  1. Podłaczenie sprzętowe lampki do PC i jej sterowanie
  2. Program po stronie PC który będzie się komunikował z lampką
  3. Strona internetowa i jej backend który będzie się komunikował z programem z pkt2.

Co do 1.
Polecam jakiś prosty mikrokontroler z rodziny ATtiny. Jeśli lampka ma być na 230V, to trzeba będzie podpiąć przekaźnik przez tranzystor. Komunikacja z ATtiny jest po UART, do tego trzeba by układ np FT232 który to zamieni na USB, po stronie kompa trzeba by zainstalować sterowniki do tego FT232 który zrobi wirtualny port COM. Program w ATtiny oczekuje tylko na odpwoiednie polecenie które zapala bądź gasi lampkę. Mogło by być tez polecenie które odsyła aktualny stan lampki.

Co do 2.
Program który łaczy się po wskazanym porcie COM i wysyła tam żądane informacje. Program też powinien zapewnić komunikację z zewnątrz tzn żeby mozna było jakoś nim sterować. Albo moze to byc webservice napisany np w ASP.NET albo jakiś inny język umożliwiający połączenia po porcie COM. Można zrobić tez zwykły program który będzie odpalał serwer TCP i na nim nasłuchiwał.

Co do 3.
Piszesz sobie zwykłą stronkę HTML, CSS, JS. Po stronie serwera piszesz skrypty w czym chcesz, czy to php czy python.. które albo łączą się z webservicem albo łączą się po TCP i zmieniają stan lampki.

To tak w skórcie to trzeba by zrobić.

Wybitny Samiec
Dosyć prosta musiałaby być ta praca inż, bo tutaj roboty jest na parę dni, góra tydzień w zasadzie.

1

Możesz się zainteresować rozwiązaniami typu Raspberry Pi - komputery tego typu są zdolne zarówno uruchomić serwer WWW, aby mieć możliwość uruchomienia na nim strony internetowej, jak i posiadają szereg interfejsów GPIO, w których jesteś w stanie programowo ustawiać stan wysoki/niski, co może powodować włączanie się diodki, uruchamianie zewnętrznego urządzenia (lampki) itp.. W ten sposób łączysz tak naprawdę mikrokontroler sterujący urządzeniem fizycznym i komputer w jedno.

Jeżeli chcesz wyjść z rozwiązaniem z zewnętrznym mikrokontrolerem podłączanym przez USB, to Arduino będzie najprostsze, jeżeli sie tym nigdy nie zajmowałeś. Od razu integruje mikrokontroler i komunikację USB, a w wersji "chiński klon" da się złożyć za niewielkie kwoty. Tworzy wirtualny port COM w komputerze, więc komunikacja jest prosta.

1

Strona internetowa z dwoma przyciskami: "WŁĄCZ" i "WYŁĄCZ". Do komputera podłączone jest jakieś urządzenie za pomocą USB. Może to być jakaś makieta jak i zwykły telefon z androidem lub innym systemem operacyjnym.

Trochę to zamotałeś.

Rozumiem że lampka ma być włączana ze strony WWW.
To do czego ci USB?
I jaką rolę ma tu pełnić „makieta jak i zwykły telefon”?

0

Akurat podałem to jako przykład. Chodzi tylko oto by spełniło się założenie projektowe, aby lampka/dioda włączała się ze strony internetowej, a gdzie i jak będzie podłączona nie ma najmniejszego znaczenia.

Chciałbym pójść po najniższej linii oporu, ponieważ NIE jest to mój konik.

2

Jeżeli chcesz iść po lini najmniejszego oporu, to weź diodkę, nie lampkę. Bo diodkę zaświecisz z samego napięcia sterowania mikrokontrolera, a lampką musisz sterować.
Dwa, weź coś, co ma zintegrowaną sieć i jest na tyle mocne, aby odpalić lepszy lub gorszy serwer HTTP - Raspberry Pi, Netduino 2 Plus, coś w tym stylu. Względnie coś, gdzie sieć jest łatwo doczepić i do czego są dostępne biblioteki aby sobie serwer zrobić.

Jeżeli wybierzesz RPi to musisz sobie tylko skonfigurować Linuksa tam, aby działał serwer HTTP + zrobić serwerową aplikację internetową, w dowolnym języku (choćby i PHP), która będzie potrafiła uruchamiać programy zewnętrzne. A potem uruchamiasz program gpio (dostarczany wraz z biblioteką WiringPi), który pozwala ustawić stan wysoki (napięcie) na pewnych pinach (uruchomiony z odpowiednimi parametrami). Do takiego pinu podłączoną masz diodę, a druga nóżka idzie do masy. I już, świeci się.

Alternatywnie:
serwer WWW postawiony na komputerze, mikrokontroler z diodą podłączony do komputera przez COM/USB, strona internetowa wysyła sygnał do kontrolera, a ten wystawia stan wysoki na którejś ze swoich nóżek. I dioda świeci.

Jakiś dzień roboty w obydwu przypadkach.

0

poczytaj o websockets

0

Pamiętaj żeby diodę podłączać przez opornik.

A lampka (taka na „prunt”) wymagałaby w najprostszym wariancie przekaźnika sterowanego tranzystorem. (raczej bałbym się podłączać przekaźnik bezpośrednio do µP). Do zrobienia ale minimum wiedzy trzeba zdobyć.

serwer WWW postawiony na komputerze, mikrokontroler z diodą podłączony do komputera przez COM/USB, strona internetowa wysyła sygnał do kontrolera, a ten wystawia stan wysoki na którejś ze swoich nóżek. I dioda świeci.
Można bez mikrokontrolera, sterując pinami na porcie LPT. Jak to ma być tylko jeden pin to w COM też się coś powinno znaleźć.

0

Opornik (cala sekcje: diode, opornik i ew jakies inne elementy) najlepiej sciagnac z innego projektu, nikt za to paly nie da. Dobrze jest tylko wiedziec co do czego bo akurat o to moze ktos zapyta (mniejsza ale niezerowa szansa na stabilizator napiecia).

0

Rozmawiałem ze znajomym i dowiedziałem się, że fizyczną płytkę da się zastąpić wirtualną (np. w sapwinie). Jest to możliwe? Na pewno oszczędziłoby to kosztów i czasu. Co na ten temat sądzicie?

0
warcab napisał(a):

Rozmawiałem ze znajomym i dowiedziałem się, że fizyczną płytkę da się zastąpić wirtualną (np. w sapwinie)

nie wiem czy dobrze rozumiem, ale w takim razie lampka też musiałaby być wirtualna
w takim przypadku może lepiej zrobić obrazek lampki zapalonej i zgaszonej i podmieniać ją na stronie?

0

Możesz pobawić się programować mikrokontrolery, tutaj moj tutek:
Budowa modułu kontrolnego na USB przy pomocy mikrokontrolera AVR

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