ARCHITEKTURA SYSTEMÓW WBUDOWANYCH - LABORATORIUM. Ćwiczenie 4. Temat: Serwer stron WWW jako interfejs komunikacyjny z Systemem Wbudowanym.



Podobne dokumenty
Laboratorium 1 Wprowadzenie do programowania Intel Galileo

ARCHITEKTURA SYSTEMÓW WBUDOWANYCH - LABORATORIUM. Ćwiczenie 2.

Laboratorium 2 Sterowanie urządzeniami z wykorzystaniem systemu plików Intel Galileo

ZASTOSOWANIE PLATFORM CYFROWYCH ARDUINO I RASPBERRY PI W NAUCZANIU STEROWANIA OBIEKTEM PNEUMATYCZNYM

dokument DOK wersja 1.0

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Rys. 1. Schemat ideowy karty przekaźników. AVT 5250 Karta przekaźników z interfejsem Ethernet

Viper Linux Lite, oprogramowanie Linux

1.10 MODUŁY KOMUNIKACYJNE

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Spis treści. Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Instrukcja dla: Icomsat v1.0 SIM900 GSM/GPRS shield for Arduino oraz dla GPRS Shield produkcji Seeedstudio.

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

MultiTool instrukcja użytkownika 2010 SFAR

Opis przedmiotu zamówienia CZĘŚĆ 1

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

Parametryzacja przetworników analogowocyfrowych

VIP XD Sieciowy serwer wizyjny. Instrukcja szybkiej instalacji Sieciowy serwer wizyjny

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

KATEDRA SYSTEMÓW MULTIMEDIALNYCH SEMINARIUM MULTIMEDIALNE SYSTEMY MEDYCZNE

Instrukcja obsługi. Grand IP Camera III. Kamera IP do monitoringu

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Site Installer v2.4.xx

10. Silniki Wprowadzenie Sterowanie pracą serwomotoru

Kod produktu: MP-W7100A-RS485

Zgrana para - NerO i CleO


o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

Strona 1 z Przedni panel. LED Opis funkcji ADSL

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

OPTIMA PC v Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA ELFON. Instrukcja obsługi. Rev 1

BF20 JTAG dla ARM ów z interfejsem USB Instrukcja obsługi

Ćwiczenie 7: WYKONANIE INSTALACJI kontroli dostępu jednego Przejścia REGIONALNE CENTRUM EDUKACJI ZAWODOWEJ W BIŁGORAJU

1. Instalacja modułu w systemie Windows.

BF30 OCDLINK/USBASP ARM-JTAG/AVR-ISP Programmer-debugger Instrukcja obsługi

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

KCM-5111 H Megapixel IP D/N PoE Box Camera (DC 12V / PoE)

Uruchomienie Raspberry Pi

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

ALNET USB - RS Konwerter USB RS 232/422/485 Instrukcja obsługi

1. INSTALACJA SERWERA

VideoJet X10/X20/X40. Sieciowy serwer wizyjny. Instrukcja szybkiej instalacji

Kod produktu: MP-W7100A-RS232

INTEGRACJA CENTRALI ALARMOWEJ SATEL Z HOME CENTER 2 FIBARO

Interfejs RS485-TTL KOD: INTR. v.1.0. Zastępuje wydanie: 2 z dnia

Instrukcja do oprogramowania ENAP DEC-1

KAmduino UNO. Płytka rozwojowa z mikrokontrolerem ATmega328P, kompatybilna z Arduino UNO

KAmduino UNO. Rev Źródło:

Zestaw Startowy EvB. Więcej informacji na stronie:

Moduł Ethernetowy ETHM-1

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

Ćwiczenie 4: Eksploatacja systemu kontroli dostępu jednego Przejścia REGIONALNE CENTRUM EDUKACJI ZAWODOWEJ W BIŁGORAJU

Moduł komunikacyjny MME42 IOT - Instrukcja Obsługi - Informacja Techniczna

Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

INTERFEJS LPG/CNG FTDI USB INSTRUKCJA INSTALACJI ORAZ KONFIGURACJI URZĄDZENIA

SCL > Pin 21 SDA > Pin 20 VCC > 5V GND > GND

Programator procesorów rodziny AVR AVR-T910

Moduł Ethernetowy EL-ETH. Instrukcja obsługi

SYSTEMY CZASU RZECZYWISTEGO (SCR)

Przegląd rozwiązań z oferty firmy 4D Systems

Instrukcja szybkiej instalacji Moduł VIP X1600

IBM SPSS Statistics dla systemu Windows Instrukcje instalacji (licencja sieciowa)

instrukcja instalacji modemu SpeedTouch 605s

DOKUMENTACJA PROJEKTU

Politechnika Białostocka

Konwerter RS-485->Ethernet [TCP/IP] CN-ETH-485 INSTRUKCJA [konfiguracja urządzenia do współpracy z programem MeternetPRO]

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE

Biomonitoring system kontroli jakości wody

tinyesp WiFi Kontroler

Instrukcja użytkownika ARSoft-WZ1

Ćw. I. Środowisko sieciowe, połączenie internetowe, opcje internetowe

Konwerter RS-485->TCP/IP [ethernet] ATC-1000 SZYBKI START [konfiguracja urządzenia do współpracy z programem Meternet]

Moduł Komunikacyjny MCU42 do systemu AFS42

INTERFEJS DIAGNOSTYCZNY BMW INPA / ADS/ GT1/ DIS / EDIABAS INSTRUKCJA OBSŁUGI Strona 1

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

Moduł Ethernetowy ETHM-1

Jednostka centralna. Miejsca na napędy 5,25 :CD-ROM, DVD. Miejsca na napędy 3,5 : stacja dyskietek

Konfigurowanie sterownika CX1000 firmy Beckhoff wprowadzenie. 1. Konfiguracja pakietu TwinCAT do współpracy z sterownikiem CX1000

1.2. Architektura rdzenia ARM Cortex-M3...16

Nazwa kwalifikacji: Montaż i eksploatacja systemów komputerowych, urządzeń peryferyjnych i sieci Oznaczenie kwalifikacji: EE.08 Numer zadania: 01

Terminal TR01. Terminal jest przeznaczony do montażu naściennego w czystych i suchych pomieszczeniach.

Lp. Nazwa Parametry techniczne

Electronic Infosystems

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE

1. Serwer rack typ 1 Liczba sztuk: 2

ĆWICZENIE 5 WPŁYW KONWEKCJI NA ROZKŁAD TEMPERATURY W POMIESZCZENIU

Uruchomienie Raspberry Pi

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Uwaga: NIE korzystaj z portów USB oraz PWR jednocześnie. Może to trwale uszkodzić urządzenie ZyWALL.

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat hasła SOHO (ang. Small Office/Home Office).

Instrukcja do konwertera USB-RS232

Konfigurowanie modułu BK9050 firmy Beckhoff wprowadzenie

Szczegółowy opis przedmiotu zamówienia. Część 1 - Laboratoryjny zestaw prototypowy

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Wireshark analizator ruchu sieciowego

Ważne: Przed rozpoczęciem instalowania serwera DP-G321 NALEŻY WYŁACZYĆ zasilanie drukarki.

Transkrypt:

ARCHITEKTURA SYSTEMÓW WBUDOWANYCH - LABORATORIUM Ćwiczenie 4. Temat: Serwer stron WWW jako interfejs komunikacyjny z Systemem Wbudowanym. 1. Wstęp Możliwość uruchomienia serwera stron WWW pracującego na systemie wbudowanym umożliwia stworzenie wygodnego i przejrzystego interfejsu użytkownika, za pomocą którego operator może sterować urządzeniem. Takie rozwiązanie ogranicza koszty budowy urządzenia związane z elementami interfejsu użytkownika (ekran LCD, klawiatura, matryca dotykowa), ale również może skrócić czas przygotowania oprogramowania budowanego urządzenia. żądanie odpowiedź żądanie odpowiedź Rys.1. Idea interfejsu użytkownika oparta na serwerze stron WWW. W proponowanym rozwiązaniu przeglądarka internetowa pracująca na dowolnym komputerze PC lub Smartfonie wysyła żądanie do serwera stron WWW pracującego na systemie wbudowanym. 1

W odpowiedzi system wbudowany przesyła do przeglądarki internetowej stronę www zawierającą informację wskazane w żądaniu. W ogólności informacje te mogą zostać zaprezentowane w formie tekstowej, tabelarycznej a nawet graficznej. W przypadku platformy Intel Galileo Gen2 serwer WWW można zrealizować na wiele sposobów, ale do najpopularniejszych należą: Stworzenie serwera stron WWW przy użyciu środowiska Arduino IDE Stworzenie serwera stron WWW za pomocą środowiska Node.js zainstalowanym na platformie Galileo i pracującej pod kontrolą systemu Linux Yocto Wykorzystanie programowania w języku Pyton pod kontrolą systemu Linux Yocto. Wykorzystanie środowiska Intel XDK. Za pomocą serwera stron WWW na platformie Intel Galileo można sterować: Sterować stanami portami GPIO i PWM. Wyświetlać wartości stanów portów cyfrowych i analogowych, Wysyłać komunikaty do systemu wbudowanego. 2. Budowa platformy Intel Galileo Gen2 Intel Galileo jest platformą kompatybilną z Arduino Uno R3 opartą o procesor klasy x86 Intel Quark X1000 (32-bitowy system klasy Intel Pentium) o prędkości taktowania 400 MHz. Procesor posiada 16 KBytes pamięci cache pierwszego poziomu. Platforma Galileo posiada pamięci 512 KB SRAM, 256MB DRAM DDR3 oraz 8MB pamięci flash na lekką dystrybucję linuxa (Yocto). Bardziej rozbudowane systemy operacyjne takie jak np. Linux Yocto, Linux Debian, Windows można umieścić na karcie microsd. Płyta Galileo posiada również zegar RTC z możliwością podtrzymania ustawień zegara poprzez zewnętrzne napięcie zasilające 3V. Intel Galileo posiada interfejsy komunikacyjne charakterystyczne dla mikrokontrolerów: Magistrala I2C - piny SDA i SCL, Magistrala SPI - domyślnie z prędkością 4 MHz, Szeregowy interfejs UART - z programowalną prędkością (piny RX i TX), 14 pinów cyfrowych GPIO - z czego 6 może zostać wykorzystanych jako źródło sygnału PWM, 6 analogowych wejść - oznaczonych symbolami A0-A5, podłączonych do 12-bitowego przetwornika analogowo-cyfrowego AD7298. Dzięki temu, że układ wyprowadzeń pinów jest identyczny jak w Arduino R3, platforma Intel Galileo może korzystać z bogatej oferty rynkowej modułów Shield (tzw. Skorupki) przygotowanych dla platformy Arduino. Programowanie portów odbywa się podobnie jak dla pozostałych platform Arduino w śwodowisku Arduino IDE oraz dodatkowo z poziomu zainstalowanego w pamięci flash lub na karcie pamieci Linuksa Yocto, Linuxa Debian lub systemu Microsoft Windows m.in. w językach C/C++, Python oraz Bash. 2

Złącze Ethernet Złącze terminala Linux Złącze USB CLIENT Złącze USB HOST Złącze zasilacza Złącze kart SD Złącze zgodne ze standardem modułów (Shield) Arduino Rys.2. Platforma Intel Galileo Gen2. 3. Stanowisko laboratoryjne Stanowisko laboratoryjne składa się z komputera PC, Płyty ewaluacyjnej Intel Galileo Gen2 (Rys.2), zestawu okablowania i podstawowych czujników współpracujących z płytą Intel Galileo- Grove Starter Kit Plus Intel IoT Edition (Rys. 3) oraz czytnika kart pamięci micro SD (Rys.4). Zestaw Grove Starter Kit Plus Intel IoT Edition oprócz okablowania niezbędnego do uruchomienia i korzystania z Intel Galileo Gen2 zawiera: Płytkę przejściową (Base Shield) umożliwiającą dołączenie czujników do Intel Galileo, alfanumeryczny wyświetlacz ciekłokrystaliczny (2 linie po 16 znaków) z podświetleniem RGB, przycisk monostabilny, potencjometr obrotowy, moduł przekaźnika elektromagnetycznego, moduł buzera, moduł mikrofonu pojemnościowego, czujnik natężenia światła, czujnik temperatury (termistor), sensor dotykowy, serwomechanizm, trzy diody elektroluminescencyjne (niebieska, zielona i czerwona) współpracujecie z modułem LED Socket Kit, adapter zasilania bateryjnego. broszura informacyjna. 3

Rys.3. Zestaw czujników i przewodów zestawu Grove Starter Kit Plus Intel IoT Edition Rys.4. Czytnik kart micro SD wykorzystywany na laboratorium 4. Przygotowanie obrazu systemu Linux Yocto i konfiguracja Terminala Linux Pobrać ze strony internetowej http://www.intel.com/support/galileo/sb/cs-035101.htm obraz systemu operacyjnego Linux Yocto (SD-Card Linux Image). Pobrany plik umieścić w folderze E:/SW. 4

Sformatować kartę micro SD za pomocą czytnika kart pamięci (w formacie FAT32). Za pomocą programu 7zip rozpakować pobrane archiwum i jego zawartość na karę pamięci micro. Procedura przygotowania karty SD może trwać kilka minut. Po jej zakończeniu należy zweryfikować zawartość karty SD, która powinna być taka jak na rysunku 5. Rys.5. Zawartość karty SD z systemem Linux Yocto Podłącz kabel FTDI zgodnie z rysunkiem 6 upewniając się, że czarny przewód zostanie połączony z zaciskiem GND w złączu kołkowym. Wtyk USB podłącz do portu komputera PC. Sprawdź w Menadżerze Urządzeń systemu Windows numer portu COM, pod którym widziany będzie interfejs UART1 platformy Intel Galileo Gen2. Rys. 6. Sposób podłączenie kabla FTDI (UART TTL 3,3V -> USB) do platformy Intel Galileo Gen2 5

Uruchom program terminala Tera Term, a następnie z menu File wybierz opcję New connection. W pojawiającym się oknie zaznacz pozycję Serial i wybierz port COM odczytany w Menadżerze Urządzeń. Następnie z menu Setup wybierz opcję Serial port i ustaw prędkość transmisji na 115200 bodów. W ten sposób program Terminala Tera Term został skonfigurowany do pracy z Intel Galileo Gen2. Umieść przygotowaną kartę SD w odpowiednim gnieździe na płycie Intel Galileo Gen2. Podłącz przewód sieciowy do złącza Ethernet a następnie podłącz zasilanie, zaczekaj na uruchomienie się systemu Yocto i zaloguj się do niego jako root. Podłącz płytę Intel Galileo Gen2 do komputera PC za pomocą przewodu micro USB i złącza USB client (Rys. 2). W konsoli systemu Linux (w oknie programu Tera term) sprawdź mac adres przewodowej karty sieciowej (eth0) płyty Galileo Gen2 oraz adres IP jaki został przydzielony jej przez serwer DHCP za pomocą polecenia: Ifconfig -a Po wydaniu powyższego polecenia powinno wyświetlić się okno jak na rysunku 7. Zapisz w protokole adres MAC oraz adres IP będą one potrzebne w dalszej części laboratorium. Rys.7. Efekt działania polecenia ifconfig 6

5. Tworzenie i przygotowanie serwera strony WWW w Arduino IDE. Poprawność podłączenia przewodów sprawdź uruchamiając program Arduino IDE. Ustaw odpowiedni port COM pod którym widziana jest w Menadżerze urządzeń platforma intel Galileo Gen2 i wgrajc przykładowy program (tzw. sketch ) Bink (Plik -> Przykłady -> 01.Basics). Stwórz nowy Sketch w środowisku Arduino IDE. Uruchomienie serwera WWW poprzedza konfiguracja sieci ethernet poprzez funkcję Ethernet.begin(), która jako argument przyjmuje adres MAC karty siecowej oraz adres IP pod którym platforma Intel Galileo będzie widziana w sieci Ethernet. Jako należy użyć adresów odczytanych wcześniej w konsoli Linux za pomocą polecenia ifconfig. Adresy MAC oraz adresy IP muszą być unikalne w sieci LAN. Oprócz konfiguracji wspominanych adresów w środowisku Arduino IDE należy również wskazać port, pod którym portem będzie widziany nasz serwer (domyślnie port numer 80). Można tego dokonać za pomocą funkcji EthernetServer server(80). Ostatnim krokiem jest uruchomienie serwera WWW za pomocą funkcji server.begin(). Całość konfiguracji I uruchomienia serwera WWW można dokonać obszarze funkcji setup(), która może wyglądać następująco (znaki XXX i XX zastępują odpowiednie bajty adresów): byte mac[] = { 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX }; IPAddress ip(xxx,xxx,xxx,xxx); EthernetServer server(80); void setup() { Ethernet.begin(mac, ip); server.begin(); } Treść strony WWW w tzw sketchu środowiska Arduino IDE przekazuję się w polu funkcji loop() za pomocą funkcji client.println(), która można wywoływać wielokrotnie (dla kolejnych linii kodu HTML strony internetowej). Funkcja loop() może przyjąć postać: void loop() { EthernetClient client = server.available(); client.println("<h1> Hello World!!! </h1>"); client.stop(); } W ten sposób zostaje już uruchomiony serwer WWW na platformie Intel Galileo. Kolejnym etapem jest rozbudowane programu o dodatkowe funkcjonalności takie jak wyświetlanie wartości wielkości mierzonych przez określone czujniki czy też dodanie możliwości ustawiania portów GPIO poprzez interfejs WWW. Ze sposobem odczytu i prezentacji stanów przetworników analogowo-cyfrowych zapoznaj się poprzez analizę przykładowych sketch-ów dostępnych w środowisku Arduino IDE w polu Plik -> Przykłady -> Ethernet (np. WebServer). Zapoznaj się również ze sposobem sterowania portami GPIO 7

korzystając z przykładowych programów znajdujących się w folderze E:\SW\WebSerwer oraz z przewodników znajdujących się na stronach: http://startingelectronics.org/tutorials/arduino/ethernet-shield-web-server-tutorial/ http://startingelectronics.org/articles/arduino/switch-and-web-page-button-led-control/ 6. Zadanie końcowe. 1. Napisz sketch w środowisku Arduino IDE realizujący serwer strony WWW. Strona powinna umożliwiać włączanie/wyłączanie przekaźnika (Relay), sterowanie jasnością diody LED (poprzez porty PWM), prezentować stan przełącznika (Button) podłączonego do portu cyfrowego oraz wyświetlać zmierzoną temperaturę (w C) i natężenie światła (w LUX) za pomocą sensorów z zestawu Grove Starter Kit Plus Intel IoT Edition. Do realizacji zadania będzie potrzebna elementarna wiedza z zakresu składni języka HTML. Można korzystać z kursów HTML dostępnych w Internecie, np.: http://www.kurshtml.edu.pl. Składnie funkcji z biblioteki Ethernet.h można odnaleźć na stronie: http://www.arduino.cc/en/reference/homepage. 8

LABORATORIUM ARCHITEKTURY SYSTEMÓW WBUDOWANYCH Ćwiczenie 4 Serwer stron WWW jako interfejs komunikacyjny z Systemem Wbudowanym. Data: Godzina: Imię i Nazwisko Numer indeksu Grupa dziekańska 1. Mac Adres: 2. Adres IP: 9