{"id":23385497,"url":"https://github.com/obono/esp8266livingsensor","last_synced_at":"2026-04-24T12:34:14.283Z","repository":{"id":93935038,"uuid":"253828242","full_name":"obono/ESP8266LivingSensor","owner":"obono","description":"A solution to record indoor environment using Google spreadsheet and ESP-WROOM-02 with several sensors.","archived":false,"fork":false,"pushed_at":"2024-01-27T08:34:28.000Z","size":217,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-30T18:14:18.738Z","etag":null,"topics":["bmp280","esp-wroom-02","esp8266","google-apps-scripts","google-sheets","light-sensor","sound-sensor"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":false,"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/obono.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-07T15:03:59.000Z","updated_at":"2024-04-09T15:01:16.000Z","dependencies_parsed_at":"2024-12-22T00:18:35.568Z","dependency_job_id":"73116f79-c2d6-4cd6-95c5-de3f1f6bacd9","html_url":"https://github.com/obono/ESP8266LivingSensor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/obono/ESP8266LivingSensor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obono%2FESP8266LivingSensor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obono%2FESP8266LivingSensor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obono%2FESP8266LivingSensor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obono%2FESP8266LivingSensor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/obono","download_url":"https://codeload.github.com/obono/ESP8266LivingSensor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obono%2FESP8266LivingSensor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32224225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T10:26:35.452Z","status":"ssl_error","status_checked_at":"2026-04-24T10:25:27.643Z","response_time":64,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["bmp280","esp-wroom-02","esp8266","google-apps-scripts","google-sheets","light-sensor","sound-sensor"],"created_at":"2024-12-22T00:18:30.514Z","updated_at":"2026-04-24T12:34:14.268Z","avatar_url":"https://github.com/obono.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESP8266 Living Sensor\n\n## Description\n\nA solution to record indoor environment using Google Sheets and ESP-WROOM-02 with several sensors.\n\n![Concept image](etc/concept.png)\n\n## Recording server\n\nGoogle Sheets is utilized for recording server.\n\n* Create a new spreadsheet\n* Open script editor\n  1. Click Tools from the menu bar\n  1. Select \"Script editor\" subitem\n* Replace the default script code with the content of [\"main.gs\"](main.gs) and save\n  * You must edit `TOKEN` to random characters for security.\n```\nconst TOKEN = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';\n```\n* Run `setup()` function\n  1. Choose \"setup\" from the functions drop-down list\n  1. Click \u0026#x23F5; icon\n* Publish web app\n  1. Click Publish from the menu bar\n  1. Click \"Deploy as a web app...\"\n  1. Give the project a version number\n  1. Set app access to \"Anyone, even anonymous\"\n  1. Click Deploy\n      * If prompted, review and authorize permissions.\n  1. Copy web app URL from Success prompt\n\n## Sensor device\n\nThis device measures the temperature, illuminance and sound level, and upload them to the sever every 3 minutes.\n\n### Hardware\n\n#### Components\n\n* [ESP-WROOM-02](http://akizukidenshi.com/catalog/g/gM-09607/)\n* Sensors\n  * Temperature sensor: [GY-BMP280-3.3](https://www.aitendo.com/product/15806)\n  * Illuminance sensor: [M2561P5A](https://www.aitendo.com/product/17204)\n  * Condenser microphone: [AE-SPU0414](http://akizukidenshi.com/catalog/g/gM-08940/)\n* LDO module (3.3V): [M-3V3SIP](https://www.aitendo.com/product/13061)\n* USB to serial UART module: [AE-FT234X](http://akizukidenshi.com/catalog/g/gM-08461/)\n* Resistors\n  * 200k\u0026Omega; \u0026times; 2\n  * 10k\u0026Omega; \u0026times; 6\n  * 2.2k\u0026Omega; \u0026times; 1\n  * 390\u0026Omega; \u0026times; 1\n* Electrolytic capacitor\n  * 1\u0026micro;F \u0026times; 1\n* Transistor\n  * NPN type, h\u003csub\u003eFE\u003c/sub\u003e 280\u0026ndash;560: [2SC536-G](http://akizukidenshi.com/catalog/g/gI-13824/)\n* Wires, connectors, switches, etc...\n\n#### Circuit diagram\n\nMain circuit\n\n![Main circuit diagram](etc/circuit_main.png)\n\nWriter circuit\n\n![Writer circuit diagram](etc/circuit_writer.png)\n\n#### Production Example\n\n![Production Example](etc/example.jpg)\n\n\n### Software\n\n#### Build and transfer\n\nClone the source code and open the project file \"ESP8266LivingSensor.ino\" with Arduino IDE.\n\nYou must import ESP8266 board.\n\nThis sketch depends on following libraries. (You can add these by library manager)\n\n* [Adafruit Unified Sensor](https://github.com/adafruit/Adafruit_Sensor)\n* [Adafruit TSL2561](https://github.com/adafruit/Adafruit_TSL2561)\n* [Adafruit BMP280 Library](https://github.com/adafruit/Adafruit_BMP280_Library)\n\nAlso this uses following library.\n\n* [HTTPSRedirect](https://github.com/electronicsguy/ESP8266/tree/master/HTTPSRedirect)\n\nYou must modify [\"Credentials.h\"](Credentials.h) according to your situation.\n\n* `MY_SSID` and `MY_PASSWORD` for your Wi-Fi access point\n  * If you assign static IP address to the device, uncomment `#ifdef STATIC_ADDRESS` and edit `staticIP`, `gateway`, `subnet` and `dns`.\n* `GAS_PATH` and `GAS_TOKEN` for your recoding server\n  * `GAS_PATH` depends on the web app URL.\n  * `GAS_TOKEN` must be same as `TOKEN` of web app script.\n\n```\n#define MY_SSID     \"SSID\"\n#define MY_PASSWORD \"PASSWORD\"\n//#define STATIC_ADDRESS\n\n#ifdef STATIC_ADDRESS\nIPAddress staticIP(192, 168, 1, 100);\nIPAddress gateway(192, 168, 1, 1);\nIPAddress subnet(255, 255, 255, 0);\nIPAddress dns(192, 169, 1, 1);\n#endif\n\n#define GAS_HOST    \"script.google.com\"\n#define GAS_PATH    \"/macros/s/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/exec\"\n#define GAS_TOKEN   \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n```\n\nYou can build the source code with following configuration.\n\n* Board: \"Generic ESP8266 Module\"\n* Builtin Led: \"2\"\n* Upload Speed: \"921600\"\n* CPU Frequency: \"160 MHz\"\n* Crystal Frequency: \"26 MHz\"\n* Flash Size: \"4MB (FS:2MB OTA:~1019KB\"\n* Flash Mode: \"QIO (fast)\"\n* Flash Frequency: \"26 MHz\"\n* Reset Method: \"dtr (aka modemcu)\"\n* Debug port: \"Disabled\"\n* Debug Level: \"None\"\n* lwIP Variant: \"v2 IPv6 Higher Bandwidth\"\n* VTables: \"Flash\"\n* Exceptions: \"Legacy (new can return nullptr)\"\n* Erase Flash: \"Only Sketch\"\n* Espressif FW: \"nonos-sdk 2.2.1+119 (191122)\"\n* SSL Support: \"Basic SSL ciphers (lower ROM use)\"\n\nThen, you can transfer binary data to ESP-WROOM-02 throungh the writer circuit.\n\n## License\n\n![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)\n\nThese codes are licensed under [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobono%2Fesp8266livingsensor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobono%2Fesp8266livingsensor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobono%2Fesp8266livingsensor/lists"}