Bhaskar Krishnamachari - Presentation at Emerging Communications Conference & Awards (eComm 2011)
Bhaskar Krishnamachari Gowri Ramachandran …...I3 v0 prototype Demonstration Crew Taylor Gowri...
Transcript of Bhaskar Krishnamachari Gowri Ramachandran …...I3 v0 prototype Demonstration Crew Taylor Gowri...
I3 v0 prototypeDemonstration
Crew TaylorGowri Ramachandran
Bhaskar Krishnamachari
Center for Cyber-Physical Systems and the Internet of ThingsUSC Viterbi School of Engineering
I3 Domain Controller - v0 architecture
Sensors and Actuators (Devices or Things)
Buyer UI/API
Seller UI/API
Broker UI/API
Registry Authorization
Real-Time Data Routing
Middleware
Application API
Metering
Billing & Payments
Recommendation Engine
Administrative InterfaceDevice Data and Control
API
Analytics and Applications
Data Formats
Privacy MechanismsRatings and Trust
Peering API
We envision one I3 domain controller for each community: campus, city, a downtown area, hospital, potentially a range of scales, and potentially with some overlaps in data sources or applications relevant to the community
Sensors and Actuators (Devices or Things)
Buyer UI/API
Seller UI/API
Broker UI/API
Registry Authorization
Real-Time Data Routing
Middleware
Application API
Metering
Billing & Payments
Recommendation Engine
Administrative InterfaceDevice Data and Control
API
Analytics and Applications
Data Formats
Privacy MechanismsRatings and Trust
Peering API
✔
✔
✔✔
✔ ✔
✔
✔
✔
✔
XXX
XX X
I3 Domain Controller - v0 Prototype
I3 Demonstration | 3
SellerI3 Platform
Buyer
BACnet client
MarketplaceWebsite Frontend
BackendPub-Sub Broker
AuthenticationPlugin
Parser
Website Database
AccessDatabase
Broker Log
Subscriber Client
Sell data
Send data
Buy data
Receive data
VisualizationPublisher Client
Adminmanages I3
I3 Proof of Concept Prototype Demo Video I3 v0
Prototype
I3 Domain Controller - v0 Prototype details
● Publish-Subscribe: MQTT (Mosquitto) Broker with mosquitto-auth-plugin
● Metering via custom script ● Web Front-End: Custom-adapted Django site in
Python 2.7 ● REST API-based access for buyer, seller and admin● MySQL database for data registry and authentication
info● Publish and Subscribe Clients via Eclipse MQTT
paho (for any language) with HTTP wrapper
Frontend Demonstration
Login
Signup
Dashboard
Description
Cart
Transactions
Updated Dashboard and Notifications
Seller View of Dashboard
Create a Product
REST API
REST API Routes
● Seller○ Product
■ List■ Read■ Create■ Update■ Delete
○ Sale■ List■ Read
● Buyer○ Product
■ List■ Read
○ Purchase■ List■ Read■ Create
Example List Product Query
/api/buyer/product
Example Create Product Query
user$ curl --header "Content-Type:
application/json" --header
"Authorization: Token
727cff9f71ad15267aadbcd9d8b9fa9ba881c1
ad" --request POST --data
'{"media":"myimg.jpg
","title":"anrg-temp-sensor",
"sensor_type":"sensor",
"description":"Temperature sensor at
the ANRG lab", "price": "9.99",
"sale_price": "6.99", "sale_active",
false}'
http://localhost:8000/api/seller/produ
ct
I3 Backend Demonstration
Seller script
● Account name● Topic to publish to● Password
Buyer script
● Account name● Topic to publish to● Password
Running the scripts
Webservices Demonstration
HTTP Subscribe
user$ curl -ivs --raw
"http://localhost:5000/subscribe?topic
=anrg-temp-sensor&username=trojan&pass
word=hgibtr”
HTTP Publish
user$ curl -H "Content-Type:
application/json"
"http://localhost:5000/post" -d
'{"topic" : "anrg-temp-sensor",
"message" : "Hello World", "username"
: "trojan", "password" : "hgibtr" }'