Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
IoT デバイスから AWS IoT へ:Zephyr RTOS でやってみた
Search
jun1_hirata
October 12, 2025
0
290
IoT デバイスから AWS IoT へ:Zephyr RTOS でやってみた
JAWS-UG IoT専門支部「AWS IoT 10年の歩みを振り返る」(
https://jawsug-iot.connpass.com/event/367418/)のLTで使用した
。
jun1_hirata
October 12, 2025
Tweet
Share
More Decks by jun1_hirata
See All by jun1_hirata
IoT デバイスから AWS IoT へ:Zephyr RTOS でOver the Air
jun1_hirata
0
19
年末の風物詩 Qiita Advent Calendar開催? みんなでZephyrの記事を投稿しよう
jun1_hirata
0
70
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Making Projects Easy
brettharned
120
6.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Mobile First: as difficult as doing things right
swwweet
225
10k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Raft: Consensus for Rubyists
vanstee
140
7.2k
How GitHub (no longer) Works
holman
315
140k
Why Our Code Smells
bkeepers
PRO
340
57k
Faster Mobile Websites
deanohume
310
31k
Transcript
IoT デバイスから AWS IoT へ: Zephyr RTOS でやってみた JAWS-UG IoT専門支部「AWS
IoT 10年の歩みを振り返る」 October 8 2025 Junichi Hirata MEGURO
アジェンダ • 私とAWS IoTの10年 (軽く) • Zephyr RTOSについて (軽く) •
Zephyr RTOSのAWS IoTサンプルを動かす • 今後の活動予定
LTへ応募した経緯など 最近日本のZephyr RTOSのコミュニティ※に参加しています → Zephyr RTOSはIoTに強いらしいと聞く → connpassでAWS IoT 10周年イベントを見つける
→ そういや、Zephyr RTOSってAWS IoTどんななのか気になるな → 調べて評価ボードで動かそうかな → せっかくだし、LTに応募してみようか ※https://zephyr-rtos.connpass.com/
私とAWS IOTの10年 ・7~8年ぐらいの付き合い ・当時所属していた会社で「リアルタイムOSとTCP/IPスタックをAWS 対応させといて」という超曖昧な要件を受けてAWS IoTへ接続させたのが はじめて ・マイコンの性能が低くてAWS IoTと接続する際のTLSのクライアント認証 のRSAの計算に時間がかかっていたのは、つらかったが、
いい経験ができたとも思う。 ・ときどき仕事や個人的興味で使わせてもらってます。
ZEPHYR RTOSとは • Linux Foundationが主導して開発しているオープンソースで提供されているリアルタ イムOSプロジェクト • カーネルだけでなく、通信に必要なミドルウェアも提供している • 本イベント参加者向けにざっくり説明するとAmazon
FreeRTOSみたいなもん 次のページから数ページ Zephyr project Overviewからいくつかピックアップしてご紹介 Zephyr project Overview https://zephyrproject.org/zephyr-overview/
https://zephyrproject.org/zephyr-overview/からの引用
https://zephyrproject.org/zephyr-overview/からの引用
https://zephyrproject.org/zephyr-overview/からの引用
ZEPHYR RTOSとは (日本での活動) • 昨年までは個々で開発してソースをコミットしたり、非公式なイベントを催していた。 • 今年から公式なmeetupとしてイベントを開催している 7/4 札幌 開催レポート
https://www.zephyrproject.org/recap-blog-zephyr-project-meetup-sapporo-japan/ 10/20 大阪 (Honda Software Studio Osaka) イベントページ https://zephyr-rtos.connpass.com/event/368403/ • 海外半導体ベンダーの日本法人がZephyrをテーマにビジネス向けのWebinarを開催
AWS IOTのサンプルを動かす サンプルはあるの? → ありました。
AWS IOTのサンプルを動かす ドキュメントは? → これ https://docs.zephyrproject.org/latest/samples/net/cloud/aws_iot_mqtt/README.html
AWS IOTのサンプルを動かす ステップバイステップで動作確認まで説明します 今回使用するボードはこれ ¥4000ぐらいです。 https://docs.zephyrproject.org/latest/boards/nxp/frdm_mcxn947/doc/index.html サンプルのドキュメントでは【NUCLEO-F429ZI】で動作実績書かれていますが、Zephyrの移植性を 確認するためにあえて別のボードでチャレンジ!
開発環境とソースコードのインストール Getting Started Guideの通りに実行 https://docs.zephyrproject.org/latest/develop/getting_started/index.html ↑の手順でビルドに使用するツール(コンパイラなど)もインストールされます。 私はWSL上で動作するUbuntuに環境作りました。
-b のパラメータ<your-board-name>はボード名になります。 使用されるボード向けの説明を参照しましょう。↓でボードを選択して表示します。 https://docs.zephyrproject.org/latest/boards/index.html#
下はhello worldのサンプルプログラムのビルドとフラッシュへプログラムを書き込み のコマンドです。 samples/hello_worldをsamples/net/cloud/aws_iot_mqttへ変更すると、 AWS IoT接続でもをビルドできます…が、その前にAWS IoTでモノを作成して、 接続のための証明書、鍵を入手する必要があります。
AWSコンソールでAWS IoTを開き モノの作成してください。その際にキー、証明書を保存してください。 詳細は皆さんよく知ってると思うので、本イベントでは省略します。
AWS IoTから取得した証明書と鍵を下記のディレクトリへ置きます。 samples/net/cloud/aws_iot_mqtt/src/creds convert_key.pyを実行します。
サンプルプログラムのドキュメントを表示して調整するパラメータを確認して、 プロジェクトへ反映します。 https://docs.zephyrproject.org/latest/samples/net/cloud/aws_iot_mqtt/README.html CONFIG_AWS_ENDPOINT以外はデフォルト値でもとりあえず動作します CONFIG_AWS_ENDPOINTはAWS IoTのコンソールでエンドポイントを確認して入 力します。
ビルド ビルドしたプログラムをボードへ書き込み
AWS IoT Core Zephyr_sample/downlink Zephyr_sample/data AWS IOTのサンプルを動かす(構成) Zephyr AWS IoT
サンプルプログラムが 動作しているボード サブスクライブ サブスクライブしているトピックへ メッセージがPublishされたら、 Zephyr_sample/dataへメッセージを Publishする ①メッセージPublish ②①のメッセージを受信 ③メッセージPublish
実行結果 (ZEPHYR側) テストクライアントが Publishしたメッセージを受信後 メッセージをPublishしている
実行結果 (テストクライアント側) Zephyrが Publishしたメッセージを受信している
セルフQ&A DeviceShadowやOTAはない? → なさそう。 次の2つのいずれかで対応する必要がありそう。 (1) JSONパーサと先のサンプルのMQTTはあるので、自分で実装を頑張る (2)AWSがgithubで公開しているライブラリを使う (内容精査できてません) AWS
IoT Device Embedded C SDK for Zephyr https://github.com/aws/aws-iot-device-embedded-c-sdk-for-zephyr
最後に 今後の活動 AWS IoT使ってOTAできないかと取り組んでいます。 機会があれば、また成果をどこかで報告したいと思います。
ご清聴ありがとうございました。