{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# NooLite MQTT Web Server \n\n\u0412\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 noolite \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0432\u0430\u043c\u0438 \u0447\u0435\u0440\u0435\u0437 MQTT \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \n\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n\n\u0414\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0443\u0436\u0435\u043d Python 3.5+ \u0438 pip\n\n### \u0418\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\n\n\u0412 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b:\n\n- pip \u0434\u043b\u044f \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 python\n\n- git\n\n```bash\n$ pip3 install git+https://bitbucket.org/AlekseevAV/noolite-mqtt-web-server\n```\n\n\u041a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430 ArchLinux \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:\n```bash\n# \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b\n$ pacman -S python python-pip git\n# \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c noolite_api\n$ pip3 install git+https://bitbucket.org/AlekseevAV/noolite-mqtt-web-server\n```\n\n### \u0418\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432\n\n```bash\n# \u041a\u043b\u043e\u043d\u0438\u0440\u0443\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439\n$ git clone https://bitbucket.org/AlekseevAV/noolite-mqtt-web-server\n\n# \u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\n$ cd noolite-mqtt-web-server\n\n# \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\n$ python setup.py install\n```\n\n### \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 MQTT \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0434\u043b\u044f Homebridge\n```bash\n# \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c MQTT \u043f\u043b\u0430\u0433\u0438\u043d \u0434\u043b\u044f homebridge \nhttps://www.npmjs.com/package/homebridge-mqtt\n\n# \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u043a\u043e\u043d\u0444\u0438\u0433 \u0444\u0430\u0439\u043b homebridge (config.json) \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a MQTT\n{\n \"platform\": \"mqtt\",\n \"name\": \"mqtt\",\n \"url\": \"mqtt://127.0.0.1\",\n \"topic_type\": \"multiple\",\n \"topic_prefix\": \"homebridge\",\n \"username\": \"foo\",\n \"password\": \"bar\"\n}\n\n# \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c MQTT \u0431\u0440\u043e\u043a\u0435\u0440 mosquitto. \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0435 \u043e\u0442 \u0430\u0434\u043c\u0438\u043d\u0430\n$ pacman -Sy \n$ pacman -S mosquitto\n\n# \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b (mosquitto.conf)\nnano /etc/mosquitto/mosquitto.conf\n\n\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0438\npid_file /var/run/mosquitto.pid \nuser alarm\n\n# \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438\n$ nano /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/gen/HomeKitTypes.js \n$ cp HomeKitTypes-NooLite.js /usr/lib/node_modules/homebridge/node_modules/\n```\n## \u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 NooLite \u0434\u043b\u044f homebridge\n\n\n1. \u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b HomeKitTypes-NooLite.js \u0438\u0437 \u043a\u043e\u0440\u043d\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0432 /<\u043f\u0443\u0442\u044c \u0434\u043e \u043a\u043e\u0440\u043d\u044f homebridge>/node_modules/hap-nodejs/lib/gen/\n\n\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 `cp HomeKitTypes-NooLite.js /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/gen/`\n\n2. \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u0447\u043a\u0443 `var HomeKitTypesCustom = require('./HomeKitTypes-NooLite');` \u0432 \u043a\u043e\u043d\u0435\u0446 \u0444\u0430\u0439\u043b\u0430 /<\u043f\u0443\u0442\u044c \u0434\u043e \u043a\u043e\u0440\u043d\u044f homebridge>/node_modules/hap-nodejs/lib/gen/HomeKitTypes.js\n\n\u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0434\u0435\u0441\u044c `nano /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/gen/HomeKitTypes.js `\n\n## \u0417\u0430\u043f\u0443\u0441\u043a\n\n```\n$ noolite_web_server\n```\n\n## \u0410\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a\n\n\u0421\u043e\u0437\u0434\u0430\u0435\u043c `autorun.sh` \u0444\u0430\u0439\u043b:\n```bash\ncat < /home/alarm/autorun.sh\n#!/bin/sh -\navahi-daemon &\nsleep 10\nnohup mosquitto -c /etc/mosquitto/mosquitto.conf -d &>> /home/alarm/mosquitto_log&\nsleep 15\nnohup homebridge &>> /home/alarm/homebridge_log &\nsleep 15\nnohup noolite_serve &>> /home/alarm/http-api-server_log &\nend\n```\n\n\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 `autorun.sh` \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a:\n```bash\ncat < /etc/systemd/system/autorun@root.service\n[Unit]\nDescription=Homebridge\nAfter=network.target\nAfter=avahi-daemon.service\n\n[Service]\nType=forking\nUser=%i\nExecStart=/home/alarm/autorun.sh\n\n[Install]\nWantedBy=multi-user.target\nend\n```\n## \u0420\u0430\u0431\u043e\u0442\u0430\n\n\u0412\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 :8080\n\n### \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\n\n\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 | \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\n---------- | --------\n`/` | \u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0434\u043b\u044f \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u0435\u043c\u0430-\u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043a\u043e\u043c\u0430\u043d\u0434 \u043d\u0430 \u0441\u0438\u043b\u043e\u0432\u044b\u0435 \u0431\u043b\u043e\u043a\u0438\n`/api.htm` | \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b GET \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u044b \u043d\u0430 USB-\u0430\u0434\u0430\u043f\u0442\u0435\u0440\n\n\n\u041a\u043e\u043c\u0430\u043d\u0434\u044b \u043a USB-\u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0443 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043b\u0438\u0431\u043e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044f GET \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043d\u0430 `/api.htm` \u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438, \u043f\u0435\u0440\u0435\u0434\u0432\u0430\u0435\u043c\u044b\u043c\u0438 \u0432 URL,\n\u043b\u0438\u0431\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0444\u043e\u0440\u043c\u0443 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 `/` (_\u0434\u0430\u043d\u043d\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 GET \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043d\u0430 `/api.htm` \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u043d\u0435\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438_)\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/AlekseevAV/noolite-mqtt-web-server", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "noolite-mqtt-webserver", "package_url": "https://pypi.org/project/noolite-mqtt-webserver/", "platform": "", "project_url": "https://pypi.org/project/noolite-mqtt-webserver/", "project_urls": { "Homepage": "https://bitbucket.org/AlekseevAV/noolite-mqtt-web-server" }, "release_url": "https://pypi.org/project/noolite-mqtt-webserver/0.1.2/", "requires_dist": null, "requires_python": "", "summary": "Web server for NooLite.", "version": "0.1.2" }, "last_serial": 3356845, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "e614c7335c4ec4aa86a28fbc54b83e16", "sha256": "d320ce5b51d3ca57f9ba793625ada3966d8cb5e194b0e1298725a5822e313b95" }, "downloads": -1, "filename": "noolite-mqtt-webserver-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e614c7335c4ec4aa86a28fbc54b83e16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 504461, "upload_time": "2017-11-23T00:26:34", "url": "https://files.pythonhosted.org/packages/02/f8/eb5ab93aecf7d82b3f89989fe38a786f9eba60c093844e62f1992997f44b/noolite-mqtt-webserver-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e614c7335c4ec4aa86a28fbc54b83e16", "sha256": "d320ce5b51d3ca57f9ba793625ada3966d8cb5e194b0e1298725a5822e313b95" }, "downloads": -1, "filename": "noolite-mqtt-webserver-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e614c7335c4ec4aa86a28fbc54b83e16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 504461, "upload_time": "2017-11-23T00:26:34", "url": "https://files.pythonhosted.org/packages/02/f8/eb5ab93aecf7d82b3f89989fe38a786f9eba60c093844e62f1992997f44b/noolite-mqtt-webserver-0.1.2.tar.gz" } ] }