User interface for 6element sensors

Usage no npm install needed!

<script type="module">
  import bin from 'https://cdn.skypack.dev/6bin';



6element sensors user interface.

In 6element, we inform citizens of whether bins are available for each recycling centers. A first approach based on cameras, image detection and machine learning was considered, but it was found to be too hard to install on various recycling centers. The alternative solution is to have a screen near the sensor that people working at recycling centers can use to manually indicate when a bin is full.

This screen can be used to indicate other informations that is normally hard to get in real time like unexpected recycling center closing (due to too many bind being full, an accident, etc.).



npm install
npm i tsd -g
tsd init
tsd install


npm run build-dev


npm run build-prod

You can also do

npm run watch

Run the project

npm run start


npm run test


6bin communication protocol

6bin client and 6bin server are linked via socketIO.

  • Client => 'request' events => Server
  • Server => 'response' events => Client

Two actions can trigger 'request' events from client:

  • UPDATE_BIN in the case of bin availability change
  • SET_BINS in the case of Bin list save after modifications

6bin server and 6brain are linked via EventEmitter.

  • Server => 'measurementRequest' and 'binsRequest' events => 6brain
  • 6brain => 'data' event => Server