Web未経験者がenebularを使った一年目の話

※この記事は「[enebular Advent Calendar 2016](http://qiita.com/advent-calendar/2016/enebular)」12/10の分です。

新卒社員がenebularを好き勝手に今年いじくりまわした履歴とか感想を書きます。
詳しい技術的なことは書いていませんが、enebularを通じて広がった学びなどについて書いています。

## はじめに

[enebular](http://enebular.com/)とは**「あらゆるデバイスとクラウドサービスを “つなぐ” IoTのためのデータ連携プラットフォーム」**です。サイトより引用です。
「どなたでも無料で使うことができるので、いじってみてくださいね。」って社会人になる前に言われましたが、何をどう扱えばいいかわからず、サイトにアクセスしてそれっきりだったのを覚えています。。:angel:

Web系未経験の新卒文系のぼくが、まっさらな状態(?) [^1] からenebularを触って思ったこと:bulb:・学んだこと:muscle:を書きます。
非エンジニアからでも「ここまでできたぞ」とか「この辺でつまるよ」っていうお話が書けるといいなと思います٩( 'ω' )و

## 「繋ぐ先」も「繋ぎ元」も何もわからないが「繋いでるもの」を触る
**実際、こわかったです。**
義務教育での勉強は礎となるものを勉強してから、それらを繋ぎ合わせて応用していくというものが多かったと思います。:pencil2:
しかし、enebularでの構築は、その逆をしていたような感じでした。

例えば[Milkcocoa](https://mlkcca.com/)との連携でも、ノードを開くと
<img width="280" alt="e1.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/132212/b4f75ab5-0a3a-9416-5031-c1f246213d66.png">
入力欄が出てきて、Milkcocoaのページから、**よくわからなくても**同じ文字列を探してきて貼り付けるだけでもうつながってます。:v:
ウェブの構築は未経験でも、デジタルネイティブ:iphone:な環境で学生時代を送ることができたので、どこに何が書いてありそうみたいなことは、個人差はあるかと思いますが、どこか身についています。

例えば、先ほどのAPIの入力でも、
<img width="882" alt="e2.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/132212/994a17eb-0f15-6d84-5a38-6bc225152b2f.png">
「APIって書いてあるから、多分この辺にあるぞ」みたいに、探検感覚で該当項目を探していたのを覚えています。


Milkcocoaのノードでは、APIキーと鍵を入力しているのですが、その時はおろか、今でもなんとなくでしかAPIの仕組みを理解できていません。

でも、このように、わからないなりにも、ノードを繋げていき、データが蓄積されている様子を見ると達成感:tada:があります。
データがもしうまく入っていなかったとしても、debugノードを繋げれば視覚的:eye:にどこで詰まっているかを確認することができたので、「仕組みもわからないのにできるわけない」と**諦めて投げることもなかったです。**

達成感で留まることなく、そこから「APIがどんな仕組みで動いているのか」とか、「JSON型式って何なんだろう」とか知りたいことの広がりがどこか気持ちよかったです。:relaxed:
~~まだよくわかってないのは内緒~~



## 実際に繋いでみたもの
どんなことをしたのかと、どこで詰まったかなど書いていきます。:writing_hand:
最初の方は全然気づかなかったのですが、infoタブで各ノードの疑問点はだいたい解消されます。:bulb:
見つけたときに世界の色が鮮やかになったのを鮮明に覚えています。
~~英語力が低いので、そこからも少し苦戦するのですが。~~
<img width="724" alt="e3.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/132212/de0e1b96-ea37-0031-5a5a-a760b864893a.png">
地味に私が**躓いたポイント①**です。（ゲームの説明書も読まない人です。）
web系ではリファレンスがすごい大事と身に染みて体験した一幕でした。


### E-mail
yahooの[mythings](https://mythings.yahoo.co.jp/)も使って「繋ぐサービス」と「繋ぐサービス」を繋いだりしていました。
この時に[ユカイ工業](http://www.ux-xu.com/)さんの[Bocco](http://www.ux-xu.com/product/bocco)も使わせていただきました。([Cerevo](https://www.cerevo.com/ja/)さんの[Hackey](https://hackey.cerevo.com/ja/)も使わせていただきました！)＼ｶﾜｲｲ／
![Bocco](https://qiita-image-store.s3.amazonaws.com/0/132212/eb5205a2-cfd8-13e3-6773-0ec16d2a14b1.jpeg)

はじめ、gmail:envelope:の受信をenebularで監視して、それをトリガーに何かさせたかったのですが、gmailの強固なセキュリティと仲良くなれず、yahoo!メールでつなげてました。
（詳しくは書きませんが、bocco →　mythings → e-mail → enebular →　アクション　な作り）

触り始めた当初、**webのセキュリティ周りがわからず**、ここも躓いて原因をわからないながらに探っていました。
Idと受信サーバ設定だけでなくAPIやoAuth周りをうまく使ってあげないといけないみたいですね。

GoogleAPIとenebularについて少しいじってみたので、後日また記事を書く予定です。:dancers:
※参考：[Google Gmail APIでメールを取得する](http://qiita.com/ryurock/items/4b063372ede81780c3c8)


### Slack
とりあえず、テスト連携としてslackbotつくって、自分の個人チャンネルに流すなんてことをしてました。:swimmer:
出力先しかやったことないので、slackで飛んできたメッセージによってさまざまなことをさせるのも、知見を広げるためにやってみたいです。
参考：[SlackのWebhook URL取得手順
](http://qiita.com/vmmhypervisor/items/18c99624a84df8b31008)

### Salesforce
Salesforceと連携させるときは、接続アプリケーションの作成が必要です。
ウフルの技術ブログに関連記事がありました。→[[salesforce][heroku]OAuth2.0を利用したデータアクセス](http://deferloader.blog.uhuru.co.jp/?p=3185)
BoccoやHackeyを用いたデモの受け口などに使いました。:lips:

### MQTT
MQTTでくくるのはちょっと違うような気がしますが、、
[LoRaWAN](https://soracom.jp/lorawan/)を触る機会を今年いただき、最初に試みていたのがmqttでの接続でした。

LoRaWANの話はSlideShareにスライドがあります。よろしければご覧ください。
- [LoRaWANとiBeaconを素敵につなげてみた](http://www.slideshare.net/kazuhiroharada2/1601008mbed-forup)
- [Agritech×IoT_lorawanで実現する環境モニタリング
](http://www.slideshare.net/kazuhiroharada2/agritechiotlorawan)

### Milkcocoa
入社前web系ちんぷんかんぷんな私は、enebularと並んで[Milkcocoa](https://mlkcca.com/)も何ができるのかよくわかっていませんでした。（詳しくはリンクから）
enebularを扱う上で、InfoMotion機能との連携が簡単なのでMilkcocoaは重宝しています。
前述しましたが、APIの発行も簡単で、なんもわからなかった私にも優しかったです。:relaxed:


### AWS Lambda
enebularはheroku上で動いているので、FlowのURLが動的だったりします。
それを静的にするために、enebularからAWS Lambdaにデプロイすることができます。
Lambda関数を記述することなく、こんな簡単にできちゃうの？！って感じでできちゃいます:v:「神かよ！」って感じです。:innocent:
（関連記事：[enebularのAWS Lambdaデプロイを利用してLINE ChatBotを作る](http://qiita.com/joeartsea/items/bd17f087eb5c0b214324)）

AWSを初めて触り、併せてAPIGateWay、IAMもいじりました。
他にも様々なサービスがあり、適材適所で正しい選択ができるようにならないといけませんね。
一年でいろんなサービスに関わってきたと思っていましたがまだまだひよっこでした。:hatched_chick:


## 繋いだ結果得たもの
**基本情報とれてました[^2]٩( 'ω' )و** 
↑具体的なもの

弊社の製品であるenebularを触らせてもらって、世の中の便利なものは一つでは完結しない時代になっているのだとひしひしと感じました。
得意なことは得意なところに任せて、「みんなで協力しましょうねっ」な精神を感じた一年でした。:ok_hand:

そして、「プログラミングなにそれ（ﾊﾅﾎｼﾞｰ）」な去年のぼくからは想像できない、生活が一変する1年を送りました。
自学するにもいまいち手が伸びなかったこの分野について、少しずつ手の伸ばし方もわかってきたので、いろんなやりたいことができそうでワクワクしてます。（おうち100均DIYの幅がIoTとかで広がるかも（　＾ω＾）・・・！）
来年は文卒だからとかそんな枕言葉を使わずに、いろんな技術を学んで、発信していくようになりたいです。:clap:


[^1]: HTMLをいじくりまわしたり、(仕組みは知らずに)ストリーミング配信など経験は若干あります。。
[^2]: LoRaWANに関わる過程でmbedを使い、C言語を学べたのが最大の要因かと思いますが・・・。