{"id":19607574,"url":"https://github.com/andreax79/serverlessnabaztag","last_synced_at":"2025-04-27T20:32:29.121Z","repository":{"id":5739155,"uuid":"6951405","full_name":"andreax79/ServerlessNabaztag","owner":"andreax79","description":"A firmware allowing controling the Nabaztag/tag directly via web, without an external server","archived":false,"fork":false,"pushed_at":"2023-10-06T16:44:33.000Z","size":33987,"stargazers_count":79,"open_issues_count":8,"forks_count":30,"subscribers_count":21,"default_branch":"main","last_synced_at":"2025-04-05T03:11:12.055Z","etag":null,"topics":["nabaztag"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreax79.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2012-12-01T07:18:11.000Z","updated_at":"2025-03-04T11:54:10.000Z","dependencies_parsed_at":"2022-08-29T10:10:33.177Z","dependency_job_id":"33cf84b6-edf6-4b3c-a53b-47c3bbd70ed1","html_url":"https://github.com/andreax79/ServerlessNabaztag","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreax79%2FServerlessNabaztag","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreax79%2FServerlessNabaztag/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreax79%2FServerlessNabaztag/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreax79%2FServerlessNabaztag/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreax79","download_url":"https://codeload.github.com/andreax79/ServerlessNabaztag/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251204547,"owners_count":21552239,"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":["nabaztag"],"created_at":"2024-11-11T10:11:24.578Z","updated_at":"2025-04-27T20:32:25.156Z","avatar_url":"https://github.com/andreax79.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"ServerlessNabaztag\n==================\n\nServerlessNabaztag is a firmware allowing control of the Nabaztag/tag directly via the web, without an external server (a web server is needed only for downloading the firmware and the mp3s).\n\nWith this firmware, you can connect at http://\\\u003cYOURNABAZTAGIP\\\u003e/ and completely control your rabbit with a very simple web interface, as show in the following screenshot:\n\n![](/imgs/screenshot.png \"Screenshot\")\n\nAll the commands can be called with a single HTTP requests from an external program/script, example:\n\n```\n$ curl http://nabaztag/wakeup\n```\n\nIn examples/check_mail.py, there is a script that turns on the nose when you have unread email and changes the lights color according to the weather forecast.\n\nConfigure the rabbit\n--------------------\n\n* Unplug the rabbit, press the button on its head and hold it while you replug your rabbit. When all the lights are blue, you can release the button\n* On your computer, connect to the wifi network created by your rabbit (the name should be Nabaztag\\\u003cXX\\\u003e)\n* Go to the configuration page at the following address: http://192.168.0.1\n* At the bottom of the page, in General Info, change \"Violet Platform\" to http://nabaztag.joe.dj/vl\n* Click on Update settings and wait for rabbit to reboot.\n* You can now connect to the IP of your rabbit, configure and control it. (note: if your rabbit IP is assigned with DHCP, you have to discover the IP address. Usually you can check the assigned IP from some page on your router)\n\n\nServer install instruction\n--------------------------\n\n* Create a folder \"vl\" an a website\n* Download the file vl/bc.jsp\n* Copy the file \"bc.jsp\" to the web server into the \"vl\" folder (note: it's not a Java Server Page, it's a binary file)\n* Download the mp3 files from https://github.com/andreax79/ServerlessNabaztag/tree/main/vl\n* Copy the mp3 files in the \"vl/config\" directory on the web server. The resulting directroy structure is the following:\n\n![](/imgs/files.jpg \"Directory structure\")\n\n* Unplug the rabbit, press the button on its head and hold it while you replug your rabbit. When all the lights are blue, you can release the button\n* On your computer, connect to the wifi network created by your rabbit (the name should be Nabaztag\\\u003cXX\\\u003e)\n* Go to the configuration page at the following address: http://192.168.0.1\n* At the bottom of the page, in General Info, change \"Violet Platform\" to the url of the vl directory (without http://, example: 192.168.0.1/vl)\n* Click on Update settings and wait for rabbit to reboot.\n* You can now connect to the IP of your rabbit, configure and control it. (note: if your rabbit IP is assigned with DHCP, you have to discover the IP address. Usually you can check the assigned IP from some page on your router)\n\nFirmware features\n-----------------\n\n* Control the rabbit via HTTP API\n* Configure via web interface\n* Fetch the current time from a time server and play the corresponding sound every hour\n* Fetch weather from [open-meteo](https://open-meteo.com)\n* Autonomously wake up at go to sleep\n* Respond to ICMP pings\n\nDevelopment\n-----------\n\nPlease install the following dependencies:\n```\n$ sudo apt-get install gcc-multilib g++-multilib\n```\n\nBuild the compiler and the simulator:\n```\n$ make compilter\n```\n\nBuild the firmware\n```\n$ make firmware\n```\n\nStart local web server:\n```\n$ sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8000\n$ python3 -m http.server\n```\n\n### Links\n\n* [Nabaztag Firmware with WPA2 support](https://github.com/RedoXyde/nabgcc/tree/wpa2)\n* [Milligram, A minimalist CSS framework](https://milligram.io)\n* [open-meteo, Free Weather Forecast API for non-commercial use ](https://github.com/open-meteo/open-meteo)\n* [pynab](https://github.com/nabaztag2018/pynab)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreax79%2Fserverlessnabaztag","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreax79%2Fserverlessnabaztag","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreax79%2Fserverlessnabaztag/lists"}