1
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Nervesな2020年を #NervesJP 的に?? ふりかえる

この記事は #NervesJP Advent Calendar 2020 の25日目です.
24日目は,@kikuyutaセンセの「【実写版】階段の上でも下でも電灯を点けたり消したりする(ライブ編集中だからリンクするなよ)」でした.というか,です.現在進行系で開発中!!:sunglasses:


:tada::tada::tada: Very Merry Christmas!! :tada::tada::tada:

まずは #NervesJP Advent Calendar 2020 おつかれさまでした!!
とにかくNerves forksなみなさんと完走できたのがよかったです:grin:
今年も珠玉な記事が集まっていますので,ぜひご覧くださいませ〜

image.png

さてAdvent Calendarのトリということで,2020年のNervesな活動をふりかえります.
今年は我らが NervesJP もド活発に動きましたので,その活動報告も交えていきます.

2019年のふりかえりはコチラどぞ

2019年は時系列に辿りましたが,今年は難しそうなので,,, 項目ごとにいきます.それだけ活発だった!ということですね^^;
そして最後には,2019年の記事で立てた「2020年の目標」の達成度をふりかえりつつ,2021年の目標を表明!!していきます.やっていくぞっ!

Nerves Projectの活動

Releases

まずはNerves本体の活動状況を見ていきましょう.
2020年は計10回のリリースがあり,うち2回は3月の v1.6 と10月の v1.7 というマイナー番号のアップデートがありました.
ReleaseCHANGELOG を追ってみます.主に新機能の追加に焦点を当てて,bug fixの詳細は省略します.

  • v1.5系
    • v1.5.3 @ 01/23
      • erlinit のオプションのbug fixとそれに伴うドキュメント・コメントの更新でした.
    • v1.5.4 @ 01/23
      • mix firmware.unpack というコマンドが追加されました.ビルドしたファームウェアとrootfsを展開して確認できます.
      • mix burn--firmware | -i のオプションにてファームウェアを指定できるようになりました.
      • mix firmware.imageerlinit.config などのbug fixがありました.
  • v1.6!! :tada::tada:
    • v1.6.0 @ 03/11
      • Elixir 1.10に対応しました!
      • そのいっぽうで,Nerves v1.6以降では,Elixir v.1.7.0 / Erlang/OTP 21以上が要件となりました.
      • aarch64 をホストとする開発環境に対応しました.
      • mix firmware.metadata というコマンドが追加されました.ファームウェアの作成日やuuid,ターゲットなどが表示できます.
    • v1.6.1 @ 03/20
      • nerves_bootstrap のv1.8に対応しました.
      • Nervesの標準ライブラリ的な立ち位置のパッケージが nerves_pack に変更となりました.同時に,ネットワークユーティリティも vintage_net が標準機能となりました.
      • fwup のバージョン要件がv1.5以上となりました.
    • v1.6.2 @ 05/07
      • mix firmware とGitHub APIに関するbug fixです.
    • v1.6.3 @ 05/07
      • github_api の鍵認証に関するbug fixです.
    • v1.6.4 @ 09/25
      • mix firmware.patch という試験的なコマンドが追加されました.
      • :mksquashfs_flags というフラグが追加されました.rootfs生成時のオプションを指定できます.
      • System.cmd の呼び出しが Nerves.Port.cmd に置き換えられました.
      • mix firmware の実行時に,前回の生成物がいったん削除されるようになりました.
    • v1.6.5 @ 09/25
      • macOS以外でのコマンドのbug fixです.
  • v1.7!! :confetti_ball::tada::confetti_ball::tada::confetti_ball:
    • v1.7.0 @ 10/08
      • OTP releaseの方法がDistilleryからElixir releasesに変更となりました.このため,Nerves v1.7以降では,Elixir v.1.9以上が要件となりました.
      • mix firmware.patch というコマンドが公式サポートとなりました.なおこの機能は fwup のv1.8以上が必要となります.
    • v1.7.1 @ 12/07
      • Dockerによる開発環境のための改善がありました.

これだけでも,日々是漸進!!な進化が見受けられます.機能や使い勝手がどんどんよくなっています.
余談ですがNerves Projectのメンバは,GitHub flowだったりCircleCIだったりSlack連携だったりを使いこなしていて,OSSなチーム開発のスタイルとしてもとっても参考になります.

Nervesは本体のリポジトリだけでなく,前述の nerves_bootstrap nerves_pack vintage_net などなど,様々なパッケージの集合でもあります.特に主要なパッケージである nerves_system_* の動向については, @MzRyuKa さんが5日めの記事にまとめています.

特に OSD32MP1-BRK に対応するライブラリモジュール nerves_system_osd32mp1 はめちゃんこ気になるところです(早々に入手したのに積みボード化されて,はや数ヶ月,,, orz

IMG_4711.JPG

各種イベントでの発表

Nerves co-authorsたちは,各種イベントやカンファレンスでも積極的に登壇しています.

まずはお先に,3/5-3/6に開催されたCode BEAM SF 2020からです.
Erlang co-createrの1人でもあるRobert Virdingとともに,FrankのKeynote Talkがありました.
"Robert is a starter, and Frank is a finisher" という紹介から,組込み分野におけるErlang/Elixirの起点と発展について,とても印象深い講演でした.

image.png

私は現地参加して聴講しました(例のアレはギリギリなタイミング > <;
特に結びの "Let's keep on innovating!!" という結び,エモかったなぁ.



そしてFrankは同じくCode BEAM SFにて,Vintage Netに関する講演もしています.
Nerves向けの新たなネットワークユーティリティ,IoTに欠かせないっ!!

image.png


2/27-28のLonestar Elixir 2020では,JustinのKeynoteがありました.T.B.Aについて語っていますw



NervesPackの開発者であり,3月には5人目のco-authorとしてNerves Projectに加入した, "JonJon" ことJon Carstensも講演しています.


Nerves co-authorではありませんが,というかElixir/Erlang界隈イチのナイスガイ!なToddもLonestar Elixir 2020で発表しています.彼の主催するNerves Remote Meetupの紹介とともに,我らがNervesJPへのMentionもしてくれています.コンニチワ!!(30:18頃)


そこからは,,, まぁアレがソレですね,,,
でも逆に良いこともありまして,渡航費などを気にせずに海外のカンファレンスに参加しやすくなりました.
elixir.jp Slackの #abroad チャンネルでワイガヤするのも楽しかったですね.ただし時差がツラかったですが^^;

9/3-4にはElixirConf US 2020がVirtual開催されて,JustinのKeynoteがありました.



同じくElixirConf US 2020では,我らが @kikuyuta センセと @zacky1972 センセも登壇されています.
(えっワタシ?Proposalがrejectされましてん><;

image.png

登壇動画は現時点では Vimeo にて有料コンテンツとして公開されています.2021年の第1四半期にはYouTubeに公開されるそうなので,その折りにはここにもリンクを張りたいと思います.


あとElixir Conf EU Virtualでは,我らが @torifukukaiou さんのLightning Talksがあったり,,,
ビデオ公開されないかなぁww

これも良いことでしたね.
Elixir界隈の有名PodcastであるElixir Wizard Podcastが,ElixirConf JPと手を組んで "Elixir Wizard Dojo" という企画が開催されました!

Nerves開発メンバであるFrank, Justin, Connor, Todd(??)に対して,ElixirConf JPの運営チームが日本語で質問を集めて,それを英語に翻訳してぶつけてみようという企画です.音声がすべて書き起こされていて,しかも日本語の翻訳をつけて公開されています.Nervesだけじゃなく英語の勉強にも最適!!



詳しい経緯やイントロについては, @zacky1972 センセの記事をご覧ください.
企画を主導された @zacky1972 センセならびに翻訳に関わった全ての皆さまに,圧倒的!感!謝!!です

NervesConf!! でも,,,

Nervesはアメリカでは幾つもの採用事例が出てきていますが,一般的に有名かというとまだまだだそうです.そんなタイミングで,気になるアカウントの登場とTweetが,,,

こりゃめっちゃたのしみ!!ということで,辿ってみると,,,
なんと NervesConf 開催!のアナウンス!!

やーめっちゃ楽しみにしていましたね.
個人的にはWhisky Loverなもんで,テネシーでガッツリ呑む気マンマンでした:cocktail:

でもやっぱり,今年はコレですよね,,,

来年はきっとできるはず!
物理的にはもう久しく会えていないNerves Friendsたちとの再会,めちゃ楽しみです!!

Nerves in Action web series!

NervesConf中止の代替として, Nerves in Action web series が開催されました.

Whether you’re new to Nerves or have hundreds of devices running Nerves in production, you’re in the right place. Every month, this web series will bring you a new talk from Nerves experts.

ということで,Nervesのあれやこれやの話題を,月1回のWebinar形式でお届けする企画です.
動画はもちろんアーカイブ公開されています.そして,主催元であるVery Possible Inc.,が各発表の概要をブログ記事としてまとめていますので,併せてどうぞです.

  1. Todd Resudek: Hardware for Software Engineers
  2. Jon Carstens: Nerves of Steel
  3. Matt Ludwigs: Building Smart Home Systems with Nerves and Grizzly
  4. Eric Rauer: Advocating for Nerves without Sounding Like an Elixir Fanboy
  5. Hideki Takase:sunglasses: : An Evaluation of Real-Time Performance for Nerves
  6. Hassan Shaikley: Building a Touch Screen Drum Machine with Nerves and Scenic

はいっ,たかせも登壇させてもらいました^^;

image.png

image.png

資料コチラに置いてます.

image.png

この内容はいちお?まともな日本語論文にもしていますので,併せてどぞです.

Renewal of Brand Design!!

4月には,Nerves ProjectのBrand Desingが刷新されました!!

Web Pageもリニューアルされて,ナウでヤングなcoolなIoTフレームワークな感じがさらに増しています.
https://www.nerves-project.org/

image.png

特にCase Studiesのページが秀逸でして,Nervesを採用して展開されているIoTな事例と,その利点や効果が紹介されています.
先行事例ってだいじですよね〜〜(〇〇を説得するのに??

NervesJPの活動

ようやく本体の活動を振り返って,半分まで来ました

読んでるほうも大変かと思いますが,,, お次はNervesJPの活動ふりかえりです!!

community growth

NervesJPは,主にconnpassSlack (招待リンク)で活動しています.
あとは Twitter #NervesJP かな??

image.png

image.png

まずはメンバ数を振り返ってみましょう.
2019年の記事の最後に思いがけずメンバ数を記録していたので,そこから比較してみます.

- 2019 2020 growth
connpass 72 146 x2.03
Slack 40 68 x1.70

おーめっちゃ増えてるっ!?
Slack苦手な方も多いようで,まだまだ潜在ユーザ多い気がしています.
もっとばんばん増やしていきたいですねっ!!!

メンバの濃ゆさも増してきている気がしています.Slackの流速がすごいんですよっ!!

さくらの良心?である @kikuzokikuzo さんがWeb System Architecture 研究会 (WSA研)でこんな発表したり,,,


ツヨツヨCTO a.k.a. #40代駆け出しエンジニア な @kentaro さんがElixir/Nervesにゾッコンになったり,,,


@mnishiguchi さんが怒涛のデバドラ開発快進撃を見せたり,,,

どんどんやっていきましょう!!

Contribution to Nerves Project

Nerves本体の開発にcontributionしているメンバも増えてきました.
千里の道も小さなcommitから!!

image.png

(漏れてる方がいたらスミマセンm(_ _)m

前記の通りNervesは本体だけじゃなく様々なパッケージがあります.
このほかにも,@kikuyutaセンセがdocumentのリンク切れを見つけて報告したり,@torifukukaiouさんがmix nerves.newのコマンド出力へのawesome!なPRを出したり,@pojiroさんがrpi4 64-bitでのVintageNetの米国では再現できないヤヤこいバグを報告したり,,,

些細でもなにかあったら,どんどんcontributionしていきましょう.
言うほど大してやってなくない??ってツッコミは無視します.みんなで少しずつでも育てるのがOSSなのですから.感謝の恩返しだっ!!

あとは,Elixir School日本語版のNervesページが古いぞっ!!っとFrankからお叱りを受けていますので^^; これへのcontributionを大募集中です〜

connpassイベント

NervesJPのconnpassイベントは,基本的にはオンラインで開催しています.
アレがソレだから,,, ではなく,もともとメンバが日本各地に散らばっていますので^^;

なんと計12回も!イベントを開催していました.

# date title description
1 2020/01/07(火) NervesJP #3 @torifukukaiouさん企画!Advent Calendar 2019をみんなで振り返りながら語りあいました!
2 2020/02/24(月) NervesJP #4 研究紹回 @takasehideki のとこでやってた研究を紹介しました〜
3 2020/03/13(金) NervesJP #4.5 番外編 Kiosk 端末組立実況 @zacky1972 センセの飛び込み企画!Lonestarのハンズオン内容なNerves Kioskのつくりかたをシェアしてもらいました!
4 2020/05/06(水) NervesJP #5 @myasuさん企画!GWにやったことのLT大会でした〜
5 2020/05/25(月) NervesJP #6 Seeedいろいろ勉強回 @matsujirushiさん召喚!組込みIoTのミカタなSeeedさんの製品・サービスを紹介いただきました〜
6 2020/06/15(月) NervesJP #7 Buildroot勉強回 @y_jonoさん企画!Nervesの組み込みカーネルなBuildrootの深淵を覗きました〜
7 2020/07/10(金) NervesJP #8 IoTあるじゃんWebinar ALGYANとのコラボでWebinar!(後述)
8 2020/07/20(月) NervesJP #9 Nerves始めてみる回 コラボWebinarおもろかった?じゃあNerves始めてみるかい??ハンズオンをやりました〜
9 2020/08/16(日) NervesJP #10 ”やってみた”回 @myasuさん企画!お盆休みになにやった?LT会でした〜
10 2020/09/25(金) NervesJP #11 ”コードリーディング”回 @pojiroさん企画!drizzleのコードをみんなで読んで,Nervesコーディングのベストプラクティスを学びました〜
11 2020/10/24(土) NervesJP #12 ”GerServer Lチカ ハンズオン”回 @pojiroさん企画!Nervesで必須なGenServerをみんなで完全に理解しました〜
12 2020/11/09(月) NervesJP #13 Nerves in Action日本語でおけ回 前記の"Nerves in Action"をふりかえりました〜

image.png

平日は夜で週末は昼なこともあります.少人数でワイガヤやっております.
いろんなメンバが持ち回りで企画を担当していて,自分のやりたいことや喋りたいこと勉強したいことを提案してやっていくスタイルでやっています.

年明け1発めは"新年LT回"です.よろしくどうぞっ!!
https://nerves-jp.connpass.com/event/199455/

image.png

ここでお気づきかもしれませんが,本家に併せてNervesJPもログをリニューアルしました!
このご時世なりに,ZoomやTeamsでご利用いただける仮想背景を作成しております.よろしければ〜
(Nervesロゴの改変許諾は,JustinとFrankからcool!!と快諾いただいております^^

nerves_zoom.png

ALGYANとのコラボ!

IoTを学べる最強コミュニティであるIoT ALGYANとコラボしました!!

まずは7月10日(金)にWebinarを開催しました!

image.png

当時のNervesJPは100人に満たない弱小コミュニティだったのですが,それをゆうに上回る参加申し込みをいただき!こんなイベント提案を受け入れていただいたALGYAN理事長のこぐれさんには大感謝です!!

YouTubeにて動画アーカイブが公開されていますので,よろしくどうぞっ!!
https://www.youtube.com/watch?v=UpJ4VewZdRY

image.png

そしてそして!12/27(日)にはこんなイベントがっ!!

image.png

プレゼント枠は1時間ほどで満席!
こちらも動画アーカイブが公開されていますので,機材を揃えてぜひとも!
https://www.youtube.com/watch?v=A1AiQZR7UFQ

image.png

Interfaceに連載!!

このトピックは極私的で恐縮です^^;

CQ出版社のInterfaceにて「IoT向きモダン言語Elixirの研究」という連載をさせていただきました!!

いろいろ紆余曲折なウラバナシな経緯はあったりして長くなるのですが,今回の記事執筆のきっかけをいただいた @tomoyuki-nakabayashi さんに圧倒的!感!謝!!であります.
んで,結果的に7回も連載させていただきましたwww

  1. 2020年 6月号 「IoT向きプログラミング言語Elixirの世界」
  2. 2020年 7月号 「ElixirのIoTフレームワークNervesとは」
  3. 2020年 8月号 「IoTフレームワークNerves&ラズパイでHello World」
  4. 2020年 9月号 「IoTフレームワークNervesでネットワーク接続」
  5. 2020年11月号 「IoTフレームワークNervesでラズパイ周辺デバイスにサクッとつながる」
  6. 2020年12月号 「出荷後の機器のファームウェアをOTAで更新」
  7. 2021年 1月号 「IoTシステム開発にトライ!

第6回(12月号)では@pojiroさんと,第7回では@torifukukaiouさんと共著で書かせてもらいました.
ご協力に大感謝です!そしてもちろん,ご覧いただいた読者の皆さまに大感謝!!

image.png

来年もなにかしら発信していきたいですね〜まだまだネタはいっぱいありまっせ.
よろしければぜひ,いろいろとオファーをお待ちしておりまっす!!:sunglasses:

Advent Calendar

そんなこんなで,冒頭にも書きましたが, #NervesJP Advent Calendar 2020 を今年も完走!!:rocket::rocket::rocket:

image.png

みんなでワイガヤできてトテモ楽しかったです.

そりゃ某ランキングが気にならないワケではないですが,数字を追っても仕方ないですしね.購読数なんてしょぼいもんだし.
どんどん良質な記事を蓄えて,Nervesおもろそう!でもどうすりゃいいんだ!?ってなった新規な方にとっての,嬉しい受け皿になっていきたいです.
ぜひ来年も!盛り上がっていきましょう!!

それはさておき,@torifukukaiouさんのAdvent Calendar芸人っぷりな確変感がめちゃおもろかったです:smile_cat:

$\huge{Nervesならできるもん!}$

今年はどうだった?来年はどうなる??

最後に,2019年のAdvent Calendarで表明した2020年の目標をふりかえります.
そして,2021年の目標を,所信表明しまっす!!

2020年の目標をふりかえる

2019年の記事の最後には,こんなことを書いていました.

  • Nervesの良さをもっと広めていくぞ!
    • 記事とか技術書の執筆も!??
    • NervesJPの同志をもっと増やす!300名に!!(現在はconnpassで72名,Slackで40名です)
    • Maker Faire出展!??
  • JPオリジナルなNerves Trainingをやるぞ!
    • 2019年に開催したNerves Trainingは,Elixir初見にも組込み初見にもツラいですし,なにより分量が多いんですよね,,,
    • よりElixir/Nervesの楽しさが始められるようなコンテンツ作りを準備中です.Grove対応なAdd-on Boardを活用予定!
    • その折には,全国の皆さままたご協力とご参加を〜
  • [hard mode] 日本でのNervesの「実例」をつくるぞ!
    • ホビー層にはウケてます,これはとても大事です.
    • でも,実際のIoTサービス製品や産業製品にNervesが使われた!となったら,その衝撃ヤバくないですか??
    • ご興味のある企業様や技術者の方,いませんか??高瀬はacademiaとしても全力でサポートします!!

こんな感じでしたかね〜

  • Nervesの良さをもっと広めていくぞ!
    • Interface記事!はとっても効果があったはず!!
    • あとNervesJPイチの文豪な@MzRyuKaさんが「Elixirへのいざない」(通称えりいざ本)を商業誌として出版したり,同人本もいっぱい出てきていたり,めちゃ盛り上がっています!!
    • NervesJPの同志の人数は,,, 来年こそ!!
    • ちょっとアレがソレだったので,,, イベント出展やっていきたいですね〜
  • JPオリジナルなNerves Trainingをやるぞ!
    • これもアレがソレだしなぁ,,, と諦めていたところ,ALGYANでハンズオンセミナーのオファーをいただきました!!
    • NervesJP Friendsでワイガヤと準備しております^^
    • 今回はオンライン向けにいろいろ工夫やチューニングしていますが,いつかオンサイトでもやりたいですね〜
  • [hard mode] 日本でのNervesの「実例」をつくるぞ!
    • これはまだまだhard modeでしたね,,,

2021年の目標を表明!!

これは極私的かもしれませんが,お気持ち表明です^^;

  • Nervesの良さをもっと広めていくぞ!
    • どんどんやっていきたいですね〜来年こそ300名に!!
    • 展示会出展!はまだまだそうなので,,, いろいろコンテストをNervesでジャックしていこう!
    • あと,いまのNervesJPはデバイス寄りになりがちなので,Web/クラウドな方々もどんどんぜひぜひ〜
  • OSD32MP1-BRK を極めるぞっ!!
    • このボード,ArmのCortex-A7 dualにM4も載ってて,めちゃおもろそうなんですよね〜
    • RTOSとNervesを同居させて,ハードリアルタイムのなんたるかを見せてやる!!
    • ElixirでIoTの連載記事のネタにもなるし,いろいろやるぞ〜!!
  • NervesでJournal Paperを書くぞ!!
    • ぼちぼちNervesなacademic researchのやりようは見つかってきました.
    • もち英語で!そしてJournal Paperを出すぞ!!
    • ネタなら腐るほどあるでよ??いろいろご協力ください〜
  • [hard mode] 日本でのNervesの「実例」をつくるぞ!
    • これは2021年への積み残し〜
    • NervesはIoTですごいんです!ってのを,示してみたいです.
    • 変わらず高瀬はacademiaとして全力でサポートします!!ってか,起業しよかな〜(てきとう

image.png

この図,2年くらい前からずっと出しています.このセカイが実現しそう!そんな実感が高まってきています.
でもそのいっぽうで,NervesJPはデバイス寄りになってきているの,だいぶ気にしています."Elixir"を中核の柱として,Web屋さんやインフラ屋さんやクラウド屋さんや,どんどん巻き込んでいかないと,真の「IoT」は実現できません.

IoTは情報科学の総合格闘技です!来年も楽しくどんどんやっていきましょう!!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
1
Help us understand the problem. What are the problem?