nRF905 Arduino API. Compatible with ESP8266 and ESP32 boards, tested on Wemos D1 mini Pro, NodeMCU 1.0 (ESP-12E module) and DOIT ESP32 Dev Module.
https://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
nRF905
. Connect to that access point with the password nrf905api
.http://192.168.4.1/
Due to lack of time it might take a long time for me to give support.
Configure the nRF905.
Example:
http://192.168.x.y/api/v1/config.json?frequency=868400000&crc=16&txpower=10&rxpower=normal&rxaddr=a55a5aa5&txaddr=a55a5aa5&rxaddrwidth=4&txaddrwidth=4&rxpayloadwidth=16&txpayloadwidth=16
Parameter | Required | Description |
---|---|---|
frequency |
No | Set the RF frequency |
crc |
No | off : disable CRC8 : enable 8-bit CRC16 : enable 16-bt CRC |
txpower |
No | Set the RF transmit power-10 : -10dBm-2 : -2dBm6 : 6dBm10 : 10dBm |
rxpower |
No | Set the RF receive powernormal : normal receive modelow : low power receive mode |
txaddrwidth |
No | Set the number of Tx address bytes1 : 1 byte4 : 4 bytes |
rxaddrwidth |
No | Set the number of Rx address bytes1 : 1 byte4 : 4 bytes |
txpayloadwidth |
No | Set the number of Tx payload bytes1...32 : Payload is 1...32 bytes |
rxpayloadwidth |
No | Set the number of Rx payload bytes1...32 : Payload is 1...32 bytes |
txaddr |
No | Set the Tx address0x12345678 : Set Tx address to 0x12345678 |
rxaddr |
No | Set the Rx address0x12345678 : Set Rx address to 0x12345678 |
nvram |
No | Store the nRF905 configuration in NVRAMtrue : Store nRF905 config in NVRAMfalse : Do not store nRF905 config in NVRAM |
This will show a status page with details about the hardware. This API call takes no parameters.
Example:
http://192.168.x.y/api/v1/status.json
This will return a list of received data frames by the nRF905. This API call takes no parameters.
Example:
http://192.168.x.y/api/v1/receive.json
This will transmit data. After the data has been transmitted, the API will wait for data to be received (a reply to the transmitted data). By default it will wait for 2 seconds, but you can change this by adding the timeout
parameter.
Example:
http://192.168.x.y/api/v1/send.json?txaddr=aabbccdd&payload=0400035efa0c04a55a5aa50000000000&timeout=10
Parameter | Required | Description |
---|---|---|
txaddr |
Yes | Address to send the data to |
payload |
Yes | The data to be sent |
timeout |
No | Timeout for reading data after the transmission is completed (in seconds) Default: 2 seconds |
Configure the system board.
Example:
http://192.168.x.y/api/v1/systemconfig.json?reset=true
Parameter | Required | Description |
---|---|---|
reset |
No | Reset the systemtrue : Reset system |
nvram |
No | Clear the NVRAMclear : Clear the NVRAM |
Link the nRF905-API to a fan device. This API call takes no parameters.
Example:
http://192.168.x.y/api/v2/fan/link.json
Configure the fan parameters.
Example:
http://192.168.x.y/api/v2/fan/config.json?model=zehnder&network=1a2b3c4d&main_unit_id=91&device_id=5d
Parameter | Required | Description |
---|---|---|
model |
Yes | Fan model:zehnder : Zehnder fans (868.400MHz)buva : BUVA fans (868.200MHz) |
network |
Yes | Network ID of your fan network |
main_unit_id |
Yes | ID of your fan main unit |
device_id |
Yes | ID of your nRF905-API |
Set the fan speed of your fan device.
Example:
http://192.168.x.y/api/v2/fan/setspeed.json?speed=high
Parameter | Required | Description |
---|---|---|
speed |
Yes | Fan speed:low : Low speedmedium : Medium speedhigh : High speedmax : Maximum speed |
timer |
No | Set the fan timer (number of minutes) |
Set the fan voltage of your fan device.
Example:
http://192.168.x.y/api/v2/fan/setvoltage.json?voltage=2.4
Parameter | Required | Description |
---|---|---|
voltage |
Yes | Voltage:0.0 ...10.0 : Voltage; range between 0.0 volt and 10.0 volt |
Query a device for it's current settings (this API endpoint is not yet finished and is in test-mode).
Example:
http://192.168.x.y/api/test/fan/querydevice.json?device_id=32
Parameter | Required | Description |
---|---|---|
device_id |
No | Device ID: ID of a fan device. By default it will select the fan it's linked to |