Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Где моя вещь?

Компоненты и расходные материалы

Raspberry Pi 2, модель B
× 1
Arduino UNO
× 1
RFID-модуль JT2850
× 1
RFID-антенна JT606
× 1

Необходимые инструменты и машины

ПК Microsoft под управлением Windows10 с установленной Visual Studio 2015
телефон Android

Приложения и онлайн-сервисы

Microsoft Windows 10 IoT Core
Microsoft Azure
Microsoft Visual Studio 2015

Об этом проекте

Фон

Бывали ли вы когда-нибудь в ситуации, когда каждый раз, когда вы пытаетесь что-то искать, вы тратите очень много времени на поиски и все еще не можете это найти? Используя технологию RFID, используя RFID-считыватель и несколько RFID-меток, прикрепленных к элементу, мы можем легко найти элемент, который мы сохранили. Всякий раз, когда мы покупаем новый товар, просто вставляйте на него RFID-метку и регистрируйте детали товара в системе. Если нам нужно найти предмет, но мы не можем вспомнить, где он находится, просто выполните поиск в мобильном приложении, и вы узнаете, в какой комнате вашего дома он сейчас находится.

Идея в целом

Компоненты этого проекта будут состоять из модуля считывателя UHF RFID, антенны UHF RFID, Arduino UNO, Raspberry Pi2 под управлением Windows10 IoT core (вы можете обратиться сюда http://ms-iot.github.io/content/en -US / GetStarted.htm, если вы не знаете, как установить ядро ​​Windows10 IoT), мобильное приложение и веб-службу Azure для хранения данных. В доме будет несколько модулей UHF RFID, и каждый модуль RFID UHF будет подключен к Arduino UNO, а затем Arduino будет подключен к Raspberry Pi2. Каждый раз, когда элемент, который хотел бы отслеживаться системой, будет прикреплен RFID-меткой. Подробная информация об элементе и значение RFID необходимы для регистрации в системе. Данные каждой записи будут храниться в базе данных Azure SQL через веб-API Azure. Всякий раз, когда пользователь собирается искать предмет дома, но не уверен, что этот предмет будет находиться в какой комнате его дома. Он / она может включить свое мобильное приложение. Мобильное приложение отправит поисковый запрос на Raspberry Pi2 через сеть Wi-Fi. Как только Raspberry Pi2 получит поисковый запрос, он отправит его всем подключенным к нему Arduino Uno. Arduino UNO отправит команду чтения на модуль UHF RFID. Как только любой из UHF RFID-считывателей в другом месте сможет захватить требуемый RFID, он вернет значение обратно в Arduino UNO. Arduino UNO вернет местоположение считывателя RFID обратно в Raspberry Pi2, а RaspberryPi2 обработает результат поиска и вернется в мобильное приложение.
если вы

Как это сделать?

Я собираюсь разработать фоновое приложение, работающее на ядре Windows 10 IoT, нам может потребоваться знать IP-адрес Raspberry Pi 2. Нет необходимости иметь дисплей. Спасибо всемогущему Windows IoT Core Watcher. Все, что вам нужно, это подключить Raspberry Pi2 модель B, как показано ниже:

Подключив ПК и Raspberry PI2 по сетевому кабелю, всемогущий Windows IoT Core Watcher сможет сказать вам, какой IP-адрес у вашего Raspberry Pi2:

Создайте проект в Visual Studio 2015

Затем вы можете начать разработку с помощью Visual Studio 2015, просто загрузите коды, которыми я поделился здесь, и запустите его с помощью Visual Studio 2015.

Загрузите код с github, и вы сможете напрямую запустить проект. Если вы пытаетесь создать новый проект, вы можете попробовать следующее:

1. Перейдите в File -> New-> Project

.

2. В разделе «Шаблоны Visual C #» найдите «Фоновое приложение (IoT)». Введите название вашего проекта, ваш проект создан.

3. После создания проекта следует настроить параметры отладки. Щелкните проект правой кнопкой мыши и выберите «Свойства»

.

4. В окне свойств проекта щелкните вкладку отладки и выполните следующие настройки:

  1. Платформа:ARM
  2. Целевое устройство:удаленная машина
  3. Удаленный компьютер:<ваш IP-адрес отображается в Iot Core Watcher>
  4. Снимите флажок "Использовать аутентификацию"

Сохраните конфигурацию, и теперь вы можете начать кодирование в файле StartupTask.cs в вашем недавно созданном проекте.


Отладка в Visual Studio 2015

Когда вы закончите кодирование и захотите начать отладку, вы можете выполнить следующие шаги и сделать снимки экрана:

1. Щелкните серую полосу слева, чтобы установить точку останова в строке кода, которую нужно исследовать:

2. Затем нажмите зеленую кнопку «Удаленный компьютер», чтобы начать отладку:

3. После входа в режим отладки зеленая кнопка «Удаленная машина» изменится на «Продолжить», в то же время будут активированы кнопки шага:

  • Далее - Показать следующее заявление
  • Шаг с заходом - войдите в функцию и изучите коды внутри функции
  • Перейти - перейти на текущую строку и просмотреть следующую строку кода.
  • Выйти - выйти из функции и продолжить отладку с использованием предыдущего кода.


Кнопка «Продолжить» с «Далее», «Шаг с заходом», «Перешагнуть» и «Выйти»

Во время отладки вы можете либо навести курсор мыши, чтобы проверить определенное значение переменной, либо выделить и щелкнуть правой кнопкой мыши по переменной и выбрать «Добавить наблюдение», чтобы добавить переменную в список наблюдения:

Создание веб-API в Azure для обслуживания транзакций Интернета вещей и мобильных приложений

Создать проект веб-приложения Asp.NET

1. Создайте веб-приложение ASP.NET, введите имя проекта и нажмите кнопку «ОК» внизу

2. На следующем экране нажмите Выбрать MVC в шаблоне ASP.NET 4.5.2 (если вы любите приключения, можете попробовать шаблон предварительного просмотра ASP.NET 5 с платформой MVC6. Шаг будет таким же)

3. Затем установите для метода аутентификации значение «Без аутентификации»

.

4. Также обратите внимание, что если вы хотите разместить этот веб-API на облачном сервере, вы можете установить флажок «Хост в облаке», как показано ниже:

Если у вас нет учетной записи microsoft azure, вы можете подписаться на бесплатную пробную версию и получить бесплатный кредит в размере 200 долларов США. Просто нажмите здесь:https://azure.microsoft.com/en-us/pricing/free-trial/

5. Если вы решили разместить свой веб-API в веб-приложении Azure, после нажатия кнопки «ОК» на следующем экране вам потребуется войти в Microsoft Azure.

6. После успешного входа в систему просто введите имя своего веб-приложения и последующие данные, как показано в форме:

после заполнения всей информации нажмите «ОК» и немного подождите, пока VS2015 создаст веб-приложение и базу данных в вашей учетной записи Azure.


После успешного создания как локального, так и облачного веб-приложения вы, вероятно, захотите создать базу данных для своего приложения. Спасибо вашей платформе Entity на MVC, теперь мы можем настроить нашу базу данных для нашего веб-приложения, выполнив несколько простых шагов.

Использование Entity Framework

Я собираюсь использовать консоль диспетчера пакетов NuGet для установки. Итак, сначала вам нужно будет запустить диспетчер пакетов NuGet, как показано ниже:Инструменты-> Диспетчер пакетов NuGet-> Консоль диспетчера пакетов

2. Затем введите команду «Install-Package EntityFramework» в консоль диспетчера пакетов ниже:

3. Затем вам нужно будет создать класс модели для описания таблицы и полей вашей базы данных. Просто щелкните правой кнопкой мыши папку модели и выберите «Добавить» -> «Класс ..»

После создания нового класса добавьте следующие строки:

с использованием System.ComponentModel.DataAnnotations;

с использованием System.ComponentModel.DataAnnotations.Schema;

После создания класса модели следующим шагом будет создание контроллеров WebAPI вместе с действием с использованием Entity framework. Следуйте приведенному ниже экрану печати, щелкните правой кнопкой мыши папку «Контроллеры» и выберите «Добавить» -> «Новый шаблонный элемент»:

Выберите «Контроллер веб-API 2 с действиями, используя Entity Framework» в категории веб-API на следующем экране:

После нажатия кнопки «Добавить» откроется следующий экран:


Нажмите " + . 'в поле класса контекста данных, чтобы создать новый класс контекста данных:

Нажмите «Добавить» на следующем экране, чтобы создать:

как только все поля будут заполнены, нажмите «Добавить», чтобы сгенерировать шаблонный элемент:

После успешного создания элемента шаблона вы сможете увидеть, как контроллер и класс контекста данных перетаскиваются в папку Controllers и папку Models:

Затем запустите Enable-Migrations . команда в консоли диспетчера пакетов:

После Enable-Migrations команда, за которой следует Add-Migration команда:

Наконец, Update-Database команда создаст базу данных на основе сценария миграции, сгенерированного из Models. Вы сможете найти только что созданную базу данных в разделе Add_Data . таблица:

Опубликуйте свой WEB API

После успешной настройки базы данных веб-api считается готовым (контроллер Scaffolded сгенерирует базовую функцию для вызова RESTful). Просто чтобы гарантировать, что эти функции GetMything (GET), PostMything (POST), PutMything (PUT) и Deletemything (DELETE) существуют в MyThingsController.

После завершения проекта веб-API. Затем вы можете опубликовать веб-API в веб-приложении Azure, выполнив следующие действия:


1. Выберите меню «Сборка»> «Опубликовать MyThingAPI», как показано на следующем снимке экрана:

2. Появится следующее всплывающее окно, в котором вы сможете выбрать цель публикации. Вы можете выбрать Microsoft Azure API Apps (Preview), если вы используете шаблон ASP.NET5 MVC 6 для своего веб-API:

3. После того, как Microsoft Azure Web Apps щелкнет, появится следующий экран, на котором вам потребуется войти в свою учетную запись Azure:

Введите свои учетные данные Azure и войдите в систему:

4. После успешного входа в систему вы сможете получить существующее веб-приложение, размещенное в Azure (оно должно быть создано ранее при создании этого проекта в VS2015):

5. После выбора веб-приложений и нажатия кнопки «ОК» появится экран ниже:

Настройки подключения будут сохранены, просто нажмите "Далее", чтобы продолжить

6. На вкладке настроек вы увидите строку подключения к базе данных, другая информация будет заполнена автоматически, но убедитесь, что отмечены оба флажка «Использовать эту строку подключения во время выполнения» и «Выполнить первую миграцию кода»:

6. После того, как все параметры будут заполнены, нажмите «Опубликовать», и Visual Studio запустит веб-приложение Azure сразу после успешной публикации:

После публикации веб-API вы можете протестировать REST API. Я использую расширение Chrome "Advance REST Client" для тестирования:

Вы можете попробовать следующую строку json для вызова POST:

{

id:1,

status:«0»,

rfid:"1009622005390623",

изображение:"",

name:"какой-то инструмент",

тип:"инструмент",

location:"спальня",

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

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

}


Создать универсальное приложение для Windows

Поскольку фоновое приложение Iot и REST API готовы, теперь нужно создать универсальное приложение Windows в качестве клиента. Универсальное приложение позволяет использовать один набор кодов для нескольких устройств. В качестве примера я создаю универсальное приложение для планшета (вы можете просто изменить настройку макета для мобильного телефона или ноутбука).

Чтобы создать универсальное приложение, просто нажмите «Файл»> «Создать»> «Проект» в Visual Studio 2015, затем выберите универсальное приложение следующим образом:

После создания нового решения вы можете заменить скрипты cs и файлы .xaml на MyThingApp, которым я поделился в GitHub.

Отладка в универсальном приложении Windows:

Универсальное приложение Windows предоставляет несколько конфигураций отладки, включая платформы ARM, x64 и x86. Если вы запускаете отладку на локальном ПК, который работает под управлением 64-разрядной версии Windows, вам нужно выбрать x64 и нажать зеленую кнопку (Выберите «локальный компьютер»)

если ваше приложение работает без ошибок, оно должно выглядеть примерно так:

Настройка центра уведомлений и push-уведомления UWP


1. После того, как веб-API и универсальное приложение будут готовы, вы можете войти здесь

https://dev.windows.com/en-us/dashboard/Application/New, чтобы зарезервировать имя приложения.

2. После создания имени приложения вернитесь в MyThingApp и щелкните свой проект правой кнопкой мыши. Выберите "Магазин"> "Связать приложение с магазином"

.

для создания центра уведомлений см. здесь:

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

3. Затем добавьте следующую функцию в App.xaml.cs

private async void InitNotificationsAsync ()

{

var channel =await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync ();

var hub =new NotificationHub ("уведомление", "Endpoint =sb://smartwardrobe.servicebus.windows.net/; SharedAccessKeyName =DefaultListenSharedAccessSignature; SharedAccessKey =MlHoVfn1Ub / c2ThUha + Crn7hHSCGmqofrW3)

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

}

также вызовите эту новую функцию внутри функции OnLaunched:

защищенное переопределение void OnLaunched (LaunchActivatedEventArgs e)

{

InitNotificationsAsync ();

Наконец, добавьте эту строку кода в MainPage.cs, функцию MainPage ():

this.NavigationCacheMode =NavigationCacheMode.Required;

4. Наконец, настройте задачу потоковой передачи внутри MyThing Web API> MyThingController со следующими кодами:

открытый класс NotificationClass {

внутренний асинхронный System.Threading.Tasks.Task SendNotificationAsync (строка rfid)

{

NotificationHubClient hub =NotificationHubClient

.CreateClientFromConnectionString ("<ваша строка подключения>", "<имя хаба>");

var toast =@ " Новое Mything необходимо обновить "; // /MainPage.xaml?value=test

await hub.SendWindowsNativeNotificationAsync (тост);

return null;

}

}

и следующие коды после успешного создания новой записи:

NotificationClass notClass =new NotificationClass ();

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

notificationThread.Start ();

5. После успешной настройки после успешного создания записи будет получено всплывающее уведомление, как показано ниже:

6. щелкните уведомление, и оно запустит приложение MyThingApp, установленное на вашем ПК:

нажмите «ОК», и вы увидите, что новый RFID добавлен в форму ввода. Заполните остальную информацию и обновите.



ССЫЛКИ:

1. Пошаговое руководство по настройке Windows10 Iot Core:- http://ms-iot.github.io/content/en-US/GetStarted.htm

2. Настройка Visual Studio 2015 на вашем ПК:- http://ms-iot.github.io/content/en-US/win10/SetupPCRPI.htm

3. Пошаговая инструкция по установке Windows10 IoT Core на Raspberry Pi2:- http://ms-iot.github.io/content/en-US/win10/SetupRPI.htm

4. Как разработать приложение IoT (пример Blinky):- http://ms-iot.github.io/content/en-US/win10/samples/Blinky.htm

5.Пример последовательного порта Windows IoT:- http://ms-iot.github.io/content/en-US/win10/samples/SerialSample.htm

6. Репозитории MS-IoT на GitHub:- https://github.com/ms-iot

7. Windows на GitHub:- http://microsoft.github.io/windows/

8.Пример последовательного порта программного обеспечения Arduino (с использованием UART):- https://www.arduino.cc/en/Tutorial/SoftwareSerialExample

9.Учебник по последовательной связи SparkFun:- https://learn.sparkfun.com/tutorials/serial-communication

10. Начните работу с Центром уведомлений Azure:- https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-android-get-started/

11. Добавьте push-уведомления в свое приложение для мобильных служб:- https://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-android-get-started-push/

12. Кодируйте первые миграции:- https://msdn.microsoft.com/en-sg/data/jj591621.aspx

13. опубликуйте в веб-приложении Azure с помощью Visual Studio:- http://docs.asp.net/en/latest/tutorials/publish-to-azure-webapp-using-vs.html

14. Опубликуйте приложение в службе приложений Azure Azure:- http://www.asp.net/web-api/overview/data/using-web-api-with-entity-framework/part-10

Код

  • Код Arduino для модуля считывания RFID
Код Arduino для модуля считывателя RFID C / C ++
 / * команда чтения будет отправлена ​​в модуль RFID, как только тег будет прочитан, он вернется обратно в последовательный порт * / # include  SoftwareSerial mySerial (10, 11); // RX, TXvoid setup () {// Открытие последовательной связи и ожидание открытия порта:Serial.begin (9600); в то время как (! серийный) {; // ждем подключения последовательного порта. Требуется только для Леонардо} // устанавливаем скорость передачи данных для порта SoftwareSerial mySerial.begin (9600);} void loop () {// запускаем снова и снова if (mySerial.available ()) {// отправляем команду чтения поверх в сообщение байта модуля RFID [] ={0xA0,0x06,0x80,0x00,0x01,0x02,0x01,0xD6}; mySerial.write (сообщение, sizeof (сообщение)); // отправляем данные обратно в последовательный порт if (Serial.available ()) Serial.write (mySerial.read ()); }} 
Где моя вещь на GitHub
https://github.com/seeyouu87/where-is-my-thing

Изготовленные на заказ детали и корпуса

Модуль считывания UHF RFID. он используется для чтения метки RFID. uhf_reader_jt2850.svg Модуль считывания UHF RFID. он используется для чтения RFID-метки uhf_reader_jt2850.svg Модуль считывания UHF RFID. он используется для чтения RFID-метки uhf_reader_jt2850.svg

Схема

Где моя вещь на Фритцинге
Схемы на Fritzing.org Подключение Arduino к модулю UHF RFID.

Производственный процесс

  1. Шпаргалка по Microsoft Azure 2020
  2. 3D-печать FDM:где мы сегодня?
  3. Где преимущество в граничных вычислениях?
  4. Проверка фактов Индустрии 4.0:где мы находимся сегодня?
  5. 4 альтернативные пассивные технологии RFID для рассмотрения
  6. Контроль доступа с помощью QR, RFID и проверки температуры
  7. Откуда берутся металлы?
  8. Где строить?
  9. Откуда возникла концепция пиления?
  10. Где сжатый воздух?!