Raspberry Pi 3'ünüzü uzaktan izleme çözümüne bağlayın ve C kullanarak uzak üretici yazılımı güncelleştirmelerini etkinleştirin
Bu öğreticide Raspberry Pi 3 için Microsoft Azure IoT Starter Kit'in nasıl kullanılacağı gösterilmektedir:
- Bulutla iletişim kurabilen bir sıcaklık ve nem okuyucu geliştirin.
- Raspberry Pi'de istemci uygulamasını güncelleştirmek için bir uzak üretici yazılımı güncelleştirmesini etkinleştirin ve gerçekleştirin.
Öğretici şunları kullanır:
- Örnek bir cihaz uygulamak için Raspbian işletim sistemi, C programlama dili ve C için Microsoft Azure IoT SDK'sı.
- Bulut tabanlı arka uç olarak önceden yapılandırılmış IoT Paketi uzaktan izleme çözümü.
Genel Bakış
Bu öğreticide aşağıdaki adımları tamamlarsınız:
- Önceden yapılandırılmış uzaktan izleme çözümünün bir örneğini Azure aboneliğinize dağıtın. Bu adım, birden çok Azure hizmetini otomatik olarak dağıtır ve yapılandırr.
- Bilgisayarınızla ve uzaktan izleme çözümüyle iletişim kurmak için cihazınızı ve algılayıcılarınızı ayarlayın.
- Uzaktan izleme çözümüne bağlanmak için örnek cihaz kodunu güncelleştirin ve çözüm panosunda görüntüleyebileceğiniz telemetri verilerini gönderin.
- İstemci uygulamasını güncelleştirmek için örnek cihaz kodunu kullanın.
Önkoşullar
Bu öğreticiyi tamamlamak için etkin bir Azure aboneliğinizin olması gerekir.
Not
Hesabınız yoksa yalnızca birkaç dakika içinde ücretsiz bir deneme sürümü hesabı oluşturabilirsiniz. Ayrıntılı bilgi için bkz. Azure Ücretsiz Deneme Sürümü.
Gerekli yazılımlar
Raspberry Pi'de komut satırına uzaktan erişmenizi sağlamak için masaüstü makinenizde SSH istemcisine ihtiyacınız vardır.
- Windows bir SSH istemcisi içermez. PuTTY kullanmanızı öneririz.
- Çoğu Linux dağıtımı ve Mac OS komut satırı SSH yardımcı programını içerir. Daha fazla bilgi için bkz. Linux veya Mac OS Kullanarak SSH.
Gerekli donanım
Raspberry Pi'de komut satırına uzaktan bağlanmanızı sağlayan bir masaüstü bilgisayar.
Raspberry Pi 3 veya eşdeğer bileşenler için Microsoft IoT Başlangıç Seti . Bu öğreticide setten aşağıdaki öğeler kullanılır:
- Raspberry Pi 3
- MicroSD Kart (NOOBS ile)
- USB Mini kablosu
- Ethernet kablosu
- BME280 algılayıcısı
- Breadboard
- Jumper telleri
- Direnç
- Led
Çözüm sağlama
Önceden yapılandırılmış uzaktan izleme çözümünüzü hesabınızda henüz hazırlamadıysanız:
- Azure hesabı kimlik bilgilerinizi kullanarak azureiotsuite.com oturum açın ve bir çözüm oluşturmak için tıklayın + .
- Uzaktan izleme kutucuğunda Seç'e tıklayın.
- Önceden yapılandırılmış uzaktan izleme çözümünüz için bir Çözüm adı girin.
- Çözümü sağlamak için kullanmak istediğiniz Bölge ve Abonelik seçimini yapın.
- Hazırlama işlemini başlatmak için Çözümü Oluştur'a tıklayın. Bu işlemin çalışması genellikle birkaç dakika sürer.
Hazırlama işleminin tamamlanmasını bekleme
- Çözümünüzün Hazırlama durumuna sahip olan kutucuğuna tıklayın.
- Azure hizmetleri Azure aboneliğinize dağıtılırken Hazırlama durumlarına dikkat edin.
- Hazırlama tamamlandığında durum Hazır olarak değişir.
- Kutucuğa tıkladığınızda sağ bölmede çözümünüzün ayrıntılarını görürsünüz.
Not
Önceden yapılandırılmış çözümün dağıtımında sorunlarla karşılaşıyorsanız bkz. Azureiotsuite.com sitesindeki izinler ve SSS. Sorunlar devam ederse portalda bir hizmet bileti oluşturun.
Görmeyi beklediğiniz ancak çözümünüz için listelenmemiş ayrıntılar mı var? User Voice'da bize özellik önerileri verin.
Uyarı
Uzaktan izleme çözümü, Azure aboneliğinizde bir dizi Azure hizmeti sağlar. Dağıtım gerçek bir kurumsal mimariyi yansıtır. Gereksiz Azure tüketim ücretlerinden kaçınmak için, azureiotsuite.com bitirdiğinizde önceden yapılandırılmış çözüm örneğinizi silin. Önceden yapılandırılmış çözüme yeniden ihtiyacınız varsa, çözümü kolayca yeniden oluşturabilirsiniz. Uzaktan izleme çözümü çalışırken tüketimi azaltma hakkında daha fazla bilgi için bkz. Azure IoT Paketi önceden yapılandırılmış çözümleri tanıtım amacıyla yapılandırma.
Çözüm panosunu görüntüleme
Çözüm panosu, dağıtılan çözümü yönetmenizi sağlar. Örneğin, telemetri verilerini görüntüleyebilir, cihaz ekleyebilir ve yöntemleri çağırabilirsiniz.
Sağlama tamamlandığında ve önceden yapılandırılmış çözümünüzün kutucuğu Hazır’ı gösterdiğinde, uzaktan izleme çözümü portalınızı yeni bir sekmede açmak için Başlat’ı seçin.
Varsayılan olarak, çözüm portalı panoyu gösterir. Sayfanın sol tarafındaki menüyü kullanarak çözüm portalının diğer alanlarına gidebilirsiniz.
Cihaz ekleme
Bir cihazın önceden yapılandırılmış çözüme bağlanabilmesi için geçerli kimlik bilgileriyle kendini IoT Hub üzerinde tanıtması gerekir. Cihaz kimlik bilgilerini çözüm panosundan alabilirsiniz. Cihaz kimlik bilgilerini bu öğreticinin sonraki adımlarında istemci uygulamanıza ekleyebilirsiniz.
Henüz yapmadıysanız, uzaktan izleme çözümünüz için özel bir cihaz ekleyin. Çözüm panosunda aşağıdaki adımları tamamlayın:
Panonun sol alt köşesinde Cihaz ekle'ye tıklayın.
Özel Cihaz panelinde Yeni ekle'ye tıklayın.
Kendi Cihaz Kimliğimi tanımlamama izin ver'i seçin. Rasppi gibi bir Cihaz Kimliği girin, çözümünüzde adı daha önce kullanmadığınızdan emin olmak için Kimliği Denetle'ye tıklayın ve ardından cihazı sağlamak için Oluştur'a tıklayın.
Cihaz kimlik bilgilerini (Cihaz Kimliği, IoT Hub Ana Bilgisayar Adı ve Cihaz Anahtarı) not edin. Raspberry Pi üzerindeki istemci uygulamanızın uzaktan izleme çözümüne bağlanmak için bu değerlere ihtiyacı vardır. Sonra da Bitti’ye tıklayın.
Çözüm panosundaki cihaz listesinden cihazınızı seçin. Ardından Cihaz Ayrıntıları panelinde Cihazı Etkinleştir'e tıklayın. Cihazınızın durumu Çalışıyor olarak değişir. Uzaktan izleme çözümü artık cihazınızdan telemetri verileri alabilir ve cihazınızda yöntemler çağırabilir.
Raspberry Pi'nizi hazırlama
Raspbian'ı yükleme
Raspberry Pi'nizi ilk kez kullanıyorsanız, sete dahil edilen SD karta NOOBS kullanarak Raspbian işletim sistemini yüklemeniz gerekir. Raspberry Pi Yazılım Kılavuzu, Raspberry Pi'nize bir işletim sisteminin nasıl yükleneceğini açıklar. Bu öğreticide Raspberry Pi'nize Raspbian işletim sistemini yüklediğiniz varsayılır.
Not
Raspberry Pi 3 için Microsoft Azure IoT Başlangıç Seti'nde bulunan SD kartta NOOBS zaten yüklüdür. Raspberry Pi'yi bu karttan önyükleyebilir ve Raspbian işletim sistemini yüklemeyi seçebilirsiniz.
Donanımı ayarlama
Bu öğreticide, telemetri verileri oluşturmak için Raspberry Pi 3 için Microsoft Azure IoT Başlangıç Seti'nde bulunan BME280 algılayıcısı kullanılmaktadır. Raspberry Pi'nin çözüm panosundan bir yöntem çağrısını ne zaman işlediğini belirtmek için bir LED kullanır.
Ekmek tahtasındaki bileşenler şunlardır:
- Kırmızı LED
- 220-Ohm direnç (kırmızı, kırmızı, kahverengi)
- BME280 algılayıcısı
Aşağıdaki diyagramda donanımınızı nasıl bağlayacağınız gösterilmektedir:
Aşağıdaki tabloda Raspberry Pi ile içerik panosundaki bileşenler arasındaki bağlantılar özetlenmiştir:
Raspberry Pi | Breadboard | Renk |
---|---|---|
GND (Pin 14) | LED ve pin (18A) | Purple |
GPCLK0 (Pin 7) | Direnç (25A) | Orange |
SPI_CE0 (Pin 24) | CS (39A) | Mavi |
SPI_SCLK (Pin 23) | SCK (36A) | Yellow |
SPI_MISO (Pin 21) | SDO (37A) | Beyaz |
SPI_MOSI (Pin 19) | SDI (38A) | Yeşil |
GND (Pin 6) | GND (35A) | Siyahi |
3,3 V (Pin 1) | 3Vo (34A) | Kırmızı |
Donanım kurulumunu tamamlamak için şunları yapmanız gerekir:
- Raspberry Pi'nizi kitteki güç kaynağına bağlayın.
- Kitinizde bulunan Ethernet kablosunu kullanarak Raspberry Pi'nizi ağınıza bağlayın. Alternatif olarak Raspberry Pi'niz için Kablosuz Bağlantı'yı da ayarlayabilirsiniz.
Raspberry Pi'nizin donanım kurulumunu tamamladınız.
Oturum açma ve terminale erişme
Raspberry Pi'nizdeki bir terminal ortamına erişmek için iki seçeneğiniz vardır:
Raspberry Pi'nize bağlı bir klavyeniz ve monitörünüz varsa, terminal penceresine erişmek için Raspbian GUI'sini kullanabilirsiniz.
Masaüstü makinenizden SSH kullanarak Raspberry Pi'nizdeki komut satırına erişin.
GUI'de terminal penceresi kullanma
Raspbian için varsayılan kimlik bilgileri pi kullanıcı adı ve parola ahududu'dur. GUI'deki görev çubuğunda, monitöre benzeyen simgeyi kullanarak Terminal yardımcı programını başlatabilirsiniz.
SSH ile oturum açma
Raspberry Pi'nize komut satırı erişimi için SSH kullanabilirsiniz. SSH (Secure Shell) makalesinde Raspberry Pi'nizde SSH'nin nasıl yapılandırıldığı ve Windows veya Linux & Mac OS'den nasıl bağlanıldığı açıklanır.
Pi kullanıcı adı ve parola ahududu ile oturum açın.
İsteğe bağlı: Raspberry Pi'nizde klasör paylaşma
İsteğe bağlı olarak Raspberry Pi'nizdeki bir klasörü masaüstü ortamınızla paylaşmak isteyebilirsiniz. Klasör paylaşmak, veya vi
yerine Raspberry Pi'nizdeki dosyaları düzenlemek için tercih ettiğiniz masaüstü metin düzenleyicisini (Visual Studio Code veya Sublime Text gibi) kullanmanıza nano
olanak tanır.
Windows ile klasör paylaşmak için Raspberry Pi'de bir Samba sunucusu yapılandırın. Alternatif olarak, masaüstünüzde bir SFTP istemcisiyle yerleşik SFTP sunucusunu kullanın.
SPI'yi etkinleştirme
Örnek uygulamayı çalıştırabilmeniz için önce Raspberry Pi üzerinde Seri Çevre Birimi Arabirimi (SPI) veri yolunu etkinleştirmeniz gerekir. Raspberry Pi, SPI veri yolu üzerinden BME280 algılayıcı cihazıyla iletişim kurar. Yapılandırma dosyasını düzenlemek için aşağıdaki komutu kullanın:
sudo nano /boot/config.txt
Satırı bulun:
#dtparam=spi=on
Satırın açıklamasını açmak için başlangıçtaki
#
öğesini silin.Değişikliklerinizi kaydedin (Ctrl-O, Enter) ve düzenleyiciden çıkın (Ctrl-X).
SPI'yi etkinleştirmek için Raspberry Pi'yi yeniden başlatın. Yeniden başlatma terminalin bağlantısını keser, Raspberry Pi yeniden başlatıldığında yeniden oturum açmanız gerekir:
sudo reboot
Örneği indirme ve yapılandırma
Artık Raspberry Pi'nize uzaktan izleme istemci uygulamasını indirip yapılandırabilirsiniz.
Depoları kopyalama
Henüz yapmadıysanız Pi'nizde aşağıdaki komutları çalıştırarak gerekli depoları klonlayabilirsiniz:
cd ~
git clone --recursive https://github.com/Azure-Samples/iot-remote-monitoring-c-raspberrypi-getstartedkit.git
Cihaz bağlantı dizesi güncelleştirme
Aşağıdaki komutu kullanarak örnek yapılandırma dosyasını nano düzenleyicide açın:
nano ~/iot-remote-monitoring-c-raspberrypi-getstartedkit/advanced/config/deviceinfo
Yer tutucu değerlerini, bu öğreticinin başında oluşturduğunuz ve kaydettiğiniz cihaz kimliği ve IoT Hub bilgileriyle değiştirin.
İşiniz bittiğinde, deviceinfo dosyasının içeriği aşağıdaki örnekteki gibi görünmelidir:
yourdeviceid
HostName=youriothubname.azure-devices.net;DeviceId=yourdeviceid;SharedAccessKey=yourdevicekey
Değişikliklerinizi kaydedin (Ctrl-O, Enter) ve düzenleyiciden çıkın (Ctrl-X).
Örneği oluşturma
Henüz yapmadıysanız Raspberry Pi'deki bir terminalde aşağıdaki komutları çalıştırarak C için Microsoft Azure IoT Cihaz SDK'sı önkoşul paketlerini yükleyin:
sudo apt-get update
sudo apt-get install g++ make cmake git libcurl4-openssl-dev libssl-dev uuid-dev
Artık Raspberry Pi'de örnek çözümü derleyebilirsiniz:
chmod +x ~/iot-remote-monitoring-c-raspberrypi-getstartedkit/advanced/1.0/build.sh
~/iot-remote-monitoring-c-raspberrypi-getstartedkit/advanced/1.0/build.sh
Artık örnek programı Raspberry Pi'de çalıştırabilirsiniz. Komutu girin:
sudo ~/cmake/remote_monitoring/remote_monitoring
Aşağıdaki örnek çıktı, Raspberry Pi'deki komut isteminde gördüğünüz çıkışın bir örneğidir:
Programdan istediğiniz zaman çıkmak için Ctrl-C tuşlarına basın.
Telemetri verilerini görüntüleme
Raspberry Pi artık uzaktan izleme çözümüne telemetri gönderiyor. Telemetriyi çözüm panosunda görüntüleyebilirsiniz. Çözüm panosundan Raspberry Pi'nize de ileti gönderebilirsiniz.
- Çözüm panosuna gidin.
- Görüntülemek için Cihaz açılan listesinden cihazınızı seçin.
- Raspberry Pi telemetrisi panoda görüntülenir.
Üretici yazılımı güncelleştirmesini başlatma
Üretici yazılımı güncelleştirme işlemi Raspberry Pi'ye cihaz istemci uygulamasının güncelleştirilmiş bir sürümünü indirir ve yükler. Üretici yazılımı güncelleştirme işlemi hakkında daha fazla bilgi için IoT Hub ile cihaz yönetimine genel bakış bölümündeki üretici yazılımı güncelleştirme düzeninin açıklamasına bakın.
Cihazdaki bir yöntemi çağırarak üretici yazılımı güncelleştirme işlemini başlatırsınız. Bu yöntem zaman uyumsuzdur ve güncelleştirme işlemi başlar başlamaz döndürür. Cihaz, güncelleştirmenin ilerleme durumunu çözüme bildirmek için bildirilen özellikleri kullanır.
Çözüm panosundan Raspberry Pi'nizde yöntemleri çağırırsınız. Raspberry Pi uzaktan izleme çözümüne ilk kez bağlandığında, desteklediği yöntemler hakkında bilgi gönderir.
Çözüm panosunda Cihazlar'a tıklayarak Cihazlar sayfasını ziyaret edin. Cihaz Listesinde Raspberry Pi'nizi seçin. Ardından Yöntemler'i seçin:
Çağırma Yöntemi sayfasında, Yöntem açılan listesinde InitiateFirmwareUpdate'i seçin.
FWPackageURI alanına girinhttps://github.com/Azure-Samples/iot-remote-monitoring-c-raspberrypi-getstartedkit/raw/master/advanced/2.0/package/remote_monitoring.zip. Bu arşiv dosyası, üretici yazılımının 2.0 sürümünün uygulamasını içerir.
InvokeMethod'u seçin. Raspberry Pi'de bulunan uygulama, çözüm panosuna bir bildirim gönderir. Ardından üretici yazılımının yeni sürümünü indirerek üretici yazılımı güncelleştirme işlemini başlatır:
Üretici yazılımı güncelleştirme işlemini gözlemleme
Üretici yazılımı güncelleştirme işlemini cihazda çalışırken ve çözüm panosunda bildirilen özellikleri görüntüleyerek gözlemleyebilirsiniz:
Raspberry Pi'de güncelleştirme işleminin ilerleme durumunu görüntüleyebilirsiniz:
Not
Güncelleştirme tamamlandığında uzaktan izleme uygulaması sessizce yeniden başlatılır. Komutunu
ps -ef
kullanarak çalıştığını doğrulayın. İşlemi sonlandırmak istiyorsanız, işlem kimliğiyle komutunu kullanınkill
.Cihaz tarafından bildirilen üretici yazılımı güncelleştirmesinin durumunu çözüm portalında görüntüleyebilirsiniz. Aşağıdaki ekran görüntüsünde güncelleştirme işleminin her aşamasının durumu ve süresi ile yeni üretici yazılımı sürümü gösterilmektedir:
Panoya geri giderseniz üretici yazılımı güncelleştirmesinin ardından cihazın telemetri göndermeye devam ediyor olduğunu doğrulayabilirsiniz.
Uyarı
Uzaktan izleme çözümünü Azure hesabınızda çalışır durumda bırakırsanız, çalıştığı süre için faturalandırılırsınız. Uzaktan izleme çözümü çalışırken tüketimi azaltma hakkında daha fazla bilgi için bkz. Azure IoT Paketi önceden yapılandırılmış çözümleri tanıtım amacıyla yapılandırma. Kullanmayı bitirdiğinizde önceden yapılandırılmış çözümü Azure hesabınızdan silin.
Sonraki adımlar
Azure IoT hakkında daha fazla örnek ve belge için Azure IoT Geliştirme Merkezi'ni ziyaret edin.