diff --git a/README.md b/README.md index f85c756..c14cc0c 100644 --- a/README.md +++ b/README.md @@ -8,3 +8,21 @@ * RABBITMQ_USER * RABBITMQ_PASSWORD * RABBITMQ_USE_SSL + +## docker-compose sample +``` +version: "2" + +services: + barcode-scanner: + image: mxfox.ru/mxfox/barcode-scanner-client:latest + devices: + - "/dev/ttyACM0:/dev/ttyACM0" + environment: + - 'SCANNER_PORT=/dev/ttyACM0' + - 'RABBITMQ_HOST=rabbitmq' + - 'RABBITMQ_USER=user' + - 'RABBITMQ_PASSWORD=pass' + - 'RABBITMQ_USE_SSL=false' + - 'RABBITMQ_VIRTUAL_HOST=/' +``` \ No newline at end of file diff --git a/barcodeScanner.php b/barcodeScanner.php index af8b168..43330f3 100644 --- a/barcodeScanner.php +++ b/barcodeScanner.php @@ -15,9 +15,8 @@ $rabbitLogin=getenv("RABBITMQ_USER"); $rabbitPass=getenv("RABBITMQ_PASSWORD"); $rabbitUseSSL=getenv("RABBITMQ_USE_SSL")==="true"; $rabbitVirtualHost=getenv("RABBITMQ_VIRTUAL_HOST")?getenv("RABBITMQ_VIRTUAL_HOST"):"/"; +$routingTag=getenv("DEFAULT_TAG")?getenv("DEFAULT_TAG"):null; - -$routingTag=null; $connection=null; $channel=null; @@ -54,6 +53,14 @@ function rabbitConnect($rabbitHost, $rabbitPort, $rabbitLogin, $rabbitPass, $rab return $connection; } +function register($channel, $routingTag) { + print "Register\n"; + if (!empty($routingTag)) { + $msg = new AMQPMessage(json_encode(["type"=>"service","data"=>"register"])); + $channel->basic_publish($msg, 'fox.barcode', $routingTag); + } +} + function scanner($channel, $port) { global $routingTag; @@ -68,6 +75,7 @@ function scanner($channel, $port) { } } + while (1) { $buffer = fgets($fp, 4096); $rv=explode("\n", $buffer);