LinkedIn YouTube Facebook
Szukaj

Newsletter

Proszę czekać.

Dziękujemy za zgłoszenie!

Wstecz
IoT

Bezprzewodowy system sterowania oświetleniem z protokołem ZigBee na STM32W

Aplikacja została zmodyfikowana w środowisku programistycznym Microsoft Visual C# 2010 Express, tak aby interfejs użytkownika sprowadzał się jedynie do przycisków z wyborem miejsca zapalenia/zgaszenia światła (z systemowego punktu widzenia, jest to wybór modułu, który zareaguje  załączy/wyłączy światło, w przypadku zastosowania ich w liczbie większej niż jeden) i niezbędnym wyborze portu dla podłączonego modułu nadawczego. W opisywanym projekcie zastosowano dwa moduły odbiorcze.

 

Rys. 5. Zmodyfikowana aplikacja ‘SerialPort Terminal’.

Rys. 5. Zmodyfikowana aplikacja ‘SerialPort Terminal’.

 

Widoczne na rysunku 5 ustawienia portu szeregowego COM są wymagane przez zastosowane moduły komunikacji bezprzewodowej. Konieczna jest jedynie zmiana numeru zmapowanego portu COM „COM Port” w zależności od numeru przypisanego w komputerze.

Dokonywanie zmian w programie w środowisku Microsoft Visual C# 2010 Express jest bardzo proste ze względu na możliwość graficznej edycji. Zbędne elementy szybko usunąć można poprzez ich zaznaczenie i przyciśnięcie klawisza ‘Delete’ na klawiaturze. Następnie z odpowiedniego menu wybrać można elementy do wstawienia. W tym przypadku potrzebnych będzie kilka przycisków (tak zwanych button’ów). Kluczowym elementem projektu jest dodanie do klawiszy funkcji, jakie będą wykonane po ich naciśnięciu. Z poziomu kodu wywołanie pożądanego działania, które zaimplementowane będzie w pliku Terminal.cs aplikacji, powinno wyglądać tak jak na listingu 2 i 3.

 

Listing 2. Przypisanie funkcjom funkcjonalności wysłania bajtu przez port szeregowy

private void Salon_on()
{
    comport.Write("1");
}
private void Salon_off()
{
    comport.Write("0");
}

private void Kuchnia_on()
{
    comport.Write("4");
}

private void Kuchnia_off()
{
    comport.Write("3");
}

 

Listing 3. Przypisanie funkcji do przycisków aplikacji

private void btnSalon_Click(object sender, EventArgs e)
{ Salon_on(); }
private void btnSalon_off_Click(object sender, EventArgs e)
{ Salon_off(); }

private void btnKuchnia_on_Click(object sender, EventArgs e)
{ Kuchnia_on(); }

private void btnKuchnia_off_Click(object sender, EventArgs e)
{ Kuchnia_off(); }

 

Jak łatwo można się domyślić, wybór odpowiedniego urządzenia, które jest odpowiedzialne za załączanie/wyłączanie oświetlenia w danym pomieszczeniu odbywa się poprzez wysłanie odpowiedniej wartości bajtu i sprawdzenie przez moduł (ten do którego adresowana była wiadomość) w prostej pętli ‘if’, czy odebrana wartość odpowiada wykonaniu przez niego działania włączenia czy wyłączenia oświetlenia.

Załączone kody źródłowe

W załączniku do artykułu dostępne są kompletne kody źródłowe umożliwiające odtworzenie oprogramowania opisanego systemu. Aby to zrobić, należy w pierwszej kolejności uruchomić plik instalacyjny ST SimpleMAC-1.1.0.0-STM32W108.exe, co spowoduje:

  • rozpakowanie pod wskazaną ścieżką przykładowych aplikacji producenta,
  • zainstalowanie wymaganych sterowników.

Następnie należy podmienić oryginalny plik talk.c na zmodyfikowany przez autorów.

Bibliografia

[1] Strona internetowa firmy IAR Systems, na której można pobrać środowisko EWARM http://www.iar.com/

[2] Strona internetowa firmy ST, na której można pobrać aplikację Simple MAC 

[3] Strona internetowa, na której można pobrać kod źródłowy programu Terminal http://msmvps.com/blogs/coad/archive/2005/03/23/SerialPort-_2800_RS_2D00_232-Serial-COM-Port_2900_-in-C_2300_-.NET.aspx

[4] Strona internetowa, na której można pobrać  środowisko Visual C# http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-csharp-express
Autorami projektu i artykułu są studenci Wydziału Elektroniki Politechniki Wrocławskiej:
Dominik Mirowski
Norbert Mazurkiewicz
Michał Kryściak

Polski portal branżowy dedykowany zagadnieniom elektroniki. Przeznaczony jest dla inżynierów i konstruktorów, projektantów hardware i programistów oraz dla studentów uczelni technicznych i miłośników elektroniki. Zaglądają tu właściciele startupów, dyrektorzy działów R&D, zarządzający średniego szczebla i prezesi dużych przedsiębiorstw. Oprócz artykułów technicznych, czytelnik znajdzie tu porady i pełne kursy przedmiotowe, informacje o trendach w elektronice, a także oferty pracy. Przeczyta wywiady, przejrzy aktualności z branży w kraju i na świecie oraz zadeklaruje swój udział w wydarzeniach, szkoleniach i konferencjach. Mikrokontroler.pl pełni również rolę patrona medialnego imprez targowych, konkursów, hackathonów i seminariów. Zapraszamy do współpracy!