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
390
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
78
年末の風物詩 Qiita Advent Calendar開催? みんなでZephyrの記事を投稿しよう
jun1_hirata
0
110
Featured
See All Featured
Prompt Engineering for Job Search
mfonobong
0
180
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Context Engineering - Making Every Token Count
addyosmani
9
750
The Mindset for Success: Future Career Progression
greggifford
PRO
0
280
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
It's Worth the Effort
3n
188
29k
Thoughts on Productivity
jonyablonski
75
5.1k
Making Projects Easy
brettharned
120
6.6k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
100
A Modern Web Designer's Workflow
chriscoyier
698
190k
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できないかと取り組んでいます。 機会があれば、また成果をどこかで報告したいと思います。
ご清聴ありがとうございました。