Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Komponen dan Perlengkapan

KomponenJumlah
Raspberry Pi 2 Model B1
Arduino UNO1
JT2850 RFID module1
JT606 RFID antenna1

Alat dan Mesin yang Diperlukan

Alat
Microsoft PC running Windows10 with Visual studio 2015 installed
Android Phone

Aplikasi dan Layanan Online

Aplikasi
Microsoft Windows 10 IoT Core
Microsoft Azure
Microsoft Visual Studio 2015

Tentang Proyek

Latar Belakang

Apakah Anda pernah mendapatkan situasi dimana setiap kali Anda mencari sesuatu tetapi Anda menghabiskan waktu sangat lama untuk mencarinya dan masih tidak dapat menemukannya? Dengan memanfaatkan teknologi RFID, menggunakan pembaca RFID dan beberapa tag RFID yang ditempelkan pada item, kita dapat dengan mudah menemukan item yang disimpan. Kapan pun kita membeli item baru cukup tempelkan tag RFID padanya dan daftarkan detail item ke dalam sistem. Ketika kita perlu mencari item tetapi tidak ingat di mana itu, cukup cari di aplikasi seluler dan Anda akan tahu item tersebut saat ini ada di ruang mana di rumah Anda.

Ide Keseluruhan

Komponen proyek ini akan terdiri dari modul pembaca RFID UHF, antena RFID UHF, Arduino UNO, Raspberry Pi2 yang menjalankan Windows10 IoT core (Anda dapat merujuk ke sini https://ms-iot.github.io/content/en-US/GetStarted.htm jika Anda tidak yakin cara menginstal Windows10 IoT core), aplikasi seluler dan layanan web Azure untuk penyimpanan data. Ada beberapa modul RFID UHF di rumah, dan setiap modul RFID UHF akan terhubung ke Arduino UNO dengan Arduino kemudian terhubung ke Raspberry Pi2. Kapan pun item yang ingin dilacak oleh sistem, sebuah tag RFID akan ditempelkan. Detail item dan nilai RFID diperlukan untuk didaftarkan ke dalam sistem. Data setiap catatan akan disimpan ke dalam database SQL Azure melalui Azure Web API. Ketika pengguna ingin mencari item di rumah, tetapi dia tidak yakin item tersebut akan berada di ruang mana di rumahnya. Dia dapat menyalakan aplikasi seluler mereka. Aplikasi seluler akan mengirim permintaan pencarian ke Raspberry Pi2 melalui jaringan Wifi. Setelah Raspberry Pi2 menerima permintaan pencarian, itu akan mengirim permintaan ke semua Arduino Uno yang terhubung ke itu. Arduino UNO akan mengirim perintah baca ke modul UHF RFID. Setelah salah satu pembaca UHF RFID di lokasi berbeda berhasil menangkap RFID yang diperlukan, itu akan mengembalikan nilai kembali ke Arduino UNO. Arduino UNO akan mengembalikan lokasi pembaca RFID kembali ke Raspberry Pi2 dan RaspberryPi2 akan memproses hasil pencarian lebih lanjut dan mengembalikan ke aplikasi seluler.

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Cara Melakukannya?

Saya akan mengembangkan aplikasi latar belakang yang berjalan pada Windows 10 IoT core, kita mungkin perlu mengetahui alamat IP dari Raspberry Pi 2. Tidak perlu untuk memiliki layar. Berkat Windows IoT Core Watcher yang hebat. Yang perlu Anda lakukan adalah menghubungkan Raspberry Pi2 model B Anda seperti yang ditunjukkan di bawah ini:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Dengan menghubungkan PC dan Raspberry PI2 melalui kabel jaringan, Windows IoT Core Watcher yang hebat akan dapat memberitahu alamat IP dari Raspberry Pi2 Anda:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Buat proyek di Visual Studio 2015

Lalu Anda dapat mulai mengembangkan menggunakan Visual studio 2015, cukup unduh kode yang saya bagikan di sini, dan jalankan menggunakan Visual studio 2015.

Unduh kode dari github dan Anda akan dapat menjalankan proyek langsung. Jika Anda mencoba untuk membuat proyek baru, Anda dapat mencoba cara ini:

1. Pergi ke File -> New->Project

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

2. Di bawah template Visual C#, cari "Background Application (IoT)". Masukkan nama proyek Anda dan proyek Anda dibuat.

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

3. Setelah proyek dibuat, selanjutnya adalah mengonfigurasi pengaturan debug. Klik kanan pada proyek dan pilih "Properties"

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

4. Di bawah jendela properti proyek, klik pada tab debug dan buat pengaturan berikut:

  1. Platform : ARM
  2. Target Device: Remote Machine
  3. Remote machine: <alamat IP Anda yang ditampilkan di Iot Core Watcher>
  4. Uncheck "Use authentication"

Simpan konfigurasi dan Anda sekarang dapat mulai memrogram ke dalam file StartupTask.cs di bawah proyek yang baru dibuat Anda.

Debugging di Visual Studio 2015

Setelah Anda menyelesaikan pemrograman dan ingin memulai debugging, Anda dapat mengikuti langkah-langkah dan tangkapan layar berikut:

1. Klik pada sisi kiri bar abu-abu untuk menetapkan breakpoint pada baris kode yang ingin Anda investigasi:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

2. Selanjutnya klik tombol hijau "Remote machine" untuk memulai debug:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

3. Setelah memasuki mode debug, tombol hijau "Remote Machine" akan berubah menjadi "Continue" pada saat yang bersamaan tombol langkah akan diaktifkan:

Saat menjalankan debug, Anda dapat dengan mengarahkan kursor mouse untuk memeriksa nilai variabel tertentu atau menyorot dan klik kanan pada variabel dan pilih "Add Watch" untuk menambahkan variabel ke daftar pantau:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien
Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Buat Web API di Azure untuk melayani transaksi IoT dan aplikasi seluler

Buat Proyek Aplikasi Web Asp.NET

1. Buat sebuah ASP.NET Web Application, masukkan nama proyek dan klik tombol OK di bagian bawah

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

2. Di layar berikutnya klik Choose MVC di bawah template ASP.NET 4.5.2 (jika Anda berani, bebas mencoba Template ASP.NET 5 preview dengan framework MVC6. Langkahnya akan sama)

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

3. Selanjutnya tetapkan metode autentikasi ke "No authentication"

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

4. Juga perhatikan bahwa jika Anda ingin menghost Web API ini di server cloud, Anda dapat mencentang opsi "Host in the cloud" seperti yang ditunjukkan di bawah ini:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Jika Anda tidak memiliki akun microsoft azure, Anda dapat mendaftar untuk uji coba gratis dan menikmati kredit gratis $200. Cukup klik di sini: https://azure.microsoft.com/en-us/pricing/free-trial/

5. Jika Anda memilih untuk menghost web API Anda di Azure Web App, setelah "OK" diklik, layar berikutnya akan meminta Anda untuk login ke Microsoft Azure.

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

6. Setelah berhasil login, cukup masukkan nama web app Anda dan detail berikutnya seperti yang ditunjukkan dalam formulir:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

setelah semua informasi diisi, klik OK dan Anda menunggu sebentar untuk VS2015 membuat web app dan database di akun Azure Anda.

Ketika baik lokal dan cloud Web App berhasil dibuat, selanjutnya Anda mungkin ingin membuat database untuk aplikasi Anda. Berkat Entity framework di MVC, kita sekarang dapat menyiapkan database untuk Web App kita dengan beberapa langkah sederhana.

Menggunakan Entity Framework

Saya akan menggunakan NuGet Package Manager Console untuk instalasi. Jadi pertama-tama Anda akan perlu meluncur Nuget Package Manager sebagai berikut: Tools->NuGet Package Manager->Package Manager Console

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

2. Selanjutnya ketik perintah "Install-Package EntityFramework" di Package manager console Anda di bawah ini:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

3. Selanjutnya Anda akan perlu membuat Model class untuk mendeskripsikan tabel dan bidang database Anda. Cukup klik kanan pada folder Model dan klik "Add"->"Class.."

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Setelah kelas baru dibuat, tambahkan baris-baris berikut:

using System.ComponentModel.DataAnnotations;

using System.ComponentModel.DataAnnotations.Schema;

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Setelah pembuatan model class, langkah selanjutnya adalah membuat WebAPI controllers bersama dengan action menggunakan Entity framework. Ikuti tangkapan layar di bawah ini, klik kanan pada folder Controllers dan pilih "Add"->"New Scaffolded Item":

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Pilih "Web API 2 Controller with actions, using Entity Framework" di bawah kategori Web API di layar berikutnya:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Setelah tombol "Add" diklik, layar berikutnya akan ditampilkan:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Klik tombol '+' di kolom Data context class untuk membuat kelas data context baru:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Klik Add di layar berikutnya untuk membuat:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

setelah semua kolom diisi, klik "Add" untuk menghasilkan item yang difoundationkan:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Setelah item yang difoundationkan berhasil dihasilkan, Anda akan dapat melihat controller dan kelas data context jatuh ke dalam folder Controllers dan Models:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Selanjutnya, jalankan perintah Enable-Migrations di Package Manager Console:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Setelah perintah Enable-Migrations, diikuti oleh perintah Add-Migration <Name>:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Terakhir perintah Update-Database akan membuat database berdasarkan skrip migrasi yang dihasilkan dari Models. Anda akan dapat menemukan database yang baru dibuat di bawah tabel Add_Data:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien
Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Publish your WEB API

Setelah database berhasil diatur, web api dianggap selesai (Scaffolded controller akan menghasilkan fungsi dasar untuk panggilan RESTful). Cukup untuk memastikan fungsi GetMything(GET), PostMything(POST), PutMything(PUT) dan Deletemything(DELETE) ada di MyThingsController.

Setelah proyek Web API selesai. Selanjutnya Anda dapat mempublish web API ke Azure Web APP dengan langkah-langkah berikut:


1. Pilih menu Build > Publish MyThingAPI seperti tangkapan layar berikut.:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

2. Popup berikutnya akan muncul dan memungkinkan Anda untuk Select a publish target. Anda dapat memilih Microsoft Azure API Apps(Preview) jika Anda menggunakan template ASP.NET5 MVC 6 untuk Web API Anda:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

3. Setelah Microsoft Azure Web Apps diklik, layar berikutnya akan muncul dan akan meminta Anda untuk login ke akun azure Anda:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Masukkan kredensial azure Anda dan login:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

4. Setelah berhasil login, Anda akan dapat mengambil web app yang ada yang dihost di azure (harusnya telah dibuat sebelumnya saat membuat proyek ini di VS2015):

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

5. Setelah web Apps telah dipilih, dan klik "OK", layar berikutnya akan muncul:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Pengaturan koneksi akan dipropagasi, cukup klik next untuk melanjutkan

6. Di bawah tab setting Anda akan melihat string koneksi database, info lain akan diisi otomatis tetapi pastikan kedua checkbox "Use this connection string at runtime" dan "Execute Code First Migration" dicentang:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

6. Setelah semua pengaturan diisi, klik Publish dan Visual studio akan meluncurkan Azure Web App segera setelah publish berhasil:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Setelah web api dipublish, Anda dapat menguji REST API. Saya menggunakan ekstensi Chrome "Advance REST Client" untuk pengujian:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Anda dapat mencoba string json di bawah ini untuk panggilan POST:

{

id:1,

status: "0",

rfid: "1009622005390623",

image: "",

name: "some tool",

type: "tool",

location: "bedroom",

createdAt: "2015-10-13T10:26:01.14",

lastUpdatedAt: "2015-10-13T10:26:01.14"

}

Create Windows Universal App

Karena Iot Background app dan REST API siap, selanjutnya adalah membangun Windows Universal App sebagai klien. Universal App memungkinkan kami untuk menggunakan satu set kode untuk beberapa perangkat. Saya membuat Universal App untuk Tablet sebagai contoh di sini (Anda dapat dengan mudah mengubah pengaturan tata letak untuk ponsel atau laptop).

Untuk membuat Universal App, cukup klik File>New>Project di Visual Studio 2015 Anda, lalu pilih universal app seperti berikut:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Setelah membuat solusi baru Anda dapat mengganti skrip cs dan file .xaml dengan MyThingApp yang saya bagikan di GitHub.

Debugging in Windows universal App:

Windows universal app menyediakan beberapa konfigurasi debug termasuk platform ARM, x64 dan x86. Jika Anda menjalankan debugging di PC lokal Anda yang menjalankan Windows 64 bit, Anda perlu memilih x64 dan klik tombol hijau (Pilih "local machine")

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

jika aplikasi Anda berjalan tanpa kesalahan, seharusnya terlihat seperti ini:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Setup Notification Hub dan UWP push notification


1. Setelah Web API dan Universal App selesai, Anda dapat login di sini

https://dev.windows.com/en-us/dashboard/Application/New untuk menyimpan nama App.

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

2. Setelah nama app dibuat, kembali ke MyThingApp dan klik kanan pada proyek Anda. Pilih Store>Associate App with the Store

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien
Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien
Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

untuk pembuatan notification hub silakan merujuk ke sini:

https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-windows-store-dotnet-get-started

3. selanjutnya tambahkan fungsi berikut ke App.xaml.cs

private async void InitNotificationsAsync()

{

var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

var hub = new NotificationHub("notification", "Endpoint=sb://smartwardrobe.servicebus.windows.net/;SharedAccessKeyName=DefaultListenSharedAccessSignature;SharedAccessKey=MlHoVfn1Ub/c2ThUha+Crn7hHSGmqofrW3cJ6IK89Ok=");

var result = await hub.RegisterNativeAsync(channel.Uri);

}

juga panggil fungsi baru ini di dalam OnLaunched function:

protected override void OnLaunched(LaunchActivatedEventArgs e)

{

InitNotificationsAsync();

Terakhir, tambahkan baris kode ini ke MainPage.cs, MainPage() Function:

this.NavigationCacheMode = NavigationCacheMode.Required;

4. Terakhir, setup tugas threading di MyThing Web API > MyThingController dengan kode berikut:

public class NotificationClass {

internal async System.Threading.Tasks.Task<ThreadStart> SendNotificationAsync(string rfid)

{

NotificationHubClient hub = NotificationHubClient

.CreateClientFromConnectionString("<your connection string>", "<hub name>");

var toast = @"<toast launch=""" + rfid + @"""><visual><binding template=""ToastText01""><text id=""1"">New Mything need to update</text></binding></visual></toast>";//<param>/MainPage.xaml?value=test</param>

await hub.SendWindowsNativeNotificationAsync(toast);

return null;

}

}

dan kode di bawah ini setelah pembuatan catatan baru berhasil:

NotificationClass notClass = new NotificationClass();

Thread notificationThread = new Thread(async x => { await notClass.SendNotificationAsync(myThing.rfid); });

notificationThread.Start();

5. Setelah setup berhasil, notifikasi toast seperti di bawah ini akan diterima setelah catatan baru berhasil dibuat:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

6. klik pada notifikasi dan akan meluncurkan MyThingApp yang terinstal di PC Anda:

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

klik "OK" dan Anda akan melihat RFID baru ditambahkan ke entry form. Isi informasi yang tersisa dan perbarui.

Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

REFERENCE LINKS:

1.Step by step guide to setup Windows10 Iot Core:- https://ms-iot.github.io/content/en-US/GetStarted.htm

2.Setting up Visual Studio 2015 on your PC:- https://ms-iot.github.io/content/en-US/win10/SetupPCRPI.htm

3.Step by step instruction to setup Windows10 IoT Core on Raspberry Pi2:- https://ms-iot.github.io/content/en-US/win10/SetupRPI.htm

4.How to develop IoT application (Blinky sample):- https://ms-iot.github.io/content/en-US/win10/samples/Blinky.htm

5.Windows IoT serial sample:- https://ms-iot.github.io/content/en-US/win10/samples/SerialSample.htm

6.Ms-IoT GitHub repositories:- https://github.com/ms-iot

7.Windows on GitHub:- https://microsoft.github.io/windows/

8.Arduino Software Serial Example(using UART) :- https://www.arduino.cc/en/Tutorial/SoftwareSerialExample

9.SparkFun serial communication tutorial: - https://learn.sparkfun.com/tutorials/serial-communication

10.Get started with Azure Notification Hub:- https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-android-get-started/

11.Add push notifications to your Mobile Services app:- https://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-android-get-started-push/

12.Code First Migrations:- https://msdn.microsoft.com/en-sg/data/jj591621.aspx

13.Publish to an Azure Web App using Visual Studio:- https://docs.asp.net/en/latest/tutorials/publish-to-azure-webapp-using-vs.html

14.Publish the App to Azure Azure App Service:- https://www.asp.net/web-api/overview/data/using-web-api-with-entity-framework/part-10

Kode

Arduino Code for RFID reader moduleC/C++
/* read command will be sent over to RFID module once tag is read, it will return back to serial port */ #include <SoftwareSerial.h> SoftwareSerial mySerial(10, 11); // RX, TX void setup() { // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } // set the data rate for the SoftwareSerial port mySerial.begin(9600); } void loop() { // run over and over if (mySerial.available()) { //send the read command over to RFID module byte message[] = {0xA0,0x06,0x80,0x00,0x01,0x02,0x01,0xD6}; mySerial.write(message, sizeof(message)); //send the data back to serial if(Serial.available()) Serial.write(mySerial.read()); } } 
Where is my thing on GitHub
https://github.com/seeyouu87/where-is-my-thing

Custom parts and enclosures

UHF RFID reader module. it is used for reading RFID tag.uhf_reader_jt2850.svgUHF RFID reader module. it is used for reading RFID taguhf_reader_jt2850.svgUHF RFID reader module. it is used for reading RFID taguhf_reader_jt2850.svg

Skema Rangkaian

Where is my thing on Fritzing
Schematics on Fritzing.org The connection for Arduino to UHF RFID module.Mengelola dan Menemukan Komponen Raspberry Pi, Arduino, dan RFID Secara Efisien

Proses manufaktur

  1. Lembar Cheat Microsoft Azure 2020 – Panduan Definitif Layanan & Arsitektur Azure
  2. Cetak FDM 3D Hari Ini: Kondisi Saat Ini, Tonggak, dan Prospek Masa Depan
  3. Mendefinisikan Edge: Di Mana Edge Computing Benar-Berbasis
  4. Industri 4.0 Saat Ini: Lanskap Saat Ini dan Outlook 2017
  5. 4 Alternatif Canggih ke RFID Pasif untuk Pelacakan Aset yang Akurat
  6. Sistem Kontrol Akses Terintegrasi QR, RFID, dan Verifikasi Suhu
  7. Asal Usul Logam: Dari Bintang hingga Industri
  8. Memilih Situs Pengembangan yang Tepat: Makerspace, Akselerator, dan Mitra Produksi
  9. Asal Usul Konsep Gerigian: Dari Alat Kuno hingga Mesin Modern
  10. Di Mana Udara Terkompresi Memperdaya Proses Sehari-Hari