Skip to content

Project Management

Paula-Kli edited this page Dec 2, 2021 · 6 revisions

Notes

Bridge duties

Image recognition

We're going to take care of the image recognition part to recognize customers and estimate sex, age etc... locally, for the following reasons:

  • Images of people are not going to the cloud => better privacy
  • The bridge is already taking care of processing the raw data, so that only clean and ready to use data are sent to the cloud
  • We are selling more expensive hardware to the customers instead of paying higher amounts of money on the server subscription
  • normal Webcam

TODO:

  • Finding a good library for people recognition
  • Do we have a camera? (check rasperry camera)
  • What datas we need to actually extract from the image recognition
  • should the camera be in the same device as the bridge
  • do we need to have two different code files for the bridge and the microcontroller?
  • can an Arduino recognize images? or how do we make the microcontroller recognize the images (having two seperate programms run on the microcontroller part?)
  • Check how to save the datas to the DB (group data by message from bridge to cloud => message_id)
  • Web interface
  • bridge should tell the arduino "start I am listening"

Protocol Arduino - Bridge

[FF] [Flags] [Sensor ID] [Data size] [Data] [FE]

  • Flags explanation:
    • the first bit (from the right) represents the initialization flag, which tells to the bridge if this is the first time we are sending a message about this sensor or not. If it's set to zero, the [Data] field will contain the datatype of a new sensor used and not the actual data. After sending the first message, it waits for the bridge to reply assigning an ID to that sensor. If the first flag is set to one instead, the data sent are just the actual values read from the sensors.
  • in the bridge there should be some kind of dictionary that converts the Sensor ID to the actual sensor to understand what data we get

Flags

  • 10000000 initialize sensor
  • 01000000 I want to only send a debug message
  • 00100000 Actuator is initialized

Data Model (Protocol Bridge - Cloud)

{
  "bridge_id" : number,
  "Data type" : string,
  "Value" : [number, ],
}

Sensor/actuators types

Sensors

  • Temperature
  • Light
  • People
    • Age
    • Sex
    • Groups

Actuators

  • Light color
  • Music
  • Perfume
  • Brightness
  • Temeprature
  • ADs display
    • Best offerts
    • Group offerts

Cloud

  • Subscribe a bridge
  • Post stuff
  • Get stuff

IF WE HAVE TIME

  • Basic web interface to manage bridge sensors/actuator
  • Telegram bot
  • who is inside the shop (all the people)
  • the AI in the cloud should somehow get feedback on whether or not the decision that it took in the past was good or not
  • a shop with multiple rooms

Things to ask the lecturer: