RESTful API для привязки node-rcswitch на основе Node.js/restify. Позволяет управлять розетками с дистанционным управлением 433 МГц RC с помощью Raspberry-Pi с использованием протокола HTTP. В моем блоге есть сообщение на немецком языке, описывающее требования к оборудованию и схемы.
$ npm install raspi-rcswitch-api
transmitter_pin
определяет вывод GIPO, к которому передатчик подключен к Raspberry Pi. Обратите внимание на номер контакта данных WiringPi. (см. http://wiringpi.com/pins/)retries
отправки сигнала (необязательно) $ npm start
> [email protected] start /home/pi/node-raspi-rcswitch-api
> node daemon.js start
raspi-rcswitch-api Server started. PID: 9082
raspi-rcswitch-api listening at port 3000
По умолчанию сервер работает как демон, используя daemonize2. В качестве альтернативы вы можете начать с
$ node server.js
$ npm stop
http://хост:порт/api/v1/switch/systemCode/unitCode/state
systemCode
Пятизначный двоичный системный код, идентифицирующий систему радиоуправляемого переключателя.unitCode
целое число от 1 до 4, определяющее номер розетки питания в системе.state
может быть on
или off
для целевого состояния розетки. Например, вызов GET к http://host:port/api/v1/switch/10101/2/on
включит вторую розетку питания системы 10101
.
Вы можете указать именованные устройства в файле device_config.json
, чтобы получить к ним быстрый доступ.
В следующем примере обеспечивается доступ к розетке с системным кодом 01001
и кодом устройства 1
под именем Living_Room_Ambient_Light
.
{
"Living_Room_Ambient_Light" : {
"systemCode" : " 01001 " ,
"unitCode" : 1
}
}
Теперь вы можете быстро получить доступ к вилке питания, используя http://host:port/api/v1/switch/Living_Room_Ambient_Light/state. Для значений state
и конфигурации применяются те же ограничения, которые указаны в разделе «Прямой доступ к устройству».
Авторские права (c) 2017 г., Крис Клингер. Лицензия MIT. Полную лицензию см. в разделе ЛИЦЕНЗИЯ.
См. https://github.com/c-klinger/node-raspi-rcswitch-api/issues.