{"id":18367093,"url":"https://github.com/synox/spark-transport-display","last_synced_at":"2025-09-03T05:38:00.404Z","repository":{"id":19567319,"uuid":"22816548","full_name":"synox/spark-transport-display","owner":"synox","description":"A display for time, wheater and transport information","archived":false,"fork":false,"pushed_at":"2015-01-11T20:10:04.000Z","size":3239,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-22T03:31:45.107Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/synox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-10T19:15:20.000Z","updated_at":"2015-12-31T08:18:39.000Z","dependencies_parsed_at":"2022-08-24T08:50:14.126Z","dependency_job_id":null,"html_url":"https://github.com/synox/spark-transport-display","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synox%2Fspark-transport-display","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synox%2Fspark-transport-display/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synox%2Fspark-transport-display/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synox%2Fspark-transport-display/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/synox","download_url":"https://codeload.github.com/synox/spark-transport-display/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247512946,"owners_count":20950961,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T23:19:59.710Z","updated_at":"2025-04-06T16:32:29.303Z","avatar_url":"https://github.com/synox.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"About\n===\nThis software enables you to display the weather, current time and the bus' next departure on a Display. \n\nThis project is a compilation of different components: \n\n * Weather from http://openweathermap.org/ (see [the weather documentation](doc/weather.md) for more details)\n * Swiss Traffic Information from http://transport.opendata.ch \n * Time (included in the Spark Core firmware)\n\n**You can remove, add or extract any of the components and create your own project. Share your mix if you like.**\n\n### Display\n\n![image](doc/display.png)\n\nThe colored LED shows when it is the right time to leave and catch a bus. (Green=Good to go, Orange=Run!, Red=too late)\n\nThe display shows the time, weather, temperature and next bus departures. The position are configurable in the code. \n\n\n### Hardware\nThe required hardware is:\n\n *  Spark Core (https://www.spark.io/)\n *  16x2 OLED Display (http://www.adafruit.com/products/823)\n *  Some wires\n \n\n### Circuit Diagram\nPutting it together is quite simple: \n\n![image](doc/Steckplatine.png)\n\nCircuit layout:\n\n![image](doc/Schaltplan.png)\n\nSee also the photos of my wiring [first](doc/wires1.jpg) and [second compact version](doc/wires_compact.jpg).\n\n## Getting started with the firmware\nYou have to change some settings in [application.ino](firmware/application.ino), in the method ``setup``. \n\nFirstly, setup the display acording the your wiring: \n\n\tlcd = new Adafruit_CharacterOLED(OLED_V1, D0, D1, D2, D3, D4, D5, D6);\n\nSet your location (e.g. London,uk) and replace your api key from http://openweathermap.org\n\n    weather = new Weather(\"Bern,ch\", httpClient, \"YOUR_OPENWEATHER_API_KEY\");\n\nSet your station and adjust the URL (from, to): \n\n\ttransport.init(lcd,\n\t\t\t\"/v1/connections?from=Wabern,Gurtenbahn\u0026to=Bern\u0026fields[]=connections/from/departure\u0026limit=6\",\n\t\t\thttpClient);\n\n\n\n### Build and deploy\nYou must install [spark-cli](https://github.com/spark/spark-cli). \n\n\n\tcd firmware\n\tspark  cloud flash 1234567 .\n\nThis will build and deploy the source in the spark cloud. (You must replace the device-id `1234567`. )\n\nYou can also configure and use the `Makefile`. \n\n## Used libraries\n* [HttpClient](https://github.com/nmattisson/HttpClient) for making http request\n* [ArduinoJson](https://github.com/bblanchon/ArduinoJson) for parsing json response from http://openweathermap.org/\n* [Adafruit_CharacterOLED](https://github.com/ladyada/Adafruit_CharacterOLED) Arduino for the 16x2 Display, I fixed some imports\n\nRemarks\n----------------\n* The display [Monochrome 128x32 SPI OLED](http://www.adafruit.com/products/661) might be a better choice, as it gives more flexibility for drawing, uses less wires and is much cheaper. \n* Daylight Saving Time (\"Sommerzeit\") is currently not detected automatically. \n\nAdditional Resources\n----------------\n* This project was inspired by Bastian Widmer (bastianwidmer.ch) and Christian Leu (leumund.ch)\n* http://leumund.ch/d-i-y-busstop-lamp-arduino-0011112\n* https://github.com/dasrecht/Arduino-Busstop-Light\n\n\nLicence\n----------------\n      To the extent possible under law, the person who associated CC0 with\n      \"spark transport display\" has waived all copyright and related or neighboring rights to \"spark transport display\"\n      \n      See http://creativecommons.org/publicdomain/zero/1.0/ for a copy of the CC0 legalcode.  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynox%2Fspark-transport-display","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsynox%2Fspark-transport-display","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynox%2Fspark-transport-display/lists"}