Project

General

Profile

GPD_Pocket

https://twitter.com/aretan/status/903136962655092736

概要

幻のUMPCであるGPD Pocketは家庭用サーバーになった。

  • Google Homeで家電を操作したい
  • Web画面で家電を操作したい
  • センサーのデータをグラフにしたい

購入

  1. 8/29 aliexpress.com 購入
  2. 9/5 DHL集荷 HONG KONG - HONG KONG
  3. 9/6 DHL中継 NAGOYA CBD - JAPAN
  4. 9/7 DHL配達完了

GPD Pocket $485.19 - Discount $9 + Free Shipping = $476.19
$476.19 * 111.746 = 53,212円 (UFJ VISAドル建て)

Gogle Home

DialogflowからWebhookしてもらう

$ sudo apt install nginx-light libnginx-mod-http-lua luarocks
$ sudo luarocks install lua-cjson

あとはLuaでこんな感じで受けてあげる

local cjson = require('cjson').new();

ngx.req.read_body()
local ok, req = pcall(cjson.decode, ngx.req.get_body_data());
if not ok then
   ngx.say('ERROR');
   ngx.exit(ngx.OK);
end

local res = {
   source = req.result.source,
   speech = 'OK',
   displayText = 'OK',
};

ngx.say(cjson.encode(res));

Web操作

これもGoogle HomeでインストールしたNginxとLuaで受けてあげる。
あとわかりやすいように何を操作されたかパソコンに喋ってもらう事にした。

$ sudo apt install espeak
$ sudo usermod -aG audio www-data
$ espeak hello

赤外線

USB赤外線リモコンアドバンス ADIR01P
ビット・トレード・ワン
¥4,514

http://a-desk.jp/modules/mydownloads/singlefile.php?cid=3&lid=85
から「bto_advanced_USBIR_cmd101.zip」をダウンロードしてそのまま使った。

args = ngx.req.get_uri_args()

if args['action'] then
   local match, err = ngx.re.match(args['action'], '[a-z-]+')
   if match[0] then
      os.execute(string.format('espeak %s &', match[0]))
      os.execute(string.format('bto_advanced_USBIR_cmd -d $(cat %s.txt)', match[0]))
      ngx.redirect('/')
      ngx.exit()
   end
end

カメラ

USB2.0 HDウェブカメラ
Cimkiz
¥1,290

ライブ配信できるようにmjpg-streamerというのを使ってNginxでプロキシしてあげた。

$ svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer mjpg-streamer
$ cd mjpg-streamer
$ make
$ sudo make install
$ sudo usermod -aG video www-data
$ cat /etc/systemd/system/mjpg-streamer.service
[Unit]
Description=Webcam Video Streaming
Requires=dev-video0.device
BindsTo=dev-video0.device

[Service]
ExecStart=/usr/local/bin/mjpg_streamer -i "/usr/local/lib/input_uvc.so -f 10 -r 320x240 -d /dev/video0 -y -n" -o "/usr/local/lib/output_http.so -p 8080"

温度計

USB温度計 TEMPer
¥980

もう凝ったことするのやめて、Muninをインストールした。

$ sudo apt install munin

温度ほしいだけだったので/etc/munin/pluginsほとんど消した。

あとのもの(つなぐだけ)

USB2.0 LANアダプタ LAN-ADUSBRJ45
サンワサプライ
¥1,645
USB2.0ハブ ブラック USB-HUB227BK
サンワサプライ
¥1182

スペック表

GPD Pocket GPD Win2
定価 $599 $899
発売 2017/09 2018/08
OS Windows 10 Home Windows 10 Home
ディスプレイ 7インチ
1920×1200 323ppi
タッチパネル
6インチ
1280×720 ?ppi
タッチパネル
プロセッサ Intel Atom x7-Z8750
1.6GHz / 2.56GHz / 4W
Intel Core m3-7Y30
1.0GHz / 2.6GHz / 15W
Geekbench Single: 1103
Multi: 3063
Single: 2595
Multi: 4598
メモリ 8GB 8GB
ストレージ eMMC 128GB M.2 SSD 128GB
バッテリー 26Wh 37Wh
サイズ 18.0cm x 10.6cm x 1.9cm 16.2cm x 9.9cm x 2.5cm
重量 480g 460g
ポート USB-A x 1
USB-C x 1
イヤホンジャック
Micro-HDMI
USB-A x 1
USB-C x 1
イヤホンジャック
Micro-HDMI
Micro SD

temp-day.png View (18.3 KB) 2018-02-05

camera.png View (174 KB) 2018-03-19

remote.png View (242 KB) 2018-03-19