工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Raspberry Pi、Arduino、RFIDで部品を効率的に整理・検索するシステム

必要な部品と材料

Raspberry Pi 2 Model B ×1
Arduino UNO ×1
JT2850 RFIDモジュール(UHF帯) ×1
JT606 RFIDアンテナ ×1

必要な工具と機械

使用アプリとオンラインサービス

プロジェクト概要

背景

探し物に時間をかけても見つからない経験はありませんか?RFID技術を活用し、RFIDリーダーと複数のRFIDタグでアイテムを管理。新しいアイテム購入時にタグを貼りシステム登録すれば、スマホアプリで検索するだけで「どの部屋にあるか」が即座にわかります。

システム全体像

構成要素:

Raspberry Pi、Arduino、RFIDで部品を効率的に整理・検索するシステム

動作フロー

  1. ユーザーがモバイルアプリでアイテム検索
  2. 検索リクエストがWi-Fi経由でRaspberry Pi 2へ
  3. Raspberry Pi 2から全Arduino UNOへ読み取りコマンド送信
  4. 各ArduinoがRFIDモジュールに読み取り指示
  5. 目的のRFIDタグを検出したリーダーが位置情報を返却
  6. Raspberry Pi 2が結果を集約し、アプリに返却

開発環境の構築

Raspberry Pi 2のIPアドレス確認

PCとRaspberry Pi 2をLANケーブルで接続し、「Windows IoT Core Watcher」でIPアドレスを確認。

Raspberry Pi、Arduino、RFIDで部品を効率的に整理・検索するシステム
Raspberry Pi、Arduino、RFIDで部品を効率的に整理・検索するシステム

Visual Studio 2015でバックグラウンドアプリ作成

  1. File → New → Project
  2. Visual C# → 「Background Application (IoT)」選択
  3. プロジェクトプロパティ → Debugタブで設定:
    • Platform: ARM
    • Target Device: Remote Machine
    • Remote Machine:
    • 「Use authentication」のチェックを外す
  4. StartupTask.csにコード記述

デバッグ方法

ブレークポイント設定 → 「Remote Machine」ボタンでデバッグ開始。変数のウォッチ、ステップ実行などが可能。

Raspberry Pi、Arduino、RFIDで部品を効率的に整理・検索するシステム

Azure Web APIの構築

ASP.NET Web Applicationプロジェクト作成

  1. ASP.NET Web Applicationプロジェクト作成、MVCテンプレート選択
  2. 認証: 「No authentication」
  3. 「Host in the cloud」チェックでAzure Web Appに直接デプロイ可能

Entity Frameworkでデータベース構築

  1. NuGet Package Manager Consoleで Install-Package EntityFramework
  2. Modelクラス作成(DataAnnotations、DataAnnotations.Schema使用)
  3. Controllersフォルダ右クリック → Add → New Scaffolded Item →「Web API 2 Controller with actions, using Entity Framework」
  4. Data Contextクラス新規作成
  5. Package Manager Consoleでマイグレーション実行:
    Enable-Migrations
    Add-Migration <Name>
    Update-Database
    

Web API発行

Build → Publish → Microsoft Azure Web Apps選択 → 設定確認 → Publish。発行後、Chrome拡張「Advanced REST Client」等でREST APIテスト可能。

Windowsユニバーサルアプリ(クライアント)作成

Universal Appでタブレット/モバイル/PC共通コード。GitHubのMyThingAppを置き換えて使用。

通知ハブとUWPプッシュ通知の設定

  1. Windows Dev Centerでアプリ名予約
  2. プロジェクト右クリック → Store → Associate App with the Store
  3. Notification Hubsチュートリアルに従いハブ作成
  4. App.xaml.csに通知登録コード追加、MainPage.csでNavigationCacheMode.Required設定
  5. Web APIのMyThingControllerでレコード作成時にトースト通知送信スレッド起動
Raspberry Pi、Arduino、RFIDで部品を効率的に整理・検索するシステム

コード

Arduino RFIDリーダー用コード

/* RFIDモジュールに読み取りコマンド送信、タグ読み取り時にシリアルポートへ返却 */
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
  Serial.begin(9600);
  while (!Serial) { ; }
  mySerial.begin(9600);
}

void loop() {
  if (mySerial.available()) {
    byte message[] = {0xA0,0x06,0x80,0x00,0x01,0x02,0x01,0xD6};
    mySerial.write(message, sizeof(message));
    if(Serial.available()) Serial.write(mySerial.read());
  }
}

GitHubリポジトリ: https://github.com/seeyouu87/where-is-my-thing

カスタムパーツ

回路図

Fritzing回路図: Arduino-UHF RFIDモジュール接続図

Raspberry Pi、Arduino、RFIDで部品を効率的に整理・検索するシステム

製造プロセス

  1. QR・RFID・体温検知統合アクセス制御システム(Raspberry Piベース)
  2. 適切な開発拠点の選び方:メイカースペース、アクセラレーター、生産パートナー
  3. 鋸挽き概念の起源:古代ツールから現代機械へ
  4. FDM 3Dプリンティングの現在:マイルストーンと将来展望
  5. インダストリー4.0の現在:2017年展望と現状
  6. 圧縮空気が支える日常プロセス:身近な用途を紹介
  7. Microsoft Azureチートシート2020 – Azureサービスとアーキテクチャの決定版ガイド
  8. エッジの定義:エッジコンピューティングが真に起こる場所
  9. パッシブRFIDの代替:正確な資産追跡のための4つの先進技術
  10. アクティブRFID:包括的概要と実用ユースケース
  11. 金属の起源:星から産業へ