четверг, 15 ноября 2012 г.

Работа с Arduino из PHP

Иногда требуется получить доступ к arduino (и COM-поту вообще) из PHP-скриптов (например из web-морды Умного Дома, как же без нее =) ).

Т.к. велосипеды для таких поездок уже изобретены, остается подключить и допилить под свои нужды.

Сам класс для работы с COM-портом стягиваем отсюда php_serial.class.php, попутно говоря спасибо Rémy Sanchez.

Пример использования можно найти здесь, но для ардуины придется немного перепилить.
У меня заработало примерно вот так:

################################################################
<?php
include "php_serial.php";

// Let's start the class
$serial = new phpSerial;

// First we must specify the device. This works on both linux and windows (if
// your linux serial device is /dev/ttyS0 for COM1, etc) 

// у меня на роутере определяется так. у себя можно посмотреть
// командой dmesg после подключения ардуины. в виндус проще$serial->deviceSet("/dev/ttyUSB0");

$serial->confBaudRate(9600); //Baud rate: 9600
$serial->confParity("none"); //Parity (this is the "N" in "8-N-1")
$serial->confStopBits(1); //Stop bits (this is the "1" in "8-N-1")

// Для начала работы с железкой нужно вызвать deviceOpen();
$serial->deviceOpen();

// пример записи в порт
$serial->sendMessage('1');

// пример чтения из порта
$read = $serial->readPort();
echo $read;


// Если нужно изменить что-то в конфигурации, нужно вызвать:
$serial->deviceClose();  

// etc...
?>

################################################################

Остается красиво впилить это дело в свой движок =)

Напоследок цитата автора о совместимости с разными OS:

==> /!\ WARNING /!\ : 
it's working with linux for r/w, but with windows i've only been able to make write working. 
If you're a windows user, try to access the serial port through network with serproxy instead. 
The class have been reported to work fine with Mac OS X, but i've not tested it, so I've left the OS test in the sourcecode, but feel free to add macos in it.

воскресенье, 11 ноября 2012 г.

Google Music в России

Хоть этот сервис уже официально запущен, в России его использование пока не возможно... Но попробовать то хочется уже сейчас :) Поэтому: лайфхак для тех кто еще не в курсе как его завести.
Для затравки:

При переходе с российского диапазона ip-адресов, нам пишет что в нашей стране его пока использовать нельзя. Поэтому нам надо просто съездить за границу и активировать его там. Ну или просто поменять ип =)) Я использовал сервис hideipvpn.com, сервис платный, но для теста выделяют 3 часа - этого более чем достаточно. Регистрируемся, на почту упадет письмо с логином/паролем и список серверов.
Далее все просто - создаем стандартное VPN подключение, выбираем понравившийся сервер из письма (некоторые бывают недоступны, так что если не подключается, нужно попробовать следующий по списку), подключаемся. Еще раз заходим на play.google.com/music и видим заветную кнопочку =) Принимаем условия и все, VPN подключение больше не нужно, дальше будет работать и так.
О плюшках: можно загрузить 20.000 песен (в mp3, loseless, etc..). Ограничение по кол-ву а не по размеру :) Покупать в маркете пока нельзя, хотя возможно помогут эксперименты с ip.