Aopika技術日記

WEB制作の情報を自分のためにまとめたい

マウスで簡単に代用できる、raspberrypiの物理ボタンを実装。

ついこの間「raspberry piを使って家のIoT化」で作ったラズパイサーバーのwifi接続が切れてslackからのrebootもsshもできなくなってしまいました。

 

ラズパイってすごく便利なんですけどネットワーク接続が切れるとモニターを繋いで再起動もしくは再設定しないといけないので不便ですよね。

私の家ではリビングに設置しているので、モニターを持ってくるだけでも一苦労。

ちなみに我が家のラズパイに繋げられるモニターは37インチのテレビのみ...

この前は諦めて電源を引っこ抜きました。

 

そんなこんなで、やっぱり再起動処理のかけれる物理ボタンは実装したいなと色々思案していると、便利なnode.moduleを発見しました。

続きを読む

【まとめ】raspberry piにインストールしておくと便利なツール

今回はraspberry piの環境をより使いやすく&便利にしてくれるオススメのツールを紹介していきます。

方針として、raspberry piのGUIを使って操作するアプリとかはあまり入ってません。

ラズパイをサーバーとして立てた時に必要だよね。便利だよね。って感じの方向性です。

 

ファイル共有

netatalk

mac向けのファイル共有サーバー。

インストールが簡単。

raspberrypiにファイル(コード)を共有したい時などネットワーク経由でできてとても便利です。


$ sudo apt-get update
$ sudo apt-get install netatalk

 

 

samba

どちらかというとwindows向け(?)macでも使えるみたい。

RaspberryPi3にsambaを設定する方法 : 三流SEの雑記帳

 

 

リモートデスクトップ

tightvncserver

入れておくと便利なリモートデスクトップ。

raspberrypiの初期設定ではモニターに接続して立ち上げを行いますが、tightvncserverを入れておけば2回目以降からリモートデスクトップでアクセスできるので、モニターに接続する手間がなくなり便利です。

基本はsshだと思いますが、guiでちょっと確認したい時に便利です。


//インストール
$ sudo apt-get update
$ sudo apt-get install tightvncserver
  
//起動
$ tightvncserver

tightvncserverの初回起動時にはパスワード設定が求められます

 

 

エディター

vim 

raspberry piに初期で入っているエディターはviとnanoです。

個人的にはやっぱりvimが使いやすい。 


$ sudo apt-get update
$ sudo apt-get install vim

 

git

git

今やこちらも必須ですね。


$ sudo apt-get install git-core

 

 

node.js

これなしではやっていけません。

バージョン管理はnもしくはnvmですかね。

n:バージョン管理

Ubuntuに最新のNode.jsを難なくインストールする - Qiita

 

 

nvm:バージョン管理

Raspberry PiでNode.jsを動かす - Qiita

 

 

npm:パッケージ管理

これもないと始まらない


$ sudo apt-get install npm

 

 

node-module

forever

nodeでデーモンご希望の方はforever。

再起動後のプロセス立ち上げはご自身で設定必要です。

 

$ npm install forever -g

 

  

node-cron

node.jsで特定のプロセスをcronさせるならnode-cron。

hubotとの相性抜群です。

 


$ npm install node-cron -g

 

 

node-mouse

物理ボタンをマウスで代用する時便利です。


$ npm install node-mouse -g

node-mouse

 

hubot

ボットの金字塔

https://hubot.github.com/

※hubotはraspberrypiに直接インストールするより、開発環境の方でyoemanから雛形をインストールして,アプリ構築後にラズパイに乗せるのが良いと思います。

 

phantom.js&casper.js

スクレイピングするなら入れといてもいいかも。

インストールが重いらしいので気をつけて。

Raspberry Pi 3へスクレイピングソフト「CasperJS」のインストール | TomoSoft

 

AirPlay対応

shairport-sync 

shairport-syncを入れておけばワイヤレスで音楽を聞ける。

自宅作業が捗ります。

 

 

 

 

 

 

アプリケーション

Blynk

RaspberryPiやArduinoを遠隔操作できるアプリです。

便利かもー

Raspberry Piを自在に遠隔操作できるスマホアプリ「Blynk」を実際に使ってみた! | シェアしたくなる最新のWebサービス・ITニュース情報をチェック! APPGIGA!!(アプギガ)

 

 

IFTTT

使い方はあなた次第 。IoT時代(笑)の開発を加速してくれます。

私はSlack × hubot × IFTTTの組み合わせで使ってます。IFTTTでiosロケーションをトリガーにSlack&hubotにコマンド投げてつけてraspberrypiで処理するみたいな感じです。

 

 

 

まだまだ駆け出しの身ですのでこれ便利だよー情報お待ちしてます。

AirPlay×raspberry piで快適なワイヤレスサウンド環境を構築

みなさん音楽は好きですか?

私は昔ほど率先して好きなアーティスト探しはしなくなったのですが、近頃の音楽ストリーミング系サービスが便利すぎて入り浸ってます。

自分で探さなくてもオススメの楽曲を推薦してくれるし、流しっぱなしで作業するにはとても捗ります。

最近主につかているのはamazon MusicとSpotify。AWAはまだ使ったことないです。

  

続きを読む

オフシュア開発で学んだ。日本人に知って欲しい、働く上での3つの習慣。

突然ですが弊社でもオフシュア開発の波がやってきました。

海外エンジニアの存在は私たち日本人にとって驚異的です。
人月単価の安さ、コミュニケーション能力、ダンススキル、パーティースキル、アルコール耐性と...日本では規格外の人材が集まります。
 
真面目な話、コストのところは日本と同じ条件でも1/3ぐらいに抑えることが可能です。

 

そんなこんなで我が社にもオフシュアの波が押し寄せて、私が担当しているIoTプロジェクトもその波に乗るべく、海外のエンジニアと協力してサービスを作る事になりました。
 
海外とのやりとりが全くなかったところに、突如、黒船が現れ乗船することになったので、現場もパニックでした。
 
何より私は、海外と日本の働き方、文化、コミュニケーションの違いにカルチャーショックを受け、改めて自分の働きかたを見直さなければ、と強く感じたのでメモっときます。
 
書くとあたり前の事なんだけど、「あれ?皆んな忘れてない?」って事が私たち日本人の現場で多く見られます。少しでもプロジェクトやチームのコミュニケーションが上手くいって、仕事が円滑に進めれるきっかけになれば幸いです。
 
今から書くことは良い側面ですが、もちろんオフシュアにはオフシュアの悪い面(課題)もあります。このメモの趣旨としては、仕事を前向きに進めるために彼らの文化を少し見習おうよって内容です。
 
※デスマーチには特効薬にもならないので対象外です。上手いこと逃げることをオススメします。

出勤打刻をJavaScriptで自動化。PCの電源を入れるだけで自動打刻

みなさんの会社はクラウドで勤怠管理をしていますか?

私が勤めている会社は、勤怠管理にチームスピリットを導入しております。

総務や経理としては勤怠の管理コストがさがるので良いのですが、朝出社した際に、WEB上で出社打刻をしなければいけません。

  1. PCを立ち上げ
  2. ブラウザを立ち上げて
  3. チームスピリットのログインページを開き
  4. 出社打刻のダッシュボードにアクセスして
  5. 出社ボタンをポチる
こんな感じで1日が始まります。
タイムカードをガガーとしていた頃が懐かしいです。
 
PCの立ち上げを除けば、1分程度で終わる簡単な動作ですが、私は精神的ストレスを感じてしまいます。
 
何も生み出さない非生産的な動作を、定年まであと何回繰り返せば良いのだろうか?とか、出社したらすぐプログラム書きたい!とか思ってしまいます。
 

そこで、スクレイピングで自動化することにしました。

hubot&slackでssh代行。手軽にログ監視&遠隔操作[IoT向け]

IoT の案件を担当するようになりラズパイやスティックPC&センサーを組み合わせて様々な場所に設置する機会が増えたのですが、監視周りで課題があったので改善策を実装しました。

 

改善策とは言っても前回の記事「raspberry piを使って家のIoT化」で構築したベースで大半できてしまうので、あまり大したことはしてません。監視と遠隔操作の実装部分を掘り下げができればと思います。

タイトルの通りですが、結論から言うと

hubotを使ってslackからLinuxコマンド実行してログ監視、遠隔操作を簡易的にできるようにしようよ

 って話です。

 

先に出来たものを見せるとこんな感じです。

(macでhubot立ち上げ出るのでvmstatでエラー出てますが気にしないでください)

f:id:hika09:20170118145020p:plain

続きを読む

raspberry piを使って家のIoT化

最近、会社の新規事業部に移りラズパイを使ったIoT案件を担当するようになりました。そんな時に「もやし工房」さんの子どもがいる家庭で使うRaspberryPi&Slack | もやし工房に触発されて自分でもやってみようと発起。

 

妻に提案したところ、IoT?なんじゃそりゃ状態。とりあえず生活する上で不便な点をヒヤリングして下記の与件を実装してみました。

音声認識(siri化)や家電との連動まで予定していますが、ちょっと時間かかりそうなのでミニマムスタートで実装できる機能に絞りました。

  • 「今から帰ります通知」の自動化
  • 今日は何ゴミの日通知の自動化
  • 天気予報の自動通知
  • 次のバス(最寄りのバス停)の時間を自動検索

 

 

システム構成

  • OpenJtalksによる合成音声の生成と再生
  • node.js(hubot)&slackによるコマンドの受付
  • cron(node.js)によるコマンドの定期実行
  • demon(node.js)によるhubotのデーモン化
  • IFTTTによるトリガーの設定

 

システム構成はすごくシンプルです。

f:id:hika09:20170115174331p:plain

続きを読む