ChinoDuino(Chino × Arduino)

自発性のないプログラマーがArduinoと出会って悪戦苦闘する様を綴っていく⇒今はいろいろ(^^;

SORACOM Technology Camp 2018 参加記録

先月の26日に開催された SORACOM Technology Camp 2018 の参加記録です。

technology-camp2018.soracom.jp

トラックB IoT つないだ、その後に 〜be connected 〜 」側の発表を聞いていました。
試作から量産へ意識することや、デバイス管理、セキュリティなど、自分が知りたかったこと、知らなかったことなど、すごく勉強になりました!
あと、サービスごとの繋がりもみえてきて、こちらも勉強になりました。

今後、勉強していくうえで、振り返りたいセッションを中心に書いていきます!

★全スライド、発表等は @ko2a さんがまとめてくれたこちらをどうぞ!
ありがとうございます!

qiita.com

B1. SORACOM を API で 256 倍使いこなす方法

www.slideshare.net

「邪眼」の小熊さんのセッションです
パケットをみていると怪しい箇所がみえてくるそうです
すごい!

  • APIでできること、APIの特徴など基本的なことから実際にコンソールで試しながらのセッションでした
  • SORACOM APIを呼び出しているUser Agentの円グラフなど興味深かったですw
  • イベントハンドラー、メタデータの詳細はみる
  • SIM注文のAPIのテストは SORACOM API Sandbox が便利

B2. 通信モジュール内蔵デバイス制作のための心構え

www.slideshare.net

高橋さんとSeeedの坪井さんのセッションです
ソフトのエンジニアとしては普段、触れることのないことばかりですごく刺激になりました!

  • seeedさんの製造サービスはいつになるかわからないけど注文してみたい
  • 試作と量産は違う!
    • Seeedさんはノウハウがいる!
      • リフロー時の注意点:捨て板、間隔、部品感の距離
    • 量産に役立つ試作!
      • 調達できない部品を使うのは工作!
      • 再現性が大事!
    • 既にPoCができている=実現可能なモノ
    • 予算感($20,000〜)
  • アフターフォロー
    • 利用シーンを意識する
    • 設置環境
    • セルラー通信は「手軽」だが「確実」ではない
      • 「無線」は「線が無い」ことを意識する
      • 有線ではない!
      • 事例:
        • 冬は通信できるのに夏になると通信できなくなる
          • →樹木に葉が茂る→葉の水分が電波を通しにくい
          • →乾燥剤いれる
        • 毎日同じ時間に通信できないことがある
          • →フェリーが通り、乗船者がいるため通信量が増えた

B3. SORACOMで実現するデバイス管理

www.slideshare.net

今井さんのセッションです
バイス管理については、今回一番知りたかったこと
実例とケーススタディの部分がワークフロー形式でわかりやすく勉強になりました

  • SORACOMの各種APIは「SIM(IMSI)」に対して行う
    • →このため、デバイスごとにSIMを挿したほうがよい
  • バイスとSIMのひも付け
    • Beamなら自動でできる!
  • バイスの初期設定&動作確認
  • 利用開始
    • イベントハンドラを使ってSIMが利用開始されたら→別のサービス(Lambdaなど)に通知などできる!
  • 証明書や鍵の安全な交換
    • 暗号化用の鍵となる
    • AWS IoTのクライアント証明書
    • Beam
    • Endorse(※これはまた詳しいことを調べよう)
  • 設定値やフェームウェアの更新
    • Lightweight M2M(SORACOM Inventory)
  • 異常を防ぐには
    • 用途以外の利用を制約する
      • IMEIロック
      • 閉域網を利用
    • 用途以外の利用を検知する
      • パケットを監視
        • Junction(Mirroring)

B4. 後手に回りがちなIoTセキュリティをどうすべきなのか

www.slideshare.net

java好きな片山さんと、福島さんのセッションです

  • Mirai http://techfactory.itmedia.co.jp/tf/articles/1704/13/news010.html
  • 設計時からセキュリティのことを考える!
  • 費用対効果の観点も必要
  • 前提として盗まれてもよい構成にしておく!
  • SORACOM にビルドインされた機能をつかう
  • 閉域網での接続
  • 通信の監視/検知
    • Junction → トラフィック分析
      • 主の機能
        • Inspection
        • Mirroring
        • Redirection
      • 出力結果をFunnalで特定のAWSサービスにおくるなど可
  • バイス側の認証/認可
    • IMSI、IMEIを紐付けて、別の通信モジュールを使わせなくする!
    • プライベートガーデン
      • Beam以外の通信を制限するなどに利用できる
  • SORACOMアカウントの保護
    • MFA機能
  • バイス自体の保護
    • 参考:Platform Security Architecture(PSA)
    • 今後は必要不可欠になりそう

それと「SORACOM UG Tokyo #10 / SORACOM Technology Camp 夜の部!!」

以前、SORACOM UG 信州 #2 に参加してくださった ぼへぼへ さんと会えるというびっくりがあったり
SORACOM UGのアイコンができましたー

作:くろにゃんこたん f:id:chinoppy:20180426184232j:plain:w500

それと @ko2a さんがUG 信州の活動報告をしてくれました(>_<) f:id:chinoppy:20180426184232j:plain:w500

ぜひ、また参加したいです!
ありがとうございました(>_<)

Raspberry Pi設定メモ

自分のRaspberry Piにした設定等を残しておくメモ(随時更新)

環境

MacでRasbianインストール

qiita.com

Raspbianインストール後にssh接続

  • キーボード、ディスプレイがない場合は、SDカードをPCに接続し、「/boot」配下に「ssh」を配置
  • SDカードをRaspberry Piにいれ、起動
  • LANケーブルを接続して以下で接続
$ ssh pi@raspberrypi.local
  • 公開鍵認証を設定
    • ホスト名はデフォルトの「raspberrypi」
# 自PC
$ ssh-keygen -t rsa
$ 
$ scp ~/.ssh/id_rsa.pub pi@raspberrypi.local:/home/pi
$ vi ~/.ssh/config

# 以下を追加
Host raspberrypi
  HostName raspberrypi.local
  user pi
  IdentityFile ~/.ssh/id_rsa


# Raspberry PI
$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys


# 自PCからログイン!
$ ssh raspberrypi

GrovePiをインストール

# gitをインストール
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install git
$ cd

# clone
$ git clone https://github.com/DexterInd/GrovePi.git

# install
$ cd GrovePi/Script
$ sudo curl -kL dexterindustries.com/update_grovepi | bash

$ sudo shutdown -r now


$  sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- 04 -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
$
# Firmwareアップデート
$ cd GrovePi/Firmware
$ sudo ./firmware_update.sh

wifi

sudo sh -c 'wpa_passphrase SSID PASS >> /etc/wpa_supplicant/wpa_supplicant.conf'

固定IPアドレス設定

$ sudo vi /etc/dhcpcd.conf

# 以下を追加し保存

interface eth0
static ip_address=192.168.0.10/24
# static routers=192.168.0.1
# static domain_name_servers=8.8.8.8

https://qiita.com/MarieKawasuji/items/b088ffb252a92eee8f5d

network のIFはこちらを変更

$ sudo vi /etc/network/interfaces

NTPサーバの変更

$ cd /etc/systemd/
$ pwd
/etc/systemd
$ ls -la
total 44
drwxr-xr-x  5 root root 4096 Sep  7 14:47 .
drwxr-xr-x 83 root root 4096 Sep  7 16:38 ..
-rw-r--r--  1 root root 1014 Jul  5 20:31 journald.conf
-rw-r--r--  1 root root 1022 Jul  5 20:31 logind.conf
drwxr-xr-x  2 root root 4096 Sep  7 14:59 network
-rw-r--r--  1 root root  642 Jul  5 20:31 resolved.conf
drwxr-xr-x 16 root root 4096 Sep  7 15:13 system
-rw-r--r--  1 root root 1601 Jul  5 20:31 system.conf
-rw-r--r--  1 root root  607 Jul  5 20:31 timesyncd.conf
drwxr-xr-x  2 root root 4096 Jul  5 20:31 user
-rw-r--r--  1 root root 1130 Jul  5 20:31 user.conf
$ sudo vi timesyncd.conf 

【timesyncd.conf】
・「NTP」「FallbackNTP」をアンコメントし、以下の内容とする
[Time]
NTP=ntp.nict.jp
FallbackNTP=0.jp.pool.ntp.org 1.jp.pool.ntp.org 2.jp.pool.ntp.org 3.jp.pool.ntp.org

timezon

$ timedatectl status
      Local time: Thu 2017-09-07 16:55:40 UTC
  Universal time: Thu 2017-09-07 16:55:40 UTC
        RTC time: n/a
       Time zone: Etc/UTC (UTC, +0000)
 Network time on: yes
NTP synchronized: no
 RTC in local TZ: no

# Network time on が「no」の場合は同期を有効にする
$ timedatectl set-ntp true

# timezone の変更
$ timedatectl list-timezones | grep Asia/Tokyo
Asia/Tokyo
$ sudo timedatectl set-timezone Asia/Tokyo
$ timedatectl status
      Local time: Fri 2017-09-08 01:59:33 JST
  Universal time: Thu 2017-09-07 16:59:33 UTC
        RTC time: n/a
       Time zone: Asia/Tokyo (JST, +0900)
 Network time on: yes
NTP synchronized: no
 RTC in local TZ: no

RAM領域を作成

# 現状(変更前)を確認
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        30G  8.9G   20G  32% /
devtmpfs        426M     0  426M   0% /dev
tmpfs           430M     0  430M   0% /dev/shm
tmpfs           430M  6.0M  425M   2% /run
tmpfs           5.0M  8.0K  5.0M   1% /run/lock
tmpfs           430M     0  430M   0% /sys/fs/cgroup
/dev/mmcblk0p1   63M   22M   42M  35% /boot
tmpfs            86M     0   86M   0% /run/user/1000
$ 
# fstabを変更
$ sudo vi /etc/fstab

# 以下4行を追加し保存
#### ramdisk
tmpfs           /tmp            tmpfs   defaults,size=32m 0       0
tmpfs           /var/tmp        tmpfs   defaults,size=16m 0       0
tmpfs           /var/log        tmpfs   defaults,size=32m 0       0

# 設定を反映のため再起動
$ sudo shutdown -r now

# 「/var/log」「/var/tmp」「/tmp」が「tmpfs」になっていることを確認
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        30G  8.9G   20G  32% /
devtmpfs        426M     0  426M   0% /dev
tmpfs           430M     0  430M   0% /dev/shm
tmpfs           430M  6.0M  425M   2% /run
tmpfs           5.0M  8.0K  5.0M   1% /run/lock
tmpfs           430M     0  430M   0% /sys/fs/cgroup
tmpfs            32M  196K   32M   1% /var/log
tmpfs            16M     0   16M   0% /var/tmp
tmpfs            32M  8.0K   32M   1% /tmp
/dev/mmcblk0p1   63M   22M   42M  35% /boot
tmpfs            86M     0   86M   0% /run/user/1000
$

ログ関連

Raspberry Pi(Raspbian)にやっといたほうがいい設定(マイクロSDカードの延命:swapやlog)

cron

# 1分ごとに実行
$ crontab -e

# 以下を追加し保存
*/1 * * * * python3 /home/pi/test.py

SQLAlchemyのインストール

SQLAlchemy - The Database Toolkit for Python

pipでインストールするとエラーとなってしまいできなかったので、ディストリビューションを使用してインストールしたときのメモ

# Pythonの仮想環境へインストールする場合はactivateしておく

$ cd /usr/local/src
# ファイルをダウンロード
$ sudo curl -L -O https://files.pythonhosted.org/packages/da/ef/f10a6892f8ff3c1fec1c25699a7379d1f72f291c8fa40b71c31cab3f779e/SQLAlchemy-1.2.6.tar.gz
$ 
$ sudo tar zxvf SQLAlchemy-1.2.6.tar.gz 
$ cd SQLAlchemy-1.2.6/
# インストール
$ python setup.py install
# 確認
$ pip freeze | grep SQLAlchemy
SQLAlchemy==1.2.6
$ 

SORACOM Airの設定

wvdial

https://dev.soracom.io/jp/start/device_setting/#raspi_usbdev.soracom.io

pppd

qiita.com

もしAK-020以外のUSBも挿して認識されない場合

AK-020 と他の USB デバイスを Raspberry Pi に取り付けると、AK-020 が認識されない

systemd

# serviceファイル
$ /etc/systemd/system/xxx.service

# 起動
$ sudo systemctl start xxx

# 状態確認
$ sudo systemctl status xxx

# 自動起動設定
$ sudo systemctl enable xxx

journalctl コマンドの使い方

SORACOM UG 信州 #2 とIoTの開発してみたよ

この記事は SORACOM Advent Calendar 2017 の17日目の記事です。

長野市にあるGEEKLAB.NAGANOというコミュニティスペースで管理やってますー

記事の内容について

昨日(12/16)、GEEKLAB.NAGANOで開催された「SORACOM UG 信州 #2」のことと、私が発表したIoTの開発のLTの内容を書きます!

SORACOM UG 信州 #2

前回の伊那開催からの2回目です!

f:id:chinoppy:20171217150207p:plain

SORACOM カラーでお出迎えです!

今回も

がきてくれましたー! 本当に遠いところありがとうございます。

オープニング

サンタ姿の発起人 @ko2aさんから

f:id:chinoppy:20171217141059p:plain

このあと、暑くて帽子脱いじゃいますがw

SORACOM 松下さんから

[IoT時代を生き抜くエンジニアに必要な技術とは](https://www.slideshare.net/SORACOM/soracom-ug-2-iot?utm_content=buffer4e490&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

例えがわかりやすくて、すごく勉強になりました!

「アイディア次第で勝負ができる環境が整っている」ってところはすごく実感してます。

それと、「器用貧乏」って言葉、ぐさっときました。。。

f:id:chinoppy:20171217144658p:plain

  • 新たな価値を生み出して収益増加
    • IoTってこの「新たな価値を生み出す」ってところ大事!
  • アイディア次第で勝負ができる環境が整っている
    • 本当にそう思います
  • エンジニアならSuicaの論文は読んだ方がよい

異種統合型情報サービスシステムにおける自律分散アシュアランス技術の研究 | 東京工業大学附属図書館 学位論文データベース

  • ピピンアットマーク
    • これ知らなかったです・・・(^^;
  • ハードウェアはサービスの部品の一つへ。価値は(見かけ上)限りなくゼロへ⇒ハードウェアは囲い込みに必要
  • クラウドエンジニアは生産性志向、ハードウェアエンジニアはH/W制約志向
  • バイスの「クラウド・ファースト」化
  • 200msの壁

t.co

  • 人間の歴史の中で、何かをはじめるのに今ほど最高の時はない
  • エッジ側でやることと、クラウドでやることを見極めてシンプルに実装する
深センに(弾丸で)行ってきたよ
  • 香港から深センへの交通手段
    • 電車(だいたいこれ)
    • フェリー(たいだいこれ)
    • バス(難易度:高)
    • リモ(相乗りタクシー)
  • オススメの交通手段:リモ
    • ドライブスルー感覚で国境を超えられる!
    • 注意!
      • シールなくすと乗れなくなるので失くさないでね
      • 定員(6名)揃わないと出発しない(朝ならだいたいすぐ集まるみたい)
  • WeChat Pay(必需品)したい場合はご連絡を!

Wio LTE ハンズオン

松下さん、UG 信州のフォローをもらいながら、Wio LTEハンズオン資料を進めました。

キット

f:id:chinoppy:20171216143819j:plain:w300

アンテナをつけるときはヒヤヒヤしました(^^;

f:id:chinoppy:20171217145746p:plain:w300

無事装着完了!

f:id:chinoppy:20171217145843p:plain:w300

みなさん、だいたいSORACOM Harvestのところまでは行けました(^^ でも、会場の位置的な問題か、なかなかオンラインにならず・・・またぎーらぼで試してみます(>_<)

LT発表

トップバッターは「ぼへぼへ」さんから
  • ソラコムデビューで学んだこと
2番手つとめさせていただきましたー
  • IoTの開発をしてみたよ
    • 3分の1を話したところでタイムアップ・・・
    • (そのまま話してしまいましたが・・・次は5分で収めます!(>_<))
3番手は「くろにゃんこたん」さんから
  • センサースケーリングの話

くろにゃんこたん.com

4番手は「kobayutapon」さんから
  • そんなデータで大丈夫か
    • センシングデータを公開することで罰せられる可能性があるのは知らなかった((((;゚Д゚))))ガクガクブルブル
    • マイナスの気温を測るのがすごく難しいということを知れました

クロージング

クロージングも発起人の@ko2aさんから。次回は2月〜3月中旬くらいですが、あくまでも予定ですー

ちなみに、松下さんのお話し、LTのお話しを聞いて、本当に技術、知識的にまだまだ未熟なところばかりだなぁっといつもながらに感じました・・・

いつも勉強になっています!(^^;

記念撮影

いつもの記念撮影!今回も「S」マーク+「SORACOM Beeeeeeeeeeeam」

f:id:chinoppy:20171217152754p:plain:w400

やばいSの字がちゃんとできていなかった・・・すみません(TT)

IoTの開発をしてみたよ

私が発表したLTのことを書いていきます!こまかな技術ややり方のことは、順々にQiitaに投稿していきます。

それと、まだまだ未熟なところばかりなので、こんなよいもの、技術ありますよってありましたら教えてください(>_<)

内容について

念願のIoT関係の開発をしましたので、その時に使った技術、ものなどをざっくりと紹介していきます!

ちなみにSORACOMのことが少なくごめんなさいです。。。

これから開発しようとしているひとなどの参考になれば幸いです!

まずは構成と私の担当

f:id:chinoppy:20171217165819p:plain:w300

遠隔地にある機器の状態や機器の周りの状況をセンシングしてAWSにアップするものです。

私が担当したのは、「Raspberry Pi」とAWS部分

  • Raspberry Piの役割
    • 機器の状態や周囲のセンシングデータはほぼArduinoで管理
    • そのArduinoからデータを取得し、AWSへアップする
  • AWS
    • 主にAWS IoT関係のところを担当
ハードについて
  • Raspberry Pi
  • センサー
    • レーザセンサ
    • 温度センサ
    • カメラ(可視光・赤外線)
  • 通信モジュール
    • SORACOM EC21-J
  • SIM
    • SORACOM A・・・ではないです(TT)
    • でも疎通時に使用しました!
    • コンソールでひと目でオンラインになったことが確認できて、わかりやすかったです!
  • Arduino
クラウド
使用したサービス

f:id:chinoppy:20171217160019p:plain:w300

  • AWS IoT
  • AWS IoTのルールで以下を使用
    • Lambda
    • DynamoDB
    • S3
    • IAM(STS
使用したパターンなど

こちらがすごく参考になりました!

www.slideshare.net

  • ラージデータアップロードパターン(P36)

  • バイスの証明書登録(P45)

    • バイス数が多くなるため、自動登録できるようにしました
  • モノの自動登録(これは自作)

    • バイスごとの独自の番号(ClientIDに使用)とデバイス証明書のIDを紐付けたかった
    • バイスの接続イベント(※)時にルールでLambdaを実行し、AWS IoTの「モノ」を自動作成、証明書へのアタッチを行うようにしました
    • クライアントの接続イベント(※)でClientIDと証明書番号がメッセージで受け取れる
    • ※「$aws/events/presence/connected/clientId」
  • センサデータなどの保存

    • これはAWS IoTのルールでDynamoDBへ保存

一日中、AWSを触れて幸せでした( ´∀`)

ソフト

本当にいろいろと便利なものがあり、開発中はずっと感動していました

f:id:chinoppy:20171217163539p:plain:w100

松下さんの言っていた「アイディア次第で勝負ができる環境が整った」と実感しました。

SORACOM Wio LTEも含めて、これからもいろいろ試していきます!

退屈なことをやらせてみた(Chino × Selenium)

サイトのSSL化対応があって、全ページで混合コンテンツ(Mixed Content)にならないことを確認しないといけなかった。。。

単純に「テストめんどくさいなぁ〜」って思ってSeleniumにやらせてみた話。

※本当に単純なことですが・・・(^^;

やらせてみたこ

  • テキストからURLを読み込む(1行に1URL)
  • ページをひらく(ブラウザはChrome
  • Developer Tools の「Console」に出力されるメッセージをprint

を繰り返し。これで、printされたメッセージに内に「Mixed Content」が出力されていなければOK!

こんなこともやらせてみた

  • 一応ログインもできる
    • インプットファイルでログインページのURLの次の行を以下とするとログイン
    • login,[アカウント],[パスワード]
    • ※でも入力対象の要素が固定指定なのでいまいち・・・
  • リンクのクリックもさせてみた
    • インプットファイルで以下とするとクリック
    • ◯,[URL],[クリックするリンクテキストorクラス名]

いまいちですけどソースはこちら

テストはあまり好きではないけど、何かツール使ったりすると、

  • その分時間短縮になるし
  • ツールのこと知れるし
  • コード書けるし

テストへのモチベーションがあがりますねー

参考サイト等

Selenium API(逆引き)

SORACOM UG 信州 #1(Chino × SORACOM UG)

昨日(9/23)、伊那で開催されたSORACOM UG 信州 #1 に参加しました!

soracomug-tokyo.connpass.com

SORACOM Airを使ったハンズオンをRaspberry Piを使ってやるということで、ホコリをかぶっているRaspberry Piをまた触るきっかけにしたいという思いもあり(^^

【目次】

会場

会場はADSL実証実験20周年を迎える伊那市伊那市有線放送 いなあいネットさん。

f:id:chinoppy:20170924175625j:plain:w300

SORACOMさんから

  • maxさん
    • SORACOMのことやLTのこと、いろいろとお話ししてくれました!(資料はこちら
    • それと僕は3月11日 JAWS-UGの転職発表の場にいましたw
  • なおさん
    • ハンズオンでいろいろとフォロー、SIMの説明などいろいろ教えていただきましたー

発起人

  • 沖さん
    • CoderDojo安曇野にも関わったり本当にいろいろと考えたり、している方。私はinahackでお知り合いになりましたー
  • 橋本さん
    • なにやらタッチパネルでおもしろいことを考えている方。信州ベンチャーコンテストで賞をとられたそうです!すごいっ!
  • 鄭さん
    • この方もいろいろしている方。本当にいろいろ。いろいろなことに通じていて、いろいろなことの黒幕らしい・・・( ̄ー ̄)
  • 宮下さん
  • 小穴さん

参加者

全員ではないですが、いろいろな方がいましたよw

  • 上田から原チャリで参加したおじいちゃん
    • イベント当日の朝5時くらいに「LPWA」などのキーワードで検索し、本イベントをみつけ参加
  • 富山から参加の会社員の方
    • なおさんが送っているDMメール?が送られてきて、「SORACOMってどんなものが」と思い参加したそうですw
  • 市議の方
    • 急遽、市議の方がきて、一緒にハンズオンしました。Raspberry Pi、超音波センサ、SORACOM使ってました。

ハンズオン

沖さん、maxさんのお話しのあと、

SORACOMのサービスは以下を使用し、ハンズオンしましたー

  • SORACOM Beam
  • SORACOM Harvest

ハンズオン資料はこちら

SORACOM bootcampという、技術者向けオンラインセミナーもあるそうです!うれしい(^^

LoRaWAN™ | SORACOM Bootcamp - YouTube

  • ハンズオンの様子

f:id:chinoppy:20170924193437j:plain:w300

  • 超音波センサ + Harvest

f:id:chinoppy:20170924193940j:plain:w300

ってことで

ハンズオン中に、AmazonUSBドングル注文しましたー

・・・次の日、キタ━━━━(゚∀゚)━━━━!!

f:id:chinoppy:20170924194532j:plain:w300

そして、早速、ほこりをかぶっていたchinopi(Chino の Raspberry Pi)に装着

f:id:chinoppy:20170924201118j:plain:w300

まだ、設定などしていないので、SORACOM Airで通信していませんが。。。少しずつだと思いますが、触っていきますー

maxさん、なおさん、沖さん、橋本さん、参加者の方ありがとうございました。ハンズオンを通して、SORACOMのサービスなど理解深まりました(^^ お疲れ様でした!次は◯ーらぼで開催予定です!

そうそう、最後に「SORACOM Beeeeeeeeeeeeam」で記念撮影しましたー

f:id:chinoppy:20170924202856j:plain

Chino × PyCon JP 2017 × CodeIQ

9月8日(金)、9日(土)に東京で開催された「PyCon JP 2017」

pycon.jp

9月16日(土)にこちらも東京で開催された「学びの秋!エンジニア最先端に触れて学ぶITフェス by CodeIQ #codeiq39」

atnd.org

に参加してきましたー

印象に残ったところを備忘録的に書いていきます!

【目次】

PyCon JP 2017 − OUTPUT & FOLLOW −

「Early Bird」のチケットは公開されてから数時間で売り切れになるなど、開催前から注目されていることを実感しました。

僕は今年で、3回目の参加になりますが、参加者も年々増加し、connpassの申し込み人数は620人?!

恒例の集合写真はこんな感じです(^^;

Pythonが注目されていることを再認識しました!

はじめてブース出展しました

今年は弊社「株式会社 日本システム技研(JSL)」のブースを出展しました!(スポンサーは去年から)

弊社からの参加者で順番にブース番しました。

  • なんで「Nagano」なんですか?
  • ポスターかっこいいですね
  • 私も長野出身なんですよー

など、声をかけてくれたり、ブースにたくさんの人が寄ってもらい本当に感謝です。

scouter / コンカツアプリ

出展したアプリです!

構成

f:id:chinoppy:20170918173148p:plain

scouter

こんな感じのアプリです

  • ソーシャルログイン
  • ログインしたソーシャルの情報からパワーを計測
  • ランキングにして、上位の方に長野っぽい景品があたる!
  • 計測時に付加されたIDをブースで伝えると、HoloLensでちょっといいものがみれます!

HoloLensの方が目立っていたかもしれませんが、サーバ側でDjangoを使ってます!

コンカツアプリ

こちらもこんな感じのアプリです

  • ソーシャルログイン
  • プロフィールを入力
  • そのプロフィールへのURLをQRコードで発行
  • 懇親会でQRコードをスキャンし、話しかけるきっかけに使う!

こちらもサーバ側でDjango使ってます!

いろいろとこれからもブラッシュアップしていきたいですが、、、弊社の説明などをしていると、時間的にひとつのアプリしか説明ができませんでした(^^; それと、やっぱり自社製品の出展もしたいなぁっと感じました(^^

基調講演、トーク

今回の基調講演はこちら

1日目はブース準備できけませんでした。。。2日目はきくことができ、大変勉強になりました。

Pandasコアコミッターが語る 今日から誰でも始められるOSS活動のススメ

タイトルの通り、これからOSS活動を始めたいひとにぴったりの内容でした。

  • 今日からできること:気になるプロジェクトをWathしてみる!
  • バグ以外にもドキュメント不備などもあり、すごく簡単なものからやってみる

など、わかりやすく丁寧な説明でわたし的には今回、一番勉強になりました。

ちなみにPandasは「2000」くらいissuesがあるそうです。。。

Issues · pandas-dev/pandas · GitHub

動画はこちら

youtu.be

トーク

今回、Pythonを使った仕事を始めて1年くらいになり、携わっている技術や興味のあるものを中心に聞きました。 が、、、やはり、まだまだ未熟でちゃんと理解できなかったところなどあるので、動画みたりしてまた調べたり試したりしていこう!

各基調講演、トークは以下でみれます!

PyConJP - YouTube

ポスターセッション

PythonBootCamp

今回のポスターセッションでは、6月にGEEKLAB.NAGANO(長野市)でも開催したPythonBootCampがでていました。

pycon.jp

そして、講師、スタッフ、各地のスタッフで記念撮影しました!

懇親会では、香川の現地スタッフの方が会いにきてくれたり、参加してくれた学生がPyCon JPにきてくれたり、普段、遠くにいる方たちと会えたりと、本当に長野市でも開催してよかったです(TT)

書籍

PyCon JPでは書籍販売もあり、サインもらえたり、特典がつくかも!Oreilly本も多数ありました!

他にも売っていましたが、2冊ほどご紹介

スラスラわかるPython

www.shoeisha.co.jp

はじめてプログラミングを学ぶ人向けで、難しいクラスの説明ははぶいているそうです!

Pythonをやりたいひと以外にも、Pythonでデータ解析とか、何かやるためにPythonの基本的なことを学びたい人にも最適だそうです!

Pythonエンジニア ファーストブック

gihyo.jp

開催中には買えなかったのですが、今回、ブース出展の用意などでいろいろと感じたことがあり、もう一度、基本的なことを、振り返ろうと思い買いました!第1章のPythonの動向については、なるほどーと思えることがあったりと楽しく読ませてもらってます!

今回は、ブースを出展したこともあり、前回より多くの方たちとお話しすることができ、とても刺激になりました。香川の方に会えたり、長野と沖縄の学生が出会ったりと、また来年、再開できることが楽しみです(^^ そして、長野の方もたくさん参加していることがわかりました。技術的に未熟なところばかりなので、基本的なところからやり直していこうと思いました(^^;

ちなみに、今、fitbitをつけているのですが、9月8日はずっと心拍数が高くなっていたことがわかりびっくりしました。。。(普段は60くらい)

f:id:chinoppy:20170918193835p:plain:w200

学びの秋!エンジニア最先端に触れて学ぶITフェス by CodeIQ #codeiq39

こちらは弊社がスポンサーとなり、ブース出展することになり、初参加。

ブース

出展するアプリ以外は、先週のPyCon JPと同じ。

伝説の剣で抽選会

のんのんびよりっていう、アニメの女の子がもっていた、伝説の剣(枝)を振ると、抽選し1位〜3位の方には景品ありです!はずれのひとは、うまい棒チロルチョコ

構成

f:id:chinoppy:20170918195413p:plain

  • MESHの動きタグがついている伝説の剣を振る
  • IFTTT経由でサーバ(Django)にPOSTして抽選!
  • 各アプリなどに抽選結果を連携
    • HoloLensでは順位を表示
    • タブレットに順位表示(firebase + vue)
    • 1位〜3位の場合はTwitterでツイート
    • 1位〜3位の場合はIFTTT経由でMESHのGPIOに通知を送り、モータを回して宝箱の鍵を解錠

モータで解錠の部分については、IFTTTからMESHへの通知でラグがあったり、モーターがまわらなかったりとちょっとシステム的に微妙になってしまった。。。抽選部分も微妙でした。。。

それでもいろいろな方に試してもらい、ひどいシステムと言われたりもしましたが、やっぱり展示するものは単純なものにして、わかりやすくすることは大事だぁっとPyCon JP時のときも含め思いました。自己満足はいけないですね(^^;

プログラムは聞きませんでしたが、有名な方のお話しが聞けたり、懇親会も豪華で無料のイベントなのはお得だなぁと思いました。でも、ちょっと豪華すぎて、有料にしてもよいのでは?とも思いました。その分、どこかにしわ寄せがいってしまうような気がしました。。。

次は技術的なブログを書こう(・・書けるかな・・・)

第2回 伊那市 LoRaWAN ハッカソンを通じて伊那市を知れました(Chino × 伊那市)

8月26日、27日に開催された第2回 伊那市 LoRaWAN ハッカソンに参加してきました。伊那市のこと、今までより知ることができたので、そのあたりと、本ハッカソンで使用したツールについて書きたいと思います。

参加して一番感じたことは、地元の方(いなあいネットの方、伊那市の方、JA上伊那の方、伊那商工会議所の方など)が新しいことをどんどんとりいれて、地元の問題を積極的に解決していこうという前向きな姿勢をすごく感じました。暖かく迎えてくれ、接してくれて、課題についての質問など本当に親身になって応対していただきました。

本当にありがとうございました。

また、スタッフの方、参加者の方本当にお疲れさまでした!!!

【目次】

伊那市のこと:フィールドワークを通じて

少しでも伊那市のことを知ってもらえるかなと思い、まずはフィールドワークで訪れたところの紹介をしていきたいと思います!普段、行くことのないところにも訪問でき、すごく刺激になりました。

バスに乗り各施設等を訪れながら、課題のヒアリングを行いました。

漆戸醸造株式会社

地酒「井の頭」の酒蔵です。

課題としては麹室の温度管理等。蒸したお米から麹を作る場所です。

JA上伊那の方から、麹室は清潔にしなければいけないので、あまり見せてくれないとお聞きしました。貴重な体験をさせていただきました。

ちなみに酒蔵見学のご注意いただきたいことにも記載がありました。

試飲できなかったのは残念でした(TT)しかも買ってくるのも忘れた・・・

株式会社 ニチノウナーセリー

課題はハウス内の温度管理等。このあたりは、冬の夜間は−10℃を下回るくらい冷え込むそうです。このため、ボイラーがハウス内に設置されていて、暖めているそうです。こんななかボイラーが故障してしまうと大変(>_<)

例えば、ボイラーが故障したことを知らせる装置があれば便利。でも難しいところは、ボイラーは「暖めるために稼働し、暖まると停止⇒温度が下がったらまた暖めるために稼働・・・」となるため、停止しているから故障ということにはならないそうです。。。

もともとは、シクラメンを栽培していたそうです。数多くの受賞歴があり、”日本一のシクラメン農家”と紹介されることもあったそうです!

伊那市土砂災害警戒区域

警戒区域の一部を訪れました。そういえば、自分の地元の防災マップとかみたことないなぁって気がつかされました・・・(–;

課題は土石流、土砂崩れの事前の予測、避難指示の必要性などの判断。

伊那市の防災マップはこちら 伊那市防災マップ:伊那市公式ホームページ

土石流はどこかで、水がせき止められ一気に流れ出すことにより発生するそうです。せき止められそうなところは多々あり、しかも、木が倒れてせき止められる可能性もあるため、予測が難しいそうです。

ちなみに生物の動きをみて予測するのもありかも・・・

それと元危機管理課の方が、移住する方にも危険なところはちゃんとお知らせしたり、災害伝承みたいなことも伝えて、移住するかの判断の材料にもできたらよいとお話ししていました。

みはらしファーム

miharashi-farm.com

ここは年間を通して収穫できたり

収穫したもので手作りできたり

いろいろできます!温泉があったり、バーベキューできたりする観光農園です。

ファミリーなどで訪れるのに最適です!

いちご園は元旦から営業です!

課題としては、施設が広いのでお客さまの動向監視(どこで何をして楽しんでいるかなどの可視化)、外にあるブルーベリー園の害虫被害など。

ちなみにイベントでキューピィーちゃんがいましたw

やはり、知っている方、地元の方などの方と一緒にまわると、いろいろなことが知れますね!

ありがとうございました(

そうそう、伊那はローメンが有名なので訪れたときは食べてみてくださいー

f:id:chinoppy:20170827185716j:plain

次は今回、使用した技術、ツール、システムのご紹介です。

開発ツール等

ハッカソンの技術情報はこちら

技術情報その1:ハッカソンのベースシステム

技術情報その2:enebularによるLoRaWANデータの処理

SORACOM LoRaWAN

soracom.jp

伊那市河岸段丘を活かし遠くへとばすことができるそうです!

ARM mbed プラットフォーム

codezine.jp

enebular

uhuru.co.jp

Platio

plat.io

ブラウザで本当に簡単にiPhoneiPadアプリが作成できちゃいます!

使い方等はこちらにもあります!

Platioで簡単に作れるセンサー活用モバイルアプリ 第一回

Platioで簡単に作れるセンサー活用モバイルアプリ 第二回

Platioで簡単に作れるセンサー活用モバイルアプリ 第三回

MotionBoard

BIツール MotionBoard IoTデータもリアルタイム可視化 | ウイングアーク1st

ブラウザで作成できるBIツールです。 驚いたのは、これを使ってPepperを遠隔から操作、開発できちゃうそうです!

vimeo.com

Toami

www.m2m-cloud.jp

便利なツールを使い、どのチームも6時間位でデモができるレベルまで開発できていました! 私はPlatioで開発しましたが、ノンプログラミングでアプリができてしまい本当にお手軽だと驚きました。 プログラミングのみしているとそのうちお仕事がなくなっちゃうと、再認識しました。。。(^^;

次回は、10月21日(土)、22日(日)に開催決定しています。なんと、月曜日は松茸狩りに連れて行ってもらえる?!そうです!

この近辺でドローンフェスも開催されたりと伊那市が熱いです!

www.dronefes-inavalley.jp

興味を持たれた方はぜひ、訪れてみてくださいー

私はずっと、あわあわしていましたが、、、刺激があり、有意義な2日間でした。

ありがとうございましたーーーーー