Polish rfswitch documentation

This commit is contained in:
Marcel Stör 2017-01-15 21:23:56 +01:00
parent f176697e13
commit 0d572eedca
1 changed files with 12 additions and 19 deletions

View File

@ -4,14 +4,9 @@
| 2016-12-01 | [Roman Fedorov](https://github.com/ffedoroff) | [Roman Fedorov](https://github.com/ffedoroff) | [rfswitch.c](../../../app/modules/rfswitch.c)| | 2016-12-01 | [Roman Fedorov](https://github.com/ffedoroff) | [Roman Fedorov](https://github.com/ffedoroff) | [rfswitch.c](../../../app/modules/rfswitch.c)|
Module for operate 433/315Mhz devices like power outlet sockets, relays, etc. Module to operate 433/315Mhz devices like power outlet sockets, relays, etc. This will most likely work with all popular low cost power outlet sockets with a SC5262 / SC5272, HX2262 / HX2272, PT2262 / PT2272, EV1527, RT1527, FP1527 or HS1527 chipset.
This will most likely work with all popular low cost power outlet sockets
with a SC5262 / SC5272, HX2262 / HX2272, PT2262 / PT2272, EV1527,
RT1527, FP1527 or HS1527 chipset.
This module using some code from original [rc-switch](https://github.com/sui77/rc-switch/) arduino lib This module uses some code from the [original rc-switch Arduino lib](https://github.com/sui77/rc-switch/) but NodeMCU and Arduino are not fully compatible. This required that **rc-switch** was rewritten into **rfswitch** NodeMCU with Lua support.
but NodeMCU and Arduino are not fully compatible, and it cause
for full rewrite **rc-switch** into this new **rfswitch** lib for NodeMCU with Lua support.
### Connection of transmitter ### Connection of transmitter
@ -21,20 +16,19 @@ for full rewrite **rc-switch** into this new **rfswitch** lib for NodeMCU with L
| ground or - | GND | ground should be connected to ESP8266 and to power source | | ground or - | GND | ground should be connected to ESP8266 and to power source |
| data pin | 6 | almost any pin on ESP8266 | | data pin | 6 | almost any pin on ESP8266 |
You can read more about connection, [here](https://alexbloggt.com/wp-content/uploads/2015/10/nodemcu_433_transmitter.png) or [here](https://alexbloggt.com/funksteckdosensteuerung-mit-esp8266/). You can read more about connection [here](https://alexbloggt.com/wp-content/uploads/2015/10/nodemcu_433_transmitter.png).
### Selecting proper protocol ### Selecting proper protocol
Current library supports **transmitting** using 6 different protocols This module supports **transmitting** data using 6 different protocols
and you should use proper one for your needs. and you should use one most suitable for your needs. **Receiving** data is not supported yet. So, you cannot listen radio air and get protocol details using Lua.
Current lua library rfswitch doesn't support **receiver** functional yet, so you cannot
listen radio air and get protocol details using lua.
The easiest way to get correct protocol is connect radio receiver to your ESP8266 or [Arduino](https://github.com/sui77/rc-switch/wiki/HowTo_Receive), The easiest way to get the correct protocol is to connect the radio receiver to your ESP8266 or [Arduino](https://github.com/sui77/rc-switch/wiki/HowTo_Receive),
then run [ReceiveDemo_Advanced.ino](https://github.com/sui77/rc-switch/blob/master/examples/ReceiveDemo_Advanced/ReceiveDemo_Advanced.ino) then run [ReceiveDemo_Advanced.ino](https://github.com/sui77/rc-switch/blob/master/examples/ReceiveDemo_Advanced/ReceiveDemo_Advanced.ino)
and view output in serial console ([example1](http://www.instructables.com/id/Control-CoTech-Remote-Switch-With-Arduino-433Mhz/?ALLSTEPS), and view output in serial console ([example1](http://www.instructables.com/id/Control-CoTech-Remote-Switch-With-Arduino-433Mhz/?ALLSTEPS),
[example2](http://randomnerdtutorials.com/esp8266-remote-controlled-sockets/)). [example2](http://randomnerdtutorials.com/esp8266-remote-controlled-sockets/)).
You should get something like this: You should get something like this:
``` ```
Decimal: 11001351 (24Bit) Decimal: 11001351 (24Bit)
Binary: 101001111101111000000111 Binary: 101001111101111000000111
@ -48,19 +42,18 @@ More detailed about low level protocol specifications could be found [here](http
You can visualize a telegram copy the raw data by paste it into [http://test.sui.li/oszi/]() You can visualize a telegram copy the raw data by paste it into [http://test.sui.li/oszi/]()
## rfswitch.send() ## rfswitch.send()
Transmit value ising radio module. Transmit data using the radio module.
#### Syntax #### Syntax
`rfswitch.send(protocol_id, pulse_length, repeat, pin, value, length)` `rfswitch.send(protocol_id, pulse_length, repeat, pin, value, length)`
#### Parameters #### Parameters
- `protocol_id` positive integer value, from 1-6 - `protocol_id` positive integer value, from 1-6
- `pulse_length` length of one pulse in microseconds, usually from 100 till 650 - `pulse_length` length of one pulse in microseconds, usually from 100 to 650
- `repeat` repeat value, usually from 1 till 5. This is synchronous task. - `repeat` repeat value, usually from 1 to 5. This is a synchronous task. Setting the repeat count to a large value will cause problems.
Setting the repeat count to a large value will cause problems. The recommended limit is about 1-4. If you need more,
The recommended limit is about 1-4, if you need more,
then call it asynchronously a few more times (e.g. using [node.task.post](../modules/node/#nodetaskpost)) then call it asynchronously a few more times (e.g. using [node.task.post](../modules/node/#nodetaskpost))
- `pin` IO index of pin, example 6 is for GPIO12 [see more](../modules/gpio/) - `pin` I/O index of pin, example 6 is for GPIO12, see [details](../modules/gpio/)
- `value` positive integer value, this is the primary data which will be sent - `value` positive integer value, this is the primary data which will be sent
- `length` bit length of value, if value length is 3 bytes, then length is 24 - `length` bit length of value, if value length is 3 bytes, then length is 24