{"id":44634710,"url":"https://github.com/cwi-dis/iotsadisplayserver","last_synced_at":"2026-02-14T17:20:27.368Z","repository":{"id":97041166,"uuid":"89700264","full_name":"cwi-dis/iotsaDisplayServer","owner":"cwi-dis","description":"A web server that drives an LCD display, such as an i2c 4x20 character module. ","archived":false,"fork":false,"pushed_at":"2025-04-27T21:56:10.000Z","size":1560,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-09-10T07:40:46.096Z","etag":null,"topics":["esp8266-arduino","iot","iotsa"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cwi-dis.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-04-28T11:33:36.000Z","updated_at":"2025-04-27T21:56:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"7b24be47-6ae8-49e7-b5a4-8a81856e2bb9","html_url":"https://github.com/cwi-dis/iotsaDisplayServer","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/cwi-dis/iotsaDisplayServer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwi-dis%2FiotsaDisplayServer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwi-dis%2FiotsaDisplayServer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwi-dis%2FiotsaDisplayServer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwi-dis%2FiotsaDisplayServer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cwi-dis","download_url":"https://codeload.github.com/cwi-dis/iotsaDisplayServer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwi-dis%2FiotsaDisplayServer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29450850,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T15:52:44.973Z","status":"ssl_error","status_checked_at":"2026-02-14T15:52:11.208Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["esp8266-arduino","iot","iotsa"],"created_at":"2026-02-14T17:20:26.870Z","updated_at":"2026-02-14T17:20:27.361Z","avatar_url":"https://github.com/cwi-dis.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iotsaDisplayServer - web server to drive an LCD display\n\n![build-platformio](https://github.com/cwi-dis/iotsaDisplayServer/workflows/build-platformio/badge.svg)\n![build-arduino](https://github.com/cwi-dis/iotsaDisplayServer/workflows/build-arduino/badge.svg)\n\niotsaDisplayServer is a web server that drives an LCD display, such as an i2c 4x20 character module. Support for a buzzer (to attract user attention) and buttons (programmable to trigger actions by accessing programmable URLs) is included.\n\nHome page is \u003chttps://github.com/cwi-dis/iotsaDisplayServer\u003e.\nThis software is licensed under the [MIT license](LICENSE.txt) by the   CWI DIS group, \u003chttp://www.dis.cwi.nl\u003e.\n\n## Software requirements\n\n* Arduino IDE, v1.6 or later.\n* The iotsa framework, download from \u003chttps://github.com/cwi-dis/iotsa\u003e.\n* The new LiquidCrystal library, download from \u003chttps://github.com/fmalpartida/New-LiquidCrystal.\n\n## Hardware requirements\n\n* an esp8266 board, such as an ESP-12, ESP-201 or iotsa board.\n* An i2c LCD module.\n* Optionally some pushbuttons and a buzzer.\n\n## Hardware construction\n\nInstructions for constructing the hardware using an ESP-201 board are provided in the _extras_ subfolder:\n\n* [DisplayServer-schematic.pdf](extras/DisplayServer-schematic.pdf) has the schematics.\n* [DisplayServer-breadboard.pdf](extras/DisplayServer-breadboard.pdf) shows how to put the bits together on a breadboard. The [Fritzing](http://fritzing.org/home/) project is also available as [DisplayServer-bb.fzz](extras/DisplayServer-bb.fzz).\n* [DisplayServer-stripboard.pdf](extras/DisplayServer-stripboard.pdf) shows how to put the bits together on a stripboard. The [Fritzing](http://fritzing.org/home/) project is also available as [DisplayServer-bb.fzz](extras/DisplayServer-print.fzz).\n\n## Building the software\n\nYou may need to modify the defines `PIN_ALARM`, `WITH_LCD` and `WITH_BUTTONS` near the top, to reflect which optional hardware support you want.\n\nA bit further down you specify the LCD parameters with `PIN_SDA`, `PIN_SCL`, `LCD_WIDTH` and `LCD_HEIGHT`. Depending on the specific LCD you use you may need to make changes in the following few lines.\n\nAbout half way down the file you specify the GPIO pins to which buttons have been connected, in the initializer of the `buttons` variable.\n\nCompile, and flash either using an FTDI or (if your esp board supports it) over-the-air.\n\nIt is also possible to build variants of this service by specifying _iotsa_ build flags:\n\n- `-DIOTSA_WITHOUT_HTTP -DIOTSA_WITH_HTTPS` builds a version that uses https (for securing your display)\n- `-DIOTSA_WITHOUT_HTTP -DIOTSA_WITHOUT_REST -DIOTSA_WITH_COAP` builds a version with no web interface and no REST interface. In stead, the API is exposed over UDP using the COAP protocol. This could be used for an low-power version if you have a suitable low power display.\n\n## Operation\n\nThe first time the board boots it creates a Wifi network with a name similar to _config-iotsa1234_.  Connect a device to that network and visit \u003chttp://192.168.4.1\u003e. Configure your device name (using the name _lcd_ is suggested), WiFi name and password, and after reboot the iotsa board should connect to your network and be visible as \u003chttp://lcd.local\u003e.\n\nVisit \u003chttp://lcd.local/display\u003e to show a message on the display, and/or produce a sound with the beeper.\n\nVisit \u003chttp://lcd.local/buttons\u003e to configure the URLs for the buttons. Whenever a button is pressed an _http GET_ request is sent to the corresponding URL.\n\nThere is a command-line tool (for Linux or MacOSX) in _extras/lcdecho_ that allows you to show messages and control the other parameters programmatically, use\n\n```\nlcdecho --help\n```\n\nfor help.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcwi-dis%2Fiotsadisplayserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcwi-dis%2Fiotsadisplayserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcwi-dis%2Fiotsadisplayserver/lists"}