
Owen Little
0
4468
10
Jakiś czas temu pokazałem ci, jak skonfigurować internetowy system sterowania dla Arduino. Jak skonfigurować Arduino Web Control bez osłony Ethernet. Jak skonfigurować Arduino Web Control bez osłony Ethernet. Przez kilka ostatnich tygodni przekazałem kontrolę nad nastrojowe oświetlenie w moim studiu dla widzów podczas transmisji na żywo Technophilia Podcast - wyniki tego można zobaczyć w… - ale musiało ono pozostać podłączone do komputera przez USB, aby utrzymać połączenie z Internetem. Jeśli masz osłonę Ethernetową, nie jest to konieczne. Dzisiaj zajmiemy się konfiguracją Arduino jako podstawowego serwera WWW, abyśmy mogli hostować naszą własną stronę kontroli urządzeń.
Będziesz potrzebować:
- Arduino lub klon Arduino, jak wyszczególniono tutaj Nie wydawaj pieniędzy na Arduino - Zbuduj własne za znacznie mniej Nie wydawaj pieniędzy na Arduino - Zbuduj własne za znacznie mniej Kocham moje Arduino. W dowolnym momencie mam sporo projektów w ruchu - prototypowanie jest z nimi takie proste. Ale czasami chcę utrzymać funkcjonalność projektu bez kupowania…
- Ethernet Shield (~ 35 USD) - upewnij się, że masz wersję pasującą do Twojego Arduino, ponieważ nie wszystkie są kompatybilne
- Zapasowy port routera lub przełącznika oraz kabel Ethernet
- Przykład WebServer podany w aplikacji Arduino
Konfiguracja
Tarcza Ethernet wykorzystuje piny 10 do 13 do kontrolowania połączenia sieciowego, więc pomiń je z projektu; pin 4 jest również używany do karty SD, ale nie będziemy tego dzisiaj używać.
Po pierwsze - otwórz Plik->Przykłady->Ethernet->Serwer internetowy który jest przewidziany w Arduino IDE. Znajdź linie odnoszące się do adresu MAC i adresu IP.
Mój adres MAC został znaleziony na pudełku - twój może znajdować się na samej tarczy. Dostosuj pierwszy wiersz wartości - musisz wyjść z poprzedniego 0x trochę. Technicznie rzecz biorąc, tak naprawdę nie ma znaczenia, co tu umieścisz, o ile nie masz żadnych sprzecznych wartości w swojej podsieci - ale mimo to był to adres przypisany przez producenta, więc prawdopodobnie powinniśmy się tego trzymać. Po prostu wiedz, że jeśli pomylisz się, nadal będzie działać.
Następny jest adres IP. Chcemy określonego stałego adresu, abyśmy mogli poprawnie skonfigurować przekierowanie portów - osłona jest w stanie uzyskać adres z DHCP, ale jest to użyteczne tylko wtedy, gdy będzie używane tylko jako klient, a nie serwer. Podaj adres IP, który jest nieużywany i zapamiętywany w sieci lokalnej, adres IP routera i 255.255.255.0 (podsieć). Jeśli nic z tego nie ma sensu, przeczytaj nasz darmowy i dokładny przewodnik po sieci domowej Wszystko, co musisz wiedzieć o sieci domowej Wszystko, co musisz wiedzieć o sieci domowej Konfiguracja sieci domowej nie jest tak trudna, jak myślisz. .
Przekazywanie portów
Edytuj wiersz, który mówi Serwer EthernetServer (numer), i zmień numer na 8081. Spowoduje to skonfigurowanie naszego serwera do nasłuchiwania na porcie 8081 w przypadku, gdy Twój dostawca usług internetowych blokuje ruch internetowy na tradycyjnym porcie 80.
Prześlij wersję demo w tym momencie i przetestuj ją z lokalnego komputera. Oczywiście będziesz musiał także podłączyć kabel Ethernet. Trzymaj USB również podłączony, ponieważ potrzebujemy go do zasilania - możesz później zastąpić go zasilaczem 9 V, ale wciąż testujemy.
Wskazówka Noob: jeśli otrzymasz ten błąd, oznacza to, że omyłkowo umieściłeś kapitał O zamiast 0 w obszarze adresu MAC. W wartościach szesnastkowych nie ma O! Jeśli naprawdę jesteś nowy, warto zapoznać się z naszym przewodnikiem Arduino dla początkujących!
Aby uzyskać dostęp do Arduino, wpisz adres i numer portu bezpośrednio z przeglądarki.
Powinieneś zobaczyć coś takiego - jak dotąd tak dobrze. Niestety jest to dostępne tylko w Internecie lokalna sieć teraz, więc przejdź do strony konfiguracji portu routera, aby skonfigurować przekierowanie z portu 8081 na ten sam port w adresie IP Arduino (Zobacz: Co to jest przekierowanie portów? Co to jest przekierowanie portów i jak może mi pomóc? [MakeUseOf wyjaśnia] Co to jest przekierowanie portów i jak może mi pomóc? [MakeUseOf wyjaśnia] Czy płaczesz trochę w środku, gdy ktoś mówi ci, że jest problem z przekierowaniem portów i dlatego Twoja nowa, błyszcząca aplikacja nie działa? Twoja Xbox nie pozwala ci grać w gry, twoje pobieranie torrentów odmawia… )
Przetestuj to na mobilnym urządzeniu internetowym 3G z wyłączonym Wi-Fi; pamiętaj, aby użyć swojego publiczny adres IP, nie twój adres sieci lokalnej. Router powinien być w stanie Ci to powiedzieć lub po prostu zapytać Google “jakie jest moje IP“.
Zrozumienie wyników
Strona obsługiwana w wersji demo odczytuje wartości z pinów analogowych - ale ponieważ nic tam nie ma, dostaniesz bzdury. Spróbuj podłączyć czujnik światła (fotorezystor) do portu A0 i +5v, z Rezystor 10k również na A0 i gnd (jest to dzielnik napięcia, ponieważ styki analogowe mogą odczytać tylko napięcie, a nie rezystancję) tylko w celu potwierdzenia, że serwer faktycznie odczytuje wartości. Zauważ, że gdy zmienia się natężenie światła, wartości na innych pinach również się zmieniają - dzieje się tak, ponieważ wszystkie są niepołączone.
Interaktywność
Czytanie tych wartości jest dobre i dobre, ale skaczę do kontrolowanie stąd Arduino to spory skok, który dziś wykracza poza zakres tego samouczka. Zamiast ponownie wymyślać koło, skieruję cię w stronę hari użytkownika forum Arduino, który napisał podstawowy interfejs API do interakcji z cyfrowymi pinami. Korzystając z tego kodu (zmodyfikowałem go do pracy z najnowszą biblioteką Ethernet), podłącz długi przewód diody LED (anody) do styku 8, a krótki przewód do styku 7 (z odpowiednim rezystorem). Następnie możesz użyć adresów URL formularza http: // ip: port / digitalWrite / 8/1 włączyć diodę LED i http: // ip: port / digitalWrite / 8/0 aby go wyłączyć i odczytać wartości analogowe za pomocą analogRead / 0.
Ten przykład z bildr nauczy Cię również, jak kontrolować sekwencję diod LED, czytając żądanie GET.
Możesz również sprawdzić ten przykład, który wyświetla formularz na stronie do sterowania migającą diodą LED RGB, ale możesz łatwo dostosować go do paska RGB, takiego jak projekt dynamicznego oświetlenia otoczenia Zbuduj własne dynamiczne oświetlenie otoczenia dla kompilacji Media Center Twoje własne dynamiczne oświetlenie otoczenia dla centrum multimedialnego Jeśli oglądasz dużo filmów na komputerze lub centrum multimedialnym, jestem pewien, że stanąłeś przed dylematem dotyczącym oświetlenia; czy całkowicie wyłączasz wszystkie światła? Czy utrzymujesz je w pełnej krasie? Lub… zbudowaliśmy jakiś czas temu.
Cóż, dobrze się bawiłem, budując je, więc mam nadzieję, że ty też. Jeśli masz bibliotekę, która ułatwia serwowanie stron i sterowanie, skontaktuj się z nami w komentarzach.