Raspberry Pi (Node.js) Azure IOT hub'a bağlanmaConnect Raspberry Pi to Azure IoT Hub (Node.js)

Bu öğreticide, Raspbian çalıştıran Raspberry Pi çalışmanın temel bilgileri öğrenerek başlayın.In this tutorial, you begin by learning the basics of working with Raspberry Pi that's running Raspbian. Daha sonra kullanarak cihazlarınızı buluta sorunsuz bir şekilde bağlanmak nasıl öğrenin Azure IOT hub'ı.You then learn how to seamlessly connect your devices to the cloud by using Azure IoT Hub. Windows 10 IoT Core örnekleri için Git Windows Dev Center.For Windows 10 IoT Core samples, go to the Windows Dev Center.

Bir paket henüz yok mu?Don't have a kit yet? Deneyin Raspberry Pi çevrimiçi simülatör.Try Raspberry Pi online simulator. Veya yeni bir paket satın burada.Or buy a new kit here.

NelerWhat you do

  • IOT hub oluşturun.Create an IoT hub.
  • Bir cihaz IOT hub'ına PI sayısı için kaydedin.Register a device for Pi in your IoT hub.
  • Raspberry Pi ' ayarlayın.Set up Raspberry Pi.
  • Pi sensör verilerini IOT hub'ınıza gönderilecek örnek uygulamayı çalıştırın.Run a sample application on Pi to send sensor data to your IoT hub.

ÖğreneceklerinizWhat you learn

  • Azure IOT hub oluşturma ve yeni cihaz bağlantı dizesini almak nasıl.How to create an Azure IoT hub and get your new device connection string.
  • Pi BME280 algılayıcısı ile bağlanma.How to connect Pi with a BME280 sensor.
  • Pi üzerinde bir örnek uygulamayı çalıştırarak algılayıcı verilerini toplamak nasıl.How to collect sensor data by running a sample application on Pi.
  • IOT hub'ınıza sensör verilerini gönderme işlemini.How to send sensor data to your IoT hub.

Ne gerekiyorWhat you need

Ne gerekiyor

  • Raspberry Pi 2 veya Raspberry Pi 3 Pano.A Raspberry Pi 2 or Raspberry Pi 3 board.
  • Azure aboneliği.An Azure subscription. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.If you don't have an Azure subscription, create a free account before you begin.
  • Bir izleyici, bir USB klavye ve fare Pi bağlanan.A monitor, a USB keyboard, and mouse that connects to Pi.
  • Bir Mac veya Windows veya Linux çalıştıran bir bilgisayar.A Mac or PC that is running Windows or Linux.
  • İnternet bağlantısı.An internet connection.
  • 16 GB veya üzeri microSD kartı.A 16 GB or above microSD card.
  • İşletim sistemi görüntüsünü microSD kartı üzerine yazmak için bir USB SD bağdaştırıcı veya microSD kartı.A USB-SD adapter or microSD card to burn the operating system image onto the microSD card.
  • 5-volt 2 amp power 6 ft mikro USB kablosu ile sağlayın.A 5-volt 2-amp power supply with the 6-foot micro USB cable.

Aşağıdaki öğeler isteğe bağlıdır:The following items are optional:

  • Bir birleştirilmiş Adafruit BME280 sıcaklık, baskısı ve nem algılayıcı.An assembled Adafruit BME280 temperature, pressure, and humidity sensor.
  • Bir breadboard.A breadboard.
  • 6 F/dk anahtar kablolarına.6 F/M jumper wires.
  • Yayılmış 10 mm LED.A diffused 10-mm LED.

Not

İsteğe bağlı öğeleri yoksa sanal sensör verilerini kullanabilirsiniz.If you don't have the optional items, you can use simulated sensor data.

IoT hub oluşturmaCreate an IoT hub

  1. Azure Portal oturum açın.Sign in to the Azure portal.

  2. Kaynak oluştur > Nesnelerin İnterneti > Iot Hub seçeneğini belirleyin.Select Create a resource > Internet of Things > IoT Hub.

    Azure portalın IoT Hub'ında gezinmesini gösteren ekran görüntüsü

  3. IoT hub bölmesine IoT hub’ınızla ilgili aşağıdaki bilgileri girin:In the IoT hub pane, enter the following information for your IoT hub:

    • Abonelik: Bu IoT hub'ını oluşturmak için kullanmak istediğiniz aboneliği seçin.Subscription: Choose the subscription that you want to use to create this IoT hub.

    • Kaynak grubu: IoT hub’ını barındıracak bir kaynak grubu oluşturun veya mevcut bir kaynak grubunu kullanın.Resource group: Create a resource group to host the IoT hub or use an existing one. Daha fazla bilgi için bkz. Azure kaynaklarınızı yönetmek için kaynak gruplarını kullanma.For more information, see Use resource groups to manage your Azure resources.

    • Bölge: Size en yakın konumu seçin.Region: Select the closest location to you.

    • Ad: IoT hub'ınız için bir ad oluşturun.Name: Create a name for your IoT hub. Girdiğiniz ad kullanılabilir durumdaysa yeşil bir onay işareti görünür.If the name you enter is available, a green check mark appears.

    Önemli

    IoT hub'ı, DNS uç noktası olarak herkes tarafından bulunabilir, bu nedenle adlandırırken herhangi bir önemli bilgi vermekten kaçının.The IoT hub will be publicly discoverable as a DNS endpoint, so make sure to avoid any sensitive information while naming it.

    IoT Hub temel bilgileri penceresi

  4. IoT hub’ınızı oluşturmaya devam etmek için Sıradaki: Boyut ve ölçek öğesini seçin.Select Next: Size and scale to continue creating your IoT hub.

  5. Fiyatlandırma ve ölçek katmanınızı seçin.Choose your Pricing and scale tier. Bu makale için, aboneliğinizde hala mevcutsa F1 - Ücretsiz katmanını seçin.For this article, select the F1 - Free tier if it's still available on your subscription. Daha fazla bilgi için bkz. Fiyatlandırma ve ölçek katmanı.For more information, see the Pricing and scale tier.

    IoT Hub boyut ve ölçek penceresi

  6. İncele ve oluştur’u seçin.Select Review + create.

  7. IoT hub bilgilerinizi gözden geçirin, ardından Oluştur’a tıklayın.Review your IoT hub information, then click Create. IoT hub’ınızın oluşturulması birkaç dakika sürebilir.Your IoT hub might take a few minutes to create. İlerleme durumunu Bildirimler bölmesinden izleyebilirsiniz.You can monitor the progress in the Notifications pane.

Bir IoT hub oluşturduktan sonra cihazları ve uygulamaları IoT hub’ınıza bağlamak için kullandığınız önemli bilgileri bulun.Now that you have created an IoT hub, locate the important information that you use to connect devices and applications to your IoT hub.

IOT hub'ı Gezinti menüsünde açın paylaşılan erişim ilkeleri.In your IoT hub navigation menu, open Shared access policies. Seçin iothubowner ilkeyi ve ardından kopyalama bağlantı dizesi---birincil anahtar IOT hub'ınızın.Select the iothubowner policy, and then copy the Connection string---primary key of your IoT hub. Daha fazla bilgi için bkz. IoT Hub'a erişimi denetleme.For more information, see Control access to IoT Hub.

Not

Bu kurulum öğreticisinde bu iothubowner bağlantı dizesi gerekmez.You do not need the iothubowner connection string for this set-up tutorial. Bu kurulum tamamlandıktan sonra ancak bazı öğreticiler veya farklı IOT senaryolarınız için ihtiyacınız.However, you may need it for some of the tutorials or different IoT scenarios after you complete this set-up.

IoT hub bağlantı dizenizi alma

Cihazınızı IOT hub'ı KaydetRegister your device in the IoT hub

  1. IOT hub'ı Gezinti menüsünde açın IOT cihazları, ardından Ekle IOT hub'ına cihaz kaydetmek için.In your IoT hub navigation menu, open IoT devices, then click Add to register a device in your IoT hub.

    IOT hub'ınızın IOT cihazları bir cihaz ekleyin

  2. Girin bir cihaz kimliği yeni cihaz için.Enter a Device ID for the new device. Cihaz Kimlikleri büyük/küçük harfe duyarlıdır.Device IDs are case sensitive.

    Önemli

    Cihaz kimliği; müşteri desteği ve sorun giderme için toplanan günlüklerde görünüyor olabilir, bu nedenle adlandırırken herhangi bir önemli bilgi vermekten kaçının.The device ID may be visible in the logs collected for customer support and troubleshooting, so make sure to avoid any sensitive information while naming it.

  3. Kaydet’e tıklayın.Click Save.

  4. Cihaz oluşturulduktan sonra cihaz listesindeki açık IOT cihazları bölmesi.After the device is created, open the device from the list in the IoT devices pane.

  5. Kopyalama bağlantı dizesi---birincil anahtar daha sonra kullanmak üzere.Copy the Connection string---primary key to use later.

    Cihaz bağlantı dizesini alma

Raspberry Pi ' ayarlayınSet up Raspberry Pi

PI sayısı için Raspbian işletim sistemini yüklemeInstall the Raspbian operating system for Pi

MicroSD kartı Raspbian görüntüyü yüklemesi için hazırlayın.Prepare the microSD card for installation of the Raspbian image.

  1. Raspbian indirin.Download Raspbian.

    a.a. Raspbian Esnetme indirme (.zip dosyasında).Download Raspbian Stretch (the .zip file).

    Uyarı

    Lütfen indirmek için yukarıdaki bağlantıya kullanın raspbian-2017-07-5 zip görüntü.Please use above link to download raspbian-2017-07-5 zip image. En son sürümünü Raspbian görüntüleri, sonraki adımlarda hatasına neden olabilecek kablo-Pi düğüm ile ilgili bazı bilinen sorunlar vardır.The latest version of Raspbian images has some known issues with Wiring-Pi Node, which might cause failure in your next steps.

    b.b. Raspbian görüntünün bilgisayarınızdaki bir klasöre ayıklayın.Extract the Raspbian image to a folder on your computer.

  2. Raspbian microSD kartı yükleyin.Install Raspbian to the microSD card.

    a.a. Etcher SD kart yazıcı yardımcı programını yükleyip.Download and install the Etcher SD card burner utility.

    b.b. Etcher çalıştırın ve 1. adımda ayıkladığınız Raspbian görüntüsünü seçin.Run Etcher and select the Raspbian image that you extracted in step 1.

    c.c. MicroSD kartı sürücüyü seçin.Select the microSD card drive. Etcher zaten doğru sürücü seçmiş olabilirsiniz.Etcher may have already selected the correct drive.

    d.d. MicroSD kartı Raspbian yüklemek için Flash'ı tıklatın.Click Flash to install Raspbian to the microSD card.

    e.e. Yükleme tamamlandığında microSD kartı bilgisayarınızdan kaldırın.Remove the microSD card from your computer when installation is complete. Etcher otomatik olarak çıkarır veya tamamlandıktan sonra microSD kartı çıkarır çünkü microSD kartı doğrudan kaldırmak güvenlidir.It's safe to remove the microSD card directly because Etcher automatically ejects or unmounts the microSD card upon completion.

    f.f. MicroSD kartı PI yerleştirin.Insert the microSD card into Pi.

SSH ve I2C etkinleştirEnable SSH and I2C

  1. Pi monitör, klavye ve fare bağlayın.Connect Pi to the monitor, keyboard, and mouse.

  2. Pi başlatın ve ardından içinde Raspbian kullanarak oturum pi kullanıcı adı ve raspberry parolası.Start Pi and then log in Raspbian by using pi as the user name and raspberry as the password.

  3. Raspberry simgesine tıklayın > tercihleri > Raspberry Pi yapılandırma.Click the Raspberry icon > Preferences > Raspberry Pi Configuration.

    Raspbian tercihleri menüsü

  4. Üzerinde arabirimleri sekmesinde, belirleyin I2C ve SSH için etkinleştirmeve ardından Tamam.On the Interfaces tab, set I2C and SSH to Enable, and then click OK. Yoksa ve fiziksel algılayıcınız varsa sanal sensör verilerini kullanmak istiyorsanız, bu adım isteğe bağlıdır.If you don't have physical sensors and want to use simulated sensor data, this step is optional.

    I2C ve Raspberry Pi üzerinde SSH'ı etkinleştir

Not

SSH ve I2C etkinleştirmek için daha fazla başvuru belgeleri üzerinde bulabilirsiniz raspberrypi.org ve Adafruit.com.To enable SSH and I2C, you can find more reference documents on raspberrypi.org and Adafruit.com.

Pi algılayıcı bağlanmaConnect the sensor to Pi

Bir LED'i ve bir BME280 Pi gibi bağlanmak için breadboard ve anahtar kablo kullanın.Use the breadboard and jumper wires to connect an LED and a BME280 to Pi as follows. Algılayıcı yoksa bu bölümü atlayın.If you don’t have the sensor, skip this section.

Raspberry Pi ve algılayıcı bağlantı

BME280 algılayıcı sıcaklık ve nem veri toplayabilir.The BME280 sensor can collect temperature and humidity data. Cihaz buluta ileti gönderdiğinde LED yanıp.The LED blinks when the device sends a message to the cloud.

Algılayıcı sabitlemek için aşağıdaki bağlantı kullanın:For sensor pins, use the following wiring:

Başlangıç (sensör ve LED)Start (Sensor & LED) Bitiş (Pano)End (Board) Kablo rengiCable Color
VDD (PIN 5G)VDD (Pin 5G) 3, 3v PWR (PIN 1)3.3V PWR (Pin 1) Beyaz kablosuWhite cable
GND (PIN 7G)GND (Pin 7G) GND (PIN 6)GND (Pin 6) Kahverengi kablosuBrown cable
SDI (PIN 10G)SDI (Pin 10G) I2C1 SDA (PIN 3)I2C1 SDA (Pin 3) Kırmızı kablosuRed cable
SCK (PIN 8G)SCK (Pin 8G) I2C1 SCL (PIN 5)I2C1 SCL (Pin 5) Turuncu kablosuOrange cable
LED VDD (PIN 18F)LED VDD (Pin 18F) Bir GPIO'yu 24 (PIN 18)GPIO 24 (Pin 18) Beyaz kablosuWhite cable
LED GND (PIN 17F)LED GND (Pin 17F) GND (PIN 20)GND (Pin 20) Siyah kabloBlack cable

Görüntülemek için tıklayın Raspberry Pi 2 ve 3 PIN eşlemeleri referans.Click to view Raspberry Pi 2 & 3 pin mappings for your reference.

Raspberry Pi'yi BME280 başarıyla bağlandıktan sonra aşağıdaki resim gibi olmalıdır.After you've successfully connected BME280 to your Raspberry Pi, it should be like below image.

Bağlı Pi ve BME280

Pi ağa bağlanmaConnect Pi to the network

Pi üzerinde mikro USB kablosu ve güç kaynağı kullanarak etkinleştirin.Turn on Pi by using the micro USB cable and the power supply. Pi, kablolu ağa bağlanacak veya takip için Ethernet kablosu kullanın yönergeleri Raspberry Pi Foundation'dan Pi, kablosuz ağa bağlanmak için.Use the Ethernet cable to connect Pi to your wired network or follow the instructions from the Raspberry Pi Foundation to connect Pi to your wireless network. Bir not gerek Pi'yi ağa başarıyla bağlandı sonra Pi'yi IP adresini.After your Pi has been successfully connected to the network, you need to take a note of the IP address of your Pi.

Kablolu ağa bağlı

Not

Pi bilgisayarınızı ile aynı ağa bağlı olduğundan emin olun.Make sure that Pi is connected to the same network as your computer. Örneğin, bilgisayarınız kablosuz ağa bağlıysa, PI kablolu bir ağa bağlıyken devdisco çıkış IP adresini göremeyebilirsiniz.For example, if your computer is connected to a wireless network while Pi is connected to a wired network, you might not see the IP address in the devdisco output.

Pi üzerinde bir örnek uygulamayı çalıştırmaRun a sample application on Pi

Örnek uygulamayı kopyalayın ve önkoşul paketleri yüklemeClone sample application and install the prerequisite packages

  1. Raspberry Pi'yi aşağıdaki SSH istemcisi biriyle, ana bilgisayardan bağlanın:Connect to your Raspberry Pi with one of the following SSH clients from your host computer:

    Windows kullanıcılarıWindows Users

    a.a. İndirme ve yükleme PuTTY Windows için.Download and install PuTTY for Windows.

    b.b. IP adresini, ana bilgisayar adı (veya IP adresi) PI bölümüne kopyalayın ve SSH bağlantı türü olarak seçin.Copy the IP address of your Pi into the Host name (or IP address) section and select SSH as the connection type.

    PuTTy

    Mac ve Ubuntu kullanıcılarıMac and Ubuntu Users

    Yerleşik bir SSH istemcisi, Ubuntu veya Macos'ta kullanın.Use the built-in SSH client on Ubuntu or macOS. Çalıştırmanız gerekebilir ssh pi@<ip address of pi> Pi SSH aracılığıyla bağlanmak için.You might need to run ssh pi@<ip address of pi> to connect Pi via SSH.

    Not

    Varsayılan kullanıcı adı pi ve parola raspberry.The default username is pi and the password is raspberry.

  2. Node.js ve NPM için Pi'yi yükleyin.Install Node.js and NPM to your Pi.

    İlk Node.js sürümünüzü kontrol edin.First check your Node.js version.

    node -v
    

    Sürüm 4.x'ten düşük ise veya Pi'yi üzerinde hiçbir Node.js ise, en son sürümünü yükleyin.If the version is lower than 4.x, or if there is no Node.js on your Pi, install the latest version.

    curl -sL http://deb.nodesource.com/setup_4.x | sudo -E bash
    sudo apt-get -y install nodejs
    
  3. Örnek uygulamayı kopyalayın.Clone the sample application.

    git clone https://github.com/Azure-Samples/iot-hub-node-raspberrypi-client-app
    
  4. Tüm paketleri örneği için yükleyin.Install all packages for the sample. Yükleme, Azure IOT cihaz SDK'sını ve BME280 algılayıcı kitaplığı PI bağlama kitaplığı içerir.The installation includes Azure IoT device SDK, BME280 Sensor library, and Wiring Pi library.

    cd iot-hub-node-raspberrypi-client-app
    sudo npm install
    

    Not

    İşlem, ağ bağlantısı bağlı olarak bu yükleme işleminin tamamlanması birkaç dakika sürebilir.It might take several minutes to finish this installation process depending on your network connection.

Örnek uygulamayı yapılandırmaConfigure the sample application

  1. Yapılandırma dosyası, aşağıdaki komutları çalıştırarak açın:Open the config file by running the following commands:

    nano config.json
    

    Yapılandırma dosyası

    Yapılandırabileceğiniz bu dosyada iki öğe yok.There are two items in this file you can configure. İlki interval, buluta gönderilen iletileri arasındaki zaman aralığını (milisaniye cinsinden) tanımlar.The first one is interval, which defines the time interval (in milliseconds) between messages sent to the cloud. İkincisi olan simulatedData, olduğu için veya sanal sensör verilerini kullanıp kullanmayacağınızı bir Boolean değeri.The second one is simulatedData, which is a Boolean value for whether to use simulated sensor data or not.

    Varsa, algılayıcı yokayarlayın simulatedData değerini true örnek uygulama oluşturun ve sanal sensör verilerini kullanın.If you don't have the sensor, set the simulatedData value to true to make the sample application create and use simulated sensor data.

  2. Kaydet ve Çık denetimi-O yazarak > Enter > X denetimi.Save and exit by typing Control-O > Enter > Control-X.

Örnek uygulamayı çalıştırınRun the sample application

Aşağıdaki komutu çalıştırarak örnek uygulamayı çalıştırın:Run the sample application by running the following command:

sudo node index.js '<YOUR AZURE IOT HUB DEVICE CONNECTION STRING>'

Not

Kopyalama cihaz bağlantı dizesini tek tırnak yapıştırma emin olun.Make sure you copy-paste the device connection string into the single quotes.

Algılayıcı verilerini ve IOT hub'ınıza gönderdiği iletileri gösterir aşağıdaki çıktıyı görmeniz gerekir.You should see the following output that shows the sensor data and the messages that are sent to your IoT hub.

Çıkış - IOT hub'ınıza Raspberry Pi'dan gönderilen algılayıcı verileri

Sonraki adımlarNext steps

Algılayıcı verilerini toplamak ve IOT hub'ına göndermek için örnek bir uygulama çalıştırdınız.You’ve run a sample application to collect sensor data and send it to your IoT hub. Raspberry Pi'yi Raspberry Pi'yi, IOT hub'ı veya gönderme iletilerini gönderilen iletileri görmek için bkz: kullanımı Azure IOT Toolkit uzantısını IOT Hub ve cihaz arasında ileti göndermek ve almak Visual Studio Code için.To see the messages that your Raspberry Pi has sent to your IoT hub or send messages to your Raspberry Pi, see the Use Azure IoT Toolkit extension for Visual Studio Code to send and receive messages between your device and IoT Hub.

Azure IoT Hub’ı kullanmaya başlamak ve diğer IoT senaryolarını keşfetmek için aşağıdakilere bakın:To continue to get started with Azure IoT Hub and to explore other IoT scenarios, see the following: