pi-awning-webthing


Namepi-awning-webthing JSON
Version 0.2.10 PyPI version JSON
download
home_pagehttps://github.com/grro/pi_awning_webthing
SummaryA web connected terrace awning controller on Raspberry Pi
upload_time2022-12-17 12:47:44
maintainer
docs_urlNone
authorGregor Roth
requires_python
licenseMIT
keywords webthings awning control pation terrace
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pi_awning_webthing
A web connected terrace awning controller on Raspberry Pi

Currently supported are [TB6612FNG driven](https://www.pololu.com/product/713) motors such 
as [DGO-3512ADA](https://www.ebay.co.uk/itm/Gear-Motor-Direct-Current-6-12V-Electric-With-Removable-Crank-DGO-3512ADA-/183375290396). 
The concrete motor configuration(s) are defined by using a config file such s shown below. 
```
# name, gpio_forward, gpio_backward, step_duration_in_sec
lane1, 2, 3, 0.5
lane2, 19, 26, 0.5
lane3, 5, 6, 0.5
lane4, 10, 9, 0.5
```
For TB6612FNG driven motors the filename has to include the term *tb6612fng* such as tb6612fng_motors.config. Regarding the 
hardware setup and wiring please refer [example hardware setup](doc/dgo-3512ada.md)

To install this software you may use [Docker](https://phoenixnap.com/kb/docker-on-raspberry-pi) or [PIP](https://realpython.com/what-is-pip/) package manager such as shown below

**Docker approach**
```
sudo docker run --privileged -p 9500:9500 -v /etc/awning/:/etc/awning/ -e filename=/etc/awning/tb6612fng_motors.config  grro/pi_awning_webthing:0.2.0
```

**PIP approach**
```
sudo pip install pi-awning-webthing
```

After this installation you may start the webthing http endpoint inside your python code or via command line using
```
sudo awning --command listen--port 9500 --filename /etc/awning/tb6612fng_motors.config
```
Here, the webthing API will be bind on the local port 9500 

Alternatively to the *listen* command, you can use the *register* command to register and start the webthing service as systemd unit. 
By doing this the webthing service will be started automatically on boot. Starting the server manually using the *listen* command is no longer necessary. 
```
sudo awning --command register --port 9500 --filename /etc/awning/tb6612fng_motors.config 
```

The awning service exposes an http webthing endpoint supporting the awning properties. E.g. 
```
# webthing has been started on host 192.168.0.23

curl http://192.168.0.23:9500/properties 

{
 [
    {
       "id":"urn:dev:ops:awning-TB6612FNG",
       "title":"AwningControl",
       "@context":"https://iot.mozilla.org/schemas",
       "properties":{
          "target_position":{
             "@type":"LevelProperty",
             "title":"awning lane1 target position",
             "type":"integer",
             "minimum":0,
             "maximum":100,
             "description":"awning lane1 target position",
             "links":[
                {
                   "rel":"property",
                   "href":"/0/properties/target_position"
                }
             ]
          },
          "current_position":{
             "@type":"LevelProperty",
             "title":"awning lane1 current position",
             "type":"integer",
             "minimum":0,
             "maximum":100,
             "readOnly":true,
             "description":"awning lane1 current position",
             "links":[
                {
                   "rel":"property",
                   "href":"/0/properties/current_position"
                }
             ]
          },
          "retracting":{
             "@type":"OnOffProperty",
             "title":"lane1 is retracting",
             "type":"boolean",
             "readOnly":true,
             "description":"lane1 is retracting",
             "links":[
                {
                   "rel":"property",
                   "href":"/0/properties/retracting"
                }
             ]
          },
          "extending":{
             "@type":"OnOffProperty",
             "title":"lane1 is extending",
             "type":"boolean",
             "readOnly":true,
             "description":"lane1 is extending",
             "links":[
                {
                   "rel":"property",
                   "href":"/0/properties/extending"
                }
             ]
          }
       },
       "actions":{

       },
       "events":{

       },
       "links":[
          {
             "rel":"properties",
             "href":"/0/properties"
          },
          {
             "rel":"actions",
             "href":"/0/actions"
          },
          {
             "rel":"events",
             "href":"/0/events"
          },
          {
             "rel":"alternate",
             "href":"ws://192.168.0.23:9500/0"
          }
       ],
       "description":"A web connected patio awnings controller on Raspberry Pi",
       "@type":[
          "MultiLevelSensor"
       ],
       "href":"/0",
       "base":"http://192.168.0.23:9500/0",
       "securityDefinitions":{
          "nosec_sc":{
             "scheme":"nosec"
          }
       },
       "security":"nosec_sc"
    },
    ...
 ]
}
```



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/grro/pi_awning_webthing",
    "name": "pi-awning-webthing",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "webthings,awning,control,pation,terrace",
    "author": "Gregor Roth",
    "author_email": "gregor.roth@web.de",
    "download_url": "https://files.pythonhosted.org/packages/2c/f5/3b35c4df980bd12f77c40aa911b4349cea61197fa81a3e704d0a3115d655/pi_awning_webthing-0.2.10.tar.gz",
    "platform": null,
    "description": "# pi_awning_webthing\nA web connected terrace awning controller on Raspberry Pi\n\nCurrently supported are [TB6612FNG driven](https://www.pololu.com/product/713) motors such \nas [DGO-3512ADA](https://www.ebay.co.uk/itm/Gear-Motor-Direct-Current-6-12V-Electric-With-Removable-Crank-DGO-3512ADA-/183375290396). \nThe concrete motor configuration(s) are defined by using a config file such s shown below. \n```\n# name, gpio_forward, gpio_backward, step_duration_in_sec\nlane1, 2, 3, 0.5\nlane2, 19, 26, 0.5\nlane3, 5, 6, 0.5\nlane4, 10, 9, 0.5\n```\nFor TB6612FNG driven motors the filename has to include the term *tb6612fng* such as tb6612fng_motors.config. Regarding the \nhardware setup and wiring please refer [example hardware setup](doc/dgo-3512ada.md)\n\nTo install this software you may use [Docker](https://phoenixnap.com/kb/docker-on-raspberry-pi) or [PIP](https://realpython.com/what-is-pip/) package manager such as shown below\n\n**Docker approach**\n```\nsudo docker run --privileged -p 9500:9500 -v /etc/awning/:/etc/awning/ -e filename=/etc/awning/tb6612fng_motors.config  grro/pi_awning_webthing:0.2.0\n```\n\n**PIP approach**\n```\nsudo pip install pi-awning-webthing\n```\n\nAfter this installation you may start the webthing http endpoint inside your python code or via command line using\n```\nsudo awning --command listen--port 9500 --filename /etc/awning/tb6612fng_motors.config\n```\nHere, the webthing API will be bind on the local port 9500 \n\nAlternatively to the *listen* command, you can use the *register* command to register and start the webthing service as systemd unit. \nBy doing this the webthing service will be started automatically on boot. Starting the server manually using the *listen* command is no longer necessary. \n```\nsudo awning --command register --port 9500 --filename /etc/awning/tb6612fng_motors.config \n```\n\nThe awning service exposes an http webthing endpoint supporting the awning properties. E.g. \n```\n# webthing has been started on host 192.168.0.23\n\ncurl http://192.168.0.23:9500/properties \n\n{\n [\n    {\n       \"id\":\"urn:dev:ops:awning-TB6612FNG\",\n       \"title\":\"AwningControl\",\n       \"@context\":\"https://iot.mozilla.org/schemas\",\n       \"properties\":{\n          \"target_position\":{\n             \"@type\":\"LevelProperty\",\n             \"title\":\"awning lane1 target position\",\n             \"type\":\"integer\",\n             \"minimum\":0,\n             \"maximum\":100,\n             \"description\":\"awning lane1 target position\",\n             \"links\":[\n                {\n                   \"rel\":\"property\",\n                   \"href\":\"/0/properties/target_position\"\n                }\n             ]\n          },\n          \"current_position\":{\n             \"@type\":\"LevelProperty\",\n             \"title\":\"awning lane1 current position\",\n             \"type\":\"integer\",\n             \"minimum\":0,\n             \"maximum\":100,\n             \"readOnly\":true,\n             \"description\":\"awning lane1 current position\",\n             \"links\":[\n                {\n                   \"rel\":\"property\",\n                   \"href\":\"/0/properties/current_position\"\n                }\n             ]\n          },\n          \"retracting\":{\n             \"@type\":\"OnOffProperty\",\n             \"title\":\"lane1 is retracting\",\n             \"type\":\"boolean\",\n             \"readOnly\":true,\n             \"description\":\"lane1 is retracting\",\n             \"links\":[\n                {\n                   \"rel\":\"property\",\n                   \"href\":\"/0/properties/retracting\"\n                }\n             ]\n          },\n          \"extending\":{\n             \"@type\":\"OnOffProperty\",\n             \"title\":\"lane1 is extending\",\n             \"type\":\"boolean\",\n             \"readOnly\":true,\n             \"description\":\"lane1 is extending\",\n             \"links\":[\n                {\n                   \"rel\":\"property\",\n                   \"href\":\"/0/properties/extending\"\n                }\n             ]\n          }\n       },\n       \"actions\":{\n\n       },\n       \"events\":{\n\n       },\n       \"links\":[\n          {\n             \"rel\":\"properties\",\n             \"href\":\"/0/properties\"\n          },\n          {\n             \"rel\":\"actions\",\n             \"href\":\"/0/actions\"\n          },\n          {\n             \"rel\":\"events\",\n             \"href\":\"/0/events\"\n          },\n          {\n             \"rel\":\"alternate\",\n             \"href\":\"ws://192.168.0.23:9500/0\"\n          }\n       ],\n       \"description\":\"A web connected patio awnings controller on Raspberry Pi\",\n       \"@type\":[\n          \"MultiLevelSensor\"\n       ],\n       \"href\":\"/0\",\n       \"base\":\"http://192.168.0.23:9500/0\",\n       \"securityDefinitions\":{\n          \"nosec_sc\":{\n             \"scheme\":\"nosec\"\n          }\n       },\n       \"security\":\"nosec_sc\"\n    },\n    ...\n ]\n}\n```\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A web connected terrace awning controller on Raspberry Pi",
    "version": "0.2.10",
    "split_keywords": [
        "webthings",
        "awning",
        "control",
        "pation",
        "terrace"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "e0eb986f6f144f07a9560a5b791ad15c",
                "sha256": "929f5bdee4176933b188fcb143e9157bc9dce8d31240ca24b2cd1f4eb878a476"
            },
            "downloads": -1,
            "filename": "pi_awning_webthing-0.2.10-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e0eb986f6f144f07a9560a5b791ad15c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 15231,
            "upload_time": "2022-12-17T12:47:42",
            "upload_time_iso_8601": "2022-12-17T12:47:42.859717Z",
            "url": "https://files.pythonhosted.org/packages/a2/f5/5a10254aa97d000b68a7be02dc2d1a51967ec57002403c885d8f98a28c42/pi_awning_webthing-0.2.10-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "fb34eff12182cc9e8b167e1418f932ba",
                "sha256": "c5c3685b168cad630396908063f28e17412208991ab3653b72e0ca3c60e874be"
            },
            "downloads": -1,
            "filename": "pi_awning_webthing-0.2.10.tar.gz",
            "has_sig": false,
            "md5_digest": "fb34eff12182cc9e8b167e1418f932ba",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 10506,
            "upload_time": "2022-12-17T12:47:44",
            "upload_time_iso_8601": "2022-12-17T12:47:44.088823Z",
            "url": "https://files.pythonhosted.org/packages/2c/f5/3b35c4df980bd12f77c40aa911b4349cea61197fa81a3e704d0a3115d655/pi_awning_webthing-0.2.10.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-17 12:47:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "grro",
    "github_project": "pi_awning_webthing",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pi-awning-webthing"
}
        
Elapsed time: 0.02014s