Udostępnij za pośrednictwem


Łączenie urządzenia Raspberry Pi 3 z rozwiązaniem do monitorowania zdalnego i wysyłanie danych telemetrycznych z rzeczywistego czujnika przy użyciu języka C

W tym samouczku pokazano, jak za pomocą zestawu startowego Microsoft Azure IoT dla urządzenia Raspberry Pi 3 opracować czytnik temperatury i wilgotności, który może komunikować się z chmurą. W tym samouczku są używane następujące elementy:

  • Raspbian OS, język programowania C i zestaw SDK usługi Microsoft Azure IoT dla języka C w celu zaimplementowania przykładowego urządzenia.
  • Wstępnie skonfigurowane rozwiązanie do monitorowania zdalnego pakietu IoT suite jako zaplecze oparte na chmurze.

Omówienie

Ten samouczek obejmuje następujące kroki:

  • Wdróż wystąpienie wstępnie skonfigurowanego rozwiązania do monitorowania zdalnego w subskrypcji platformy Azure. Ten krok automatycznie wdraża i konfiguruje wiele usług platformy Azure.
  • Skonfiguruj urządzenie i czujniki, aby komunikować się z komputerem i rozwiązaniem do monitorowania zdalnego.
  • Zaktualizuj przykładowy kod urządzenia, aby nawiązać połączenie z rozwiązaniem do monitorowania zdalnego, i wyślij dane telemetryczne, które można wyświetlić na pulpicie nawigacyjnym rozwiązania.

Wymagania wstępne

Do wykonania kroków tego samouczka jest potrzebna aktywna subskrypcja platformy Azure.

Uwaga

Jeśli jej nie masz, możesz utworzyć bezpłatne konto próbne w zaledwie kilka minut. Aby uzyskać szczegółowe informacje, zobacz Bezpłatna wersja próbna platformy Azure.

Wymagane oprogramowanie

Potrzebny jest klient SSH na komputerze stacjonarnym, aby umożliwić zdalny dostęp do wiersza polecenia na urządzeniu Raspberry Pi.

Wymagany sprzęt

Komputer stacjonarny umożliwiający zdalne łączenie się z wierszem polecenia na urządzeniu Raspberry Pi.

Zestaw startowy Microsoft IoT dla urządzenia Raspberry Pi 3 lub równoważnych składników. W tym samouczku są używane następujące elementy z zestawu:

  • Raspberry Pi 3
  • Karta MicroSD (z NOOBS)
  • Kabel USB Mini
  • Kabel Ethernet
  • Czujnik BME280
  • Makiet
  • Przewody skoczkowe
  • Rezystory
  • Diody led

Aprowizacja rozwiązania

Jeśli jeszcze nie przeprowadzono aprowizacji wstępnie skonfigurowanego rozwiązania do monitorowania zdalnego na Twoim koncie:

  1. Zaloguj się, aby azureiotsuite.com przy użyciu poświadczeń konta platformy Azure, a następnie kliknij + , aby utworzyć rozwiązanie.
  2. Kliknij pozycję Wybierz na kafelku Zdalne monitorowanie.
  3. W polu Nazwa rozwiązania wprowadź nazwę wstępnie skonfigurowanego rozwiązania do monitorowania zdalnego.
  4. W polach Region i Subskrypcja wybierz wartości, których chcesz użyć do aprowizacji rozwiązania.
  5. Kliknij pozycję Utwórz rozwiązanie, aby rozpocząć proces aprowizowania. Zwykle trwa on kilka minut.

Oczekiwanie na ukończenie procesu aprowizowania

  1. Kliknij kafelek swojego rozwiązania zawierający informację o stanie aprowizacji.
  2. Zwróć uwagę na informację o stanach aprowizacji podczas wdrażania usług Azure w Twojej subskrypcji platformy Azure.
  3. Po ukończeniu aprowizowania stan zmieni się na wartość Gotowe.
  4. Kliknij kafelek, aby wyświetlić szczegóły rozwiązania w prawym okienku.

Uwaga

Jeśli podczas wdrażania wstępnie skonfigurowanego rozwiązania pojawią się problemy, zapoznaj się z tematami Uprawnienia w witrynie azureiotsuite.com i Często zadawane pytania. Jeśli problemy będą się powtarzać, utwórz żądanie pomocy w portalu.

Czy istnieją jakieś szczegóły dotyczące Twojego rozwiązania, które nie są wyświetlane, a Twoim zdaniem powinny być widoczne? Prześlij nam swoje propozycje dotyczące funkcji, korzystając ze strony User Voice (Opinie użytkowników).

Ostrzeżenie

Rozwiązanie do monitorowania zdalnego aprowizuje zestaw usług platformy Azure w ramach subskrypcji platformy Azure. Wdrożenie odzwierciedla rzeczywistą architekturę przedsiębiorstwa. Aby uniknąć niepotrzebnych opłat za użycie platformy Azure, po zakończeniu usuń wystąpienie wstępnie skonfigurowanego rozwiązania na azureiotsuite.com. Jeśli ponownie potrzebujesz wstępnie skonfigurowanego rozwiązania, możesz go łatwo odtworzyć. Aby uzyskać więcej informacji na temat ograniczania zużycia podczas uruchamiania rozwiązania do monitorowania zdalnego, zobacz Konfigurowanie wstępnie skonfigurowanych rozwiązań pakietu Azure IoT Suite do celów demonstracyjnych.

Wyświetlanie pulpitu nawigacyjnego

Pulpit nawigacyjny pozwala zarządzać wdrożonym rozwiązaniem. Można na przykład wyświetlać dane telemetryczne, dodawać urządzenia i wywoływać metody.

  1. Jeśli aprowizacja została ukończona, a na kafelku wstępnie skonfigurowanego rozwiązania jest wyświetlany stan Gotowe, wybierz pozycję Uruchom, aby otworzyć portal rozwiązania do monitorowania zdalnego na nowej karcie.

    Uruchamianie wstępnie skonfigurowanego rozwiązania

  2. Domyślnie w portalu rozwiązania jest wyświetlany pulpit nawigacyjny. Korzystając z menu po lewej stronie, można przejść do innych obszarów portalu rozwiązania.

    Pulpit nawigacyjny wstępnie skonfigurowanego rozwiązania do monitorowania zdalnego

Dodawanie urządzenia

Aby urządzenie mogło nawiązać połączenie ze wstępnie skonfigurowanym rozwiązaniem, musi ono zidentyfikować się względem usługi IoT Hub za pomocą prawidłowych poświadczeń. Poświadczenia urządzenia możesz pobrać z pulpitu nawigacyjnego rozwiązania. W dalszej części tego samouczka podasz te poświadczenia urządzenia w Twojej aplikacji klienckiej.

Jeśli jeszcze tego nie zrobiono, dodaj niestandardowe urządzenie do rozwiązania do monitorowania zdalnego. Wykonaj następujące kroki na pulpicie nawigacyjnym rozwiązania:

  1. W lewym dolnym rogu pulpitu nawigacyjnego kliknij pozycję Dodaj urządzenie.

    Dodawanie urządzenia

  2. W panelu Urządzenie niestandardowe kliknij pozycję Dodaj nowe.

    Dodawanie urządzenia niestandardowego

  3. Wybierz pozycję Pozwól mi zdefiniować własny identyfikator urządzenia. Wprowadź identyfikator urządzenia, taki jak rasppi, kliknij przycisk Sprawdź identyfikator , aby sprawdzić, czy nie użyto jeszcze nazwy w rozwiązaniu, a następnie kliknij przycisk Utwórz , aby aprowizować urządzenie.

    Dodawanie identyfikatora urządzenia

  4. Zanotuj poświadczenia urządzenia (identyfikator urządzenia, IoT Hub nazwę hosta i klucz urządzenia). Aplikacja kliencka na urządzeniu Raspberry Pi wymaga tych wartości w celu nawiązania połączenia z rozwiązaniem do monitorowania zdalnego. Następnie kliknij przycisk Gotowe.

    Wyświetlanie poświadczeń urządzenia

  5. Wybierz urządzenie na liście urządzeń na pulpicie nawigacyjnym rozwiązania. Następnie w panelu Szczegóły urządzenia kliknij pozycję Włącz urządzenie. Stan Twojego urządzenia to teraz Uruchomione. Rozwiązanie do monitorowania zdalnego może teraz odbierać dane telemetryczne z Twojego urządzenia i wywoływać metody na tym urządzeniu.

Przygotowywanie urządzenia Raspberry Pi

Zainstaluj Raspbian

Jeśli używasz urządzenia Raspberry Pi po raz pierwszy, musisz zainstalować system operacyjny Raspbian przy użyciu noOBS na karcie SD dołączonej do zestawu. W przewodniku po oprogramowaniu Raspberry Pi opisano sposób instalowania systemu operacyjnego na urządzeniu Raspberry Pi. W tym samouczku założono, że na urządzeniu Raspberry Pi zainstalowano system operacyjny Raspbian.

Uwaga

Karta SD dołączona do zestawu startowego Usługi Microsoft Azure IoT dla urządzenia Raspberry Pi 3 ma już zainstalowany pakiet NOOBS. Możesz uruchomić urządzenie Raspberry Pi z tej karty i wybrać instalację systemu operacyjnego Raspbian.

Konfigurowanie sprzętu

W tym samouczku użyto czujnika BME280 dołączonego do zestawu startowego Microsoft Azure IoT dla urządzenia Raspberry Pi 3 do generowania danych telemetrycznych. Używa ona diody LED, aby wskazać, kiedy urządzenie Raspberry Pi przetwarza wywołanie metody z pulpitu nawigacyjnego rozwiązania.

Składniki tablicy do stron nadrzędnych to:

  • Czerwona dioda LED
  • 220-Ohm resistor (czerwony, czerwony, brązowy)
  • Czujnik BME280

Na poniższym diagramie przedstawiono sposób łączenia sprzętu:

Konfiguracja sprzętowa urządzenia Raspberry Pi

Poniższa tabela zawiera podsumowanie połączeń z urządzenia Raspberry Pi do składników na tablicy rozwijanej:

Raspberry Pi Makiet Kolor
GND (pin 14) LED -ve pin (18A) Purple
GPCLK0 (pin 7) Rezystor (25A) Orange
SPI_CE0 (pin 24) CS (39A) Blue (Niebieski)
SPI_SCLK (pin 23) SCK (36A) Yellow
SPI_MISO (pin 21) SDO (37A) Biały
SPI_MOSI (pin 19) SDI (38A) Green (Zielony)
GND (pinezka 6) GND (35A) Czarnoskórzy
3.3 V (pinezka 1) 3Vo (34A) Red (Czerwony)

Aby ukończyć konfigurację sprzętu, należy wykonać następujące czynności:

  • Podłącz urządzenie Raspberry Pi do zasilacza dołączonego do zestawu.
  • Podłącz urządzenie Raspberry Pi do sieci przy użyciu kabla Ethernet dołączonego do zestawu. Alternatywnie można skonfigurować łączność bezprzewodową dla urządzenia Raspberry Pi.

Konfiguracja sprzętu urządzenia Raspberry Pi została ukończona.

Zaloguj się i uzyskaj dostęp do terminalu

Dostępne są dwie opcje uzyskiwania dostępu do środowiska terminalu na urządzeniu Raspberry Pi:

  • Jeśli masz klawiaturę i monitor podłączony do urządzenia Raspberry Pi, możesz użyć graficznego interfejsu użytkownika Raspbian, aby uzyskać dostęp do okna terminalu.

  • Uzyskaj dostęp do wiersza polecenia na urządzeniu Raspberry Pi przy użyciu protokołu SSH z komputera stacjonarnego.

Używanie okna terminalu w graficznym interfejsie użytkownika

Domyślne poświadczenia raspbian to nazwa użytkownika pi i hasło raspberry. Na pasku zadań w graficznym interfejsie użytkownika możesz uruchomić narzędzie Terminal przy użyciu ikony, która wygląda jak monitor.

Logowanie przy użyciu protokołu SSH

Do uzyskiwania dostępu do urządzenia Raspberry Pi można użyć protokołu SSH. W artykule SSH (Secure Shell) opisano, jak skonfigurować protokół SSH na urządzeniu Raspberry Pi oraz jak nawiązać połączenie z systemu Windows lub Linux & Mac OS.

Zaloguj się przy użyciu nazwy użytkownika pi i hasła raspberry.

Opcjonalnie: Udostępnianie folderu na urządzeniu Raspberry Pi

Opcjonalnie możesz udostępnić folder na urządzeniu Raspberry Pi w środowisku pulpitu. Udostępnianie folderu umożliwia korzystanie z preferowanego edytora tekstu pulpitu (takiego jak Visual Studio Code lub Sublime Text) do edytowania plików na urządzeniu Raspberry Pi zamiast używania lub nanovi.

Aby udostępnić folder w systemie Windows, skonfiguruj serwer Samba na urządzeniu Raspberry Pi. Alternatywnie użyj wbudowanego serwera SFTP z klientem SFTP na pulpicie.

Włączanie usługi SPI

Przed uruchomieniem przykładowej aplikacji należy włączyć magistralę serial peripheral interface (SPI) na urządzeniu Raspberry Pi. Urządzenie Raspberry Pi komunikuje się z urządzeniem czujnika BME280 za pośrednictwem magistrali SPI. Użyj następującego polecenia, aby edytować plik konfiguracji:

sudo nano /boot/config.txt

Znajdź wiersz:

#dtparam=spi=on

  • Aby usunąć komentarz z wiersza, usuń element # na początku.

  • Zapisz zmiany (Ctrl-O, Enter) i zamknij edytor (Ctrl-X).

  • Aby włączyć spi, uruchom ponownie urządzenie Raspberry Pi. Ponowne uruchomienie rozłącza terminal. Po ponownym uruchomieniu urządzenia Raspberry Pi należy zalogować się ponownie:

    sudo reboot
    

Pobieranie i konfigurowanie przykładu

Teraz możesz pobrać i skonfigurować aplikację kliencą do monitorowania zdalnego na urządzeniu Raspberry Pi.

Klonowanie repozytoriów

Jeśli jeszcze tego nie zrobiono, sklonuj wymagane repozytoria, uruchamiając następujące polecenia w terminalu na urządzeniu Pi:

cd ~
git clone --recursive https://github.com/Azure-Samples/iot-remote-monitoring-c-raspberrypi-getstartedkit.git
git clone --recursive https://github.com/WiringPi/WiringPi.git

Aktualizowanie parametry połączenia urządzenia

Otwórz przykładowy plik źródłowy w edytorze nano przy użyciu następującego polecenia:

nano ~/iot-remote-monitoring-c-raspberrypi-getstartedkit/basic/remote_monitoring/remote_monitoring.c

Znajdź następujące wiersze:

static const char* deviceId = "[Device Id]";
static const char* connectionString = "HostName=[IoTHub Name].azure-devices.net;DeviceId=[Device Id];SharedAccessKey=[Device Key]";

Zastąp wartości symboli zastępczych urządzeniem i IoT Hub informacje utworzone i zapisane na początku tego samouczka. Zapisz zmiany (Ctrl-O, Enter) i zamknij edytor (Ctrl-X).

Tworzenie przykładu

Zainstaluj pakiety wymagań wstępnych dla zestawu SDK urządzenia Microsoft Azure IoT dla języka C, uruchamiając następujące polecenia w terminalu na urządzeniu Raspberry Pi:

sudo apt-get update
sudo apt-get install g++ make cmake git libcurl4-openssl-dev libssl-dev uuid-dev

Teraz możesz utworzyć zaktualizowane przykładowe rozwiązanie na urządzeniu Raspberry Pi:

chmod +x ~/iot-remote-monitoring-c-raspberrypi-getstartedkit/basic/build.sh
~/iot-remote-monitoring-c-raspberrypi-getstartedkit/basic/build.sh

Teraz możesz uruchomić przykładowy program na urządzeniu Raspberry Pi. Wprowadź polecenie:

sudo ~/cmake/remote_monitoring/remote_monitoring

Następujące przykładowe dane wyjściowe to przykładowe dane wyjściowe widoczne w wierszu polecenia na urządzeniu Raspberry Pi:

Dane wyjściowe z aplikacji Raspberry Pi

Naciśnij klawisze Ctrl-C , aby w dowolnym momencie zamknąć program.

Wyświetlanie danych telemetrycznych

Urządzenie Raspberry Pi wysyła teraz dane telemetryczne do rozwiązania do monitorowania zdalnego. Dane telemetryczne można wyświetlić na pulpicie nawigacyjnym rozwiązania. Możesz również wysyłać komunikaty do urządzenia Raspberry Pi z poziomu pulpitu nawigacyjnego rozwiązania.

  • Przejdź do pulpitu nawigacyjnego rozwiązania.
  • Wybierz urządzenie na liście rozwijanej Urządzenie do wyświetlenia .
  • Dane telemetryczne z urządzenia Raspberry Pi są wyświetlane na pulpicie nawigacyjnym.

Wyświetlanie danych telemetrycznych z urządzenia Raspberry Pi

Działanie na urządzeniu

Z poziomu pulpitu nawigacyjnego rozwiązania można wywoływać metody na urządzeniu Raspberry Pi. Gdy urządzenie Raspberry Pi łączy się z rozwiązaniem do monitorowania zdalnego, wysyła informacje o obsługiwanych metodach.

  • Na pulpicie nawigacyjnym rozwiązania kliknij pozycję Urządzenia , aby odwiedzić stronę Urządzenia . Wybierz urządzenie Raspberry Pi na liście urządzeń. Następnie wybierz pozycję Metody:

    Wyświetlanie listy urządzeń na pulpicie nawigacyjnym

  • Na stronie Wywołaj metodę wybierz pozycję LightBlink na liście rozwijanej Metoda .

  • Wybierz pozycję WywołajMethod. Dioda LED podłączona do urządzenia Raspberry Pi miga kilka razy. Aplikacja na urządzeniu Raspberry Pi wysyła potwierdzenie z powrotem do pulpitu nawigacyjnego rozwiązania:

    Pokaż historię metod

  • Diodę LED można włączać i wyłączać przy użyciu metody ChangeLightStatus z wartością LightStatusValue ustawioną na wartość 1 dla wartości włączonej lub 0 dla wyłączonej.

Ostrzeżenie

Jeśli opuścisz rozwiązanie do monitorowania zdalnego uruchomione na koncie platformy Azure, opłaty są naliczane za czas jego działania. Aby uzyskać więcej informacji na temat ograniczania zużycia podczas uruchamiania rozwiązania do monitorowania zdalnego, zobacz Konfigurowanie wstępnie skonfigurowanych rozwiązań pakietu Azure IoT Suite do celów demonstracyjnych. Po zakończeniu korzystania z niego usuń wstępnie skonfigurowane rozwiązanie z konta platformy Azure.

Następne kroki

Odwiedź Centrum deweloperów usługi Azure IoT , aby uzyskać więcej przykładów i dokumentacji dotyczącej usługi Azure IoT.