マーケティング担当者のメモ:RPIにUbuntuをインストールし、Azure IoT Hubに接続する方法

マーケティング担当者は、テクノロジーの使用方法を尋ねられたときに何をしますが、指示が見つかりませんか? 通常、周囲のすべての技術者を引き寄せたり、インターネットを検索したり、奇跡を静かに待ったり、泣いたりします。 しかし、この話は別のマーケティング担当者に関するものです。 彼は単に指示を自分で取って書いた。 catでの作業を評価し、私の意見を共有してください。







私は床をアンドレイに渡します。



免責事項

同僚、私は本当のふりをしていない-私は自分の経験を共有しています。 おそらく彼は誰かに少しの労力と時間を節約するでしょう。 そして、はい、執筆の時点で、Linuxコマンドラインは私の人生で初めて見ました。


以下では、Raspberry Pi 2 Model Bについて説明することに同意しましょう。すべてのスクリーンショットが撮影されたのは、彼との作業中です。







Ubuntu Mateディストリビューションは、たとえばここからダウンロードできます



imgファイルがある-ブート可能なSDCardを作成する-このために、Windows 10にインストールしたWin32 Disk Imagerを使用しました。







結果のブートカードをRaspberry Piに挿入し、キーボード、マウス、ディスプレイを接続します。 ダウンロードに成功すると、以下のウィンドウが表示されます。








インストールの直後に、いくつかのコマンドを実行します。



sudo update-rc.d ssh enable









sudo service ssh restart









sudo ifconfig



デバイスのネットワーク設定を表示します





重要な更新およびアップグレードコマンド-システムを更新します。



sudo apt-get update









sudo apt-get upgrade









次に、キーボードにロシア語を追加します。





これは、スイッチキーの組み合わせを変更する方法です(このアイテムを見つけるまで数分かかりました)。







フォーラムの1つで、 sudo raspi-config



コマンドを使用して、I2Cを有効にする必要があることを読みました。



ちなみに、SSH設定は変更できます。










手元にセンサーはありませんが、少なくとも何かをしようとしています... この記事を読んでいます



Azureサブスクリプションが必要であるという事実から始めましょう! 試用版はこちらから入手できます



次のステップ。



ステップ1





ステップ2





ステップ3





ステップ4





それでは、デバイスに戻りましょう! node -v



コマンドは、RPIでエラーを返します。







Node.jsをインストールします。 これを行うには、コマンドsudo apt install nodejs-legacy











これで、 node -v



コマンドは現在のバージョンを返します。







念のため。







ここで、NPMが必要ですsudo apt-get install npm



コマンドでsudo apt-get install npm



。 チームは高速ではありませんが、うまくいきました!







次に、 sudo npm install -g npm@2.x



ます。







次に、最新バージョンのIoT Hubトランスポートパッケージをインストールする必要があります: sudo npm install -g azure-iot-device@latest











そして別のコマンド: sudo npm install -g azure-iot-device-http@latest











IoT Explorerをインストールする必要があります: sudo npm install -g iothub-explorer@latest











次のステップは、このコマンドiothub-explorer login " "



を実行することです。







次に、デバイスを接続します: iothub-explorer create muzeyrpi-1 --connection-string



成功しました!







デバイスはAzureポータルに表示されます。







ページからJSスクリプトをデバイスにコピーします

 var connectionString = '<your device connection string>'; var clientFromConnectionString = require('/usr/lib/node_modules/azure-iot-device-http').clientFromConnectionString; var client = clientFromConnectionString(connectionString); var Message = require('/usr/lib/node_modules/azure-iot-device').Message; var msg = new Message('some data from my device'); var connectCallback = function (err) { if (err) { console.error('Could not connect: ' + err); } else { console.log('Client connected'); var message = new Message('some data from my device'); client.sendEvent(message, function (err) { if (err) console.log(err.toString()); }); client.on('message', function (msg) { console.log(msg); client.complete(msg, function () { console.log('completed'); }); }); } }; client.open(connectCallback);
      
      





スクリプト自体は開始されません-次のことを行う必要があります。

  1. ファイル内のパスで、 /usr/lib



    /usr/local/lib



    ます。
  2. 接続文字列を追加します。 さらに、接続文字列はデバイスに対するものです。






スクリプトは、スクリプトが置かれているフォルダーからnode MyScript.js



して起動されます。







もう一度試してみます-今回はデバイスエクスプローラーで(詳細については記事のダウンロードリンクを参照してください







Enterキーを押します... :)







おめでとうございます-RPIからの最初の投稿がAzure IoT Hubに届きました



このマニュアルを改良し、さらに便利なものにしたいと心から願っています! たとえば、 このパスをたどります (BME280センサーの有無にかかわらず)。



読んだ人のために



この演習を自分で試してみるために、Andreyと私はRaspberry Pi 3を2枚演奏することにしました。MicrosoftDeveloperコミュニティのメッセージで次の質問に正しく答える最初の2人が受け取ります。ラズベリーパイ?



All Articles