SlideShare una empresa de Scribd logo
1 de 17
Alibaba Cloud Container Service で自作キーボ
ードのファームウェアをビルドしてみた
2019.4.24
AliEatersOkinawa Meetup #1
株式会社サイダス 篠根 徹也 (@semnil)
自己紹介
• 愛称:しのっち、しのねぇ
• 先月まで銀行員でした
• 何でも (ハードウェアも) 自分で作っていくスタイルです
⌨️ キーボード、作った ⌨️
⌨️ ことありますか? ⌨️
私は徹夜で頑張ったけど
完成しませんでした・・・
はんだごての熱によるバックライト LED の大量破壊 🔥
設定温度、あて過ぎに注意しましょう
ここからやっと
Alibaba Cloud の話
何で使ったか
• キーマップを無限にカスタマイズしたい
• いつでもどこでも変更したい
• でもカスタマイズのためには、ファームウェアの C 言語のソース コードを変更
してビルドし直さないといけない
• ビルド環境を各所に構築するのが面倒 (会社の PC にも、このためだけに gcc 入
れちゃう事も考えたけど・・・)
• ファームウェアのリポジトリに Dockerfile も入っている
→ Container Service でビルド環境を構築できそう
QMK Firmware
• QMK (Quantum Mechanical Keyboard) はキーボード自作er 達の オープ
ンソースコミュニティ
• AVR (ATmega32U4 とか)、ARM マイコンで動くコントローラー用の 汎
用ファームウェアその他を開発している
• ファームウェア書き込み用のツール (QMK Toolbox) も
→ ファームウェアさえビルドできれば、書き込みツールのバイナリを PC
に入れるだけで書き換えられる
ソースコードの準備
• Github リポジトリを Fork して brunch 作成
• 自分だけのキーマップを追加
• Dockerfile をちょっと編集
• 対象キーボード、キーマップを変更
• 毎回 Github から最新ソースを clone
• ビルドしたファームウェア (hex ファイル) を
OSS (Object Storage Service) に put する
(OSS に put するところで一番苦労しました・・・)
Alibaba Cloud とひたすら格闘 (1)
• SSH Key Pair を作成
• VPC を作成
• ACS (Container Service) トップで Swam を選択、何
となく最小構成っぽい感じでクラスター構築
• クラスターの管理画面から接続情報を手元のターミ
ナルにコピー&ペースト、SSH Key Pair も設定
• OSS サービスを有効化、バケットを作成
• RAM (Resource Access Manager) を有効化
• (ACS のクラスターにロールをアタッチする機能が
ないようなので) RAM でユーザーを作成して OSS の
権限を付与したポリシーをアタッチ
Alibaba Cloud とひたすら格闘 (2)
• プライベート registry コンテナを run (OSS
の credential が含まれるため)
• 各種穴あけ (セキュリティグループ、
insecure registry)
• OSS にオブジェクトを put できる権限の
credential を仕込んだ Docker image を build
して push
• push した image を run してみると・・・
なんかそれっぽいログ
ビルド完了して hex ファイルを OSS に push 出来たっぽい雰囲気を感じる
出来ました 👏
これでどこにいても Github でファイルを編集すればファームウェアをビルド
できるので、毎日キーマップ変更が捗ります
後日、追加で部品を
発注してリベンジしました
→ 昨夜届きましたので実装やり直した結果・・・
ありがとう
ございました 🙇
(このスライドの半分以上は自作キーボードで書きました)
<今回製作した自作キーボードキット>
Helix キーボードキット - ステンレス5行版キット(バックライト)
両手セット
遊舎工房さんのページ :
https://yushakobo.jp/shop/helix-keyboard-kit/

Más contenido relacionado

La actualidad más candente

Herokuネタない... = Herokuへの最高の賛辞
Herokuネタない... = Herokuへの最高の賛辞Herokuネタない... = Herokuへの最高の賛辞
Herokuネタない... = Herokuへの最高の賛辞Yuya Kakui
 
AWS re:Invent 2013 参加報告(新サービスとセッション)
AWS re:Invent 2013 参加報告(新サービスとセッション)AWS re:Invent 2013 参加報告(新サービスとセッション)
AWS re:Invent 2013 参加報告(新サービスとセッション)Akio Katayama
 
webディレクターのためのレスポンシブwebデザインワークフロー
webディレクターのためのレスポンシブwebデザインワークフローwebディレクターのためのレスポンシブwebデザインワークフロー
webディレクターのためのレスポンシブwebデザインワークフローTakeshiro Kani
 
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01Yuta Shimizu
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方Shohei Koyama
 
鹿班というパブリックベータサービスを使ってみた
鹿班というパブリックベータサービスを使ってみた鹿班というパブリックベータサービスを使ってみた
鹿班というパブリックベータサービスを使ってみたNobuhide Watanabe
 
AWSアップデート (DB縛り) in 第18回 JAWS-UG 東京 勉強会
AWSアップデート (DB縛り) in 第18回 JAWS-UG 東京 勉強会AWSアップデート (DB縛り) in 第18回 JAWS-UG 東京 勉強会
AWSアップデート (DB縛り) in 第18回 JAWS-UG 東京 勉強会Yasuhiro Horiuchi
 
A look back on my Rails porftolio
A look back on my Rails porftolioA look back on my Rails porftolio
A look back on my Rails porftoliossuser9a4523
 
JAWS-UG HPC #0 LT資料
JAWS-UG HPC #0 LT資料JAWS-UG HPC #0 LT資料
JAWS-UG HPC #0 LT資料Daisuke Nagao
 
Life and how_to_live_it
Life and how_to_live_itLife and how_to_live_it
Life and how_to_live_itToshiro Yagi
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築ryosuke matsumura
 
俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編
俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編
俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編Masayuki KaToH
 
北の国からこんにちわ!Aws使いがgcp使いに変貌したお話
北の国からこんにちわ!Aws使いがgcp使いに変貌したお話北の国からこんにちわ!Aws使いがgcp使いに変貌したお話
北の国からこんにちわ!Aws使いがgcp使いに変貌したお話名古屋 勇
 
CfnClusterを使って10分強でHPC環境を構築する
CfnClusterを使って10分強でHPC環境を構築するCfnClusterを使って10分強でHPC環境を構築する
CfnClusterを使って10分強でHPC環境を構築するDaisuke Nagao
 
Oss翻訳プロジェクトに参加してみた
Oss翻訳プロジェクトに参加してみたOss翻訳プロジェクトに参加してみた
Oss翻訳プロジェクトに参加してみたAkira Kaneda
 
吟遊プログラマーをめざして
吟遊プログラマーをめざして吟遊プログラマーをめざして
吟遊プログラマーをめざしてHitoshi Wada
 
JAWS-UG さいたま #11 参加報告
JAWS-UG さいたま #11 参加報告JAWS-UG さいたま #11 参加報告
JAWS-UG さいたま #11 参加報告Hiroyuki Numao
 

La actualidad más candente (20)

Herokuネタない... = Herokuへの最高の賛辞
Herokuネタない... = Herokuへの最高の賛辞Herokuネタない... = Herokuへの最高の賛辞
Herokuネタない... = Herokuへの最高の賛辞
 
AWS re:Invent 2013 参加報告(新サービスとセッション)
AWS re:Invent 2013 参加報告(新サービスとセッション)AWS re:Invent 2013 参加報告(新サービスとセッション)
AWS re:Invent 2013 参加報告(新サービスとセッション)
 
webディレクターのためのレスポンシブwebデザインワークフロー
webディレクターのためのレスポンシブwebデザインワークフローwebディレクターのためのレスポンシブwebデザインワークフロー
webディレクターのためのレスポンシブwebデザインワークフロー
 
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
 
鹿班というパブリックベータサービスを使ってみた
鹿班というパブリックベータサービスを使ってみた鹿班というパブリックベータサービスを使ってみた
鹿班というパブリックベータサービスを使ってみた
 
AWSアップデート (DB縛り) in 第18回 JAWS-UG 東京 勉強会
AWSアップデート (DB縛り) in 第18回 JAWS-UG 東京 勉強会AWSアップデート (DB縛り) in 第18回 JAWS-UG 東京 勉強会
AWSアップデート (DB縛り) in 第18回 JAWS-UG 東京 勉強会
 
A look back on my Rails porftolio
A look back on my Rails porftolioA look back on my Rails porftolio
A look back on my Rails porftolio
 
JAWS-UG HPC #0 LT資料
JAWS-UG HPC #0 LT資料JAWS-UG HPC #0 LT資料
JAWS-UG HPC #0 LT資料
 
Life and how_to_live_it
Life and how_to_live_itLife and how_to_live_it
Life and how_to_live_it
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
 
俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編
俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編
俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編
 
北の国からこんにちわ!Aws使いがgcp使いに変貌したお話
北の国からこんにちわ!Aws使いがgcp使いに変貌したお話北の国からこんにちわ!Aws使いがgcp使いに変貌したお話
北の国からこんにちわ!Aws使いがgcp使いに変貌したお話
 
CfnClusterを使って10分強でHPC環境を構築する
CfnClusterを使って10分強でHPC環境を構築するCfnClusterを使って10分強でHPC環境を構築する
CfnClusterを使って10分強でHPC環境を構築する
 
Oss翻訳プロジェクトに参加してみた
Oss翻訳プロジェクトに参加してみたOss翻訳プロジェクトに参加してみた
Oss翻訳プロジェクトに参加してみた
 
Ckan + AWS
Ckan + AWSCkan + AWS
Ckan + AWS
 
吟遊プログラマーをめざして
吟遊プログラマーをめざして吟遊プログラマーをめざして
吟遊プログラマーをめざして
 
Chef入門
Chef入門Chef入門
Chef入門
 
安心Chef開発
安心Chef開発安心Chef開発
安心Chef開発
 
JAWS-UG さいたま #11 参加報告
JAWS-UG さいたま #11 参加報告JAWS-UG さいたま #11 参加報告
JAWS-UG さいたま #11 参加報告
 

Similar a Alibaba Cloud Container Service で自作キーボードのファームウェアをビルドしてみた

Azure上でec cubeを運用するポイント
Azure上でec cubeを運用するポイントAzure上でec cubeを運用するポイント
Azure上でec cubeを運用するポイントMakoto Nishimura
 
Asakusa バッチの運用を支える技術
Asakusa バッチの運用を支える技術Asakusa バッチの運用を支える技術
Asakusa バッチの運用を支える技術KinebuchiTomo
 
フィードフォースと AWS と私
フィードフォースと AWS と私フィードフォースと AWS と私
フィードフォースと AWS と私a know
 
あるインフラエンジニアの過去と未来
あるインフラエンジニアの過去と未来あるインフラエンジニアの過去と未来
あるインフラエンジニアの過去と未来Tsubasa Hirota
 
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由増田 亨
 
AWS Direct Connectの構築を自動化(しようと)している話
AWS Direct Connectの構築を自動化(しようと)している話AWS Direct Connectの構築を自動化(しようと)している話
AWS Direct Connectの構築を自動化(しようと)している話Kaoru Kitauchi
 
採用LT「まだお祈りデプロイで消耗してるの?」
採用LT「まだお祈りデプロイで消耗してるの?」採用LT「まだお祈りデプロイで消耗してるの?」
採用LT「まだお祈りデプロイで消耗してるの?」Takayuki Fukumoto
 
make x dockerで作るAlpaca流開発環境
make x dockerで作るAlpaca流開発環境make x dockerで作るAlpaca流開発環境
make x dockerで作るAlpaca流開発環境Tomoya Kitayama
 
ある工場の情シス
ある工場の情シスある工場の情シス
ある工場の情シスKohei Nakamura
 
Fabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFesFabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFesSho Shimauchi
 
JAWS-UG京王線#1業務で使うAWSCLI
JAWS-UG京王線#1業務で使うAWSCLIJAWS-UG京王線#1業務で使うAWSCLI
JAWS-UG京王線#1業務で使うAWSCLITomoaki Imai
 
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」Kazumi IWANAGA
 
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれからベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれからYasuhiro Horiuchi
 
Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!Hasegawa Yusuke
 
超高速アプリ開発法
超高速アプリ開発法超高速アプリ開発法
超高速アプリ開発法Keiichi SASAKI
 
[AWSマイスターシリーズ] Amazon DynamoDB
[AWSマイスターシリーズ] Amazon DynamoDB[AWSマイスターシリーズ] Amazon DynamoDB
[AWSマイスターシリーズ] Amazon DynamoDBAmazon Web Services Japan
 
優雅に行こう! Coda 2で次世代のコーディングへ
優雅に行こう! Coda 2で次世代のコーディングへ優雅に行こう! Coda 2で次世代のコーディングへ
優雅に行こう! Coda 2で次世代のコーディングへH2O Space. Co., Ltd.
 
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugThe seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugSAKURUG co.
 

Similar a Alibaba Cloud Container Service で自作キーボードのファームウェアをビルドしてみた (20)

Azure上でec cubeを運用するポイント
Azure上でec cubeを運用するポイントAzure上でec cubeを運用するポイント
Azure上でec cubeを運用するポイント
 
Asakusa バッチの運用を支える技術
Asakusa バッチの運用を支える技術Asakusa バッチの運用を支える技術
Asakusa バッチの運用を支える技術
 
フィードフォースと AWS と私
フィードフォースと AWS と私フィードフォースと AWS と私
フィードフォースと AWS と私
 
あるインフラエンジニアの過去と未来
あるインフラエンジニアの過去と未来あるインフラエンジニアの過去と未来
あるインフラエンジニアの過去と未来
 
面白いは正義
面白いは正義面白いは正義
面白いは正義
 
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
 
Ppl
PplPpl
Ppl
 
AWS Direct Connectの構築を自動化(しようと)している話
AWS Direct Connectの構築を自動化(しようと)している話AWS Direct Connectの構築を自動化(しようと)している話
AWS Direct Connectの構築を自動化(しようと)している話
 
採用LT「まだお祈りデプロイで消耗してるの?」
採用LT「まだお祈りデプロイで消耗してるの?」採用LT「まだお祈りデプロイで消耗してるの?」
採用LT「まだお祈りデプロイで消耗してるの?」
 
make x dockerで作るAlpaca流開発環境
make x dockerで作るAlpaca流開発環境make x dockerで作るAlpaca流開発環境
make x dockerで作るAlpaca流開発環境
 
ある工場の情シス
ある工場の情シスある工場の情シス
ある工場の情シス
 
Fabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFesFabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFes
 
JAWS-UG京王線#1業務で使うAWSCLI
JAWS-UG京王線#1業務で使うAWSCLIJAWS-UG京王線#1業務で使うAWSCLI
JAWS-UG京王線#1業務で使うAWSCLI
 
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
 
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれからベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
 
Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!
 
超高速アプリ開発法
超高速アプリ開発法超高速アプリ開発法
超高速アプリ開発法
 
[AWSマイスターシリーズ] Amazon DynamoDB
[AWSマイスターシリーズ] Amazon DynamoDB[AWSマイスターシリーズ] Amazon DynamoDB
[AWSマイスターシリーズ] Amazon DynamoDB
 
優雅に行こう! Coda 2で次世代のコーディングへ
優雅に行こう! Coda 2で次世代のコーディングへ優雅に行こう! Coda 2で次世代のコーディングへ
優雅に行こう! Coda 2で次世代のコーディングへ
 
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugThe seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurug
 

Alibaba Cloud Container Service で自作キーボードのファームウェアをビルドしてみた

Notas del editor

  1. そもそも何で自作するのか? ・キーの打ち心地の話  高さ、重さ、感触 ・キーの配列をカスタマイズしたい ・かっこよく光らせたい