Giter Club home page Giter Club logo

rfid-iotconnector-mqtt-dotnet-dockdoorsample's Introduction

Zebra RFID IoT Connector - MQTT - Dock Door Sample

Concept

----------------|             |----------------
Warehouse 1     |             |     Warehouse 2
                |             |
                |             |   
                
    DOCK DOOR OUT   ------>   DOCK DOOR IN		
 
                |             |   
    FX READER 1 |             | FX READER 2  
                |             |                
----------------|             |----------------

This sample is based on the fixed reader dock door use case. Basically, pallets from Warehouse 1 are transferred to Warehouse 2 passing thru a dock door. Each dock door has a fixed RFID reader that reads all the tags passing by. When a reading event is triggered, this application:

  • Create a Sublot with the read tag as identifier (if not exists).
  • Identify the movement direction based on the equipment (the reader).
  • Move the Sublot either to a generic "Truck" Storage Unit (outbound) or to the Warehouse 2 Storage Unit (inbound) upond movement direction.

This demo provides a set of data already configured:

  • Warehouse 1, Warehouse 2, and Truck Storage Units.
  • A reader on the out position named "myfxOUT" (outbound direction).
  • A reader on the out position named "myfxIN" (inbound direction).

To use this default setup, the MQTT configuration of your reader should be setup accordingly (see setup section).

Setup

Docker Container

Prerequisites

Setup

Run the following command within the main project directory.

docker compose up

Once the container is up and running, you can connect your reader.

Connect yours RFID Readers

Prerequisites

  • Supported Readers FX7500, FX9600, ATR7000
  • Firmware version 3.10.30 or above
  • Reader connected to the same network of your local machine

Setup

Endpoint Topic
Management Events events
Tag Data Events data
Management Command mgmt/cmd
ManagementResponse mgmt/res
Control Command ctrl/cmd
Control Response ctrl/res
  • If you want to use the pre-defined setup of this demo (without configuring the readers manually), your topics should use the following reader names:
    • "myfxOUT" for the reader at Warehouse 1 (e.g."zebra/myfxOUT/events")
    • "myfxIN" for the reader at Warehouse 2 (e.g."zebra/myfxIN/events")
    • If you want to configure your reader manually, you have to edit the Equipments table from SQL Server adding your readers.

Connection Setup

image image

Topic Setup

image

Now your reader is connected to our Demo app. Start reading tags and enjoy.

Project Structure

Docker

  • zebraiotconnector.client.mqtt.console MQTT Client (Core business logic)
  • sql.data SQL Server instance
  • mosquitto MQTT Broker

Solution

  • ZebraIoTConnector.Client.MQTT.Console: MQTT Client for our reader
  • ZebraIoTConnector.DomainModel: DTO (Data Transfer Object) to pass across layers
  • ZebraIoTConnector.FXReaderInterface: Additional layer to make business logic independent from the way we communicate with the reader (MQTT, HTTP etc.)
  • ZebraIoTConnector.Persistence: DAL (Data Access Layer) Entity Framework is used as ORM
  • ZebraIoTConnector.Services: Core business logic.

Database

  • __EFMigrationsHistory: Entity Framework schema comparison
  • Equipments: Contains the readers to be used
  • InventoryOperations: Registers each movement of Sublot (our tag) between readers.
  • StorageUnits: Warehouse locations
  • Sublots: Full Inventory (our tags)

License

MIT

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.