All Projects → c-base → Ingress Table

c-base / Ingress Table

Licence: mit
Ingress Table NoFlo & MicroFlo setup

Programming Languages

coffeescript
4710 projects

Projects that are alternatives of or similar to Ingress Table

Rtos Wot
Open source FreeRTOS SDK for ESP8266 WiFi Module
Stars: ✭ 29 (-21.62%)
Mutual labels:  iot
Pos system
Automated Point of Sale System using NFC
Stars: ✭ 34 (-8.11%)
Mutual labels:  iot
Toketi Iothubreact
Akka Stream library for Azure IoT Hub
Stars: ✭ 36 (-2.7%)
Mutual labels:  iot
Thingspeak
Client library for the thingspeak.com API
Stars: ✭ 30 (-18.92%)
Mutual labels:  iot
Moquette
MQTT service dispatcher
Stars: ✭ 33 (-10.81%)
Mutual labels:  iot
Device Os
Device OS (Firmware) for Particle Devices
Stars: ✭ 976 (+2537.84%)
Mutual labels:  iot
Sai
SDK for TEE AI Stick (includes model training script, inference library, examples)
Stars: ✭ 28 (-24.32%)
Mutual labels:  iot
Cbj smart Home
If you are searching for an easy way to deploy a smart home 🏡 by yourself CyBear Jinni 🦾🐻🧞‍♂️ is here for you. Join the community and make your home smarter than yesterday.
Stars: ✭ 37 (+0%)
Mutual labels:  iot
Iot
IoT, 这是一个最小Internet of Things ,一个Internet of Things相关的毕业设计产生的一个简化的物联网系统。 。
Stars: ✭ 970 (+2521.62%)
Mutual labels:  iot
Fritzbox.js
☎️ The leading AVM Fritz!Box API for NodeJS and JavaScript.
Stars: ✭ 36 (-2.7%)
Mutual labels:  iot
Kube Nginx Proxy
Nginx reverse proxy for Kubernetes services and pods powered by annotations
Stars: ✭ 31 (-16.22%)
Mutual labels:  ingress
Hass Config
Configuration files for Home Assistant
Stars: ✭ 32 (-13.51%)
Mutual labels:  iot
Iotregistry
The IOT Registry chaincode Hyperledger Fabric 0.6. This is compatible with the Chronicled.org Open Registry
Stars: ✭ 35 (-5.41%)
Mutual labels:  iot
React Native Aws Iot Device Shadows
React Native Component for connecting to AWS IoT Shadows from a device using SDK JavaScript bundle
Stars: ✭ 30 (-18.92%)
Mutual labels:  iot
Saberlight
Collection of tools to control some "smart" BLE bulbs [Mirror]
Stars: ✭ 36 (-2.7%)
Mutual labels:  iot
Ppp device
lwIP PPP porting for GSM modem (like sim800)
Stars: ✭ 29 (-21.62%)
Mutual labels:  iot
Emqx
An Open-Source, Cloud-Native, Distributed MQTT Message Broker for IoT.
Stars: ✭ 8,951 (+24091.89%)
Mutual labels:  iot
Aws Iot Button
Stars: ✭ 37 (+0%)
Mutual labels:  iot
Xgress
Play Ingress on Jailbroken iOS Devices
Stars: ✭ 36 (-2.7%)
Mutual labels:  ingress
Blynk Library Particle
Blynk library for Particle Core, Photon, Electon, P0, P1, RedBear Duo etc.
Stars: ✭ 35 (-5.41%)
Mutual labels:  iot

Ingress Table Build Status Greenkeeper badge

The software side of a "physical Intel map", built with NoFlo and MicroFlo. Please read the introductory blog post for more information. The actual table can be seen live at the c-base space station in Berlin.

View source on Flowhub

Ingress Table in action

How does this work?

We have a NoFlo graph that periodically pulls portal status information from the data provider, and converts that to status information to be shown on the table surface.

The status information is then transmitted to a microcontroller that shows portal owners, attack notifications, etc. using the LEDs.

At c-base the table runs as part of the c-flo IoT network, with the data fetching part running on a server machine, and the light control running inside the table itself. Messaging related to these is coordinated by MsgFlo.

Starting and Stopping the Service

Clone this repository to /opt/ingress-table on your system, add an authorized access token as cookie.json, npm install dependencies.

Copy the systemd service files from systemd/ folder to /etc/systemd/system

Reload systemd files with sudo systemctl daemon-reload

Start the services with:

  • sudo systemctl start ingress-data (for the API interface part)
  • sudo systemctl start ingress-lights (for the light control)

Hardware

  • Raspberry Pi running NoFlo
  • Arduino Uno running Microflo for controlling the WS2801-based LED strand (portal lights)
  • 50 individually controllable LEDs for portals (based on the WS2801 controller chip)
  • 5 LED strips for streets (map background) and floor lighting
  • Launchpad Tiva running MicroFlo for controlling the 5 RGB-LED strips
  • USB chargers for agents running out of battery

LED driver circuit

The RGB-LED strips we use run on 12 Volts DC and have one shared plus pole and an individual minus pole for each color. They cannot be driven by the Tiva itself so we use an N-Channel MOSFET to control them. We use three IRL540N MOSFETs (named Q1, Q2, Q3) per RGB strip.

This is the circuit for one channel only, you must build this 5 times. Here is an example of how you could put in on a perfboard:

LED strip i/o pins

J2
---

PB7 Green1
PB6 Blue1

PA2 -> SSI0Clk => Portallights Clock (CKI), not used at the moment

J4
---

PF3 Red2
PC4 Green2
PC5 Blue2

PF2 Red Bottom

J3
---

PD0 Red3
PD1 Green3
PF1 Blue3

J1
---
PB4 Red1
PB5 Red4
PE4 Green4
PE5 Blue4

PA6 Green Bottom
PA7 Blue Bottom

PA5 -> SSI0Tx => Portallights Data (SDI), not used at the moment

Note: out-of-the box on the Tiva the pins PB6, PB7, PD0, PD1 can't be used. You can disconnect the R9 and R10 resistors to make them usable.

Flashing and resetting the Arduino

Resetting the MCU:

stty -F /dev/ttyACM1 1200

make upload SERIALPORT=/dev/ttyACM1 BAUDRATE=57600 MODEL=leonardo GRAPH=../ingress-table/graphs/PortalLights.fbp
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].