Things used in this project

Hardware components:
R8326274 01
Raspberry Pi 2 Model B
×1
Cottonwood: TTL UART Long Range UHF RFID reader (ISO18000-6C EPC G2)
×1
8dbi Mid-Range UHF RFID Antenna
For best results, a commercial grade long range UHF RFID circular antenna is recommended
×1
Male N-J to MMCX-J Interface Cable
×1
CP2102 USB 2.0 to UART TTL 6PIN Module Serial Converter
×1
5VDC 2A Power Supply Center-positive 5.5x2.1mm barrel connector
The Cottonwood board requires it's own power supply
×1
Software apps and online services:
W9gt7hzo
Microsoft Azure
Web management interface and Web API service end-point hosting, database hosting
10
Microsoft Windows 10 IoT Core

Schematics

USB to UART TTL Wiring
USB to UART TTL Wiring
Wp 20150916 20 59 05 rich
Cottonwood Wiring
- CP2102 GND to Cottonwood GND
- CP2102 TX to Cottonwood RX
- CP2102 RX to Cottonwood TX
Wp 20150916 21 03 12 rich

Code

trackerwebdb Database ScriptSQL
Create a SQL Azure database named trackerwebdb and run this script
USE [trackerwebdb]
GO
/****** Object:  Table [dbo].[Monitor]    Script Date: 9/17/2015 4:07:52 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Monitor](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[IpAddress] [varchar](23) NULL,
	[FriendlyName] [varchar](50) NULL,
	[Location] [varchar](255) NULL,
	[Status] [int] NULL,
	[LastPing] [datetime] NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[Tag]    Script Date: 9/17/2015 4:07:54 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Tag](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[TagId] [varchar](35) NULL,
	[FriendlyName] [varchar](50) NULL,
	[Description] [varchar](500) NULL,
	[BlobId] [varchar](300) NULL,
	[Status] [int] NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[Tracking]    Script Date: 9/17/2015 4:07:54 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Tracking](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[TagId] [int] NULL,
	[MonitorId] [int] NULL,
	[Reading] [datetime] NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)

GO
/****** Object:  View [dbo].[InventoryView]    Script Date: 9/17/2015 4:07:54 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[InventoryView]
	AS 
	select t.id as TagId,
	   t.friendlyname as TagFriendlyName,
	   (select max(tj.reading) from tracking tj where tj.tagid=t.id) as Reading,
	   CASE WHEN (select max(tk.reading) from tracking tk where tk.tagid=t.id) IS NOT NULL THEN
			(select m.location from monitor m 
					inner join tracking tk on m.id=tk.monitorid
			where tk.tagid=t.id and tk.reading=(select max(reading) from tracking where tagid=t.id))
	   ELSE
		'N/A'
	   END as Location
	from tag t
GO
ALTER TABLE [dbo].[Tracking]  WITH CHECK ADD  CONSTRAINT [FK_Tracking_Monitor] FOREIGN KEY([MonitorId])
REFERENCES [dbo].[Monitor] ([Id])
GO
ALTER TABLE [dbo].[Tracking] CHECK CONSTRAINT [FK_Tracking_Monitor]
GO
ALTER TABLE [dbo].[Tracking]  WITH CHECK ADD  CONSTRAINT [FK_Tracking_Tag] FOREIGN KEY([TagId])
REFERENCES [dbo].[Tag] ([Id])
GO
ALTER TABLE [dbo].[Tracking] CHECK CONSTRAINT [FK_Tracking_Tag]
GO
Headed Cottonwood Tester Application
A headed universal application that allows you to manually communicate with the Cottonwood Long Range UHF RFID board
Web interface for monitor and device management, web api reading endpoint
Web interface that allows the user to register monitors and tags. Also provides Web API end point for readings from the Monitors.
RFID Scanner - Background Application that reads UHF RFID tags
Background Universal Application that reads available UHF RFID tags from the Cottonwood board and sends them to a cloud service. Also contains the class library of the Cottonwood class.

Credits

Photo
Carey Payette

Sr. Software Engineer at Falafel Software

Replications

Did you replicate this project? Share it!

I made one

Love this project? Think it could be improved? Tell us what you think!

Give feedback

Comments

Similar projects you might like

Solar Smart Greenhouse Using Vertical Aquaponic Towers
Intermediate
  • 3,010
  • 43

Work in progress

Feed your family with 22 sqm greenhousing by combining permaculture, aquaponic vertical towers and IoT.

Measure wind speed with Eltako windsensor and Win10 IoT Core
Intermediate
  • 586
  • 7

Full instructions

This Project will help you track wind Speeds using Windows 10 IoT Core and the Eltako Windsensor.

Raspberry Pi Facial Recognition
Intermediate
  • 5,300
  • 42

Work in progress

So you want to control entry to your secret lair, huh? This project will allow you to use facial recognition using a Pi and AWS.

PiGlass
Intermediate
  • 2,760
  • 21

Full instructions

A device that can measure environmental conditions and relay to the user; in glasses form.

Creating a Raspberry Pi Universal Remote With LIRC
Intermediate
  • 584
  • 5

Full instructions

This project allows anyone to turn a Raspberry Pi into a universal remote using LIRC(LINUX Infrared Remote Control).

Aquariumatic
Intermediate
  • 8,561
  • 17

Work in progress

Aquarium monitor with automation, Web GUI & IOT. Daisychain units can control multiple tanks all from the one master unit.

ProjectsCommunitiesContestsLiveAppsBetaFree StoreBlogAdd projectSign up / Login
Respect project
Feedback